Author: chris.laprun(a)jboss.com
Date: 2008-08-31 16:18:33 -0400 (Sun, 31 Aug 2008)
New Revision: 11770
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PortalObjectDisplayNameAction.java
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/CoordinationManagerBean.java
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/EventWiringManagerBean.java
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editCoordination.xhtml
Log:
- Make reference to windows links to the window page.
- Optimize CoordinationManager.getSelectedPage (and mostly allow for switching to window
view without JSF freaking out).
- DisplayEventWiring returns Lists instead of Sets (because ui:repeat doesn't like
other collections).
- Added getReadableObjectTypeFor method on PortalObjectManagerBean (thought I was gonna
need it).
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2008-08-31
14:32:15 UTC (rev 11769)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2008-08-31
20:18:33 UTC (rev 11770)
@@ -22,34 +22,15 @@
******************************************************************************/
package org.jboss.portal.core.admin.ui;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-import java.util.Set;
-
-import javax.faces.application.FacesMessage;
-import javax.faces.context.FacesContext;
-import javax.faces.event.ActionEvent;
-import javax.faces.model.SelectItem;
-import javax.xml.namespace.QName;
-
import org.jboss.portal.api.content.SelectedContent;
import org.jboss.portal.core.CoreConstants;
-import org.jboss.portal.core.controller.coordination.CoordinationConfigurator;
import org.jboss.portal.core.admin.ui.actions.AddPageAction;
import org.jboss.portal.core.admin.ui.actions.PropertyAction;
import org.jboss.portal.core.admin.ui.common.PageManagerBean;
import org.jboss.portal.core.admin.ui.portlet.PortletDefinitionInvoker;
+import org.jboss.portal.core.controller.coordination.CoordinationConfigurator;
import org.jboss.portal.core.event.PortalEventListenerRegistry;
import org.jboss.portal.core.impl.model.content.ContentProviderRegistryService;
-import org.jboss.portal.core.impl.coordination.CoordinationService;
import org.jboss.portal.core.model.content.Content;
import org.jboss.portal.core.model.content.ContentType;
import org.jboss.portal.core.model.content.spi.ContentProvider;
@@ -76,6 +57,23 @@
import org.jboss.portal.theme.LayoutService;
import org.jboss.portal.theme.ThemeService;
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+import javax.faces.model.SelectItem;
+import javax.xml.namespace.QName;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.ResourceBundle;
+import java.util.Set;
+
/** The portal object manager bean. */
public class PortalObjectManagerBean implements Serializable, AddPageAction.Listener
{
@@ -259,11 +257,13 @@
this.portalObjectContainer = poc;
}
- public CoordinationConfigurator getCoordinationService() {
+ public CoordinationConfigurator getCoordinationService()
+ {
return coordinationService;
}
- public void setCoordinationService(CoordinationConfigurator coordinationService) {
+ public void setCoordinationService(CoordinationConfigurator coordinationService)
+ {
this.coordinationService = coordinationService;
}
@@ -495,7 +495,7 @@
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Success",
- "'" + name + "' " + typeName + " was
successfully set as default " + typeName);
+ "'" + name + "' " + typeName + " was
successfully set as default " + typeName);
FacesContext.getCurrentInstance().addMessage("status", message);
}
}
@@ -535,11 +535,11 @@
if (content != null)
{
renderParameters = new HashMap<String, String[]>();
-
+
Portlet portlet =
instanceContainer.getDefinition(getSelectedContentEditorInstance()).getPortlet();
NavigationInfo navigationInfo = portlet.getInfo().getNavigation();
-
+
ParameterInfo parameterInfo =
navigationInfo.getPublicParameter(CoreConstants.JBOSS_PORTAL_CONTENT_URI);
if (parameterInfo != null)
{
@@ -575,7 +575,7 @@
Map<String, String> pmap = getRequestParameterMap();
selectedPlugin = (String)pmap.get("plugin");
}
-
+
public Map<String, String> getRequestParameterMap()
{
return
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
@@ -631,7 +631,7 @@
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
stringMessage, stringMessage);
FacesContext.getCurrentInstance().addMessage("status",
message);
-
+
selectedDeletingObject = null;
}
else
@@ -743,12 +743,12 @@
Event portletEvent = eventEvent.getEvent();
QName name = portletEvent.getName();
// only react to content selection events
- if(CONTENT_SELECT.equals(name))
+ if (CONTENT_SELECT.equals(name))
{
if (portletEvent.getPayload() instanceof String)
{
String uri = (String)portletEvent.getPayload();
-
+
PortalObject po = getSelectedObject();
switch (po.getType())
{
@@ -764,9 +764,9 @@
else if (portletEvent.getPayload() instanceof SelectedContent)
{
SelectedContent selectedContent =
(SelectedContent)portletEvent.getPayload();
- String uri= selectedContent.getUri();
+ String uri = selectedContent.getUri();
Map<String, String> parameters = selectedContent.getParameters();
-
+
PortalObject po = getSelectedObject();
switch (po.getType())
{
@@ -815,10 +815,10 @@
public SelectItem[] getAvailableActions()
{
return new SelectItem[]{
- new SelectItem("view", "View"),
- new SelectItem("viewrecursive", "View Recursive"),
- new SelectItem("personalize", "Personalize"),
- new SelectItem("personalizerecursive", "Personalize
Recursive")
+ new SelectItem("view", "View"),
+ new SelectItem("viewrecursive", "View Recursive"),
+ new SelectItem("personalize", "Personalize"),
+ new SelectItem("personalizerecursive", "Personalize
Recursive")
};
}
@@ -891,26 +891,26 @@
public String getSelectedObjectType()
{
PortalObject object = getSelectedObject();
- if (object != null)
+ return object != null ? getReadableObjectTypeFor(object.getType()) :
"unknown";
+ }
+
+ public String getReadableObjectTypeFor(int portalObjectType)
+ {
+ switch (portalObjectType)
{
- switch (object.getType())
- {
- case PortalObject.TYPE_CONTEXT:
- return "context";
- case PortalObject.TYPE_PORTAL:
- return "portal";
- case PortalObject.TYPE_PAGE:
- return "page";
- case PortalObject.TYPE_WINDOW:
- return "window";
- }
+ case PortalObject.TYPE_CONTEXT:
+ return "context";
+ case PortalObject.TYPE_PORTAL:
+ return "portal";
+ case PortalObject.TYPE_PAGE:
+ return "page";
+ case PortalObject.TYPE_WINDOW:
+ return "window";
}
- //to make it safe
- return "none";
+ return "unknown";
}
-
public ControlPropertiesBean getControlProperties()
{
return controlProperties;
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PortalObjectDisplayNameAction.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PortalObjectDisplayNameAction.java 2008-08-31
14:32:15 UTC (rev 11769)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PortalObjectDisplayNameAction.java 2008-08-31
20:18:33 UTC (rev 11770)
@@ -23,18 +23,20 @@
package org.jboss.portal.core.admin.ui.actions;
import org.jboss.portal.common.i18n.LocaleFormat;
-import org.jboss.portal.common.i18n.LocaleManager;
import org.jboss.portal.common.i18n.LocalizedString;
import org.jboss.portal.common.util.ConversionException;
+import org.jboss.portal.core.admin.ui.DisplayNameBean;
import org.jboss.portal.core.admin.ui.PortalObjectManagerBean;
-import org.jboss.portal.core.admin.ui.DisplayNameBean;
-import org.jboss.portal.core.impl.model.portal.PortalObjectImpl;
import org.jboss.portal.core.model.portal.PortalObject;
-import org.jboss.portal.core.model.instance.Instance;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
-import java.util.*;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.SortedMap;
/**
* @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
@@ -179,7 +181,7 @@
}
public String getFacesParam(String param){
- return
(String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(param);
+ return
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(param);
}
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/CoordinationManagerBean.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/CoordinationManagerBean.java 2008-08-31
14:32:15 UTC (rev 11769)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/CoordinationManagerBean.java 2008-08-31
20:18:33 UTC (rev 11770)
@@ -138,16 +138,22 @@
public Page getSelectedPage()
{
- PortalObject portalObject =
pomb.getPortalObjectContainer().getObject(getSelectedObjectId());
- if (portalObject.getType() != PortalObject.TYPE_PAGE)
+ // if we don't already have a selected page or we have selected a different
object
+ if (selectedPage == null || !selectedPage.getId().equals(selectedObjectId))
{
- throw new IllegalArgumentException("Coordination can only be dealt with at
the page level!");
+ PortalObject portalObject =
pomb.getPortalObjectContainer().getObject(getSelectedObjectId());
+ if (portalObject.getType() != PortalObject.TYPE_PAGE)
+ {
+ throw new IllegalArgumentException("Coordination can only be dealt with
at the page level!");
+ }
+
+ selectedPage = (Page)portalObject;
+
+ //perform surgery on portalobjectmanager
+
pomb.selectObject(pomb.getPortalObjectContainer().getObject(selectedPage.getId()));
+ return selectedPage;
}
- selectedPage = (Page)portalObject;
-
- //perform surgery on portalobjectmanager
-
pomb.selectObject(pomb.getPortalObjectContainer().getObject(selectedPage.getId()));
return selectedPage;
}
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/EventWiringManagerBean.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/EventWiringManagerBean.java 2008-08-31
14:32:15 UTC (rev 11769)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/EventWiringManagerBean.java 2008-08-31
20:18:33 UTC (rev 11770)
@@ -33,14 +33,13 @@
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import javax.xml.namespace.QName;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -355,10 +354,10 @@
public static class DisplayEventWiring implements Comparable
{
- private Set<Window> sourceWindows;
- private Set<QName> sourceEvents;
- private Set<Window> destinationWindows;
- private Set<QName> destinationEvents;
+ private List<Window> sourceWindows;
+ private List<QName> sourceEvents;
+ private List<Window> destinationWindows;
+ private List<QName> destinationEvents;
private EventWiringInfo eventInfo;
DisplayEventWiring(EventWiringInfo eventInfo)
@@ -366,12 +365,12 @@
this.eventInfo = eventInfo;
Map<Window, QName> sources = eventInfo.getSources();
- sourceWindows = new HashSet<Window>(sources.keySet());
- sourceEvents = new HashSet<QName>(sources.values());
+ sourceWindows = new ArrayList<Window>(sources.keySet());
+ sourceEvents = new ArrayList<QName>(sources.values());
Map<Window, QName> destinations = eventInfo.getDestinations();
- destinationWindows = new HashSet<Window>(destinations.keySet());
- destinationEvents = new HashSet<QName>(destinations.values());
+ destinationWindows = new ArrayList<Window>(destinations.keySet());
+ destinationEvents = new ArrayList<QName>(destinations.values());
}
public EventWiringInfo getEventInfo()
@@ -384,22 +383,22 @@
return eventInfo.getName();
}
- public Set<Window> getSourceWindows()
+ public List<Window> getSourceWindows()
{
return sourceWindows;
}
- public Set<QName> getSourceEvents()
+ public List<QName> getSourceEvents()
{
return sourceEvents;
}
- public Set<Window> getDestinationWindows()
+ public List<Window> getDestinationWindows()
{
return destinationWindows;
}
- public Set<QName> getDestinationEvents()
+ public List<QName> getDestinationEvents()
{
return destinationEvents;
}
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editCoordination.xhtml
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editCoordination.xhtml 2008-08-31
14:32:15 UTC (rev 11769)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editCoordination.xhtml 2008-08-31
20:18:33 UTC (rev 11770)
@@ -75,7 +75,12 @@
</h:column>
<h:column>
<f:facet name="header">Target
Windows</f:facet>
- <ui:repeat var="window"
value="#{binding.windows}">#{window.name},</ui:repeat>
+ <ui:repeat var="window"
value="#{binding.windows}">
+ <h:commandLink
action="#{portalobjectmgr.selectObject}" styleClass="objectName">
+ <f:param name="id"
value="#{window.id}"/>
+ #{window.name}
+ </h:commandLink>
+ </ui:repeat>
</h:column>
<h:column>
<f:facet name="header">Actions</f:facet>
@@ -168,35 +173,49 @@
</f:facet>
#{wiring.name}
</h:column>
+
<h:column>
<f:facet name="header">
<h:outputText
value="#{bundle.COORDINATION_EVENT_EXISTING_SOURCE_WINDOWS}"/>
</f:facet>
- #{wiring.sourceWindows}
+ <ui:repeat var="window"
value="#{wiring.sourceWindows}">
+ <h:commandLink action="#{portalobjectmgr.selectObject}"
styleClass="objectName">
+ <f:param name="id" value="#{window.id}"/>
+ #{window.name}
+ </h:commandLink>
+ </ui:repeat>
</h:column>
+
<h:column>
<f:facet name="header">
<h:outputText
value="#{bundle.COORDINATION_EVENT_EXISTING_SOURCE_EVENTS}"/>
</f:facet>
- #{wiring.sourceEvents}
+ <ui:repeat var="event"
value="#{wiring.sourceEvents}">#{event}</ui:repeat>
</h:column>
+
<h:column>
<f:facet name="header">
<h:outputText
value="#{bundle.COORDINATION_EVENT_EXISTING_DESTINATION_EVENTS}"/>
</f:facet>
- #{wiring.destinationEvents}
+ <ui:repeat var="event"
value="#{wiring.destinationEvents}">#{event}</ui:repeat>
</h:column>
+
<h:column>
<f:facet name="header">
<h:outputText
value="#{bundle.COORDINATION_EVENT_EXISTING_DESTINATION_WINDOWS}"/>
</f:facet>
- #{wiring.destinationWindows}
+ <ui:repeat var="window"
value="#{wiring.destinationWindows}">
+ <h:commandLink action="#{portalobjectmgr.selectObject}"
styleClass="objectName">
+ <f:param name="id" value="#{window.id}"/>
+ #{window.name}
+ </h:commandLink>
+ </ui:repeat>
</h:column>
+
<h:column>
<f:facet name="header">
<h:outputText
value="#{bundle.COORDINATION_EVENT_EXISTING_ACTIONS}"/>
</f:facet>
-
<h:commandLink action="renameCoordination"
actionListener="#{coordinationManager.select}">
<h:outputText styleClass="actionRename"
value="#{bundle.RENAME}"/>
<f:param name="name"
value="#{wiring.name}"/>