Thursday, 9 July 2015

Liferay Custom field and Expando Tables

Creating Extra Field

If you want to add extra field in liferay default table ......
 In 6.2
Admin-------------->control panel--------->Custom Fields---------->User

select entity for ex..User

User-------->Add Custom Field -------->Enter Key &  Type and save it 




Saving The Custom field value

 
in jsp page
 <%
      User currentUser = themeDisplay.getUser();
          %>
          <div class="control-group">
            <label for="reportingManager" class="control-label">Reporting Manager</label>
            <div class="controls">
              <liferay-ui:custom-attribute-list
              className="<%= User.class.getName() %>"
              classPK="<%= currentUser != null ? currentUser.getUserId() : 0 %>"
              editable="<%= true %>" label="false"/>
            </div>
          </div>   
in controller
  ServiceContext serviceContext = ServiceContextFactory.getInstance(User.class.getName(),      actionRequest);
    user.setExpandoBridgeAttributes(serviceContext);
    UserLocalServiceUtil.addUser(user);


After creating custom field ,it is available in ExpandoTable and ExpandoColumn

After Saving You can check it in ExpandoValue Table



 

Monday, 6 July 2015

Fetching Last Primary Key From Table

1.     SELECT qualityId FROM `quality_quality`
        ORDER BY qualityId DESC
        LIMIT 1;

2.     select max(qualityId ) from quality_quality"


3. In Liferay
         
          Quality qua = new QualityImpl();
           long siz1 = 0 ;
     try{
          long qualityId = ParamUtil.getLong(renderRequest, "qualityId");
         qua = QualityLocalServiceUtil.getQuality(qualityId);
      if(qualityId > 0)
        siz1 = qua.getQualityId();
}catch(Exception e){
    int size=l.size();
    if(size == 0){
         siz1 = 1;
         //out.print(siz1);
    }else{
          siz1 = ((l.get(size-1).getQualityId())+1) ;
          //out.print(siz1);
      }
}