Author: thomas.heute(a)jboss.com
Date: 2007-07-16 11:52:27 -0400 (Mon, 16 Jul 2007)
New Revision: 7783
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/PortletManagerBean.java
Log:
JBPORTAL-1584: Hide the CMS Content-type selector portlets definitions and instances
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java 2007-07-16
15:36:29 UTC (rev 7782)
+++
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java 2007-07-16
15:52:27 UTC (rev 7783)
@@ -37,14 +37,19 @@
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;
+import javax.portlet.PortletMode;
+import org.jboss.portal.Mode;
import org.jboss.portal.common.value.Value;
import org.jboss.portal.core.model.instance.Instance;
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.core.model.instance.InstanceDefinition;
import org.jboss.portal.core.model.instance.NoSuchInstanceException;
import org.jboss.portal.identity.RoleModule;
+import org.jboss.portal.portlet.Portlet;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.info.ModeInfo;
+import org.jboss.portal.portlet.info.PortletInfo;
import org.jboss.portal.portlet.info.PreferenceInfo;
import org.jboss.portal.portlet.info.PreferencesInfo;
import org.jboss.portal.portlet.state.PropertyChange;
@@ -58,6 +63,9 @@
*/
public class InstanceManagerBean
{
+
+ /** . */
+ private final Mode INTERNAL_EDIT_CONTENT = Mode.create("edit_content");
// Wired services
@@ -238,10 +246,37 @@
{
if (instances == null)
{
- instances = new ArrayList(instanceContainer.getDefinitions());
- Collections.sort(instances, INSTANCE_COMPARATOR);
+ // Remove content editors
+ List tmpInstances = new ArrayList();
+ nextInstance:
+ for (Iterator i = instanceContainer.getDefinitions().iterator();i.hasNext();)
+ {
+ Instance instance = (Instance)i.next();
+
+ //
+ try
+ {
+ // Filter portlets that are editors
+ Portlet portlet = instance.getPortlet();
+ PortletInfo info = portlet.getInfo();
+ for (Iterator j =
info.getCapabilities().getAllModes().iterator();j.hasNext();)
+ {
+ ModeInfo modeInfo = (ModeInfo)j.next();
+ if (modeInfo.getMode().equals(INTERNAL_EDIT_CONTENT))
+ {
+ continue nextInstance;
+ }
+ }
+ //
+ tmpInstances.add(instance);
+ }
+ catch (PortletInvokerException ignore)
+ {
+ }
+ }
+ Collections.sort(tmpInstances, INSTANCE_COMPARATOR);
+ instances = tmpInstances;
}
-
//
return instances;
}
Modified:
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/PortletManagerBean.java
===================================================================
---
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/PortletManagerBean.java 2007-07-16
15:36:29 UTC (rev 7782)
+++
branches/JBoss_Portal_Branch_2_6/core-admin/src/main/org/jboss/portal/core/admin/ui/PortletManagerBean.java 2007-07-16
15:52:27 UTC (rev 7783)
@@ -23,6 +23,8 @@
package org.jboss.portal.core.admin.ui;
import org.jboss.logging.Logger;
+import org.jboss.portal.Mode;
+import org.jboss.portal.core.model.instance.Instance;
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.identity.RoleModule;
import org.jboss.portal.portlet.Portlet;
@@ -32,6 +34,8 @@
import org.jboss.portal.portlet.federation.FederatedPortletInvoker;
import org.jboss.portal.portlet.federation.FederatingPortletInvoker;
import org.jboss.portal.portlet.federation.impl.FederatedPortlet;
+import org.jboss.portal.portlet.info.ModeInfo;
+import org.jboss.portal.portlet.info.PortletInfo;
import org.jboss.portal.portlet.info.PreferenceInfo;
import org.jboss.portal.portlet.info.PreferencesInfo;
import org.jboss.portal.security.AuthorizationDomainRegistry;
@@ -57,6 +61,9 @@
/** . */
private static final Logger log = Logger.getLogger(PortletManagerBean.class);
+
+ /** . */
+ private final Mode INTERNAL_EDIT_CONTENT = Mode.create("edit_content");
static
{
@@ -269,7 +276,27 @@
{
if (portlets == null)
{
- portlets = new ArrayList(getSelectedPortletInvoker().getPortlets());
+ portlets = new ArrayList();
+ List tmpPortlets = new ArrayList(getSelectedPortletInvoker().getPortlets());
+
+ // Remove content editors
+ nextPortlet:
+ for (Iterator i = tmpPortlets.iterator();i.hasNext();)
+ {
+ Portlet portlet = (Portlet)i.next();
+
+ PortletInfo info = portlet.getInfo();
+ for (Iterator j =
info.getCapabilities().getAllModes().iterator();j.hasNext();)
+ {
+ ModeInfo modeInfo = (ModeInfo)j.next();
+ if (modeInfo.getMode().equals(INTERNAL_EDIT_CONTENT))
+ {
+ continue nextPortlet;
+ }
+ }
+ //
+ portlets.add(portlet);
+ }
Collections.sort(portlets, comparator);
}
return portlets;