Sunday, 27 August 2017

liferay7 organization hook action code(getting data from expando table)

package org.hook.structs;


/*import java.io.Serializable;
import java.util.Map;*/

//import java.util.List;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;

import com.liferay.portal.kernel.model.Organization;

/**
 * @author home
 *
 */





import com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCActionCommand;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCActionCommand;
import com.liferay.portal.kernel.service.OrganizationLocalServiceUtil;
import com.liferay.portal.kernel.service.ServiceContext;
import com.liferay.portal.kernel.service.ServiceContextFactory;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portal.kernel.service.OrganizationLocalServiceUtil;
import com.liferay.portal.kernel.service.ServiceContext;
import com.liferay.portal.kernel.service.ServiceContextFactory;
import com.liferay.portal.kernel.util.ParamUtil;
//import com.liferay.portal.kernel.service.ClassNameLocalServiceUtil;
@Component(
immediate = true,
property = {
"javax.portlet.name=com_liferay_users_admin_web_portlet_UsersAdminPortlet",
"mvc.command.name=/users_admin/edit_organization",
"service.ranking:Integer=100"
},
service = MVCActionCommand.class
)
public class HookStructActionActivator extends BaseMVCActionCommand {


//private long organizationId;
//private long tableId;
//private String name;
//private DLFileEntryModel themeDisplay;
@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

System.out.println("executiong organization authentication");


ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

ServiceContext serviceContext = ServiceContextFactory.getInstance(Organization.class.getName(), actionRequest);

/*Map<String, Serializable> serviceContextValues = serviceContext.getAttributes();*/

/* for (String key : serviceContextValues.keySet()) {
System.out.println("key: " + key + " value: " + serviceContextValues.get(key));
}
*/


String parentOrganizationIdString = (String) serviceContext.getAttribute("parentOrganizationSearchContainerPrimaryKeys");
String name = (String) serviceContext.getAttribute("name");
String type =(String) serviceContext.getAttribute("type");
String statusIdString = (String) serviceContext.getAttribute("statusId");
String comments = (String) serviceContext.getAttribute("comments");
String siteString = (String) serviceContext.getAttribute("site");

System.out.println("parentOrganizationIdString " + parentOrganizationIdString);

System.out.println("name " + name);

long parentOrganizationId = 0;
long statusId = 0;
boolean site = false;
if(parentOrganizationIdString.length() > 0){
parentOrganizationId = Long.parseLong(parentOrganizationIdString);
}
if(statusIdString.length() > 0){
statusId = Long.parseLong(statusIdString);
}

if(siteString.length() > 0){
site = Boolean.parseBoolean(siteString);
}

Organization org = OrganizationLocalServiceUtil.addOrganization(
themeDisplay.getUserId(), parentOrganizationId, name, type,
0, 0, statusId, comments, site, serviceContext);


System.out.println("CompanyName " + (String)serviceContext.getAttribute("CompanyName"));
System.out.println("Date of Birth " + (String)serviceContext.getAttribute("Date of Birth"));
System.out.println("Phone Number " + (String)serviceContext.getAttribute("Phone Number"));
System.out.println("Subscription " + (String)serviceContext.getAttribute("Subscription"));
System.out.println("Subscription for Number of Employees " + (String)serviceContext.getAttribute("Subscription for Number of Employees"));
System.out.println("User ID(Email address) " + (String)serviceContext.getAttribute("User ID(Email address)"));

org.getExpandoBridge().setAttribute("CompanyName", (String)serviceContext.getAttribute("CompanyName"));//getAttribute("CompanyName");
org.getExpandoBridge().setAttribute("Date of Birth", (String)serviceContext.getAttribute("Date of Birth"));
org.getExpandoBridge().setAttribute("Phone Number", (String)serviceContext.getAttribute("Phone Number"));
org.getExpandoBridge().setAttribute("Subscription", (String)serviceContext.getAttribute("Subscription"));
org.getExpandoBridge().setAttribute("Subscription for Number of Employees", (String)serviceContext.getAttribute("Subscription for Number of Employees"));
org.getExpandoBridge().setAttribute("User ID(Email address)", (String)serviceContext.getAttribute("User ID(Email address)"));


// org.setExpandoBridgeAttributes(serviceContext);

OrganizationLocalServiceUtil.updateOrganization(org);
//mvcActionCommand.processAction(actionRequest, actionResponse);
}


/*@Override*/
   public String render(RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException
   {
       return "/details.jsp";
   }

@Reference(target = "(&(mvc.command.name=/users_admin/edit_organization)"
+ "(javax.portlet.name=com_liferay_users_admin_web_portlet_UsersAdminPortlet))")
protected MVCActionCommand mvcActionCommand;
}



No comments:

Post a Comment