JBoss Portal SVN: r11835 - in modules/portlet/trunk/portal/src: main/resources and 2 other directories.
by portal-commits@lists.jboss.org
Author: mwringe
Date: 2008-09-09 00:14:55 -0400 (Tue, 09 Sep 2008)
New Revision: 11835
Added:
modules/portlet/trunk/portal/src/assemble/simple-portal-war-jboss50.xml
modules/portlet/trunk/portal/src/main/resources/jboss50/
modules/portlet/trunk/portal/src/main/resources/jboss50/META-INF/
modules/portlet/trunk/portal/src/main/resources/jboss50/META-INF/jboss-structure.xml
Modified:
modules/portlet/trunk/portal/src/assemble/simple-portal-jboss50.xml
Log:
Update the simple portal for JBoss AS 5 to deploy as a directory.
Modified: modules/portlet/trunk/portal/src/assemble/simple-portal-jboss50.xml
===================================================================
--- modules/portlet/trunk/portal/src/assemble/simple-portal-jboss50.xml 2008-09-08 21:45:10 UTC (rev 11834)
+++ modules/portlet/trunk/portal/src/assemble/simple-portal-jboss50.xml 2008-09-09 04:14:55 UTC (rev 11835)
@@ -7,6 +7,7 @@
<componentDescriptors>
<componentDescriptor>src/assemble/simple-portal-war.xml</componentDescriptor>
+ <componentDescriptor>src/assemble/simple-portal-war-jboss50.xml</componentDescriptor>
</componentDescriptors>
<dependencySets>
@@ -40,6 +41,12 @@
</includes>
</dependencySet>
+ <dependencySet>
+ <outputDirectory></outputDirectory>
+ <includes>
+ <include></include>
+ </includes>
+ </dependencySet>
</dependencySets>
</assembly>
Added: modules/portlet/trunk/portal/src/assemble/simple-portal-war-jboss50.xml
===================================================================
--- modules/portlet/trunk/portal/src/assemble/simple-portal-war-jboss50.xml (rev 0)
+++ modules/portlet/trunk/portal/src/assemble/simple-portal-war-jboss50.xml 2008-09-09 04:14:55 UTC (rev 11835)
@@ -0,0 +1,12 @@
+<component>
+
+ <fileSets>
+
+ <fileSet>
+ <directory>src/main/resources/jboss50</directory>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+
+ </fileSets>
+
+</component>
Added: modules/portlet/trunk/portal/src/main/resources/jboss50/META-INF/jboss-structure.xml
===================================================================
--- modules/portlet/trunk/portal/src/main/resources/jboss50/META-INF/jboss-structure.xml (rev 0)
+++ modules/portlet/trunk/portal/src/main/resources/jboss50/META-INF/jboss-structure.xml 2008-09-09 04:14:55 UTC (rev 11835)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<structure>
+ <context>
+ <path name=""/>
+ <metaDataPath>
+ <path name="META-INF"/>
+ <path name=""/>
+ </metaDataPath>
+ <classpath>
+ <path name=""/>
+ <path name="lib" suffixes=".jar" />
+ </classpath>
+ </context>
+ <context>
+ <path name="simple-portal.war"/>
+ <metaDataPath>
+ <path name="WEB-INF"/>
+ <path name="META-INF"/>
+ </metaDataPath>
+ <classpath>
+ <path name=""/>
+ <path name="lib" suffixes=".jar"/>
+ <path name="simple-portal.war/WEB-INF/lib" suffixes=".jar"/>
+ <path name="simple-portal.war/WEB-INF/classes"/>
+ </classpath>
+ </context>
+</structure>
+
17 years, 8 months
JBoss Portal SVN: r11834 - in branches/JBoss_Portal_Branch_2_7: core/src/main/org/jboss/portal/core/impl/coordination and 4 other directories.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-09-08 17:45:10 -0400 (Mon, 08 Sep 2008)
New Revision: 11834
Added:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/Utils.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMultiQNameMetaData.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowSimpleQNameMetaData.java
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/WEB-INF/classes/Resource.properties
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/WindowBindingInfo.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/model/portal/metadata/coordination/CoordinationAliasBindingMetaData.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationEventWiringMetaData.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationMetaData.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowBindingMetaData.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMetaData.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java
Log:
- Implemented possibility to select several parameters for a given window. Not convinced this
is the proper way to do things but committing so it's not lost. Might be reverted.
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -151,10 +151,10 @@
* Defines shared parameter binding for a given collection of windows.
*
* @param name
- * @param windows
+ * @param mappings
* @throws IllegalCoordinationException
*/
- void setWindowBinding(String name, Map<Window, QName> windows) throws IllegalCoordinationException;
+ void setWindowBinding(String name, Map<Window, Set<QName>> mappings) throws IllegalCoordinationException;
/**
* Removes given parameter binding
Added: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/Utils.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/Utils.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/Utils.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -0,0 +1,54 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2008, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+
+package org.jboss.portal.core.controller.coordination;
+
+import org.jboss.portal.common.util.ParameterValidation;
+
+import java.util.Set;
+import java.util.Map;
+import java.util.HashSet;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+public class Utils
+{
+ public static <T, U> Map<T, Set<U>> addToMultiMap(Map<T, Set<U>> multiMap, T key, U value)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(multiMap, "multi map");
+ ParameterValidation.throwIllegalArgExceptionIfNull(key, "key");
+ ParameterValidation.throwIllegalArgExceptionIfNull(value, "value");
+
+ Set<U> existing = multiMap.get(key);
+ if (existing == null)
+ {
+ existing = new HashSet<U>();
+ multiMap.put(key, existing);
+ }
+
+ existing.add(value);
+
+ return multiMap;
+ }
+}
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/WindowBindingInfo.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/WindowBindingInfo.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/WindowBindingInfo.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -26,6 +26,7 @@
import javax.xml.namespace.QName;
import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot com">Boleslaw Dawidowicz</a>
@@ -34,5 +35,5 @@
*/
public interface WindowBindingInfo extends ParameterBindingInfo
{
- Map<Window, QName> getWindows();
+ Map<Window, Set<QName>> getMappings();
}
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-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/coordination/CoordinationService.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -30,6 +30,7 @@
import org.jboss.portal.core.controller.coordination.EventWiringInfo;
import org.jboss.portal.core.controller.coordination.IllegalCoordinationException;
import org.jboss.portal.core.controller.coordination.WindowBindingInfo;
+import org.jboss.portal.core.controller.coordination.Utils;
import org.jboss.portal.core.controller.portlet.ControllerPortletControllerContext;
import org.jboss.portal.core.model.portal.Page;
import org.jboss.portal.core.model.portal.PageContainer;
@@ -130,11 +131,17 @@
for (WindowBindingInfo info : getWindowBindings(window))
{
- for (Map.Entry<Window, QName> entry : info.getWindows().entrySet())
+ for (Map.Entry<Window, Set<QName>> entry : info.getMappings().entrySet())
{
- if (entry.getKey().getName().equals(window.getName()) && entry.getValue().equals(name))
+ if (entry.getKey().getName().equals(window.getName()))
{
- names.add(info.getName());
+ for (QName qName : entry.getValue())
+ {
+ if (name.equals(qName))
+ {
+ names.add(info.getName());
+ }
+ }
}
}
}
@@ -380,7 +387,7 @@
+ window.getId());
}
- QName qname = decodeQName(eventName);
+ QName qname = QName.valueOf(eventName);
if (role.equalsIgnoreCase(EVENT_ROLE_SOURCE))
{
@@ -443,7 +450,7 @@
String name = window.getDeclaredProperty(prop_wiring);
if (name != null)
{
- QName qname = decodeQName(name);
+ QName qname = QName.valueOf(name);
String role = window.getDeclaredProperty(propName);
if (role != null && role.equalsIgnoreCase(EVENT_ROLE_SOURCE))
@@ -507,18 +514,18 @@
// Binding stuff *****************************************************************************************
- public void setWindowBinding(String name, Map<Window, QName> windows) throws IllegalCoordinationException
+ public void setWindowBinding(String name, Map<Window, Set<QName>> mappings) throws IllegalCoordinationException
{
- ParameterValidation.throwIllegalArgExceptionIfNull(windows, "windows");
+ ParameterValidation.throwIllegalArgExceptionIfNull(mappings, "windows");
ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(name, "name", "window binding");
- if (windows.isEmpty())
+ if (mappings.isEmpty())
{
throw new IllegalArgumentException("empty windows map");
}
// Obtain parent page and check that all windows are in one branch...
Page parentPage = null;
- for (Window window : windows.keySet())
+ for (Window window : mappings.keySet())
{
if (parentPage == null)
{
@@ -534,9 +541,9 @@
String prop_wiring = PREFIX_PARAMETER_BINDING + name;
//
- for (Window window : windows.keySet())
+ for (Window window : mappings.keySet())
{
- window.setDeclaredProperty(prop_wiring, windows.get(window).toString());
+ window.setDeclaredProperty(prop_wiring, concatenateQNames(mappings.get(window)));
}
}
@@ -562,14 +569,14 @@
public void renameWindowBinding(WindowBindingInfo windowBinding, String newName) throws IllegalCoordinationException
{
removeWindowBinding(windowBinding);
- setWindowBinding(newName, windowBinding.getWindows());
+ setWindowBinding(newName, windowBinding.getMappings());
}
public void renameWindowBinding(Page page, String bindingName, String newName) throws IllegalCoordinationException
{
WindowBindingInfo info = getWindowBinding(page, bindingName);
removeWindowBinding(page, bindingName);
- setWindowBinding(newName, info.getWindows());
+ setWindowBinding(newName, info.getMappings());
}
public WindowBindingInfo getWindowBinding(Page page, String name) throws IllegalCoordinationException
@@ -581,25 +588,24 @@
// Examine window properties and create page parameters
Collection<PortalObject> children = page.getChildren(PortalObject.WINDOW_MASK);
- Map<Window, QName> windows = new HashMap<Window, QName>(children.size());
+ Map<Window, Set<QName>> mappings = new HashMap<Window, Set<QName>>(children.size());
for (PortalObject window : children)
{
- String bindingName = window.getDeclaredProperty(nameProp);
+ String qNameList = window.getDeclaredProperty(nameProp);
- if (bindingName != null)
+ if (qNameList != null)
{
- QName qname = decodeQName(bindingName);
- windows.put((Window)window, qname);
+ mappings.put((Window)window, extractQNames(qNameList));
}
}
- if (windows.isEmpty())
+ if (mappings.isEmpty())
{
return null;
}
else
{
- return new WindowInfoPOJO(name, page, windows);
+ return new WindowInfoPOJO(name, page, mappings);
}
}
@@ -639,27 +645,27 @@
String propName = PREFIX_PARAMETER_ALIAS_NAME + aliasName;
- // Check if qname consist separator string
- for (QName qname : qnames)
+ page.setDeclaredProperty(propName, concatenateQNames(qnames));
+ }
+
+ private String concatenateQNames(Set<QName> qnames) throws IllegalCoordinationException
+ {
+ StringBuilder qnameList = new StringBuilder();
+ for (Iterator i = qnames.iterator(); i.hasNext();)
{
+ QName qname = (QName)i.next();
+ // Check if qname contains separator string
if (qname.toString().contains(QNAME_SEPARATOR))
{
throw new IllegalCoordinationException("Qname: " + qname + " contains forbidden character: " + QNAME_SEPARATOR);
}
- }
-
- StringBuilder qnameList = new StringBuilder();
- for (Iterator i = qnames.iterator(); i.hasNext();)
- {
- QName qname = (QName)i.next();
qnameList.append(qname.toString());
if (i.hasNext())
{
qnameList.append(QNAME_SEPARATOR);
}
}
-
- page.setDeclaredProperty(propName, qnameList.toString());
+ return qnameList.toString();
}
public void removeAliasBinding(AliasBindingInfo aliasInfo) throws IllegalCoordinationException
@@ -728,13 +734,7 @@
String qNameList = page.getDeclaredProperty(nameProp);
if (qNameList != null)
{
- String[] qnames = qNameList.split(QNAME_SEPARATOR);
- Set<QName> names = new HashSet<QName>(qnames.length);
- for (String string : qnames)
- {
- QName qname = QName.valueOf(string);
- names.add(qname);
- }
+ Set<QName> names = extractQNames(qNameList);
return new AliasInfoPOJO(name, page, names);
}
else
@@ -743,6 +743,18 @@
}
}
+ private Set<QName> extractQNames(String qNameList)
+ {
+ String[] qnames = qNameList.split(QNAME_SEPARATOR);
+ Set<QName> names = new HashSet<QName>(qnames.length);
+ for (String string : qnames)
+ {
+ QName qname = QName.valueOf(string);
+ names.add(qname);
+ }
+ return names;
+ }
+
public Collection<? extends WindowBindingInfo> getWindowBindings(Page page, QName parameterName)
{
ParameterValidation.throwIllegalArgExceptionIfNull(page, "Page");
@@ -752,7 +764,7 @@
Collection<WindowBindingInfo> infos = new HashSet<WindowBindingInfo>();
for (WindowBindingInfo pageParam : pageParams)
{
- if (pageParam.getWindows().containsValue(parameterName))
+ if (pageParam.getMappings().containsValue(parameterName))
{
infos.add(pageParam);
}
@@ -766,7 +778,7 @@
Collection<WindowBindingInfo> infos = new HashSet<WindowBindingInfo>();
for (WindowBindingInfo pageParam : pageParams)
{
- if (pageParam.getWindows().keySet().contains(window))
+ if (pageParam.getMappings().keySet().contains(window))
{
infos.add(pageParam);
}
@@ -806,7 +818,7 @@
//TODO: if the information from properties is not consistent should we throw exception?
if (binding != null)
{
- QName qname = decodeQName(binding);
+ QName qname = QName.valueOf(binding);
if (qname != null)
{
info.addMapping((Window)child, qname);
@@ -912,12 +924,7 @@
return null;
}
- private QName decodeQName(String fullString)
- {
- return QName.valueOf(fullString);
- }
-
private class EventInfoPOJO implements EventWiringInfo
{
private final String name;
@@ -967,19 +974,19 @@
private class WindowInfoPOJO implements WindowBindingInfo
{
private final String name;
- private final Map<Window, QName> windows;
+ private Map<Window, Set<QName>> mappings;
private final Page page;
- private WindowInfoPOJO(String name, Page page, Map<Window, QName> windows)
+ private WindowInfoPOJO(String name, Page page, Map<Window, Set<QName>> mappings)
{
this.name = name;
- this.windows = windows;
+ this.mappings = mappings;
this.page = page;
}
private WindowInfoPOJO(String name, Page page)
{
- this(name, page, new HashMap<Window, QName>());
+ this(name, page, new HashMap<Window, Set<QName>>());
}
public String getName()
@@ -987,9 +994,9 @@
return name;
}
- public Map<Window, QName> getWindows()
+ public Map<Window, Set<QName>> getMappings()
{
- return Collections.unmodifiableMap(windows);
+ return Collections.unmodifiableMap(mappings);
}
public Page getPage()
@@ -999,7 +1006,7 @@
private void addMapping(Window window, QName qname)
{
- windows.put(window, qname);
+ mappings = Utils.addToMultiMap(mappings, window, qname);
}
}
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationAliasBindingMetaData.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationAliasBindingMetaData.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationAliasBindingMetaData.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -25,6 +25,7 @@
import org.w3c.dom.Element;
import org.jboss.portal.common.xml.XMLTools;
+import javax.xml.namespace.QName;
import java.util.List;
import java.util.LinkedList;
import java.util.Iterator;
@@ -39,19 +40,19 @@
{
private String name;
- private Set<String> qnames = new HashSet<String>();
+ private Set<QName> qnames = new HashSet<QName>();
- public CoordinationAliasBindingMetaData(String name)
+ private CoordinationAliasBindingMetaData(String name)
{
this.name = name;
}
- public Set<String> getQnames()
+ public Set<QName> getQnames()
{
return qnames;
}
- public void setQnames(Set<String> qnames)
+ public void setQnames(Set<QName> qnames)
{
this.qnames = qnames;
}
@@ -66,9 +67,9 @@
this.name = name;
}
- public void addQName(String qname)
+ private void addQName(String qname)
{
- qnames.add(qname);
+ qnames.add(QName.valueOf(qname));
}
public static CoordinationAliasBindingMetaData buildMetaData(Element bindingElement)
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationEventWiringMetaData.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationEventWiringMetaData.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationEventWiringMetaData.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -39,9 +39,9 @@
private String name;
- private List<CoordinationWindowMetaData> sources = new LinkedList<CoordinationWindowMetaData>();
+ private List<CoordinationWindowSimpleQNameMetaData> sources = new LinkedList<CoordinationWindowSimpleQNameMetaData>();
- private List<CoordinationWindowMetaData> destinations = new LinkedList<CoordinationWindowMetaData>();
+ private List<CoordinationWindowSimpleQNameMetaData> destinations = new LinkedList<CoordinationWindowSimpleQNameMetaData>();
public CoordinationEventWiringMetaData(String name)
{
@@ -58,33 +58,23 @@
this.name = name;
}
- public List<CoordinationWindowMetaData> getSources()
+ public List<CoordinationWindowSimpleQNameMetaData> getSources()
{
return sources;
}
- public void setSources(List<CoordinationWindowMetaData> sources)
+ private void addSource(CoordinationWindowSimpleQNameMetaData window)
{
- this.sources = sources;
- }
-
- public void addSource(CoordinationWindowMetaData window)
- {
this.sources.add(window);
}
- public List<CoordinationWindowMetaData> getDestinations()
+ public List<CoordinationWindowSimpleQNameMetaData> getDestinations()
{
return destinations;
}
- public void setDestinations(List<CoordinationWindowMetaData> destinations)
+ private void addDestination(CoordinationWindowSimpleQNameMetaData window)
{
- this.destinations = destinations;
- }
-
- public void addDestination(CoordinationWindowMetaData window)
- {
this.destinations.add(window);
}
@@ -102,7 +92,7 @@
{
Element element = (Element)windowIter.next();
- wiringMD.addSource(CoordinationWindowMetaData.buildMetaData(element));
+ wiringMD.addSource(CoordinationWindowSimpleQNameMetaData.buildMetaData(element));
}
Element destinationsElt = XMLTools.getUniqueChild(wiringElement, "destinations", true);
@@ -113,7 +103,7 @@
{
Element element = (Element)windowIter.next();
- wiringMD.addDestination(CoordinationWindowMetaData.buildMetaData(element));
+ wiringMD.addDestination(CoordinationWindowSimpleQNameMetaData.buildMetaData(element));
}
return wiringMD;
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationMetaData.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationMetaData.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationMetaData.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -38,7 +38,6 @@
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
-import java.util.HashSet;
/**
* @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot com">Boleslaw Dawidowicz</a>
@@ -81,7 +80,6 @@
}
-
Element bindingsElement = XMLTools.getUniqueChild(coordinationElt, "bindings", false);
if (bindingsElement != null)
@@ -153,29 +151,34 @@
for (CoordinationWindowBindingMetaData windowBinding : windowBindings)
{
- Map<Window, QName> bindings = new HashMap<Window, QName>();
+ Map<Window, Set<QName>> bindings = new HashMap<Window, Set<QName>>();
- populateWindows(bindings, windowBinding.getWindows(), page);
+ for (CoordinationWindowMultiQNameMetaData windowMD : windowBinding.getWindows())
+ {
+ String windowName = windowMD.getWindowName();
+ Window window = page.getWindow(windowName);
+ if (window == null)
+ {
+ throw new IllegalCoordinationException("Cannot obtain window: \"" + windowName + "\" on page: "
+ + page.getName());
+ }
+
+ bindings.put(window, windowMD.getNames());
+ }
+
buildContext.getCoordinationConfigurator().setWindowBinding(windowBinding.getName(), bindings);
}
for (CoordinationAliasBindingMetaData windowBinding : aliasBindings)
{
- Set<QName> qnames = new HashSet<QName>();
-
- for (String name : windowBinding.getQnames())
- {
- qnames.add(QName.valueOf(name));
- }
-
- buildContext.getCoordinationConfigurator().setAliasBinding(page, windowBinding.getName(), qnames);
+ buildContext.getCoordinationConfigurator().setAliasBinding(page, windowBinding.getName(), windowBinding.getQnames());
}
for (CoordinationEventWiringMetaData wiring : wirings)
{
- Map<Window, QName> sources = new HashMap<Window,QName>();
- Map<Window, QName> destinations = new HashMap<Window,QName>();
+ Map<Window, QName> sources = new HashMap<Window, QName>();
+ Map<Window, QName> destinations = new HashMap<Window, QName>();
populateWindows(sources, wiring.getSources(), page);
populateWindows(destinations, wiring.getDestinations(), page);
@@ -188,17 +191,17 @@
}
- private static void populateWindows(Map<Window, QName> map, List<CoordinationWindowMetaData> windows, Page page) throws IllegalCoordinationException
+ private static void populateWindows(Map<Window, QName> map, List<CoordinationWindowSimpleQNameMetaData> windows, Page page) throws IllegalCoordinationException
{
- for (CoordinationWindowMetaData windowMD : windows)
+ for (CoordinationWindowSimpleQNameMetaData windowMD : windows)
{
- QName name = QName.valueOf(windowMD.getQname());
+ QName name = windowMD.getQname();
Window window = page.getWindow(windowMD.getWindowName());
if (window == null)
{
throw new IllegalCoordinationException("Cannot obtain window: \"" + windowMD.getWindowName() + "\" on page: "
- + page.getName());
+ + page.getName());
}
map.put(window, name);
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowBindingMetaData.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowBindingMetaData.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowBindingMetaData.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -37,23 +37,18 @@
{
private String name;
- List<CoordinationWindowMetaData> windows = new LinkedList<CoordinationWindowMetaData>();
+ List<CoordinationWindowMultiQNameMetaData> windows = new LinkedList<CoordinationWindowMultiQNameMetaData>();
public CoordinationWindowBindingMetaData(String name)
{
this.name = name;
}
- public List<CoordinationWindowMetaData> getWindows()
+ public List<CoordinationWindowMultiQNameMetaData> getWindows()
{
return windows;
}
- public void setWindows(List<CoordinationWindowMetaData> windows)
- {
- this.windows = windows;
- }
-
public String getName()
{
return name;
@@ -64,7 +59,7 @@
this.name = name;
}
- public void addWindow(CoordinationWindowMetaData window)
+ private void addWindow(CoordinationWindowMultiQNameMetaData window)
{
windows.add(window);
}
@@ -80,7 +75,7 @@
{
Element element = (Element)windowIter.next();
- paramMetaData.addWindow(CoordinationWindowMetaData.buildMetaData(element));
+ paramMetaData.addWindow(CoordinationWindowMultiQNameMetaData.buildMetaData(element));
}
return paramMetaData;
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMetaData.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMetaData.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMetaData.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -31,17 +31,13 @@
* @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot com">Boleslaw Dawidowicz</a>
* @version : 0.1 $
*/
-public class CoordinationWindowMetaData
+public abstract class CoordinationWindowMetaData
{
-
private String windowName;
- private String qname;
-
- public CoordinationWindowMetaData(String windowName, String qname)
+ protected CoordinationWindowMetaData(String windowName)
{
this.windowName = windowName;
- this.qname = qname;
}
public String getWindowName()
@@ -54,21 +50,4 @@
this.windowName = windowName;
}
- public String getQname()
- {
- return qname;
- }
-
- public void setQname(String qname)
- {
- this.qname = qname;
- }
-
- public static CoordinationWindowMetaData buildMetaData(Element element)
- {
- Element name = XMLTools.getUniqueChild(element, "window-name", true);
- Element qname = XMLTools.getUniqueChild(element, "qname", true);
-
- return new CoordinationWindowMetaData(XMLTools.asString(name), XMLTools.asString(qname));
- }
}
\ No newline at end of file
Added: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMultiQNameMetaData.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMultiQNameMetaData.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowMultiQNameMetaData.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -0,0 +1,72 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2008, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+
+package org.jboss.portal.core.model.portal.metadata.coordination;
+
+import org.jboss.portal.common.xml.XMLTools;
+import org.w3c.dom.Element;
+
+import javax.xml.namespace.QName;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.HashSet;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+public class CoordinationWindowMultiQNameMetaData extends CoordinationWindowMetaData
+{
+ private Set<QName> names = new HashSet<QName>();
+
+ private CoordinationWindowMultiQNameMetaData(String name)
+ {
+ super(name);
+ }
+
+ public Set<QName> getNames()
+ {
+ return names;
+ }
+
+ private void addQName(String qname)
+ {
+ names.add(QName.valueOf(qname));
+ }
+
+ public static CoordinationWindowMultiQNameMetaData buildMetaData(Element element)
+ {
+ Element name = XMLTools.getUniqueChild(element, "window-name", true);
+ CoordinationWindowMultiQNameMetaData metaData = new CoordinationWindowMultiQNameMetaData(XMLTools.asString(name));
+
+ Iterator qnameIter = XMLTools.getChildrenIterator(element, "qname");
+
+ while (qnameIter.hasNext())
+ {
+ Element qName = (Element)qnameIter.next();
+
+ metaData.addQName(XMLTools.asString(qName));
+ }
+
+ return metaData;
+ }
+}
Added: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowSimpleQNameMetaData.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowSimpleQNameMetaData.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationWindowSimpleQNameMetaData.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -0,0 +1,61 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2008, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+
+package org.jboss.portal.core.model.portal.metadata.coordination;
+
+import org.w3c.dom.Element;
+import org.jboss.portal.common.xml.XMLTools;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+public class CoordinationWindowSimpleQNameMetaData extends CoordinationWindowMetaData
+{
+ private QName qname;
+
+ private CoordinationWindowSimpleQNameMetaData(String windowName, QName qname)
+ {
+ super(windowName);
+ this.qname = qname;
+ }
+
+ public QName getQname()
+ {
+ return qname;
+ }
+
+ public void setQname(QName qname)
+ {
+ this.qname = qname;
+ }
+
+ public static CoordinationWindowSimpleQNameMetaData buildMetaData(Element element)
+ {
+ Element name = XMLTools.getUniqueChild(element, "window-name", true);
+ Element qname = XMLTools.getUniqueChild(element, "qname", true);
+
+ return new CoordinationWindowSimpleQNameMetaData(XMLTools.asString(name), QName.valueOf(XMLTools.asString(qname)));
+ }
+}
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-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -49,6 +49,7 @@
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import java.util.Collections;
/**
* @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot com">Boleslaw Dawidowicz</a>
@@ -271,10 +272,10 @@
Window w4 = page1.getWindow("Window_4");
- Map<Window, QName> ws = new HashMap<Window, QName>();
- ws.put(w1, new QName("juju", "foo"));
- ws.put(w2, new QName("juju", "foo1"));
- ws.put(w4, new QName("juju", "foo3"));
+ Map<Window, Set<QName>> ws = new HashMap<Window, Set<QName>>();
+ ws.put(w1, Collections.singleton(new QName("juju", "foo")));
+ ws.put(w2, Collections.singleton(new QName("juju", "foo1")));
+ ws.put(w4, Collections.singleton(new QName("juju", "foo3")));
cos.setWindowBinding("binding1", ws);
@@ -282,13 +283,13 @@
assertEquals(1, bindings.size());
- Map<Window, QName> windows = bindings.iterator().next().getWindows();
+ Map<Window, Set<QName>> mappings = bindings.iterator().next().getMappings();
- assertEquals(3, windows.size());
+ assertEquals(3, mappings.size());
- assertTrue(windows.containsKey(w1));
- assertTrue(windows.containsKey(w2));
- assertTrue(windows.containsKey(w4));
+ assertTrue(mappings.containsKey(w1));
+ assertTrue(mappings.containsKey(w2));
+ assertTrue(mappings.containsKey(w4));
cos.removeWindowBinding(bindings.iterator().next());
@@ -311,39 +312,39 @@
Window w4 = page1.getWindow("Window_4");
- Map<Window, QName> ws = new HashMap<Window, QName>();
+ Map<Window, Set<QName>> ws = new HashMap<Window, Set<QName>>();
QName qName11 = new QName("ns1", "1");
QName qName12 = new QName("ns1", "2");
- ws.put(w1, qName11);
- ws.put(w2, qName12);
+ ws.put(w1, Collections.singleton(qName11));
+ ws.put(w2, Collections.singleton(qName12));
cos.setWindowBinding("binding1", ws);
QName qName21 = new QName("ns2", "foo3");
ws.clear();
- ws.put(w4, qName21);
+ ws.put(w4, Collections.singleton(qName21));
cos.setWindowBinding("binding2", ws);
WindowBindingInfo info = cos.getWindowBinding(page1, "binding1");
assertNotNull(info);
assertEquals("binding1", info.getName());
assertEquals(page1, info.getPage());
- Map<Window, QName> windows = info.getWindows();
+ Map<Window, Set<QName>> windows = info.getMappings();
assertNotNull(windows);
assertEquals(2, windows.size());
assertTrue(windows.containsKey(w1));
assertTrue(windows.containsKey(w2));
- assertEquals(qName11, windows.get(w1));
- assertEquals(qName12, windows.get(w2));
+ assertEquals(Collections.singleton(qName11), windows.get(w1));
+ assertEquals(Collections.singleton(qName12), windows.get(w2));
info = cos.getWindowBinding(page1, "binding2");
assertNotNull(info);
assertEquals("binding2", info.getName());
assertEquals(page1, info.getPage());
- windows = info.getWindows();
+ windows = info.getMappings();
assertNotNull(windows);
assertEquals(1, windows.size());
assertTrue(windows.containsKey(w4));
- assertEquals(qName21, windows.get(w4));
+ assertEquals(Collections.singleton(qName21), windows.get(w4));
TransactionAssert.commitTransaction();
}
@@ -358,16 +359,16 @@
Window w2 = page1.getWindow("Window_2");
Window w4 = page1.getWindow("Window_4");
- Map<Window, QName> ws = new HashMap<Window, QName>();
+ Map<Window, Set<QName>> ws = new HashMap<Window, Set<QName>>();
QName qName11 = new QName("ns1", "1");
QName qName12 = new QName("ns1", "2");
- ws.put(w1, qName11);
- ws.put(w2, qName12);
+ ws.put(w1, Collections.singleton(qName11));
+ ws.put(w2, Collections.singleton(qName12));
cos.setWindowBinding("binding1", ws);
QName qName21 = new QName("ns2", "foo3");
ws.clear();
- ws.put(w4, qName21);
+ ws.put(w4, Collections.singleton(qName21));
cos.setWindowBinding("binding2", ws);
Collection<? extends WindowBindingInfo> infos = cos.getWindowBindings(page1);
@@ -732,9 +733,9 @@
Window w1 = page1.getWindow("Window_1");
Window w2 = page1.getWindow("Window_2");
- Map<Window, QName> ws = new HashMap<Window, QName>();
- ws.put(w1, new QName("juju", "foo"));
- ws.put(w2, new QName("juju", "foo1"));
+ Map<Window, Set<QName>> ws = new HashMap<Window, Set<QName>>();
+ ws.put(w1, Collections.singleton(new QName("juju", "foo")));
+ ws.put(w2, Collections.singleton(new QName("juju", "foo1")));
cos.setWindowBinding("binding1", ws);
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java 2008-09-08 21:45:10 UTC (rev 11834)
@@ -24,6 +24,7 @@
import org.jboss.portal.core.controller.coordination.IllegalCoordinationException;
import org.jboss.portal.core.controller.coordination.WindowBindingInfo;
+import org.jboss.portal.core.controller.coordination.Utils;
import org.jboss.portal.core.model.portal.Page;
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.Window;
@@ -155,14 +156,14 @@
{
if (windowBindingName != null)
{
- Map<Window, QName> windowBinding = new HashMap<Window, QName>();
+ Map<Window, Set<QName>> windowBinding = new HashMap<Window, Set<QName>>();
for (String pairAsString : selectedParameterWindowPairs)
{
// get ParameterWindowPair from String
String[] names = ParameterWindowPair.resolveFrom(pairAsString);
Window window = (Window)managerBean.getSelectedPage().getChild(names[ParameterWindowPair.WINDOW_NAME]);
- windowBinding.put(window, QName.valueOf(names[ParameterWindowPair.PARAM_NAME]));
+ Utils.addToMultiMap(windowBinding, window, QName.valueOf(names[ParameterWindowPair.PARAM_NAME]));
}
managerBean.getCoordinationService().setWindowBinding(windowBindingName, windowBinding);
@@ -212,11 +213,15 @@
public DisplayParameterBinding(WindowBindingInfo bindingInfo)
{
this.bindingInfo = bindingInfo;
- Set<Map.Entry<Window, QName>> entries = bindingInfo.getWindows().entrySet();
+ Set<Map.Entry<Window, Set<QName>>> entries = bindingInfo.getMappings().entrySet();
parameterWindowPairs = new LinkedList<ParameterWindowPair>();
- for (Map.Entry<Window, QName> entry : entries)
+ for (Map.Entry<Window, Set<QName>> entry : entries)
{
- parameterWindowPairs.add(new ParameterWindowPair(entry.getValue(), entry.getKey()));
+ Window window = entry.getKey();
+ for (QName qName : entry.getValue())
+ {
+ parameterWindowPairs.add(new ParameterWindowPair(qName, window));
+ }
}
}
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/WEB-INF/classes/Resource.properties
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/WEB-INF/classes/Resource.properties 2008-09-08 14:31:05 UTC (rev 11833)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/WEB-INF/classes/Resource.properties 2008-09-08 21:45:10 UTC (rev 11834)
@@ -274,7 +274,7 @@
COORDINATION_PARAMETER_MANAGE_EXISTING=Manage existing parameter bindings:
COORDINATION_PARAMETER_EXISTING_NONE=No existing parameter bindings.
COORDINATION_PARAMETER_EXISTING_NAME=Name
-COORDINATION_PARAMETER_EXISTING_PAIRS=Parameter <-> window pairs
+COORDINATION_PARAMETER_EXISTING_PAIRS=Window <-> parameter pairs
COORDINATION_PARAMETER_EXISTING_ACTIONS=Actions
COORDINATION_PARAMETER_CREATE=Create new parameter binding:
COORDINATION_PARAMETER_CREATE_NO_PAIRS=No available public render parameters. Cannot create new parameter bindings.
17 years, 8 months
JBoss Portal SVN: r11833 - branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-09-08 10:31:05 -0400 (Mon, 08 Sep 2008)
New Revision: 11833
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java
Log:
- Use SelectItemGroup for parameter / window pairs display. Need to prevent multiple selection of several parameters for the same window...
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java 2008-09-08 14:08:37 UTC (rev 11832)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java 2008-09-08 14:31:05 UTC (rev 11833)
@@ -31,8 +31,12 @@
import org.jboss.portal.portlet.info.ParameterInfo;
import org.jboss.portal.portlet.info.PortletInfo;
+import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
+import javax.faces.model.SelectItemGroup;
import javax.xml.namespace.QName;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -48,7 +52,7 @@
public class ParameterBindingManagerBean extends CoordinationManagerBean.CoordinationBean
{
private Map<String, DisplayParameterBinding> displayParameterBindings;
- private List<ParameterWindowSelectItem> availableParameterWindowPairs;
+ private Map<Window, WindowSelectItemGroup> availableParameterWindowPairs;
private List<String> selectedParameterWindowPairs;
private String windowBindingName;
@@ -61,9 +65,11 @@
super(managerBean);
}
- public List<ParameterWindowSelectItem> getAvailableParameterWindowPairs()
+ public List<? extends SelectItem> getAvailableParameterWindowPairs()
{
- return availableParameterWindowPairs;
+ List<WindowSelectItemGroup> result = new LinkedList<WindowSelectItemGroup>(availableParameterWindowPairs.values());
+ Collections.sort(result);
+ return result;
}
public List<String> getSelectedParameterWindowPairs()
@@ -88,11 +94,25 @@
public void extractInfoFrom(Window window, PortletInfo info)
{
+
// retrieve metadata on public render parameters
NavigationInfo navInfo = info.getNavigation();
- for (ParameterInfo pInfo : navInfo.getPublicParameters())
+ Collection<? extends ParameterInfo> publicParameters = navInfo.getPublicParameters();
+ if (!publicParameters.isEmpty())
{
- availableParameterWindowPairs.add(new ParameterWindowSelectItem(pInfo, window));
+ // create a group for this window
+ WindowSelectItemGroup windowGroup = availableParameterWindowPairs.get(window);
+ if (windowGroup == null)
+ {
+ windowGroup = new WindowSelectItemGroup(window);
+ availableParameterWindowPairs.put(window, windowGroup);
+ }
+
+ // add a SelectItem per public parameter
+ for (ParameterInfo pInfo : publicParameters)
+ {
+ windowGroup.add(new ParameterWindowSelectItem(pInfo, window));
+ }
}
}
@@ -111,7 +131,7 @@
public void initKnowing(Collection<PortalObject> children)
{
- availableParameterWindowPairs = new LinkedList<ParameterWindowSelectItem>();
+ availableParameterWindowPairs = new HashMap<Window, WindowSelectItemGroup>(children.size());
}
public void loadInfoFrom(Page page)
@@ -171,6 +191,19 @@
return resetSelection();
}
+ /**
+ * Enforce the fact that you can only select one qname per window
+ *
+ * @param event
+ */
+ public void selectParameterWindowPair(ValueChangeEvent event)
+ {
+ // if we select a param for a window that already has a param associated with it, switch to the new one
+ List<String> oldValues = (List<String>)event.getOldValue();
+ List<String> newValues = (List<String>)event.getNewValue();
+
+ }
+
public static class DisplayParameterBinding implements Comparable
{
private List<ParameterWindowPair> parameterWindowPairs;
@@ -213,7 +246,7 @@
{
public ParameterWindowSelectItem(ParameterInfo parameterInfo, Window window)
{
- super(new ParameterWindowPair(parameterInfo, window), ParameterWindowPair.asString(parameterInfo.getName(), window));
+ super(new ParameterWindowPair(parameterInfo, window), parameterInfo.getName().toString());
}
public int compareTo(Object o)
@@ -282,4 +315,33 @@
return new String[]{name, windowName};
}
}
+
+ public class WindowSelectItemGroup extends SelectItemGroup implements Comparable
+ {
+ public WindowSelectItemGroup(Window window)
+ {
+ super(window.getName());
+ }
+
+ public int compareTo(Object o)
+ {
+ SelectItem group = (SelectItem)o;
+ return getLabel().compareTo(group.getLabel());
+ }
+
+ public void add(ParameterWindowSelectItem parameterWindowSelectItem)
+ {
+ SelectItem[] existing = getSelectItems();
+ if (existing == null)
+ {
+ setSelectItems(new SelectItem[]{parameterWindowSelectItem});
+ }
+ else
+ {
+ List<SelectItem> items = new ArrayList<SelectItem>(Arrays.asList(existing));
+ items.add(parameterWindowSelectItem);
+ setSelectItems(items.toArray(new SelectItem[items.size()]));
+ }
+ }
+ }
}
17 years, 8 months
JBoss Portal SVN: r11832 - docs/branches/JBoss_Portal_Branch_2_7/referenceGuide/en/modules.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-09-08 10:08:37 -0400 (Mon, 08 Sep 2008)
New Revision: 11832
Modified:
docs/branches/JBoss_Portal_Branch_2_7/referenceGuide/en/modules/tutorials.xml
Log:
Added some documentation
Modified: docs/branches/JBoss_Portal_Branch_2_7/referenceGuide/en/modules/tutorials.xml
===================================================================
--- docs/branches/JBoss_Portal_Branch_2_7/referenceGuide/en/modules/tutorials.xml 2008-09-08 13:04:48 UTC (rev 11831)
+++ docs/branches/JBoss_Portal_Branch_2_7/referenceGuide/en/modules/tutorials.xml 2008-09-08 14:08:37 UTC (rev 11832)
@@ -1118,7 +1118,78 @@
<trademark class="trade">JSF</trademark>
example using the JBoss Portlet Bridge
</title>
- <bridgehead>TODO.</bridgehead>
+ <bridgehead>In order to write a portlet using JSF we need a piece of software called 'bridge' that
+ lets us write a portlet application as if it was a JSF application, the bridge takes care of the
+ interactions between the two layers.</bridgehead>
+ <para>Such an example is available in examples/JSFHelloUser, it uses the JBoss Portlet Bridge.
+ The configuration is slightly different from a JSP application, since it is a bit tricky it is usally a good
+ idea to copy an existing application that starting from scratch.</para>
+ <para>First, as any JSF application, the file <literal>faces-config.xml</literal> is required. It includes
+ the following required information in it:
+ <programlisting role="XML"><![CDATA[<faces-config>
+...
+ <application>
+ <view-handler>org.jboss.portletbridge.application.PortletViewHandler</view-handler>
+ <state-manager>org.jboss.portletbridge.application.PortletStateManager</state-manager>
+ </application>
+...
+</faces-config> ]]></programlisting>
+ The portlet bridge libraries must be available and are usually bundled with the <literal>WEB-INF/lib</literal>
+ directory of the web archive.</para>
+ <para>The other difference compare to a regular portlet application, can be found in the portlet
+ descriptor. All details about it can be found in the JSR-301 specification that the JBoss Portlet Bridge
+ implements.
+ <programlistingco>
+ <areaspec>
+ <area id="tutorials.jsf.portlet" coords="9"/>
+ <area id="tutorials.jsf.view" coords="21"/>
+ <area id="tutorials.jsf.edit" coords="26"/>
+ <area id="tutorials.jsf.help" coords="31"/>
+ </areaspec>
+ <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
+ http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+ version="2.0">
+ <portlet>
+ <portlet-name>JSFHelloUserPortlet</portlet-name>
+ <portlet-class>javax.portlet.faces.GenericFacesPortlet</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>view</portlet-mode>
+ <portlet-mode>edit</portlet-mode>
+ <portlet-mode>help</portlet-mode>
+ </supports>
+ <portlet-info>
+ <title>JSF Hello User Portlet</title>
+ </portlet-info>
+
+ <init-param>
+ <name>javax.portlet.faces.defaultViewId.view</name>
+ <value>/jsf/welcome.jsp</value>
+ </init-param>
+
+ <init-param>
+ <name>javax.portlet.faces.defaultViewId.edit</name>
+ <value>/jsf/edit.jsp</value>
+ </init-param>
+
+ <init-param>
+ <name>javax.portlet.faces.defaultViewId.help</name>
+ <value>/jsf/help.jsp</value>
+ </init-param>
+
+ </portlet>
+</portlet-app>]]></programlisting>
+ <calloutlist>
+ <callout arearefs="tutorials.jsf.portlet"><para>All JSF portlets define <literal>javax.portlet.faces.GenericFacesPortlet</literal>
+ as portlet class. This class is part of the JBoss Portlet Bridge</para></callout>
+ <callout arearefs="tutorials.jsf.view"><para>This is a mandatory parameter to define what's the default page to display.</para></callout>
+ <callout arearefs="tutorials.jsf.edit"><para>This parameter defines which page to display on the 'edit' mode.</para></callout>
+ <callout arearefs="tutorials.jsf.help"><para>This parameter defines which page to display on the 'help' mode.</para></callout>
+ </calloutlist>
+ </programlistingco>
</sect3>
</sect2>
</sect1>
17 years, 8 months
JBoss Portal SVN: r11831 - examples/trunk/JSFHelloUser/src/main/webapp/jsf.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-09-08 09:04:48 -0400 (Mon, 08 Sep 2008)
New Revision: 11831
Modified:
examples/trunk/JSFHelloUser/src/main/webapp/jsf/edit.jsp
examples/trunk/JSFHelloUser/src/main/webapp/jsf/help.jsp
Log:
minor fix
Modified: examples/trunk/JSFHelloUser/src/main/webapp/jsf/edit.jsp
===================================================================
--- examples/trunk/JSFHelloUser/src/main/webapp/jsf/edit.jsp 2008-09-08 13:00:54 UTC (rev 11830)
+++ examples/trunk/JSFHelloUser/src/main/webapp/jsf/edit.jsp 2008-09-08 13:04:48 UTC (rev 11831)
@@ -3,5 +3,5 @@
<f:view>
<div class="portlet-section-header"><h:outputText value="Edit mode"/></div>
-<div class='Portlet-section-body">This is the edit mode, a convenient place to let the user change his portlet preferences.</div>
+<div class="portlet-section-body">This is the edit mode, a convenient place to let the user change his portlet preferences.</div>
</f:view>
\ No newline at end of file
Modified: examples/trunk/JSFHelloUser/src/main/webapp/jsf/help.jsp
===================================================================
--- examples/trunk/JSFHelloUser/src/main/webapp/jsf/help.jsp 2008-09-08 13:00:54 UTC (rev 11830)
+++ examples/trunk/JSFHelloUser/src/main/webapp/jsf/help.jsp 2008-09-08 13:04:48 UTC (rev 11831)
@@ -2,5 +2,5 @@
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:view>
<div class="portlet-section-header">Help mode</div>
-<div class='Portlet-section-body">This is the help mode, a convenient place to give the user some help information.</div>
+<div class="portlet-section-body">This is the help mode, a convenient place to give the user some help information.</div>
</f:view>
\ No newline at end of file
17 years, 8 months
JBoss Portal SVN: r11830 - examples/trunk/JSFHelloUser.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-09-08 09:00:54 -0400 (Mon, 08 Sep 2008)
New Revision: 11830
Modified:
examples/trunk/JSFHelloUser/
Log:
SVN ignore 'target'
Property changes on: examples/trunk/JSFHelloUser
___________________________________________________________________
Name: svn:ignore
+ target
17 years, 8 months
JBoss Portal SVN: r11829 - branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war.
by portal-commits@lists.jboss.org
Author: wesleyhales
Date: 2008-09-07 17:09:52 -0400 (Sun, 07 Sep 2008)
New Revision: 11829
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp
Log:
login modal fix for localhost vs -b
Modified: branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp 2008-09-06 12:57:20 UTC (rev 11828)
+++ branches/JBoss_Portal_Branch_2_7/core/src/resources/portal-server-war/login.jsp 2008-09-07 21:09:52 UTC (rev 11829)
@@ -93,9 +93,10 @@
<div class="form-field">
<label for="j_password"><%= rb.getString("LOGIN_PASSWORD") %></label>
<input type="password" name="j_password" id="j_password" value=""/>
- </div>
- <div class="button-container">
+ </div><br class="clear"/>
+ <div class="button-container"><br class="clear"/>
<input style="<%=(request.getParameter("loginheight") != null ? "" : "display:none")%>;" type="button" name="cancel" value="<%= rb.getString("LOGIN_CANCEL") %>" class="cancel-button" onclick="window.parent.hideContentModal('login-modal');"/>
+ <br class="clear"/>
<input style="<%=(request.getParameter("loginheight") != null ? "" : "right:10px")%>;" type="submit" name="login" value="<%= rb.getString("LOGIN_SUBMIT") %>" class="login-button"/>
</div>
<br class="clear"/>
17 years, 8 months
JBoss Portal SVN: r11828 - branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-09-06 08:57:20 -0400 (Sat, 06 Sep 2008)
New Revision: 11828
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/AliasBindingManagerBean.java
Log:
- rename and create should now work for aliases as well now! Woot! ^_^
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/AliasBindingManagerBean.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/AliasBindingManagerBean.java 2008-09-06 12:44:36 UTC (rev 11827)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/AliasBindingManagerBean.java 2008-09-06 12:57:20 UTC (rev 11828)
@@ -115,7 +115,7 @@
public List<QNameSelectItem> getAvailableRenderParameters()
{
- if(availableRenderParameters == null)
+ if (availableRenderParameters == null)
{
return Collections.emptyList();
}
@@ -157,29 +157,19 @@
public String delete(String name) throws IllegalCoordinationException
{
- DisplayAliasBinding binding = displayAliasBindings.get(name);
- if (binding != null)
- {
- AliasBindingInfo alias = binding.getAlias();
- managerBean.getCoordinationService().removeAliasBinding(alias);
- }
+ managerBean.getCoordinationService().removeAliasBinding(managerBean.getSelectedPage(), name);
return resetSelection();
}
public String rename(String oldName, String newName) throws IllegalCoordinationException
{
- DisplayAliasBinding binding = displayAliasBindings.get(oldName);
- if (binding != null)
- {
- AliasBindingInfo alias = binding.getAlias();
- managerBean.getCoordinationService().renameAliasBinding(alias, newName);
- }
+ managerBean.getCoordinationService().renameAliasBinding(managerBean.getSelectedPage(), oldName, newName);
return resetSelection();
}
public void extractInfoFrom(Window window, PortletInfo info)
{
- // retrieve metadata on public render parameters
+ // retrieve metadata on public render parameters
NavigationInfo navInfo = info.getNavigation();
for (ParameterInfo pInfo : navInfo.getPublicParameters())
{
@@ -220,7 +210,7 @@
public int compareTo(Object o)
{
- DisplayAliasBinding other = (DisplayAliasBinding) o;
+ DisplayAliasBinding other = (DisplayAliasBinding)o;
return getName().compareTo(other.getName());
}
}
17 years, 8 months
JBoss Portal SVN: r11827 - in branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal: core/impl/coordination and 1 other directories.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-09-06 08:44:36 -0400 (Sat, 06 Sep 2008)
New Revision: 11827
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.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/test/core/model/portal/coordination/CoordinationServiceTestCase.java
Log:
- Added getAliasBinding(page, name), removeAliasBinding(page, name) and renameAliasBinding(page, alias name, new name) methods.
- Added test cases.
- I have "optimized" some cases by using declared properties instead of properties (in this commit and previous) and it just
occurred to me that this might break behavior. But as this potential behavior was not tested, I have no way to know... Bolek?
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java 2008-09-06 12:14:37 UTC (rev 11826)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java 2008-09-06 12:44:36 UTC (rev 11827)
@@ -253,6 +253,13 @@
void removeAliasBinding(AliasBindingInfo aliasInfo) throws IllegalCoordinationException;
/**
+ * @param page
+ * @param name
+ * @throws IllegalCoordinationException
+ */
+ void removeAliasBinding(Page page, String name);
+
+ /**
* Renames the specified alias to the new name
*
* @param aliasBinding the alias binding to be renamed
@@ -263,12 +270,27 @@
/**
* @param page
+ * @param bindingName
+ * @param newName
+ * @throws IllegalCoordinationException
+ */
+ void renameAliasBinding(Page page, String bindingName, String newName) throws IllegalCoordinationException;
+
+ /**
+ * @param page
* @return collection of alias bindings connected to the given page
*/
Collection<? extends AliasBindingInfo> getAliasBindings(Page page);
/**
* @param page
+ * @param name
+ * @return
+ */
+ AliasBindingInfo getAliasBinding(Page page, String name);
+
+ /**
+ * @param page
* @param parameterQName
* @return window bindings for a given parameter qname
*/
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-09-06 12:14:37 UTC (rev 11826)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/coordination/CoordinationService.java 2008-09-06 12:44:36 UTC (rev 11827)
@@ -359,7 +359,7 @@
public EventWiringInfo getEventWiring(Page page, String name) throws IllegalCoordinationException
{
ParameterValidation.throwIllegalArgExceptionIfNull(page, "Page");
- ParameterValidation.throwIllegalArgExceptionIfNull(name, "Event wiring name");
+ ParameterValidation.throwIllegalArgExceptionIfNull(name, "event wiring name");
String wiringProp = PREFIX_EVENT_WIRING + name;
String nameProp = PREFIX_EVENT_NAME + name;
@@ -665,35 +665,44 @@
public void removeAliasBinding(AliasBindingInfo aliasInfo) throws IllegalCoordinationException
{
ParameterValidation.throwIllegalArgExceptionIfNull(aliasInfo, "AliasBindingInfo");
+ removeAliasBinding(aliasInfo.getPage(), aliasInfo.getName());
+ }
- AliasInfoPOJO alias = (AliasInfoPOJO)aliasInfo;
- String propName = PREFIX_PARAMETER_ALIAS_NAME + aliasInfo.getName();
- if (alias.getPage().getProperties().keySet().contains(propName))
- {
- alias.getPage().setDeclaredProperty(propName, null);
- }
+ public void removeAliasBinding(Page page, String name)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(name, "window binding name");
+ ParameterValidation.throwIllegalArgExceptionIfNull(page, "Page");
+
+ String nameProp = PREFIX_PARAMETER_ALIAS_NAME + name;
+ page.setDeclaredProperty(nameProp, null);
}
public void renameAliasBinding(AliasBindingInfo aliasBinding, String newName) throws IllegalCoordinationException
{
removeAliasBinding(aliasBinding);
- AliasInfoPOJO alias = (AliasInfoPOJO)aliasBinding;
- setAliasBinding(alias.getPage(), newName, alias.getNames());
+ setAliasBinding(aliasBinding.getPage(), newName, aliasBinding.getNames());
}
+ public void renameAliasBinding(Page page, String bindingName, String newName) throws IllegalCoordinationException
+ {
+ AliasBindingInfo info = getAliasBinding(page, bindingName);
+ removeAliasBinding(page, bindingName);
+ setAliasBinding(page, newName, info.getNames());
+ }
+
public Collection<AliasBindingInfo> getAliasBindings(Page page)
{
ParameterValidation.throwIllegalArgExceptionIfNull(page, "Page");
HashSet<AliasBindingInfo> aliases = new HashSet<AliasBindingInfo>();
- for (String propertyName : page.getProperties().keySet())
+ for (String propertyName : page.getDeclaredProperties().keySet())
{
if (propertyName.startsWith(PREFIX_PARAMETER_ALIAS_NAME))
{
String aliasName = propertyName.substring(PREFIX_PARAMETER_ALIAS_LENGTH);
AliasInfoPOJO info = new AliasInfoPOJO(aliasName, page);
- String qnameList = page.getProperty(propertyName);
+ String qnameList = page.getDeclaredProperty(propertyName);
String[] qnames = qnameList.split(QNAME_SEPARATOR);
if (qnames != null)
{
@@ -710,6 +719,30 @@
return aliases;
}
+ public AliasBindingInfo getAliasBinding(Page page, String name)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(page, "Page");
+ ParameterValidation.throwIllegalArgExceptionIfNull(name, "alias binding name");
+
+ String nameProp = PREFIX_PARAMETER_ALIAS_NAME + name;
+ String qNameList = page.getDeclaredProperty(nameProp);
+ if (qNameList != null)
+ {
+ String[] qnames = qNameList.split(QNAME_SEPARATOR);
+ Set<QName> names = new HashSet<QName>(qnames.length);
+ for (String string : qnames)
+ {
+ QName qname = QName.valueOf(string);
+ names.add(qname);
+ }
+ return new AliasInfoPOJO(name, page, names);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
public Collection<? extends WindowBindingInfo> getWindowBindings(Page page, QName parameterName)
{
ParameterValidation.throwIllegalArgExceptionIfNull(page, "Page");
@@ -976,13 +1009,18 @@
private final Page page;
private final Set<QName> names;
- private AliasInfoPOJO(String name, Page page)
+ private AliasInfoPOJO(String name, Page page, Set<QName> names)
{
this.name = name;
this.page = page;
- this.names = new HashSet<QName>();
+ this.names = names;
}
+ private AliasInfoPOJO(String name, Page page)
+ {
+ this(name, page, new HashSet<QName>());
+ }
+
public String getName()
{
return name;
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-09-06 12:14:37 UTC (rev 11826)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java 2008-09-06 12:44:36 UTC (rev 11827)
@@ -48,6 +48,7 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot com">Boleslaw Dawidowicz</a>
@@ -422,24 +423,24 @@
Collection<AliasBindingInfo> bindings1 = cos.getAliasBindings(page1);
- assertTrue(bindings1.size() == 1);
+ assertEquals(1, bindings1.size());
AliasBindingInfo info = bindings1.iterator().next();
assertTrue(info.getName().equals("alias1"));
- assertTrue(info.getNames().size() == 3);
+ assertEquals(3, info.getNames().size());
assertTrue(info.getNames().contains(qname1));
assertTrue(info.getNames().contains(qname2));
assertTrue(info.getNames().contains(qname3));
cos.removeAliasBinding(info);
- assertTrue(cos.getAliasBindings(page1).size() == 0);
+ assertTrue(cos.getAliasBindings(page1).isEmpty());
AliasBindingInfo info2 = null;
AliasBindingInfo info3 = null;
Collection<AliasBindingInfo> bindings2 = cos.getAliasBindings(page2);
- assertTrue(bindings2.size() == 2);
+ assertEquals(2, bindings2.size());
for (AliasBindingInfo aliasBindingInfo : bindings2)
{
@@ -458,13 +459,13 @@
assertNotNull(info3);
assertTrue(info2.getName().equals("alias2"));
- assertTrue(info2.getNames().size() == 3);
+ assertEquals(3, info2.getNames().size());
assertTrue(info2.getNames().contains(qname4));
assertTrue(info2.getNames().contains(qname5));
assertTrue(info2.getNames().contains(qname6));
assertTrue(info3.getName().equals("alias3"));
- assertTrue(info3.getNames().size() == 3);
+ assertEquals(3, info3.getNames().size());
assertTrue(info3.getNames().contains(qname7));
assertTrue(info3.getNames().contains(qname8));
assertTrue(info3.getNames().contains(qname9));
@@ -473,6 +474,96 @@
TransactionAssert.commitTransaction();
}
+ public void testGetAliasBinding() throws Exception
+ {
+ TransactionAssert.beginTransaction();
+
+ Page page1 = getPage1();
+
+ QName qname1 = new QName("nm1", "local1");
+ QName qname2 = new QName("nm2", "local2");
+ QName qname3 = new QName("nm3", "local3");
+ QName qname4 = new QName("nm4", "local4");
+ QName qname5 = new QName("nm5", "local5");
+ QName qname6 = new QName("nm6", "local6");
+
+ HashSet<QName> qnames1 = new HashSet<QName>();
+ qnames1.add(qname1);
+ qnames1.add(qname2);
+ qnames1.add(qname3);
+
+ HashSet<QName> qnames2 = new HashSet<QName>();
+ qnames2.add(qname4);
+ qnames2.add(qname5);
+ qnames2.add(qname6);
+
+ cos.setAliasBinding(page1, "alias1", qnames1);
+ cos.setAliasBinding(page1, "alias2", qnames2);
+
+ AliasBindingInfo info = cos.getAliasBinding(page1, "alias1");
+ assertNotNull(info);
+ assertEquals("alias1", info.getName());
+ assertEquals(page1, info.getPage());
+ Set<QName> names = info.getNames();
+ assertNotNull(names);
+ assertEquals(3, names.size());
+ assertTrue(names.contains(qname1));
+ assertTrue(names.contains(qname2));
+ assertTrue(names.contains(qname3));
+
+ info = cos.getAliasBinding(page1, "alias2");
+ assertNotNull(info);
+ assertEquals("alias2", info.getName());
+ assertEquals(page1, info.getPage());
+ names = info.getNames();
+ assertNotNull(names);
+ assertEquals(3, names.size());
+ assertTrue(names.contains(qname4));
+ assertTrue(names.contains(qname5));
+ assertTrue(names.contains(qname6));
+
+ TransactionAssert.commitTransaction();
+ }
+
+ public void testRemoveAliasBinding() throws Exception
+ {
+ TransactionAssert.beginTransaction();
+
+ Page page1 = getPage1();
+
+ QName qname1 = new QName("nm1", "local1");
+ QName qname2 = new QName("nm2", "local2");
+ QName qname3 = new QName("nm3", "local3");
+ QName qname4 = new QName("nm4", "local4");
+ QName qname5 = new QName("nm5", "local5");
+ QName qname6 = new QName("nm6", "local6");
+
+ HashSet<QName> qnames1 = new HashSet<QName>();
+ qnames1.add(qname1);
+ qnames1.add(qname2);
+ qnames1.add(qname3);
+
+ HashSet<QName> qnames2 = new HashSet<QName>();
+ qnames2.add(qname4);
+ qnames2.add(qname5);
+ qnames2.add(qname6);
+
+ cos.setAliasBinding(page1, "alias1", qnames1);
+ cos.setAliasBinding(page1, "alias2", qnames2);
+
+ Collection<AliasBindingInfo> bindings = cos.getAliasBindings(page1);
+ assertEquals(2, bindings.size());
+
+ cos.removeAliasBinding(page1, "alias1");
+ bindings = cos.getAliasBindings(page1);
+ assertEquals(1, bindings.size());
+ assertNull(cos.getAliasBinding(page1, "alias1"));
+ assertNotNull(cos.getAliasBinding(page1, "alias2"));
+
+ TransactionAssert.commitTransaction();
+ }
+
+
public void testRenameEventWiring() throws IllegalCoordinationException
{
TransactionAssert.beginTransaction();
@@ -699,6 +790,11 @@
info = bindings1.iterator().next();
assertEquals("new", info.getName());
+ cos.renameAliasBinding(page1, "new", "newer");
+
+ info = cos.getAliasBinding(page1, "newer");
+ assertNotNull(info);
+
TransactionAssert.commitTransaction();
}
17 years, 8 months
JBoss Portal SVN: r11826 - branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2008-09-06 08:14:37 -0400 (Sat, 06 Sep 2008)
New Revision: 11826
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java
Log:
- Rename and delete should now work.
- Create needs to be re-worked as interface is crappy and allows things that shouldn't be possible.
Modified: branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java 2008-09-06 11:52:19 UTC (rev 11825)
+++ branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/coordination/ParameterBindingManagerBean.java 2008-09-06 12:14:37 UTC (rev 11826)
@@ -161,23 +161,13 @@
public String delete(String name) throws IllegalCoordinationException
{
- DisplayParameterBinding displayParam = displayParameterBindings.get(name);
- if (displayParam != null)
- {
- WindowBindingInfo bindingInfo = displayParam.getBindingInfo();
- managerBean.getCoordinationService().removeWindowBinding(bindingInfo);
- }
+ managerBean.getCoordinationService().removeWindowBinding(managerBean.getSelectedPage(), name);
return resetSelection();
}
public String rename(String name, String newName) throws IllegalCoordinationException
{
- DisplayParameterBinding displayParam = displayParameterBindings.get(name);
- if (displayParam != null)
- {
- WindowBindingInfo bindingInfo = displayParam.getBindingInfo();
- managerBean.getCoordinationService().renameWindowBinding(bindingInfo, newName);
- }
+ managerBean.getCoordinationService().renameWindowBinding(managerBean.getSelectedPage(), name, newName);
return resetSelection();
}
@@ -189,7 +179,7 @@
public DisplayParameterBinding(WindowBindingInfo bindingInfo)
{
this.bindingInfo = bindingInfo;
- Set<Map.Entry<Window,QName>> entries = bindingInfo.getWindows().entrySet();
+ Set<Map.Entry<Window, QName>> entries = bindingInfo.getWindows().entrySet();
parameterWindowPairs = new LinkedList<ParameterWindowPair>();
for (Map.Entry<Window, QName> entry : entries)
{
@@ -285,11 +275,11 @@
public static String[] resolveFrom(String pairAsString)
{
- int separatorIndex = pairAsString.indexOf(SEP);
+ int separatorIndex = pairAsString.indexOf(SEP);
String name = pairAsString.substring(0, separatorIndex);
String windowName = pairAsString.substring(separatorIndex + SEP.length());
- return new String[] {name, windowName};
+ return new String[]{name, windowName};
}
}
}
17 years, 8 months