Package org.apache.cocoon.portal.pluto.om

Examples of org.apache.cocoon.portal.pluto.om.WebApplicationDefinitionImpl


            System.out.println(portletApp);
        }

        // now generate web part

        WebApplicationDefinitionImpl webApp = null;

        if (webXml.exists()) {
            Unmarshaller unmarshallerWeb = new Unmarshaller(mappingWebXml);
      unmarshallerWeb.setIgnoreExtraElements(true);
            webApp =
                (WebApplicationDefinitionImpl) unmarshallerWeb.unmarshal(
                    new FileReader(webXml));
        } else {
            webApp = new WebApplicationDefinitionImpl();
            DisplayNameImpl dispName = new DisplayNameImpl();
            dispName.setDisplayName(webModule);
            dispName.setLocale(Locale.ENGLISH);
            DisplayNameSetImpl dispSet = new DisplayNameSetImpl();
            dispSet.add(dispName);
            webApp.setDisplayNames(dispSet);
            DescriptionImpl desc = new DescriptionImpl();
            desc.setDescription("Automated generated Application Wrapper");
            desc.setLocale(Locale.ENGLISH);
            DescriptionSetImpl descSet = new DescriptionSetImpl();
            descSet.add(desc);
            webApp.setDescriptions(descSet);
        }

        ControllerFactory controllerFactory = new ControllerFactoryImpl();

        ServletDefinitionListCtrl servletDefinitionSetCtrl =
            (ServletDefinitionListCtrl) controllerFactory.get(
                webApp.getServletDefinitionList());
        Collection servletMappings = webApp.getServletMappings();

        Iterator portlets = portletApp.getPortletDefinitionList().iterator();
        while (portlets.hasNext()) {

            PortletDefinition portlet = (PortletDefinition) portlets.next();

            if ( debug ) {
                System.out.println("  Portlet: " + portlet.getId());
            }
            // check if already exists
            ServletDefinition servlet =
                webApp.getServletDefinitionList().get(portlet.getName());
            if (servlet != null) {
                if (!servlet
                    .getServletClass()
                    .equals("org.apache.pluto.core.PortletServlet")) {
                    System.out.println(
                        "Note: Replaced already existing the servlet with the name '"
                            + portlet.getName()
                            + "' with the wrapper servlet.");
                }
                ServletDefinitionCtrl _servletCtrl =
                    (ServletDefinitionCtrl) controllerFactory.get(servlet);
                _servletCtrl.setServletClass(
                    "org.apache.pluto.core.PortletServlet");
            } else {
                servlet =
                    servletDefinitionSetCtrl.add(
                        portlet.getName(),
                        "org.apache.pluto.core.PortletServlet");
            }

            ServletDefinitionCtrl servletCtrl =
                (ServletDefinitionCtrl) controllerFactory.get(servlet);

            DisplayNameImpl dispName = new DisplayNameImpl();
            dispName.setDisplayName(portlet.getName() + " Wrapper");
            dispName.setLocale(Locale.ENGLISH);
            DisplayNameSetImpl dispSet = new DisplayNameSetImpl();
            dispSet.add(dispName);
            servletCtrl.setDisplayNames(dispSet);
            DescriptionImpl desc = new DescriptionImpl();
            desc.setDescription("Automated generated Portlet Wrapper");
            desc.setLocale(Locale.ENGLISH);
            DescriptionSetImpl descSet = new DescriptionSetImpl();
            descSet.add(desc);
            servletCtrl.setDescriptions(descSet);
            ParameterSet parameters = servlet.getInitParameterSet();

            ParameterSetCtrl parameterSetCtrl =
                (ParameterSetCtrl) controllerFactory.get(parameters);

            Parameter parameter1 = parameters.get("portlet-class");
            if (parameter1 == null) {
                parameterSetCtrl.add(
                    "portlet-class",
                    portlet.getClassName());
            } else {
                ParameterCtrl parameterCtrl =
                    (ParameterCtrl) controllerFactory.get(parameter1);
                parameterCtrl.setValue(portlet.getClassName());

            }
            Parameter parameter2 = parameters.get("portlet-guid");
            if (parameter2 == null) {
                parameterSetCtrl.add(
                    "portlet-guid",
                    portlet.getId().toString());
            } else {
                ParameterCtrl parameterCtrl =
                    (ParameterCtrl) controllerFactory.get(parameter2);
                parameterCtrl.setValue(portlet.getId().toString());

            }

            boolean found = false;
            Iterator mappings = servletMappings.iterator();
            while (mappings.hasNext()) {
                ServletMapping servletMapping =
                    (ServletMapping) mappings.next();
                if (servletMapping
                    .getServletName()
                    .equals(portlet.getName())) {
                    found = true;
                    servletMapping.setUrlPattern(
                        "/" + portlet.getName().replace(' ', '_') + "/*");
                }
            }
            if (!found) {
                ServletMapping servletMapping =
                    new ServletMapping();
                servletMapping.setServletName(portlet.getName());
                servletMapping.setUrlPattern(
                    "/" + portlet.getName().replace(' ', '_') + "/*");
                servletMappings.add(servletMapping);
            }

            SecurityRoleRefSet servletSecurityRoleRefs =
                ((ServletDefinitionImpl)servlet).getInitSecurityRoleRefSet();

            SecurityRoleRefSetCtrl servletSecurityRoleRefSetCtrl =
                (SecurityRoleRefSetCtrl) controllerFactory.get(
                    servletSecurityRoleRefs);

            SecurityRoleSet webAppSecurityRoles = webApp.getSecurityRoles();
               
            SecurityRoleRefSet portletSecurityRoleRefs =
                portlet.getInitSecurityRoleRefSet();

            Iterator p = portletSecurityRoleRefs.iterator();

            while (p.hasNext()) {
                SecurityRoleRef portletSecurityRoleRef =
                    (SecurityRoleRef) p.next();
               
                if portletSecurityRoleRef.getRoleLink()== null
                    &&   
                        webAppSecurityRoles.get(portletSecurityRoleRef.getRoleName())==null
                ){
                    System.out.println(
                        "Note: The web application has no security role defined which matches the role name \""
                            + portletSecurityRoleRef.getRoleName()
                            + "\" of the security-role-ref element defined for the wrapper-servlet with the name '"
                            + portlet.getName()
                            + "'.");
                    break;           
                }
                SecurityRoleRef servletSecurityRoleRef =
                    servletSecurityRoleRefs.get(
                        portletSecurityRoleRef.getRoleName());
                if (null != servletSecurityRoleRef) {
                    System.out.println(
                        "Note: Replaced already existing element of type <security-role-ref> with value \""
                            + portletSecurityRoleRef.getRoleName()
                            + "\" for subelement of type <role-name> for the wrapper-servlet with the name '"
                            + portlet.getName()
                            + "'.");
                    servletSecurityRoleRefSetCtrl.remove(
                        servletSecurityRoleRef);
                }
                servletSecurityRoleRefSetCtrl.add(portletSecurityRoleRef);
            }

        }

        TagDefinition portletTagLib = new TagDefinition();
        Collection taglibs = webApp.getCastorTagDefinitions();
        taglibs.add(portletTagLib);
       
        if (debug) {
            System.out.println(webApp);
        }
View Full Code Here


            System.out.println(portletApp);
        }

        // now generate web part

        WebApplicationDefinitionImpl webApp = null;

        if (webXml.exists()) {
            Unmarshaller unmarshallerWeb = new Unmarshaller(mappingWebXml);
      unmarshallerWeb.setIgnoreExtraElements(true);
            webApp =
                (WebApplicationDefinitionImpl) unmarshallerWeb.unmarshal(
                    new FileReader(webXml));
        } else {
            webApp = new WebApplicationDefinitionImpl();
            DisplayNameImpl dispName = new DisplayNameImpl();
            dispName.setDisplayName(webModule);
            dispName.setLocale(Locale.ENGLISH);
            DisplayNameSetImpl dispSet = new DisplayNameSetImpl();
            dispSet.add(dispName);
            webApp.setDisplayNames(dispSet);
            DescriptionImpl desc = new DescriptionImpl();
            desc.setDescription("Automated generated Application Wrapper");
            desc.setLocale(Locale.ENGLISH);
            DescriptionSetImpl descSet = new DescriptionSetImpl();
            descSet.add(desc);
            webApp.setDescriptions(descSet);
        }

        ControllerFactory controllerFactory = new ControllerFactoryImpl();

        ServletDefinitionListCtrl servletDefinitionSetCtrl =
            (ServletDefinitionListCtrl) controllerFactory.get(
                webApp.getServletDefinitionList());
        Collection servletMappings = webApp.getServletMappings();

        Iterator portlets = portletApp.getPortletDefinitionList().iterator();
        while (portlets.hasNext()) {

            PortletDefinition portlet = (PortletDefinition) portlets.next();

            if ( debug ) {
                System.out.println("  Portlet: " + portlet.getId());
            }
            // check if already exists
            ServletDefinition servlet =
                webApp.getServletDefinitionList().get(portlet.getName());
            if (servlet != null) {
                if (!servlet
                    .getServletClass()
                    .equals("org.apache.pluto.core.PortletServlet")) {
                    System.out.println(
                        "Note: Replaced already existing the servlet with the name '"
                            + portlet.getName()
                            + "' with the wrapper servlet.");
                }
                ServletDefinitionCtrl _servletCtrl =
                    (ServletDefinitionCtrl) controllerFactory.get(servlet);
                _servletCtrl.setServletClass(
                    "org.apache.pluto.core.PortletServlet");
            } else {
                servlet =
                    servletDefinitionSetCtrl.add(
                        portlet.getName(),
                        "org.apache.pluto.core.PortletServlet");
            }

            ServletDefinitionCtrl servletCtrl =
                (ServletDefinitionCtrl) controllerFactory.get(servlet);

            DisplayNameImpl dispName = new DisplayNameImpl();
            dispName.setDisplayName(portlet.getName() + " Wrapper");
            dispName.setLocale(Locale.ENGLISH);
            DisplayNameSetImpl dispSet = new DisplayNameSetImpl();
            dispSet.add(dispName);
            servletCtrl.setDisplayNames(dispSet);
            DescriptionImpl desc = new DescriptionImpl();
            desc.setDescription("Automated generated Portlet Wrapper");
            desc.setLocale(Locale.ENGLISH);
            DescriptionSetImpl descSet = new DescriptionSetImpl();
            descSet.add(desc);
            servletCtrl.setDescriptions(descSet);
            ParameterSet parameters = servlet.getInitParameterSet();

            ParameterSetCtrl parameterSetCtrl =
                (ParameterSetCtrl) controllerFactory.get(parameters);

            Parameter parameter1 = parameters.get("portlet-class");
            if (parameter1 == null) {
                parameterSetCtrl.add(
                    "portlet-class",
                    portlet.getClassName());
            } else {
                ParameterCtrl parameterCtrl =
                    (ParameterCtrl) controllerFactory.get(parameter1);
                parameterCtrl.setValue(portlet.getClassName());

            }
            Parameter parameter2 = parameters.get("portlet-guid");
            if (parameter2 == null) {
                parameterSetCtrl.add(
                    "portlet-guid",
                    portlet.getId().toString());
            } else {
                ParameterCtrl parameterCtrl =
                    (ParameterCtrl) controllerFactory.get(parameter2);
                parameterCtrl.setValue(portlet.getId().toString());

            }

            boolean found = false;
            Iterator mappings = servletMappings.iterator();
            while (mappings.hasNext()) {
                ServletMapping servletMapping =
                    (ServletMapping) mappings.next();
                if (servletMapping
                    .getServletName()
                    .equals(portlet.getName())) {
                    found = true;
                    servletMapping.setUrlPattern(
                        "/" + portlet.getName().replace(' ', '_') + "/*");
                }
            }
            if (!found) {
                ServletMapping servletMapping =
                    new ServletMapping();
                servletMapping.setServletName(portlet.getName());
                servletMapping.setUrlPattern(
                    "/" + portlet.getName().replace(' ', '_') + "/*");
                servletMappings.add(servletMapping);
            }

            SecurityRoleRefSet servletSecurityRoleRefs =
                ((ServletDefinitionImpl)servlet).getInitSecurityRoleRefSet();

            SecurityRoleRefSetCtrl servletSecurityRoleRefSetCtrl =
                (SecurityRoleRefSetCtrl) controllerFactory.get(
                    servletSecurityRoleRefs);

            SecurityRoleSet webAppSecurityRoles = webApp.getSecurityRoles();
               
            SecurityRoleRefSet portletSecurityRoleRefs =
                portlet.getInitSecurityRoleRefSet();

            Iterator p = portletSecurityRoleRefs.iterator();

            while (p.hasNext()) {
                SecurityRoleRef portletSecurityRoleRef =
                    (SecurityRoleRef) p.next();
               
                if portletSecurityRoleRef.getRoleLink()== null
                    &&   
                        webAppSecurityRoles.get(portletSecurityRoleRef.getRoleName())==null
                ){
                    System.out.println(
                        "Note: The web application has no security role defined which matches the role name \""
                            + portletSecurityRoleRef.getRoleName()
                            + "\" of the security-role-ref element defined for the wrapper-servlet with the name '"
                            + portlet.getName()
                            + "'.");
                    break;           
                }
                SecurityRoleRef servletSecurityRoleRef =
                    servletSecurityRoleRefs.get(
                        portletSecurityRoleRef.getRoleName());
                if (null != servletSecurityRoleRef) {
                    System.out.println(
                        "Note: Replaced already existing element of type <security-role-ref> with value \""
                            + portletSecurityRoleRef.getRoleName()
                            + "\" for subelement of type <role-name> for the wrapper-servlet with the name '"
                            + portlet.getName()
                            + "'.");
                    servletSecurityRoleRefSetCtrl.remove(
                        servletSecurityRoleRef);
                }
                servletSecurityRoleRefSetCtrl.add(portletSecurityRoleRef);
            }

        }

        TagDefinition portletTagLib = new TagDefinition();
        Collection taglibs = webApp.getCastorTagDefinitions();
        taglibs.add(portletTagLib);
       
        if (debug) {
            System.out.println(webApp);
        }
View Full Code Here

TOP

Related Classes of org.apache.cocoon.portal.pluto.om.WebApplicationDefinitionImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.