Tuesday, June 7, 2011

How to add a User to Liferay Database or lportal Manualy

Example Java program:

import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.NoSuchRoleException;
import com.liferay.portal.NoSuchUserException;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.model.*;
import com.liferay.portal.security.auth.AutoLogin;
import com.liferay.portal.security.auth.AutoLoginException;
import com.liferay.portal.service.*;
import com.liferay.portal.util.PortalUtil;


public Class AddUser implements AutoLogin{



    public void liferayUserManuallyAdding(String userName, long companyId){
       
        /*These all ids are created by Using CounterLocalServiceUtil class.
        Like  (userId =1 , contactId =2, groupId =3 ) */       
               
            long userId = CounterLocalServiceUtil.increment();
            long contactId = CounterLocalServiceUtil.increment();
            long groupId = CounterLocalServiceUtil.increment();
            long publicLayoutSetId = CounterLocalServiceUtil.increment();
            long privateLayoutSetId = CounterLocalServiceUtil.increment();
           
        /*Create User and set the parameters for User attributes*/
       
            User user1 = UserLocalServiceUtil.createUser(userId);
            user1.setCompanyId(companyId);
            user1.setContactId(contactId);
            user1.setFirstName(username);
            user1.setLastName(coopUserId);
            user1.setEmailAddress(username + "@email.com");
            user1.setScreenName(username);
            user1.setActive(true);
       
        /*Add User to lportal database*/

            UserLocalServiceUtil.addUser(user1);

        /*Following methods are very Important.........whithout following methods we can't add user*/       
       
        /*Create contact and set the contact parameters and add */

            Contact contact1 =ContactLocalServiceUtil.createContact(contactId);
            contact1.setCompanyId(companyId);
            contact1.setUserId(userId);

                 contact1.setAccountId(AccountLocalServiceUtil.getAccounts(0,1).get(0).getAccountId());
            contact1.setFirstName(username);
            contact1.setLastName(coopUserId);
            ContactLocalServiceUtil.addContact(contact1);

        /*Create Group and set the Group parameters and add*/           
       
            Group group = GroupLocalServiceUtil.createGroup(groupId);
            group.setCreatorUserId(userId);

                group.setClassNameId(ClassNameLocalServiceUtil.getClassNameId("com.liferay.portal.model.User"));
            group.setClassPK(userId);
            group.setActive(true);
            group.setCompanyId(companyId);
            group.setName("" + userId);
            group.setFriendlyURL("/" + username);
            GroupLocalServiceUtil.addGroup(group);

        /*Create PublicLayoutSet and set the PublicLayoutSet parameters and add*/

            LayoutSet publicLayoutSet =        LayoutSetLocalServiceUtil.createLayoutSet(publicLayoutSetId);
            publicLayoutSet.setCompanyId(companyId);
            publicLayoutSet.setGroupId(groupId);
            publicLayoutSet.setThemeId("classic");
            publicLayoutSet.setColorSchemeId("01");
            LayoutSetLocalServiceUtil.updateLayoutSet(publicLayoutSet);


        /*Create PrivateLayoutSet and set the PrivateLayoutSet parameters and add*/

            LayoutSet privateLayoutSet = LayoutSetLocalServiceUtil.createLayoutSet(privateLayoutSetId);
            privateLayoutSet.setCompanyId(companyId);
            privateLayoutSet.setGroupId(groupId);
            privateLayoutSet.setThemeId("classic");
            privateLayoutSet.setColorSchemeId("01");
            privateLayoutSet.setPrivateLayout(true);
            LayoutSetLocalServiceUtil.updateLayoutSet(privateLayoutSet);


    }

}





Dileepa Sisila Chandrasekera
Computer Science & Engineering
University of Moratuwa
Trainee at hsenid mobile solution (pvt) Ltd.

4 comments:

  1. This function is not correct, it lacks a few more things. If you try to change the user data you get. "Users is temporarily unavailable."

    ReplyDelete
  2. functional part is not include.............but major thing is this........

    ReplyDelete
  3. Can you please tell me how to do the manual insertion to user_ table to add users.
    Thanks in advance

    ReplyDelete
  4. check this
    http://www.liferay.com/community/forums/-/message_boards/message/13635690

    ReplyDelete