Advertisement
Guest User

Untitled

a guest
May 30th, 2014
683
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 24.52 KB | None | 0 0
  1. package com.wcrx.study.portal.protocol.util;
  2.  
  3. import com.ibm.portal.*;
  4. import com.ibm.portal.ac.AccessControlHome;
  5. import com.ibm.portal.ac.RoleDataController;
  6. import com.ibm.portal.ac.data.RoleType;
  7. import com.ibm.portal.content.*;
  8. import com.ibm.portal.model.*;
  9. import com.ibm.portal.model.controller.ContentModelControllerHome;
  10. import com.ibm.portal.model.controller.CreationContextBuilderFactory;
  11. import com.ibm.portal.model.controller.context.UniqueNameStrategy;
  12. import com.ibm.portal.model.controller.exceptions.CannotCommitException;
  13. import com.ibm.portal.model.controller.exceptions.CannotInstantiateControllerException;
  14. import com.ibm.portal.navigation.NavigationModel;
  15. import com.ibm.portal.navigation.NavigationNode;
  16. import com.ibm.portal.portletmodel.PortletModel;
  17. import com.ibm.portal.services.contentmapping.*;
  18. import com.ibm.portal.services.contentmapping.exceptions.*;
  19. import com.ibm.portal.um.Group;
  20. import com.ibm.portal.um.PumaController;
  21. import com.ibm.portal.um.PumaHome;
  22. import com.ibm.portal.um.exceptions.PumaMissingAccessRightsException;
  23. import com.ibm.portal.um.exceptions.PumaModelException;
  24. import com.ibm.portal.um.exceptions.PumaSystemException;
  25. import com.ibm.wps.pe.pc.std.core.PortletUtils;
  26.  
  27. import javax.naming.Context;
  28. import javax.naming.InitialContext;
  29. import javax.naming.NamingException;
  30. import javax.portlet.*;
  31. import javax.servlet.ServletRequest;
  32. import javax.servlet.ServletResponse;
  33. import java.util.*;
  34.  
  35. /**
  36.  * @author : Georgy Gobozov
  37.  * @created : 12.03.13
  38.  */
  39. public class PageUtil {
  40.  
  41.     public static final String FRIENDLY_NAME_KEY = "com.ibm.portal.friendly.name";
  42.     public static final String TOP_PROTOCOL_KEY = "top.protocol.page";
  43.  
  44.     /**
  45.      * @param parentUniqueName - page unique name under new page will be created
  46.      * @param title            - new page title
  47.      * @param request          - portlet request
  48.      * @param response         - portlet response
  49.      * @return
  50.      */
  51.  
  52.     public static boolean createPortalPage(String parentUniqueName, String title, PortletRequest request, PortletResponse response) {
  53.         ContentNode parent = (ContentNode) getNodeByUniqueName(parentUniqueName, request, response);
  54.         return createPortalPage(parent, title, null, null, request, response);
  55.     }
  56.  
  57.     /**
  58.      * @param parentUniqueName - page unique name under new page will be created
  59.      * @param title            - new page title
  60.      * @param uniqueName       - new page unique name
  61.      * @param friendlyName     - new page friendly name (friendly url)
  62.      * @param request          - portlet request
  63.      * @param response         - portlet response
  64.      * @return
  65.      */
  66.  
  67.     public static boolean createPortalPage(String parentUniqueName, String title, String uniqueName, String friendlyName, PortletRequest request, PortletResponse response) {
  68.         ContentNode parent = (ContentNode) getNodeByUniqueName(parentUniqueName, request, response);
  69.         return createPortalPage(parent, title, uniqueName, friendlyName, request, response);
  70.     }
  71.  
  72.     /**
  73.      * @param parentId - page object id under new page will be created
  74.      * @param title    - new page title
  75.      * @param request  - portlet request
  76.      * @param response - portlet response
  77.      * @return
  78.      */
  79.  
  80.     public static boolean createPortalPage(ObjectID parentId, String title, PortletRequest request, PortletResponse response) {
  81.         ContentNode parent = (ContentNode) getNodeByObjectId(parentId, request, response);
  82.         return createPortalPage(parent, title, null, null, request, response);
  83.     }
  84.  
  85.     /**
  86.      * @param parentId     - page object id under new page will be created
  87.      * @param title        - new page title
  88.      * @param uniqueName   - new page unique name
  89.      * @param friendlyName - new page friendly name (friendly url)
  90.      * @param request      - portlet request
  91.      * @param response     - portlet response
  92.      * @return
  93.      */
  94.  
  95.     public static boolean createPortalPage(ObjectID parentId, String title, String uniqueName, String friendlyName, PortletRequest request, PortletResponse response) {
  96.         ContentNode parent = (ContentNode) getNodeByObjectId(parentId, request, response);
  97.         return createPortalPage(parent, title, uniqueName, friendlyName, request, response);
  98.     }
  99.  
  100.     /**
  101.      * @param uniqueName - page unique name
  102.      * @param request    - portlet request
  103.      * @param response   - portlet response
  104.      * @return
  105.      */
  106.  
  107.     public static Identifiable getNodeByUniqueName(String uniqueName, PortletRequest request, PortletResponse response) {
  108.         Object node = getController(request, response).getLocator().findByUniqueName(uniqueName);
  109.         return node == null ? null : (Identifiable) node;
  110.     }
  111.  
  112.     /**
  113.      * @param id       - page object id
  114.      * @param request  - portlet request
  115.      * @param response - portlet response
  116.      * @return
  117.      */
  118.  
  119.     public static Identifiable getNodeByObjectId(ObjectID id, PortletRequest request, PortletResponse response) {
  120.         Object node = getController(request, response).getLocator().findByID(id);
  121.         return node == null ? null : (Identifiable) node;
  122.     }
  123.  
  124.  
  125.     /**
  126.      * @param parent       - parent page under new page created
  127.      * @param title        - new page title
  128.      * @param uniqueName   - new page unique name
  129.      * @param friendlyName -  new page friendly name (friendly url)
  130.      * @param request      - portlet request
  131.      * @param response     - portlet response
  132.      * @return
  133.      */
  134.     private static boolean createPortalPage(ContentNode parent, String title, String uniqueName, String friendlyName, PortletRequest request, PortletResponse response) {
  135.         boolean result = false;
  136.         ContentModelController ctrl = null;
  137.         CreationContextBuilderFactory factory = null;
  138.         ContentPageCreationContext ctx = null;
  139.         ModifiableContentPage newPage = null;
  140.         try {
  141.             ctrl = getController(request, response);
  142.             factory = CreationContextBuilderFactory.getInstance();
  143.  
  144.             // Use the context to create the private page
  145.             ctx = factory.newContentPageCreationContext(true);
  146.             newPage = (ModifiableContentPage) ctrl.create(ContentPage.class, ctx);
  147.             newPage.setTitle(request.getLocale(), title);
  148.  
  149.             // set page unique name
  150.             if (uniqueName != null)
  151.                 newPage.getModifiableObjectID().setUniqueName(uniqueName);
  152.  
  153.             // set friendly name
  154.             if (friendlyName != null) {
  155.                 ModifiableMetaDataProvider mmdp = (ModifiableMetaDataProvider) ctrl.getModifiableNode(newPage);
  156.                 mmdp.getModifiableMetaData().setValue(FRIENDLY_NAME_KEY, friendlyName);
  157.             }
  158.  
  159.             if (parent != null) {
  160.                 ctrl.insert(newPage, parent, null);
  161.                 ctrl.commit();
  162.                 result = true;
  163.             }
  164.  
  165.         } catch (Exception e) {
  166.             e.printStackTrace();
  167.         } finally {
  168.             if (null != ctrl)
  169.                 ctrl.dispose();
  170.         }
  171.         return result;
  172.     }
  173.  
  174.  
  175.     /**
  176.      * @param copiedUniqueName - target page unique name
  177.      * @param parentUniqueName - parent page unique name under new page created
  178.      * @param title            - new page title
  179.      * @param request          - portlet request
  180.      * @param response         - portlet response
  181.      * @param isDeepCopy       - copy page with nested pages or not
  182.      */
  183.  
  184.     public static void copyPortalPage(String copiedUniqueName, String parentUniqueName, String title, PortletRequest request, PortletResponse response, boolean isDeepCopy) throws Exception {
  185.         Identifiable parent = getNodeByUniqueName(parentUniqueName, request, response);
  186.         ContentNode template = (ContentNode) getNodeByUniqueName(copiedUniqueName, request, response);
  187.         copyPortalPage(template, parent, title, null, null, request, response, isDeepCopy, null);
  188.     }
  189.  
  190.     /**
  191.      * @param copiedUniqueName - target page unique name
  192.      * @param parentUniqueName - parent page unique name under new page created
  193.      * @param title            - new page title
  194.      * @param uniqueName       - new page unique name
  195.      * @param friendlyName     - new page friendly name (friendly url)
  196.      * @param request          - portlet request
  197.      * @param response         - portlet response
  198.      * @param isDeepCopy       - copy page with nested pages or not
  199.      * @param mapping          - map with template pages ids and wcm areas mapped to, may be null
  200.      */
  201.  
  202.  
  203.     public static void copyPortalPage(String copiedUniqueName, String parentUniqueName, String title, String uniqueName, String friendlyName, PortletRequest request, PortletResponse response, boolean isDeepCopy, Map<ObjectID, String> mapping) throws Exception {
  204.         Identifiable parent = getNodeByUniqueName(parentUniqueName, request, response);
  205.         ContentNode template = (ContentNode) getNodeByUniqueName(copiedUniqueName, request, response);
  206.         copyPortalPage(template, parent, title, uniqueName, friendlyName, request, response, isDeepCopy, mapping);
  207.     }
  208.  
  209.     /**
  210.      * @param copiedId   - target page object id
  211.      * @param parentId   - page page object id under new page created
  212.      * @param title      - new page title
  213.      * @param request    - portlet request
  214.      * @param response   - portlet response
  215.      * @param isDeepCopy - copy page with nested pages or not
  216.      */
  217.  
  218.     public static void copyPortalPage(ObjectID copiedId, ObjectID parentId, String title, PortletRequest request, PortletResponse response, boolean isDeepCopy) throws Exception {
  219.         Identifiable parent = getNodeByObjectId(parentId, request, response);
  220.         ContentNode template = (ContentNode) getNodeByObjectId(copiedId, request, response);
  221.         copyPortalPage(template, parent, title, null, null, request, response, isDeepCopy, null);
  222.     }
  223.  
  224.     /**
  225.      * @param copiedId     - target page object id
  226.      * @param parentId     - page page object id under new page created
  227.      * @param title        - new page title
  228.      * @param uniqueName   - new page unique name
  229.      * @param friendlyName - new page friendly name (friendly url)
  230.      * @param request      - portlet request
  231.      * @param response     - portlet response
  232.      * @param isDeepCopy   - copy page with nested pages or not
  233.      */
  234.  
  235.     public static void copyPortalPage(ObjectID copiedId, ObjectID parentId, String title, String uniqueName, String friendlyName, PortletRequest request, PortletResponse response, boolean isDeepCopy) throws Exception {
  236.         Identifiable parent = getNodeByObjectId(parentId, request, response);
  237.         ContentNode template = (ContentNode) getNodeByObjectId(copiedId, request, response);
  238.         copyPortalPage(template, parent, title, uniqueName, friendlyName, request, response, isDeepCopy, null);
  239.     }
  240.  
  241.     //http://public.dhe.ibm.com/software/dw/lotus/portal_javadoc/80/portal/spi_docs/com/ibm/portal/model/controller/CreationContextBuilderFactory.html
  242.  
  243.     private static void copyPortalPage(ContentNode template, Identifiable parent, String newPageTitle, String newPageUniqueName, String newPageFriendlyName, PortletRequest request, PortletResponse response, boolean isDeepCopy, Map<ObjectID, String> mapping) throws Exception {
  244.  
  245.         ContentModelController ctrl = getController(request, response);
  246.         ContentMappingInfoController mappingCtrl = getContentMappingController();
  247.         try {
  248.             NavigationModel navModel = getNavigationModel(request, response);
  249.             makeCopy(template, parent, newPageTitle, newPageUniqueName, newPageFriendlyName, request, response, navModel, ctrl, getPortletModelProvider(), isDeepCopy, mappingCtrl, mapping);
  250.             ctrl.commit();
  251.             mappingCtrl.commit();
  252.         } finally {
  253.             if (ctrl != null)
  254.                 ctrl.dispose();
  255.         }
  256.     }
  257.  
  258.     // todo add support labels and links
  259.  
  260.     private static void makeCopy(ContentNode template, Identifiable parent, String newPageTitle, String newPageUniqueName, String newPageFriendlyName, PortletRequest request, PortletResponse response, NavigationModel navModel, ContentModelController ctrl, PortletModelProvider pmp, boolean isDeepCopy, ContentMappingInfoController mappingCtrl, Map<ObjectID, String> mapping) throws Exception {
  261.  
  262.         ServletRequest servletRequest = PortletUtils.getInternalRequest(request).getHttpServletRequest();
  263.         ServletResponse servletResponse = PortletUtils.getInternalResponse(response).getHttpServletResponse();
  264.  
  265.         try {
  266.  
  267.             if (template != null && parent != null) {
  268.  
  269.                 final CreationContextBuilderFactory factory = CreationContextBuilderFactory.getInstance();
  270.                 final UniqueNameStrategy strategy = UniqueNameStrategy.NULL;
  271.  
  272.                 CreationContext ctx;
  273.                 ModifiableContentNode newPage;
  274.                 ContentNodeType type = template.getContentNodeType();
  275.  
  276.                 //ContentNodeType.STATICPAGE
  277.                 if (type.equals(ContentNodeType.PAGE)) {
  278.                     PortletModel portletModel = pmp.getPortletModel((ContentPage) template, servletRequest, servletResponse);
  279.                     ctx = factory.newContentNodeCopyCreationContext(template, ctrl, portletModel, strategy, null);
  280.                     newPage = (ModifiableContentPage) ctrl.create(ContentPage.class, ctx);
  281.  
  282.                 } else if (type.equals(ContentNodeType.STATICPAGE)) {
  283.                     PortletModel portletModel = pmp.getPortletModel((ContentPage) template, servletRequest, servletResponse);
  284.                     ctx = factory.newContentNodeCopyCreationContext(template, ctrl, portletModel, strategy, null);
  285.                     newPage = (ModifiableContentPage) ctrl.create(StaticContentPage.class, ctx);
  286.  
  287.                 } else if (type.equals(ContentNodeType.LABEL)) {
  288.                     ctx = factory.newContentNodeCopyCreationContext(template, ctrl, null, strategy, null);
  289.                     newPage = (ModifiableContentLabel) ctrl.create(ContentLabel.class, ctx);
  290.  
  291.                 } else if (type.equals(ContentNodeType.EXTERNALURL)){
  292.                     ctx = factory.newContentNodeCopyCreationContext(template, ctrl, null, strategy, null);
  293.                     newPage = (ModifiableExternalContentURL) ctrl.create(ExternalContentURL.class, ctx);
  294.  
  295.                 } else if (type.equals(ContentNodeType.INTERNALURL)){
  296.                     ctx = factory.newContentNodeCopyCreationContext(template, ctrl, null, strategy, null);
  297.                     newPage = (ModifiableInternalContentURL) ctrl.create(InternalContentURL.class, ctx);
  298.                 }  else {
  299.                     return;
  300.                 }
  301.  
  302.  
  303.                 newPage.setTitle(new Locale("EN"), newPageTitle);
  304.  
  305.                 if (newPageUniqueName != null)
  306.                     newPage.getModifiableObjectID().setUniqueName(newPageUniqueName);
  307.  
  308.                 if (newPageFriendlyName != null)
  309.                     setPageParameter(ctrl, newPage, FRIENDLY_NAME_KEY, newPageFriendlyName);
  310.  
  311.                if (mapping != null && mapping.get(template.getObjectID()) != null)
  312.                     setPageMapping(newPage.getObjectID(), mapping.get(template.getObjectID()), mappingCtrl);
  313.  
  314.                 ctrl.insert(newPage, parent, null);
  315.  
  316.                 if (isDeepCopy) {
  317.                     NavigationNode targetNode = (NavigationNode) ctrl.getLocator().findByID(template.getObjectID());
  318.                     List<NavigationNode> children = getChildrenNodes(navModel, targetNode);
  319.                     if (!children.isEmpty()) {
  320.                         for (NavigationNode nn : children) {
  321.                             try {
  322.                                 ContentPage page = (ContentPage) ctrl.getLocator().findByID(nn.getObjectID());
  323.                                 Identifiable node = (Identifiable) ctrl.getLocator().findByID(newPage.getObjectID());
  324.                                 String title = nn.getTitle(new Locale("EN"));
  325.                                 String childUniqueName = newPageUniqueName == null ? null : newPageUniqueName + "." + title;
  326.                                 String childFriendlyName = getStringMetadata(nn, FRIENDLY_NAME_KEY);
  327.                                 makeCopy(page, node, title, childUniqueName, childFriendlyName, request, response, navModel, ctrl, pmp, true, mappingCtrl, mapping);
  328.                             } catch (Exception e) {
  329.                                 e.printStackTrace();
  330.                             }
  331.                         }
  332.                     }
  333.                 }
  334.             } else {
  335.                 throw new Exception("Parent page " + parent +  " or copied page " + template.getTitle(new Locale("EN"))  + " is null or not found!");
  336.             }
  337.         } catch (Exception e) {
  338.             e.printStackTrace();
  339.             throw new Exception(e);
  340.         }
  341.     }
  342.  
  343.  
  344.     /**
  345.      * @param ctrl
  346.      * @param node  - page parameter set for
  347.      * @param key   - parameter name
  348.      * @param value - parameter value
  349.      */
  350.  
  351.     public static void setPageParameter(ContentModelController ctrl, ContentNode node, String key, String value) throws Exception{
  352.             ModifiableMetaDataProvider mmdp = (ModifiableMetaDataProvider) ctrl.getModifiableNode(node);
  353.             mmdp.getModifiableMetaData().setValue(key, value);
  354.     }
  355.  
  356.  
  357.     private static PortletModelProvider getPortletModelProvider() {
  358.         try {
  359.             Context context = new InitialContext();
  360.             PortletModelHome home = (PortletModelHome) context.lookup(PortletModelHome.JNDI_NAME);
  361.             return home.getPortletModelProvider();
  362.         } catch (NamingException e) {
  363.             e.printStackTrace();
  364.         }
  365.         return null;
  366.     }
  367.  
  368.  
  369.     public static NavigationModel getNavigationModel(PortletRequest request, PortletResponse response) {
  370.         ServletRequest servletRequest = PortletUtils.getInternalRequest(request).getHttpServletRequest();
  371.         ServletResponse servletResponse = PortletUtils.getInternalResponse(response).getHttpServletResponse();
  372.         try {
  373.             Context context = new InitialContext();
  374.             NavigationModelHome navHome = (NavigationModelHome) context.lookup(NavigationModelHome.JNDI_NAME);
  375.             return navHome.getNavigationModelProvider().getNavigationModel(servletRequest, servletResponse);
  376.         } catch (NamingException e) {
  377.             e.printStackTrace();
  378.         } catch (ModelException e) {
  379.             e.printStackTrace();
  380.         }
  381.         return null;
  382.     }
  383.  
  384.  
  385.     private static ContentMappingInfoController getContentMappingController() {
  386.         try {
  387.             Context ctx = new InitialContext();
  388.             ContentMappingInfoHome contentMappingInfoHome = (ContentMappingInfoHome) ctx.lookup(ContentMappingInfoHome.JNDI_NAME);
  389.             return contentMappingInfoHome.getContentMappingInfoController();
  390.         } catch (NamingException e) {
  391.             e.printStackTrace();
  392.         }
  393.         return null;
  394.     }
  395.  
  396.     /**
  397.      * You need to call controller.commit() to persist changes after this method call
  398.      *
  399.      * @param pageId       - page object ID
  400.      * @param siteAreaPath - WCM sitearea path to page mapped
  401.      * @param controller   -  ContentMappingInfoController
  402.      */
  403.  
  404.     public static void setPageMapping(ObjectID pageId, String siteAreaPath, ContentMappingInfoController controller) {
  405.         try {
  406.             ModifiableContentMappingInfo mappingInfo = controller.createModifiableContentMappingInfo(pageId);
  407.             mappingInfo.addContentPath(siteAreaPath, true, null);
  408.         } catch (Exception e) {
  409.             e.printStackTrace();
  410.         }
  411.     }
  412.  
  413.     /**
  414.      * @param pageId       - page object ID
  415.      * @param siteAreaPath - WCM sitearea path to page mapped
  416.      */
  417.  
  418.     public static void setPageMapping(ObjectID pageId, String siteAreaPath) {
  419.         try {
  420.             Context ctx = new InitialContext();
  421.             ContentMappingInfoHome contentMappingInfoHome = (ContentMappingInfoHome) ctx.lookup(ContentMappingInfoHome.JNDI_NAME);
  422.             ContentMappingInfoController controller = contentMappingInfoHome.getContentMappingInfoController();
  423.             setPageMapping(pageId, siteAreaPath, controller);
  424.             controller.commit();
  425.         } catch (Exception e) {
  426.             e.printStackTrace();
  427.         }
  428.     }
  429.  
  430.  
  431.     /**
  432.      * Returns page parameter as string
  433.      *
  434.      * @param node - page
  435.      * @param key  - parameter name
  436.      * @return
  437.      */
  438.  
  439.     public static String getStringMetadata(NavigationNode node, String key) {
  440.         if (node instanceof com.ibm.portal.MetaDataProvider) {
  441.             com.ibm.portal.MetaData iMetaData = ((com.ibm.portal.MetaDataProvider) node).getMetaData();
  442.             Object url = iMetaData.getValue(key);
  443.             if (url != null && !url.toString().equals("")) {
  444.                 return url.toString();
  445.             }
  446.         }
  447.         return null;
  448.     }
  449.  
  450.     /**
  451.      * Returns page parameter as boolean
  452.      *
  453.      * @param node - page
  454.      * @param key  - parameter name
  455.      * @return
  456.      */
  457.  
  458.     public static boolean getBooleanMetadata(NavigationNode node, String key) {
  459.         if (node instanceof com.ibm.portal.MetaDataProvider) {
  460.             com.ibm.portal.MetaData iMetaData = ((com.ibm.portal.MetaDataProvider) node).getMetaData();
  461.             Object url = iMetaData.getValue(key);
  462.             if (url != null && !url.toString().equals("")) {
  463.                 return url.toString().equalsIgnoreCase("true");
  464.             }
  465.         }
  466.         return false;
  467.     }
  468.  
  469.     /**
  470.      * @param nm             - navigation model
  471.      * @param rootNode       - parent navigation node for searched node
  472.      * @param nodeUniqueName - target node unique name
  473.      * @return navigation node
  474.      */
  475.  
  476.     public static NavigationNode getNavNodeByUniqueName(NavigationModel nm, NavigationNode rootNode, String nodeUniqueName) {
  477.         try {
  478.             if (rootNode == null)
  479.                 rootNode = (NavigationNode) nm.getRoot();
  480.  
  481.             String uniqueName = rootNode.getContentNode().getObjectID().getUniqueName();
  482.             if (uniqueName != null && uniqueName.equals(nodeUniqueName))
  483.                 return rootNode;
  484.  
  485.  
  486.             Iterator<NavigationNode> iterator = nm.getChildren(rootNode);
  487.             while (iterator.hasNext()) {
  488.                 NavigationNode n = getNavNodeByUniqueName(nm, iterator.next(), nodeUniqueName);
  489.                 if (n != null)
  490.                     return n;
  491.  
  492.             }
  493.  
  494.         } catch (ModelException e) {
  495.             e.printStackTrace();
  496.         }
  497.         return null;
  498.     }
  499.  
  500.  
  501.     public static List<NavigationNode> getChildrenNodes(NavigationModel nm, NavigationNode parentNode) {
  502.         List<NavigationNode> childs = new ArrayList<NavigationNode>();
  503.         try {
  504.             if (parentNode == null) return childs;
  505.             Iterator<NavigationNode> iter = nm.getChildren(parentNode);
  506.             while (iter.hasNext()) {
  507.                 NavigationNode node = iter.next();
  508.                 childs.add(node);
  509.             }
  510.         } catch (Exception e) {
  511.             e.printStackTrace();
  512.         }
  513.         return childs;
  514.     }
  515.  
  516.  
  517.     public static ContentModelController getController(PortletRequest request, PortletResponse response) {
  518.         ContentModel aContentmodel = null;
  519.         ContentModelController ctrl = null;
  520.         ContentModelControllerHome home = null;
  521.         try {
  522.             Context ictx = new InitialContext();
  523.             ContentModelHome homea = (ContentModelHome) ictx.lookup("portal:service/model/ContentModel");
  524.             if (homea != null) {
  525.                 ContentModelProvider provider = homea.getContentModelProvider();
  526.                 PortletUtils.getInternalRequest(request).getHttpServletRequest();
  527.                 //aContentmodel = provider.getContentModel((ServletRequest) request, (ServletResponse) response);
  528.                 aContentmodel = provider.getContentModel(PortletUtils.getInternalRequest(request).getHttpServletRequest(), PortletUtils.getInternalResponse(response).getHttpServletResponse());
  529.             }
  530.             home = (ContentModelControllerHome) ictx.lookup(ContentModelControllerHome.JNDI_NAME);
  531.             if (home != null) {
  532.                 try {
  533.                     ctrl = home.getContentModelControllerProvider().createContentModelController(aContentmodel);
  534.                 } catch (CannotInstantiateControllerException e) {
  535.                     e.printStackTrace();
  536.                 }
  537.             }
  538.         } catch (Exception e) {
  539.             e.printStackTrace();
  540.         }
  541.         return ctrl;
  542.  
  543.     }
  544.  
  545.  
  546.  
  547. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement