Package org.apache.jetspeed.om.portlet

Examples of org.apache.jetspeed.om.portlet.PortletDefinition


       
    }
   
    public static PortletDefinition getPortletOrClone(PortletApplication app, String portletName)
    {
        PortletDefinition definition = app.getPortlet(portletName);
       
        if (definition == null)
        {
            definition = app.getClone(portletName);
        }
View Full Code Here


        if (portletUniqueName == null)
        {
            portletUniqueName = (String) request.getPortletSession(true).getAttribute("originalPortletUniqueName");
        }
       
        PortletDefinition def = null;
       
        if (!StringUtils.isBlank(portletUniqueName))
        {
            request.getPortletSession(true).setAttribute("originalPortletUniqueName", portletUniqueName);
            def = registry.getPortletDefinitionByUniqueName(portletUniqueName);
        }
       
        if (def == null)
        {
            log.error("Cannot find the portlet or clone: {}", portletUniqueName);
        }
        else
        {
            ClonePortletInfo clonePortletInfo = new ClonePortletInfo();
            clonePortletInfo.setOriginalPortletUniqueName(portletUniqueName);
            clonePortletInfo.setPortletName(def.getPortletName());
            clonePortletInfo.setPortletDisplayName(def.getDisplayNameText(Locale.getDefault()));
            clonePortletInfo.setPortletTitle(def.getPortletInfo().getTitle());
            clonePortletInfo.setPortletShortTitle(def.getPortletInfo().getShortTitle());
            clonePortletInfo.setPortletKeywords(def.getPortletInfo().getKeywords());
            Map<String, List<String>> prefsMap = new HashMap<String, List<String>>();
           
            for (Preference pref : def.getPortletPreferences().getPortletPreferences())
            {
                String prefName = pref.getName();
                List<String> prefValues = new ArrayList<String>(pref.getValues());
                prefsMap.put(prefName, prefValues);
            }
View Full Code Here

    @Override
    public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException
    {
        String status = "fail";
        ClonePortletInfo clonePortletInfo = readClonePortletInfoFromRequest(request);
        PortletDefinition def = registry.getPortletDefinitionByUniqueName(clonePortletInfo.getOriginalPortletUniqueName());
       
        try
        {
            if (def == null)
            {
                throw new IllegalArgumentException("Cannot find the portlet or clone: " + clonePortletInfo.getOriginalPortletUniqueName());
            }
           
            if (StringUtils.isBlank(clonePortletInfo.getPortletName()))
            {
                throw new IllegalArgumentException("Invalid clone name: " + clonePortletInfo.getPortletName());
            }

            PortletDefinition clone = registry.clonePortletDefinition(def, StringUtils.trim(clonePortletInfo.getPortletName()));
            clone.getPortletInfo().setTitle(StringUtils.defaultString(clonePortletInfo.getPortletTitle()));
            clone.getPortletInfo().setShortTitle(StringUtils.defaultString(clonePortletInfo.getPortletShortTitle()));
            clone.getPortletInfo().setKeywords(StringUtils.defaultString(clonePortletInfo.getPortletKeywords()));
           
            Locale defaultLocale = Locale.getDefault();
            DisplayName defaultDisplayName = null;
           
            for (DisplayName displayName : clone.getDisplayNames())
            {
                if (displayName.getLocale().equals(defaultLocale))
                {
                    defaultDisplayName = displayName;
                    break;
                }
            }
           
            if (defaultDisplayName == null)
            {
                defaultDisplayName = clone.addDisplayName(defaultLocale.toString());
            }
           
            defaultDisplayName.setDisplayName(StringUtils.defaultString(clonePortletInfo.getPortletDisplayName()));
           
            for (Map.Entry<String, List<String>> entry : clonePortletInfo.getPortletPreferences().entrySet())
            {
                String prefName = entry.getKey();
                List<String> prefValues = entry.getValue();
                Preferences prefs = clone.getPortletPreferences();
                Preference pref = prefs.getPortletPreference(prefName);
               
                if (pref == null)
                {
                    pref = prefs.addPreference(prefName);
View Full Code Here

                if (count > 0)
                {
                    Iterator portlets = searchEngine.search(searchString.toString()).getResults().iterator();
                    while (portlets.hasNext())
                    {
                        PortletDefinition portlet =
                            getPortletFromParsedObject((ParsedObject)portlets.next());
                        PortletInfo portletInfo = filterPortlet(portlet, locale, request);
                        if (portletInfo != null)
                        {
                            cat.addPortlet(portletInfo);
View Full Code Here

        else
            portlets = searchEngine.search(filter).getResults().iterator();
       
        while (portlets.hasNext())
        {
            PortletDefinition portlet = null;
            if (filter == null)
                portlet = (PortletDefinition)portlets.next();
            else
                portlet = getPortletFromParsedObject((ParsedObject)portlets.next());
           
View Full Code Here

            String rows = request.getParameter("Rows");
            String cats = request.getParameter("jsCats");
            String page = request.getParameter(JSPAGE);
            PortletApplication pa = registry.getPortletApplication("j2-admin");
            String portletName = this.getPortletName();
            PortletDefinition portlet = (PortletDefinition) PortletApplicationUtils.getPortletOrClone(pa, portletName);
            Preferences prefs = portlet.getPortletPreferences();
            boolean updated = updateNumericPref("Columns", columns, 10, prefs);
            updated = updated | updateNumericPref("Rows", rows, 100, prefs);
                       
            // process removes first
            if (!isEmpty(removes))
View Full Code Here

                if (count > 0)
                {
                    Iterator portlets = searchEngine.search(searchString.toString()).getResults().iterator();
                    while (portlets.hasNext())
                    {
                        PortletDefinition portlet =
                            getPortletFromParsedObject((ParsedObject)portlets.next());
                        PortletInfo portletInfo = filterPortlet(portlet, locale, request);
                        if (portletInfo != null)
                        {
                            cat.addPortlet(portletInfo);
View Full Code Here

        else
            portlets = searchEngine.search(filter).getResults().iterator();
       
        while (portlets.hasNext())
        {
            PortletDefinition portlet = null;
            if (filter == null)
                portlet = (PortletDefinition)portlets.next();
            else
                portlet = getPortletFromParsedObject((ParsedObject)portlets.next());
           
View Full Code Here

            String rows = request.getParameter("Rows");
            String cats = request.getParameter("jsCats");
            String page = request.getParameter(JSPAGE);
            PortletApplication pa = registry.getPortletApplication("j2-admin");
            String portletName = this.getPortletName();
            PortletDefinition portlet = (PortletDefinition) pa.getPortlet(portletName);
            boolean updated = updateNumericPref("Columns", columns, 10, portlet);
            updated = updated | updateNumericPref("Rows", rows, 100, portlet);
                       
            // process removes first
            if (!isEmpty(removes))
View Full Code Here

    {
        super(id);
        this.paNodeBean = paNodeBeanParam;
       
        PortletApplication app = ((AbstractAdminWebApplication) getApplication()).getServiceLocator().getPortletRegistry().getPortletApplication(this.paNodeBean.getApplicationName());
        PortletDefinition definition = app.getPortlet(this.paNodeBean.getName());
        setExpirationCache(new Integer(definition.getExpirationCache()));
       
        Form form = new Form("form");
        form.add(new TextField<Integer>("expirationCache", new PropertyModel<Integer>(this, "expirationCache")));
        form.add(new Label("uniqueName", definition.getUniqueName()));
        form.add(new Label("preferenceValidator", definition.getPreferenceValidatorClassname()));
        form.add(new Label("className", definition.getPortletClass()));
       
        JetspeedServiceLocator locator = ((AbstractAdminWebApplication) getApplication()).getServiceLocator();
       
        form.add(new LocalizedDisplayNameEditor("localizationEditor", locator, paNodeBean)
        {

            @Override
            public IDataProvider<DisplayNameBean> getDataProvider()
            {
                PortletRegistry registry = ((AbstractAdminWebApplication) getApplication()).getServiceLocator().getPortletRegistry();
                PortletApplication app = registry.getPortletApplication(paNodeBean.getApplicationName());
                PortletDefinition def = app.getPortlet(paNodeBean.getName());

                List<DisplayNameBean> list = new LinkedList<DisplayNameBean>();

                for (DisplayName displayName : def.getDisplayNames())
                {
                    list.add(new DisplayNameBean(displayName));
                }

                return new ListDataProvider<DisplayNameBean>(list);
            }

            @Override
            public void delete(IModel<DisplayNameBean>[] fields)
            {
                FeedbackPanel feed = (FeedbackPanel) getPage().get("feedback");
               
                try
                {
                    PortletRegistry registry = ((AbstractAdminWebApplication) getApplication()).getServiceLocator().getPortletRegistry();
                    PortletApplication app = registry.getPortletApplication(paNodeBean.getApplicationName());
                    PortletDefinition def = app.getPortlet(paNodeBean.getName());
                   
                    for (Iterator<DisplayName> it = def.getDisplayNames().iterator(); it.hasNext(); )
                    {
                        DisplayName displayName = it.next();
                       
                        for (IModel<DisplayNameBean> displayNameBeanModel : fields)
                        {
                            if (displayNameBeanModel.getObject().getLocale().equals(displayName.getLocale()))
                            {
                                it.remove();
                                break;
                            }
                        }
                    }
                   
                    registry.savePortletDefinition(def);
                    StringResourceModel resModel = new StringResourceModel("pam.details.action.status.portlet.saveOK", this, null, new Object [] { paNodeBean.getName() } );
                    feed.info(resModel.getString());
                }
                catch (FailedToStorePortletDefinitionException e)
                {
                    logger.error("Failed to save portlet definition.", e);
                    StringResourceModel resModel = new StringResourceModel("pam.details.action.status.portlet.saveFailure", this, null, new Object [] { paNodeBean.getName(), e.getMessage() } );
                    feed.info(resModel.getString());
                }
            }

            @Override
            protected Button saveButton(String componentId)
            {
                return new Button(componentId)
                {

                    @Override
                    public void onSubmit()
                    {
                        PortletRegistry registry = ((AbstractAdminWebApplication) getApplication()).getServiceLocator().getPortletRegistry();
                        PortletApplication app = registry.getPortletApplication(paNodeBean.getApplicationName());
                        PortletDefinition def = app.getPortlet(paNodeBean.getName());
                       
                        if (newLocale != null && newDisplayName != null)
                        {
                            Locale locale = new Locale(newLocale);
                            DisplayName targetDisplayName = null;
                           
                            for (DisplayName displayName : def.getDisplayNames())
                            {
                                if (displayName.getLocale().equals(locale))
                                {
                                    targetDisplayName = displayName;
                                    break;
                                }
                            }
                           
                            if (targetDisplayName == null)
                            {
                                targetDisplayName = def.addDisplayName(newLocale);
                            }
                           
                            targetDisplayName.setDisplayName(newDisplayName);
                           
                            newLocale = null;
                            newDisplayName = null;
                        }

                        FeedbackPanel feed = (FeedbackPanel) getPage().get("feedback");

                        try
                        {
                            registry.savePortletDefinition(def);
                            StringResourceModel resModel = new StringResourceModel("pam.details.action.status.portlet.saveOK", this, null, new Object [] { paNodeBean.getName() } );
                            feed.info(resModel.getString());
                        }
                        catch (RegistryException e)
                        {
                            logger.error("Failed to save portlet definition.", e);
                            StringResourceModel resModel = new StringResourceModel("pam.details.action.status.portlet.saveFailure", this, null, new Object [] { paNodeBean.getName(), e.getMessage() } );
                            feed.info(resModel.getString());
                        }
                    }
                };
            }
           
        });
       
        form.add(new Button("save", new ResourceModel("pam.details.action.save"))
        {
            @Override
            public void onSubmit()
            {
                FeedbackPanel feed = (FeedbackPanel) getPage().get("feedback");
               
                try
                {
                    PortletRegistry registry = ((AbstractAdminWebApplication) getApplication()).getServiceLocator().getPortletRegistry();
                    PortletApplication app = registry.getPortletApplication(paNodeBean.getApplicationName());
                    PortletDefinition def = app.getPortlet(paNodeBean.getName());
                    def.setExpirationCache(getExpirationCache().intValue());
                    registry.savePortletDefinition(def);
                    StringResourceModel resModel = new StringResourceModel("pam.details.action.status.portlet.saveOK", this, null, new Object [] { paNodeBean.getName() } );
                    feed.info(resModel.getString());
                }
                catch (FailedToStorePortletDefinitionException e)
View Full Code Here

TOP

Related Classes of org.apache.jetspeed.om.portlet.PortletDefinition

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.