Author: chris.laprun(a)jboss.com
Date: 2008-08-27 16:26:54 -0400 (Wed, 27 Aug 2008)
New Revision: 11752
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/WindowBindingManagerBean.java
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editCoordination.xhtml
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/ParameterBindingInfo.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/coordination/CoordinationService.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/CustomizationManagerService.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java
Log:
- Renamed ParameterBindingInfo.getId to getName for better consistency.
- Started adding support for deleting and renaming bindings.
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/ParameterBindingInfo.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/ParameterBindingInfo.java 2008-08-27
19:26:24 UTC (rev 11751)
+++
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/ParameterBindingInfo.java 2008-08-27
20:26:54 UTC (rev 11752)
@@ -29,5 +29,5 @@
*/
public interface ParameterBindingInfo
{
- String getId();
+ String getName();
}
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/coordination/CoordinationService.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/coordination/CoordinationService.java 2008-08-27
19:26:24 UTC (rev 11751)
+++
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/coordination/CoordinationService.java 2008-08-27
20:26:54 UTC (rev 11752)
@@ -22,33 +22,33 @@
package org.jboss.portal.core.impl.coordination;
+import org.jboss.portal.core.controller.coordination.AliasBindingInfo;
+import org.jboss.portal.core.controller.coordination.CoordinationConfigurator;
import org.jboss.portal.core.controller.coordination.CoordinationManager;
+import org.jboss.portal.core.controller.coordination.EventConverter;
+import org.jboss.portal.core.controller.coordination.EventWiringInfo;
import org.jboss.portal.core.controller.coordination.IllegalCoordinationException;
-import org.jboss.portal.core.controller.coordination.EventWiringInfo;
-import org.jboss.portal.core.controller.coordination.CoordinationConfigurator;
-import org.jboss.portal.core.controller.coordination.EventConverter;
import org.jboss.portal.core.controller.coordination.WindowBindingInfo;
-import org.jboss.portal.core.controller.coordination.AliasBindingInfo;
-import org.jboss.portal.core.model.portal.Window;
+import org.jboss.portal.core.controller.portlet.ControllerPortletControllerContext;
import org.jboss.portal.core.model.portal.Page;
import org.jboss.portal.core.model.portal.PageContainer;
-import org.jboss.portal.core.model.portal.PortalObjectContainer;
import org.jboss.portal.core.model.portal.Portal;
import org.jboss.portal.core.model.portal.PortalObject;
-import org.jboss.portal.core.controller.portlet.ControllerPortletControllerContext;
+import org.jboss.portal.core.model.portal.PortalObjectContainer;
+import org.jboss.portal.core.model.portal.Window;
+import org.jboss.portal.jems.as.system.AbstractJBossService;
import org.jboss.portal.portlet.controller.event.PortletWindowEvent;
+import org.jboss.portal.portlet.info.EventInfo;
import org.jboss.portal.portlet.info.PortletInfo;
-import org.jboss.portal.portlet.info.EventInfo;
-import org.jboss.portal.jems.as.system.AbstractJBossService;
import javax.xml.namespace.QName;
import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.Map;
import java.util.Set;
-import java.util.HashSet;
-import java.util.HashMap;
-import java.util.Collections;
-import java.util.Iterator;
/**
* @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot
com">Boleslaw Dawidowicz</a>
@@ -159,7 +159,7 @@
{
if (entry.getKey().getName().equals(window.getName()) &&
entry.getValue().equals(name))
{
- names.add(info.getId());
+ names.add(info.getName());
}
}
}
@@ -171,7 +171,7 @@
{
if (info.getNames().contains(name))
{
- names.add(info.getId());
+ names.add(info.getName());
}
}
}
@@ -562,7 +562,7 @@
}
// Remove all entries
- String prop_wiring = PREFIX_PARAMETER_BINDING + "." + info.getId();
+ String prop_wiring = PREFIX_PARAMETER_BINDING + "." + info.getName();
//
for (Window window : info.getWindows().keySet())
@@ -670,7 +670,7 @@
AliasInfoPOJO alias = (AliasInfoPOJO)aliasInfo;
//
- String propName = PREFIX_PARAMETER_ALIAS_NAME + "." + aliasInfo.getId();
+ String propName = PREFIX_PARAMETER_ALIAS_NAME + "." +
aliasInfo.getName();
if (alias.page.getProperties().keySet().contains(propName))
{
alias.page.setDeclaredProperty(propName,null);
@@ -978,7 +978,7 @@
this.immutableWindows = Collections.unmodifiableMap(windows);
}
- public String getId()
+ public String getName()
{
return name;
}
@@ -1012,7 +1012,7 @@
this.immutableNames = Collections.unmodifiableSet(names);
}
- public String getId()
+ public String getName()
{
return name;
}
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/CustomizationManagerService.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/CustomizationManagerService.java 2008-08-27
19:26:24 UTC (rev 11751)
+++
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/CustomizationManagerService.java 2008-08-27
20:26:54 UTC (rev 11752)
@@ -236,7 +236,7 @@
// }
//
// //
-// PortalObjectId objectId = object.getId();
+// PortalObjectId objectId = object.getName();
//
// //
// if (user != null &&
"dashboard".equals(objectId.getNamespace()))
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java 2008-08-27
19:26:24 UTC (rev 11751)
+++
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java 2008-08-27
20:26:54 UTC (rev 11752)
@@ -355,7 +355,7 @@
assertTrue(bindings1.size() == 1);
AliasBindingInfo info = bindings1.iterator().next();
- assertTrue(info.getId().equals("alias1"));
+ assertTrue(info.getName().equals("alias1"));
assertTrue(info.getNames().size() == 3);
assertTrue(info.getNames().contains(qname1));
assertTrue(info.getNames().contains(qname2));
@@ -373,11 +373,11 @@
for (AliasBindingInfo aliasBindingInfo : bindings2)
{
- if (aliasBindingInfo.getId().equals("alias2"))
+ if (aliasBindingInfo.getName().equals("alias2"))
{
info2 = aliasBindingInfo;
}
- if (aliasBindingInfo.getId().equals("alias3"))
+ if (aliasBindingInfo.getName().equals("alias3"))
{
info3 = aliasBindingInfo;
}
@@ -388,13 +388,13 @@
assertNotNull(info2);
assertNotNull(info3);
- assertTrue(info2.getId().equals("alias2"));
+ assertTrue(info2.getName().equals("alias2"));
assertTrue(info2.getNames().size() == 3);
assertTrue(info2.getNames().contains(qname4));
assertTrue(info2.getNames().contains(qname5));
assertTrue(info2.getNames().contains(qname6));
- assertTrue(info3.getId().equals("alias3"));
+ assertTrue(info3.getName().equals("alias3"));
assertTrue(info3.getNames().size() == 3);
assertTrue(info3.getNames().contains(qname7));
assertTrue(info3.getNames().contains(qname8));
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/WindowBindingManagerBean.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/WindowBindingManagerBean.java 2008-08-27
19:26:24 UTC (rev 11751)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/WindowBindingManagerBean.java 2008-08-27
20:26:54 UTC (rev 11752)
@@ -22,6 +22,7 @@
package org.jboss.portal.core.admin.ui.coordination;
+import org.jboss.portal.common.NotYetImplemented;
import org.jboss.portal.core.controller.coordination.AliasBindingInfo;
import org.jboss.portal.core.controller.coordination.IllegalCoordinationException;
import org.jboss.portal.core.controller.coordination.WindowBindingInfo;
@@ -33,12 +34,14 @@
import org.jboss.portal.portlet.info.ParameterInfo;
import org.jboss.portal.portlet.info.PortletInfo;
+import javax.faces.event.ActionEvent;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -56,7 +59,11 @@
private String selectedRenderParameter;
private Map<String, String> availableRenderParameters;
private String windowBindingName;
+ private String selectedForDeletionName;
+ private String selectedForDeletionType;
+ private Map<String, DisplayParameterBinding> displayParameterBindings;
+
public Map<String, String> getWindows()
{
return windows;
@@ -139,7 +146,7 @@
{
availableRenderParameters.put(pInfo.getName().toString(),
pInfo.getName().toString());
}
-
+
// record window information
this.windows.put(window.getName(),
window.getId().toString(PortalObjectPath.LEGACY_BASE64_FORMAT));
}
@@ -155,7 +162,13 @@
private String id;
private QName name;
private List<Window> windows;
+ private WindowBindingInfo bindingInfo;
+ public DisplayParameterBinding(WindowBindingInfo bindingInfo)
+ {
+ this.bindingInfo = bindingInfo;
+ }
+
public String getId()
{
return id;
@@ -190,6 +203,11 @@
this.windows = windows;
}
+ public WindowBindingInfo getBindingInfo()
+ {
+ return bindingInfo;
+ }
+
public int compareTo(Object o)
{
DisplayParameterBinding other = (DisplayParameterBinding)o;
@@ -197,16 +215,17 @@
}
}
- private List<DisplayParameterBinding> displayParameterBindings;
-
- public List<DisplayParameterBinding> getDisplayParameterBindings()
+ public Collection<DisplayParameterBinding> getDisplayParameterBindings()
{
- return displayParameterBindings;
- }
+ if (displayParameterBindings == null)
+ {
+ return Collections.emptyList();
+ }
- public void setDisplayParameterBindings(List<DisplayParameterBinding>
displayParameterBindings)
- {
- this.displayParameterBindings = displayParameterBindings;
+ List<DisplayParameterBinding> result = new
LinkedList<DisplayParameterBinding>(displayParameterBindings.values());
+ Collections.sort(result);
+
+ return result;
}
public void initKnowing(Collection<PortalObject> children)
@@ -229,10 +248,10 @@
Collection<? extends WindowBindingInfo> windowBindingInfos =
managerBean.getCoordinationService().getWindowBindings(page);
if (windowBindingInfos != null && !windowBindingInfos.isEmpty())
{
- displayParameterBindings = new
ArrayList<DisplayParameterBinding>(windowBindingInfos.size());
+ displayParameterBindings = new HashMap<String,
DisplayParameterBinding>(windowBindingInfos.size());
for (WindowBindingInfo wbInfo : windowBindingInfos)
{
- DisplayParameterBinding dpb = new DisplayParameterBinding();
+ DisplayParameterBinding dpb = new DisplayParameterBinding(wbInfo);
for (Map.Entry<Window, QName> entry : wbInfo.getWindows().entrySet())
{
Window paramName = entry.getKey();
@@ -241,16 +260,16 @@
dpb.getWindows().add(paramName);
if (dpb.getWindows().size() < 2)
{
- dpb.setId(wbInfo.getId());
+ dpb.setId(wbInfo.getName());
dpb.setName(paramValue);
}
}
- displayParameterBindings.add(dpb);
+ displayParameterBindings.put(dpb.getId(), dpb);
}
}
else
{
- displayParameterBindings = Collections.emptyList();
+ displayParameterBindings = Collections.emptyMap();
}
}
@@ -281,4 +300,46 @@
return null;
}
+
+ public void selectBindingForDeletion(ActionEvent event)
+ {
+ selectedForDeletionName = managerBean.getFacesParam("binding");
+ selectedForDeletionType = managerBean.getFacesParam("type");
+ }
+
+ public String deleteBinding(ActionEvent actionEvent)
+ {
+ DisplayParameterBinding displayParam =
displayParameterBindings.get(selectedForDeletionName);
+
+ if (displayParam != null)
+ {
+ WindowBindingInfo bindingInfo = displayParam.getBindingInfo();
+ try
+ {
+ managerBean.getCoordinationService().removeWindowBinding(bindingInfo);
+ displayParameterBindings.remove(selectedForDeletionName);
+ }
+ catch (IllegalCoordinationException e)
+ {
+ e.printStackTrace(); //To change body of catch statement use File | Settings
| File Templates.
+ }
+
+ // reset selected values
+ selectedForDeletionName = null;
+ selectedForDeletionType = null;
+ }
+ return null;
+ }
+
+ public String renameWiring()
+ {
+ String wiring = managerBean.getFacesParam("binding");
+ DisplayParameterBinding displayParam = displayParameterBindings.get(wiring);
+ if (displayParam != null)
+ {
+ //todo: implement, rename operation should be on CoordinationConfigurator
+ }
+
+ throw new NotYetImplemented("renameWiring not yet implemented!");
+ }
}
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-27
19:26:24 UTC (rev 11751)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/editCoordination.xhtml 2008-08-27
20:26:54 UTC (rev 11752)
@@ -79,7 +79,15 @@
</h:column>
<h:column>
<f:facet name="header">Actions</f:facet>
- Delete | Rename
+ <h:commandLink
action="#{windowCoordination.renameWiring}">
+ <h:outputText styleClass="actionRename"
value="#{bundle.RENAME}"/>
+ <f:param name="binding"
value="#{binding.name}"/>
+ </h:commandLink> |
+ <h:commandLink action="confirmCoordinationDeletion"
actionListener="#{windowCoordination.selectBindingForDeletion}">
+ <h:outputText styleClass="actionDelete"
value="#{bundle.COMMON_DELETE}"/>
+ <f:param name="binding"
value="#{binding.name}"/>
+ <f:param name="type"
value="parameter"/>
+ </h:commandLink>
</h:column>
</h:dataTable>
</h:form>