JBoss Portal SVN: r11562 - in branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal: core/controller/portlet and 2 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-07-23 15:49:11 -0400 (Wed, 23 Jul 2008)
New Revision: 11562
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/CoordinationManager.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPortletControllerContext.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:
implement alias binding runtime update
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-07-23 19:28:07 UTC (rev 11561)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationConfigurator.java 2008-07-23 19:49:11 UTC (rev 11562)
@@ -142,7 +142,7 @@
void setAliasBinding(Page page, String aliasName, Set<QName> qnames) throws IllegalCoordinationException;
/**
- * Removes alias binding
+ * Removes an alias binding.
*
* @param aliasInfo
* @throws IllegalCoordinationException
@@ -153,24 +153,24 @@
* @param page
* @return collection of alias bindings connected to the given page
*/
- Collection<AliasBindingInfo> getAliasBindings(Page page);
+ Collection<? extends AliasBindingInfo> getAliasBindings(Page page);
/**
* @param page
* @param parameterQName
* @return window bindings for a given parameter qname
*/
- Collection<WindowBindingInfo> getWindowBindings(Page page, QName parameterQName);
+ Collection<? extends WindowBindingInfo> getWindowBindings(Page page, QName parameterQName);
/**
* @param page
* @return window bindings define in the scope of a given page
*/
- Collection<WindowBindingInfo> getWindowBindings(Page page);
+ Collection<? extends WindowBindingInfo> getWindowBindings(Page page);
/**
* @param window
* @return window bindings where given window is involved
*/
- Collection<WindowBindingInfo> getWindowBindings(Window window);
+ Collection<? extends WindowBindingInfo> getWindowBindings(Window window);
}
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationManager.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationManager.java 2008-07-23 19:28:07 UTC (rev 11561)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/coordination/CoordinationManager.java 2008-07-23 19:49:11 UTC (rev 11562)
@@ -50,30 +50,31 @@
Map<Window, PortletWindowEvent> getEventWindows(PortletWindowEvent event, ControllerPortletControllerContext context) throws IllegalCoordinationException;
- /**
- * Resolves implicit strategy. If there is no strategy defined for this page container method will browse
+ /**
+ * Resolves implicit wiring strategy. If there is no strategy defined for this page container method will browse
* parent object to resolve inherited recursive strategies. If no strategy is set this method will return default one
*
* @param page
* @return
- * @throws IllegalCoordinationException
*/
- CoordinationStrategy resolveBindingStrategy(PageContainer page);
+ CoordinationStrategy resolveEventWiringStrategy(PageContainer page);
- /**
- * Resolves implicit wiring strategy. If there is no strategy defined for this page container method will browse
+ /**
+ * Resolves implicit strategy. If there is no strategy defined for this page container method will browse
* parent object to resolve inherited recursive strategies. If no strategy is set this method will return default one
*
- * @param page
- * @return
- * @throws IllegalCoordinationException
+ * @param pageContainer the page container
+ * @return the coordination strategy
*/
- CoordinationStrategy resolveEventWiringStrategy(PageContainer page);
+ CoordinationStrategy resolveBindingStrategy(PageContainer pageContainer);
/**
- * @param window
- * @param name
- * @return all parameter binding names with a given window/qname mapping
+ * Returns the list of bindings for a given window and a given name. The collection is an aggregation
+ * of window bindings and alias bindings.
+ *
+ * @param window the target window
+ * @param name the target name
+ * @return all parameter binding names with a given window/name mapping
*/
Collection<String> getBindingNames(Window window, QName name);
}
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-23 19:28:07 UTC (rev 11561)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-23 19:49:11 UTC (rev 11562)
@@ -32,6 +32,7 @@
import org.jboss.portal.core.navstate.NavigationalStateContext;
import org.jboss.portal.core.model.portal.Window;
import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.Page;
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.navstate.PageNavigationalState;
import org.jboss.portal.core.controller.coordination.CoordinationManager;
@@ -44,7 +45,6 @@
import java.util.Map;
import java.util.Set;
import java.util.Collection;
-import java.util.HashSet;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
@@ -76,6 +76,9 @@
/** . */
private Map<String, HashMap<QName, String[]>> windowPublicNavigationalStateUpdate;
+ /** . */
+ private final CoordinationStrategy coordinationStrategy;
+
public ControllerPageNavigationalState(
NavigationalStateContext navigationalStateContext,
ControllerPortletControllerContext controllerContext,
@@ -87,6 +90,8 @@
this.updates = null;
this.pageUpdates = null;
this.windowPublicNavigationalStateUpdate = null;
+ this.coordinationStrategy = getCoordinationManager().resolveBindingStrategy(controllerContext.getPage());
+
}
public ControllerPageNavigationalState(
@@ -99,6 +104,7 @@
this.updates = that.updates != null ? new HashMap<String, org.jboss.portal.core.model.portal.navstate.WindowNavigationalState>(that.updates) : null;
this.pageUpdates = that.pageUpdates != null ? new HashMap<QName, String[]>(that.pageUpdates) : null;
this.windowPublicNavigationalStateUpdate = that.windowPublicNavigationalStateUpdate != null ? new HashMap<String, HashMap<QName, String[]>>(that.windowPublicNavigationalStateUpdate) : null;
+ this.coordinationStrategy = getCoordinationManager().resolveBindingStrategy(controllerContext.getPage());
}
/**
@@ -399,8 +405,8 @@
String parameterId = parameterInfo.getId();
//
- if (strategy.equals(CoordinationStrategy.EXPLICIT) ||
- (strategy.equals(CoordinationStrategy.FALLBACK) && explicitParameterValue != null))
+ if (coordinationStrategy == CoordinationStrategy.EXPLICIT ||
+ (coordinationStrategy == CoordinationStrategy.FALLBACK && explicitParameterValue != null))
{
// We clone the value here so we keep the internal state not potentially changed
if (explicitParameterValue != null)
@@ -468,6 +474,7 @@
//
if (info != null)
{
+ Window window = getWindow(windowName);
NavigationInfo navigationInfo = info.getNavigation();
for (Map.Entry<String, String[]> entry : update.entrySet())
{
@@ -482,8 +489,10 @@
QName name = parameterInfo.getName();
String[] value = entry.getValue();
+ //
CoordinationStrategy strategy = manager.resolveBindingStrategy(getWindow(windowName).getPage());
+ //
Collection<String> bindings = manager.getBindingNames(getWindow(windowName), name);
@@ -500,20 +509,22 @@
{
setWindowPublicNavigationalState(windowName, name, REMOVAL);
}
-
}
else
{
- if (value.length > 0)
+ if (coordinationStrategy != CoordinationStrategy.EXPLICIT)
{
- setPublicNavigationalState(name, value);
+ if (value.length > 0)
+ {
+ setPublicNavigationalState(name, value);
+ }
+ else
+ {
+ removePublicNavigationalState(name);
+ }
}
- else
- {
- removePublicNavigationalState(name);
- }
- // Explicit bindings
+ //
for (String binding : bindings)
{
setPublicNavigationalState(new QName(XMLConstants.DEFAULT_NS_PREFIX, binding), value);
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPortletControllerContext.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPortletControllerContext.java 2008-07-23 19:28:07 UTC (rev 11561)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPortletControllerContext.java 2008-07-23 19:49:11 UTC (rev 11562)
@@ -87,6 +87,9 @@
/** . */
private final String pageId;
+ /** . */
+ private final Page page;
+
public ControllerPortletControllerContext(ControllerContext controllerContext, Page page)
{
InstanceContainer instanceContainer = controllerContext.getController().getInstanceContainer();
@@ -162,8 +165,14 @@
this.infos = infos;
this.instances = instances;
this.pageId = page.getId().toString();
+ this.page = page;
}
+ public Page getPage()
+ {
+ return page;
+ }
+
public String getPageId()
{
return pageId;
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-07-23 19:28:07 UTC (rev 11561)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/coordination/CoordinationService.java 2008-07-23 19:49:11 UTC (rev 11562)
@@ -170,12 +170,10 @@
public Collection<String> getBindingNames(Window window, QName name)
{
-
Set<String> names = new HashSet<String>();
- Collection<WindowBindingInfo> infos = getWindowBindings(window);
-
- for (WindowBindingInfo info : infos)
+ //
+ for (WindowBindingInfo info : getWindowBindings(window))
{
for (Map.Entry<Window, QName> entry : info.getWindows().entrySet())
{
@@ -186,6 +184,16 @@
}
}
+ //
+ for (AliasBindingInfo info : getAliasBindings(window.getPage()))
+ {
+ if (info.getQNames().contains(name))
+ {
+ names.add(info.getName());
+ }
+ }
+
+ //
return names;
}
@@ -419,13 +427,8 @@
// Examine window properties and create page events
- Collection<Window> windows = getWindows(page);
-
Map<String, EventInfoPOJO> events = new HashMap<String, EventInfoPOJO>();
-
-
-
- for (Window window : windows)
+ for (PortalObject window : page.getChildren(PortalObject.WINDOW_MASK))
{
Set<String> propNames = window.getProperties().keySet();
@@ -461,11 +464,11 @@
if (qname != null && role != null && role.equalsIgnoreCase("source"))
{
- info.getSources().put(window, qname);
+ info.getSources().put((Window)window, qname);
}
else if (qname != null && role != null && role.equalsIgnoreCase("destination"))
{
- info.getDestinations().put(window, qname);
+ info.getDestinations().put((Window)window, qname);
}
}
@@ -520,54 +523,45 @@
return events;
}
+ // Binding stuff *****************************************************************************************
+
public void setWindowBinding(String name, Map<Window, QName> windows) throws IllegalCoordinationException
{
if (windows == null)
{
throw new IllegalArgumentException("windows are null");
}
-
if (name == null)
{
throw new IllegalArgumentException("name is null");
}
-
if (windows.isEmpty())
{
throw new IllegalArgumentException("empty windows map");
}
-
// Obtain parent page and check that all windows are in one branch...
-
Page parentPage = null;
-
- Set<Window> dw = windows.keySet();
-
-
- for (Window window : dw)
+ for (Window window : windows.keySet())
{
if (parentPage == null)
{
parentPage = window.getPage();
}
-
if (!window.getPage().getId().equals(parentPage.getId()))
{
throw new IllegalCoordinationException("Parent page is not the same for all windows");
}
}
-
// Set window properties
-
String prop_wiring = PREFIX_PARAMETER_BINDING + "." + name;
- for (Window window : dw)
+ //
+ for (Window window : windows.keySet())
{
window.setDeclaredProperty(prop_wiring, windows.get(window).toString());
}
-
}
public void removeWindowBinding(WindowBindingInfo info) throws IllegalCoordinationException
@@ -578,9 +572,9 @@
}
// Remove all entries
-
String prop_wiring = PREFIX_PARAMETER_BINDING + "." + info.getName();
+ //
for (Window window : info.getWindows().keySet())
{
window.setDeclaredProperty(prop_wiring, null);
@@ -594,7 +588,7 @@
throw new IllegalArgumentException("pageContainer is null");
}
-
+ //
setStrategy(pageContainer, strategy, PREFIX_PARAMETER_IMPLICIT_STRATEGY);
}
@@ -606,18 +600,20 @@
throw new IllegalArgumentException("page is null");
}
+ //
return decodeStrategy(pageContainer, PREFIX_PARAMETER_IMPLICIT_STRATEGY);
}
- public CoordinationStrategy resolveBindingStrategy(PageContainer page)
+ public CoordinationStrategy resolveBindingStrategy(PageContainer pageContainer)
{
- if (page == null)
+ if (pageContainer == null)
{
throw new IllegalArgumentException("page is null");
}
- return resolveStrategy(page, PREFIX_PARAMETER_IMPLICIT_STRATEGY);
+ //
+ return resolveStrategy(pageContainer, PREFIX_PARAMETER_IMPLICIT_STRATEGY);
}
@@ -636,37 +632,34 @@
throw new IllegalArgumentException("qnames set is null");
}
+ //
String propName = PREFIX_PARAMETER_ALIAS_NAME + "." + aliasName;
-
// Check if qname consist separator string
-
for (QName qname : qnames)
{
-
-
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());
-
}
public void removeAliasBinding(AliasBindingInfo aliasInfo) throws IllegalCoordinationException
@@ -676,8 +669,8 @@
throw new IllegalArgumentException("alias info is null");
}
+ //
String propName = PREFIX_PARAMETER_ALIAS_NAME + "." + aliasInfo.getName();
-
if (aliasInfo.getPage().getProperties().keySet().contains(propName))
{
aliasInfo.getPage().setDeclaredProperty(propName,null);
@@ -691,20 +684,18 @@
throw new IllegalArgumentException("page is null");
}
+ //
HashSet<AliasBindingInfo> aliases = new HashSet<AliasBindingInfo>();
+ //
for (String propertyName : page.getProperties().keySet())
{
if (propertyName.startsWith(PREFIX_PARAMETER_ALIAS_NAME))
{
String aliasName = propertyName.substring(PREFIX_PARAMETER_ALIAS_NAME.length() + 1);
-
AliasInfoPOJO info = new AliasInfoPOJO(aliasName, page);
-
String qnameList = page.getProperty(propertyName);
-
String[] qnames = qnameList.split(QNAME_SEPARATOR);
-
if (qnames != null)
{
for (String string : qnames)
@@ -713,60 +704,75 @@
info.getQNames().add(qname);
}
}
-
aliases.add(info.getImmutableInfo());
}
}
+ //
return aliases;
}
- public Collection<WindowBindingInfo> getWindowBindings(Page page, QName parameterQName)
+ public Collection<? extends WindowBindingInfo> getWindowBindings(Page page, QName parameterName)
{
-
if (page == null)
{
- throw new IllegalArgumentException("page is null");
+ throw new IllegalArgumentException("Page is null");
}
- if (parameterQName == null)
+ //
+ if (parameterName == null)
{
- throw new IllegalArgumentException("QName is null");
+ throw new IllegalArgumentException("Name is null");
}
- Collection<WindowBindingInfo> pageParams = getWindowBindings(page);
+ //
+ Collection<? extends WindowBindingInfo> pageParams = getWindowBindings(page);
+ //
Collection<WindowBindingInfo> infos = new HashSet<WindowBindingInfo>();
+ //
for (WindowBindingInfo pageParam : pageParams)
{
- if (pageParam.getWindows().containsValue(parameterQName))
+ if (pageParam.getWindows().containsValue(parameterName))
{
infos.add(pageParam);
}
}
+ //
return infos;
}
- public Collection<WindowBindingInfo> getWindowBindings(Page page)
+ public Collection<WindowBindingInfo> getWindowBindings(Window window)
{
+ Collection<? extends WindowBindingInfo> pageParams = getWindowBindings(window.getPage());
+ Collection<WindowBindingInfo> infos = new HashSet<WindowBindingInfo>();
+ for (WindowBindingInfo pageParam : pageParams)
+ {
+ if (pageParam.getWindows().keySet().contains(window))
+ {
+ infos.add(pageParam);
+ }
+ }
+ return infos;
+ }
+
+ public Collection<? extends WindowBindingInfo> getWindowBindings(Page page)
+ {
if (page == null)
{
throw new IllegalArgumentException("page is null");
}
// Examine window properties and create page parameters
+ Collection<PortalObject> children = page.getChildren(PortalObject.WINDOW_MASK);
- Collection<Window> windows = getWindows(page);
-
+ //
Map<String, WindowInfoPOJO> params = new HashMap<String, WindowInfoPOJO>();
-
-
-
- for (Window window : windows)
+ for (PortalObject child : children)
{
- Set<String> propNames = window.getProperties().keySet();
+ Set<String> propNames = child.getProperties().keySet();
for (String propName : propNames)
{
@@ -785,56 +791,28 @@
info = params.get(pn);
}
- String binding = window.getProperty(propName);
+ //
+ String binding = child.getProperty(propName);
-
- //TODO: if the imformation from properties is not consistent should we throw exception?
-
+ //TODO: if the information from properties is not consistent should we throw exception?
if (binding != null)
{
QName qname = decodeQName(binding);
-
+ //
if (qname != null)
{
- info.getWindows().put(window, qname);
+ info.windows.put((Window)child, qname);
}
-
}
-
-
}
}
}
- // Make immutable copy
- Collection<WindowBindingInfo> immutableParams = new HashSet<WindowBindingInfo>();
-
- for (WindowInfoPOJO info : params.values())
- {
- immutableParams.add(info.getImmutableInfo());
- }
-
- return immutableParams;
+ //
+ return Collections.unmodifiableCollection(params.values());
}
- public Collection<WindowBindingInfo> getWindowBindings(Window window)
- {
- Collection<WindowBindingInfo> pageParams = getWindowBindings(window.getPage());
-
- Collection<WindowBindingInfo> infos = new HashSet<WindowBindingInfo>();
-
- for (WindowBindingInfo pageParam : pageParams)
- {
- if (pageParam.getWindows().keySet().contains(window))
- {
- infos.add(pageParam);
- }
- }
-
- return infos;
- }
-
// SETTERS & GETTERS
public PortalObjectContainer getPortalObjectContainer()
@@ -968,23 +946,6 @@
return null;
}
-
-
-
- Collection<Window> getWindows(Page page)
- {
- Set<Window> windows = new HashSet<Window>();
- for (PortalObject portalObject : page.getChildren())
- {
-
- if (portalObject instanceof Window)
- {
- windows.add((Window)portalObject);
- }
- }
- return windows;
- }
-
private QName decodeQName(String fullString)
{
if (fullString.startsWith("{"))
@@ -1051,19 +1012,20 @@
private class WindowInfoPOJO implements WindowBindingInfo
{
+ /** . */
private final String name;
+
+ /** . */
private final Map<Window, QName> windows;
- private WindowInfoPOJO(String name, Map<Window, QName> windows)
- {
- this.name = name;
- this.windows = windows;
- }
+ /** . */
+ private final Map<Window, QName> immutableWindows;
private WindowInfoPOJO(String name)
{
this.name = name;
this.windows = new HashMap<Window,QName>();
+ this.immutableWindows = Collections.unmodifiableMap(windows);
}
public String getName()
@@ -1073,14 +1035,8 @@
public Map<Window, QName> getWindows()
{
- return windows;
+ return immutableWindows;
}
-
- WindowBindingInfo getImmutableInfo()
- {
- return new WindowInfoPOJO(name, Collections.unmodifiableMap(windows));
- }
-
}
private class AliasInfoPOJO implements AliasBindingInfo
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-07-23 19:28:07 UTC (rev 11561)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/model/portal/coordination/CoordinationServiceTestCase.java 2008-07-23 19:49:11 UTC (rev 11562)
@@ -261,7 +261,7 @@
cos.setWindowBinding("binding1", ws);
- Collection<WindowBindingInfo> bindings = cos.getWindowBindings(page1);
+ Collection<? extends WindowBindingInfo> bindings = cos.getWindowBindings(page1);
assertEquals(1, bindings.size());
17 years, 9 months
JBoss Portal SVN: r11561 - branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet.
by portal-commits@lists.jboss.org
Author: bdaw
Date: 2008-07-23 15:28:07 -0400 (Wed, 23 Jul 2008)
New Revision: 11561
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
Log:
- in EXPLICIT make not binded parameters window private
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-23 13:58:30 UTC (rev 11560)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-23 19:28:07 UTC (rev 11561)
@@ -31,6 +31,8 @@
import org.jboss.portal.core.CoreConstants;
import org.jboss.portal.core.navstate.NavigationalStateContext;
import org.jboss.portal.core.model.portal.Window;
+import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.navstate.PageNavigationalState;
import org.jboss.portal.core.controller.coordination.CoordinationManager;
import org.jboss.portal.core.controller.coordination.CoordinationStrategy;
@@ -42,6 +44,7 @@
import java.util.Map;
import java.util.Set;
import java.util.Collection;
+import java.util.HashSet;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
@@ -104,7 +107,7 @@
public void flushUpdates()
{
- if (windowPublicNavigationalStateUpdate != null)
+ if (windowPublicNavigationalStateUpdate != null && updates != null)
{
for (Map.Entry<String, HashMap<QName, String[]>> entry : windowPublicNavigationalStateUpdate.entrySet())
{
@@ -116,16 +119,20 @@
wns = navigationalStateContext.getWindowNavigationalState(windowId);
}
- Map<String, String[]> parameters = new HashMap<String, String[]>();
-
- for (Map.Entry<QName, String[]> value : entry.getValue().entrySet())
+
+ if (wns != null)
{
- parameters.put(value.getKey().toString(), value.getValue());
- }
- ParametersStateString pss = ParametersStateString.create(parameters);
+ Map<String, String[]> parameters = new HashMap<String, String[]>();
- updates.put(entry.getKey(), new org.jboss.portal.core.model.portal.navstate.WindowNavigationalState(wns.getWindowState(), wns.getMode(), wns.getContentState(), pss));
+ for (Map.Entry<QName, String[]> value : entry.getValue().entrySet())
+ {
+ parameters.put(value.getKey().toString(), value.getValue());
+ }
+
+ ParametersStateString pss = ParametersStateString.create(parameters);
+ updates.put(entry.getKey(), new org.jboss.portal.core.model.portal.navstate.WindowNavigationalState(wns.getWindowState(), wns.getMode(), wns.getContentState(), pss));
+ }
}
//
@@ -272,10 +279,19 @@
throw new IllegalStateException();
}
+ CoordinationStrategy strategy = getCoordinationManager().resolveBindingStrategy(getWindow(windowName).getPage());
+
//
if (windowPublicNavigationalStateUpdate == null)
{
- windowPublicNavigationalStateUpdate = new HashMap<String, HashMap<QName, String[]>>();
+ if (strategy.equals(CoordinationStrategy.EXPLICIT))
+ {
+ initiateWindowPublicNavigationalStateUpdate(windowName);
+ }
+ else
+ {
+ windowPublicNavigationalStateUpdate = new HashMap<String, HashMap<QName, String[]>>();
+ }
}
if (windowPublicNavigationalStateUpdate.get(windowName) == null)
@@ -329,14 +345,29 @@
{
PortletInfo info = controllerContext.getPortletInfo(windowName);
+ CoordinationManager manager = getCoordinationManager();
+
+ CoordinationStrategy strategy = manager.resolveBindingStrategy(getWindow(windowName).getPage());
+
+ // For explicit initiate windowPublicNavigationStateUpdate with previous state
+ if (strategy.equals(CoordinationStrategy.EXPLICIT) && windowPublicNavigationalStateUpdate == null)
+ {
+ initiateWindowPublicNavigationalStateUpdate(windowName);
+ }
+
//
if (info != null && info.getNavigation() != null)
{
Map<String, String[]> publicNavigationalState = new HashMap<String, String[]>();
for (ParameterInfo parameterInfo : info.getNavigation().getPublicParameters())
{
+
+ Collection<String> bindings = manager.getBindingNames(getWindow(windowName), parameterInfo.getName());
+
// Don't store the URI as a page scoped public render parameter but window scoped
- if (CoreConstants.JBOSS_PORTAL_CONTENT_URI.equals(parameterInfo.getName()))
+ // Also for explicit strategy and parameter with no bindings
+ if (CoreConstants.JBOSS_PORTAL_CONTENT_URI.equals(parameterInfo.getName())
+ || (strategy.equals(CoordinationStrategy.EXPLICIT) && bindings.size() == 0))
{
String[] parameterValue = getWindowPublicNavigationalState(windowName, parameterInfo.getName());
@@ -358,8 +389,6 @@
String[] explicitParameterValue = null;
// Check all bindings for this window/qname pair
- Collection<String> bindings = getCoordinationManager().getBindingNames(getWindow(windowName), parameterInfo.getName());
-
// If this window/qname is binded several times with different updated params value will be unpredictable...
for (String binding : bindings)
{
@@ -370,7 +399,6 @@
String parameterId = parameterInfo.getId();
//
- CoordinationStrategy strategy = getCoordinationManager().resolveBindingStrategy(getWindow(windowName).getPage());
if (strategy.equals(CoordinationStrategy.EXPLICIT) ||
(strategy.equals(CoordinationStrategy.FALLBACK) && explicitParameterValue != null))
{
@@ -453,9 +481,16 @@
{
QName name = parameterInfo.getName();
String[] value = entry.getValue();
+
+ CoordinationStrategy strategy = manager.resolveBindingStrategy(getWindow(windowName).getPage());
+
+ Collection<String> bindings = manager.getBindingNames(getWindow(windowName), name);
+
// Don't store the URI as a page scoped public render parameter but window scoped
- if (CoreConstants.JBOSS_PORTAL_CONTENT_URI.equals(name))
+ // Also for explicit strategy and parameter with no bindings
+ if (CoreConstants.JBOSS_PORTAL_CONTENT_URI.equals(name)
+ || (strategy.equals(CoordinationStrategy.EXPLICIT) && bindings.size() == 0))
{
if (value.length > 0)
{
@@ -479,8 +514,6 @@
}
// Explicit bindings
- Collection<String> bindings = manager.getBindingNames(getWindow(windowName), name);
-
for (String binding : bindings)
{
setPublicNavigationalState(new QName(XMLConstants.DEFAULT_NS_PREFIX, binding), value);
@@ -574,6 +607,57 @@
pageUpdates.put(name, REMOVAL);
}
+ /**
+ *
+ */
+ public HashMap<QName, String[]> getWindowPublicContentStateParameters(String windowName)
+ {
+ HashMap<QName, String[]> params = new HashMap<QName, String[]>();
+
+ org.jboss.portal.core.model.portal.navstate.WindowNavigationalState wns = navigationalStateContext.getWindowNavigationalState(getWindow(windowName).getId().toString());
+
+ if (wns != null)
+ {
+
+ ParametersStateString pss = (ParametersStateString)wns.getPublicContentState();
+
+ if (pss != null)
+ {
+ for (Map.Entry<String, String[]> entry : pss.getParameters().entrySet())
+ {
+ params.put(QName.valueOf(entry.getKey()), entry.getValue());
+ }
+ }
+ }
+
+ return params;
+ }
+
+ /**
+ *
+ */
+ public void initiateWindowPublicNavigationalStateUpdate(String windowName)
+ {
+
+ Page page = getWindow(windowName).getPage();
+ CoordinationStrategy strategy = getCoordinationManager().resolveBindingStrategy(getWindow(windowName).getPage());
+
+
+ windowPublicNavigationalStateUpdate = new HashMap<String, HashMap<QName, String[]>>();
+
+ // Initial state for all windows on this page
+ for (PortalObject portalObject : page.getChildren())
+ {
+ if (portalObject instanceof Window)
+ {
+ Window window = (Window)portalObject;
+ windowPublicNavigationalStateUpdate.put(window.getName(), getWindowPublicContentStateParameters(window.getName()));
+ }
+ }
+
+ }
+
+
public Window getWindow(String windowName)
{
return controllerContext.getWindow(windowName);
@@ -583,4 +667,7 @@
{
return controllerContext.getControllerContext().getController().getCoordinationManager();
}
+
+
+
}
17 years, 9 months
JBoss Portal SVN: r11560 - branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-07-23 09:58:30 -0400 (Wed, 23 Jul 2008)
New Revision: 11560
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/CoreConstants.java
Log:
defines special namespace and parameter to bind a page parameter to the page title in the DOM browser
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/CoreConstants.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/CoreConstants.java 2008-07-23 13:54:37 UTC (rev 11559)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/CoreConstants.java 2008-07-23 13:58:30 UTC (rev 11560)
@@ -61,4 +61,13 @@
public static final QName JBOSS_PORTAL_CONTENT_PARAMETERS = new QName(JBOSS_PORTAL_CONTENT_NAMESPACE, "parameters");
+ /** The namespace for the page integration. */
+ public static final String JBOSS_PORTAL_PAGE_NAMESPACE = "urn:jboss:portal:page";
+
+ /**
+ * This name can be used as a page parameter. It denotes a special parameter which is the page title.
+ *
+ * @todo implement it
+ */
+ public static final QName JBOSS_PORTAL_PAGE_TITLE = new QName(JBOSS_PORTAL_PAGE_NAMESPACE, "title");
}
17 years, 9 months
JBoss Portal SVN: r11559 - in branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core: model/portal/command/view and 1 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-07-23 09:54:37 -0400 (Wed, 23 Jul 2008)
New Revision: 11559
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/command/view/ViewPageCommand.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/navstate/PageNavigationalState.java
Log:
use directly empty namespace and remove explicit namespace declaration
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-23 13:52:37 UTC (rev 11558)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-23 13:54:37 UTC (rev 11559)
@@ -36,6 +36,7 @@
import org.jboss.portal.core.controller.coordination.CoordinationStrategy;
import javax.xml.namespace.QName;
+import javax.xml.XMLConstants;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -362,7 +363,7 @@
// If this window/qname is binded several times with different updated params value will be unpredictable...
for (String binding : bindings)
{
- explicitParameterValue = getPublicNavigationalState(new QName(PageNavigationalState.NAMESPACE_EXPLICIT, binding));
+ explicitParameterValue = getPublicNavigationalState(new QName(XMLConstants.DEFAULT_NS_PREFIX, binding));
}
//
@@ -482,7 +483,7 @@
for (String binding : bindings)
{
- setPublicNavigationalState(new QName(PageNavigationalState.NAMESPACE_EXPLICIT, binding), value);
+ setPublicNavigationalState(new QName(XMLConstants.DEFAULT_NS_PREFIX, binding), value);
}
}
}
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/command/view/ViewPageCommand.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/command/view/ViewPageCommand.java 2008-07-23 13:52:37 UTC (rev 11558)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/command/view/ViewPageCommand.java 2008-07-23 13:54:37 UTC (rev 11559)
@@ -36,6 +36,7 @@
import org.jboss.portal.common.util.ParameterMap;
import javax.xml.namespace.QName;
+import javax.xml.XMLConstants;
import java.util.Map;
import java.util.Collections;
import java.util.HashMap;
@@ -114,7 +115,7 @@
//
for (Map.Entry<String, String[]> entry : parameters.entrySet())
{
- state.put(new QName(PageNavigationalState.NAMESPACE_EXPLICIT, entry.getKey()), entry.getValue());
+ state.put(new QName(XMLConstants.DEFAULT_NS_PREFIX, entry.getKey()), entry.getValue());
}
//
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/navstate/PageNavigationalState.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/navstate/PageNavigationalState.java 2008-07-23 13:52:37 UTC (rev 11558)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/navstate/PageNavigationalState.java 2008-07-23 13:54:37 UTC (rev 11559)
@@ -23,7 +23,6 @@
package org.jboss.portal.core.model.portal.navstate;
import javax.xml.namespace.QName;
-import javax.xml.XMLConstants;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
@@ -38,9 +37,6 @@
{
/** . */
- public static final String NAMESPACE_EXPLICIT = XMLConstants.NULL_NS_URI; // "urn:jboss:portal:coordination:explicit";
-
- /** . */
private final HashMap<QName, String[]> parameters;
public PageNavigationalState(Map<QName, String[]> parameters)
17 years, 9 months
JBoss Portal SVN: r11558 - in branches/JBoss_Portal_Branch_2_7/core-samples/src: resources/portal-coordination-samples-war/WEB-INF and 1 other directory.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-07-23 09:52:37 -0400 (Wed, 23 Jul 2008)
New Revision: 11558
Added:
branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PageParameterPortlet.java
Modified:
branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PublicParametersPortlet.java
branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml
branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet-instances.xml
branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet.xml
Log:
added page parameter portlet to update page nav state dirctly using the PortalNode api
Added: branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PageParameterPortlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PageParameterPortlet.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PageParameterPortlet.java 2008-07-23 13:52:37 UTC (rev 11558)
@@ -0,0 +1,82 @@
+/******************************************************************************
+ * 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.samples.basic;
+
+import org.jboss.portal.api.node.PortalNode;
+import org.jboss.portal.api.node.PortalNodeURL;
+import org.jboss.portlet.JBossRenderRequest;
+import org.jboss.portlet.JBossPortlet;
+import org.jboss.portlet.JBossRenderResponse;
+import org.jboss.portlet.JBossActionRequest;
+import org.jboss.portlet.JBossActionResponse;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletSecurityException;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Enumeration;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class PageParameterPortlet extends JBossPortlet
+{
+
+ protected void processAction(JBossActionRequest req, JBossActionResponse resp) throws PortletException, PortletSecurityException, IOException
+ {
+ String name = req.getParameter("name");
+ String value = req.getParameter("value");
+
+ //
+ PortalNode page = req.getPortalNode().getParent();
+ PortalNodeURL url = resp.createRenderURL(page);
+ url.setParameter(name, value);
+
+ //
+ resp.sendRedirect(url.toString());
+ }
+
+ protected void doView(JBossRenderRequest req, JBossRenderResponse resp) throws PortletException, IOException
+ {
+
+ //
+ PrintWriter writer = resp.getWriter();
+
+ //
+ for (Enumeration<String> e = getPortletConfig().getPublicRenderParameterNames();e.hasMoreElements();)
+ {
+ String parameterName = e.nextElement();
+
+ //
+ writer.println("<li>" + parameterName + "</li>");
+ }
+
+ //
+ writer.println("<form action=\"" + resp.createActionURL() + "\" method=\"POST\"><table>");
+ writer.println("<tr><td>Page parameter name:</td><td><input type=\"text\" name=\"name\" width=\"36\" value=\"\"/></td></tr>");
+ writer.println("<tr><td>Page parameter value:</td><td><input type=\"text\" name=\"value\" width=\"36\" value=\"\"/></td></tr>");
+ writer.println("<tr><td colspan=\"2\"><input type=\"submit\" value=\"Update\"/></td></tr>");
+ writer.println("</table></form>");
+ }
+}
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PublicParametersPortlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PublicParametersPortlet.java 2008-07-23 13:47:24 UTC (rev 11557)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/main/org/jboss/portal/core/samples/basic/PublicParametersPortlet.java 2008-07-23 13:52:37 UTC (rev 11558)
@@ -78,19 +78,18 @@
//
PrintWriter writer = resp.getWriter();
+
+ //
writer.print("<form action=\"" + actionURL + "\" method=\"POST\"><table>");
//
for (Enumeration<String> e = getPortletConfig().getPublicRenderParameterNames();e.hasMoreElements();)
{
String parameterName = e.nextElement();
-
- //
String parameterValue = req.getParameter(parameterName);
//
writer.print("<tr><td>" + parameterName + "</td><td>");
-
if (parameterValue != null)
{
writer.print("<input type=\"text\" name=\"" + parameterName + "\" width=\"36\" value=\"" + parameterValue + "\"/>");
@@ -105,13 +104,12 @@
writer.print("<input type=\"text\" name=\"" + parameterName + "\" width=\"36\" value=\"\"/>");
}
writer.println();
-
- writer.println("</td>");
-
+ writer.println("</td></tr>");
}
- writer.println("<input type=\"submit\" value=\"Update\"/>");
+ //
+ writer.println("<tr><td colspan=\"2\"><input type=\"submit\" value=\"Update\"/></td></tr>");
writer.print("</table></form>");
//
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml 2008-07-23 13:47:24 UTC (rev 11557)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml 2008-07-23 13:52:37 UTC (rev 11558)
@@ -315,6 +315,12 @@
<region>center</region>
<height>1</height>
</window>
+ <window>
+ <window-name>PageParameterPortletWindow</window-name>
+ <instance-ref>PageParameterPortletInstance</instance-ref>
+ <region>center</region>
+ <height>2</height>
+ </window>
<coordination>
<parameter-strategy>EXPLICIT</parameter-strategy>
@@ -395,6 +401,12 @@
<region>center</region>
<height>1</height>
</window>
+ <window>
+ <window-name>PageParameterPortletWindow</window-name>
+ <instance-ref>PageParameterPortletInstance</instance-ref>
+ <region>center</region>
+ <height>2</height>
+ </window>
<coordination>
<parameter-strategy>EXPLICIT</parameter-strategy>
@@ -525,6 +537,12 @@
<region>center</region>
<height>1</height>
</window>
+ <window>
+ <window-name>PageParameterPortletWindow</window-name>
+ <instance-ref>PageParameterPortletInstance</instance-ref>
+ <region>center</region>
+ <height>2</height>
+ </window>
<coordination>
<parameter-strategy>IMPLICIT</parameter-strategy>
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet-instances.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet-instances.xml 2008-07-23 13:47:24 UTC (rev 11557)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet-instances.xml 2008-07-23 13:52:37 UTC (rev 11558)
@@ -53,4 +53,10 @@
<portlet-ref>CoordinationShoppingCart</portlet-ref>
</instance>
</deployment>
+ <deployment>
+ <instance>
+ <instance-id>PageParameterPortletInstance</instance-id>
+ <portlet-ref>PageParameterPortlet</portlet-ref>
+ </instance>
+ </deployment>
</deployments>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet.xml 2008-07-23 13:47:24 UTC (rev 11557)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/portlet.xml 2008-07-23 13:52:37 UTC (rev 11558)
@@ -98,6 +98,33 @@
</supported-processing-event>
</portlet>
+ <portlet>
+ <description>Page Parameter Portlet</description>
+ <portlet-name>PageParameterPortlet</portlet-name>
+ <display-name>Page Parameter Portlet</display-name>
+ <portlet-class>org.jboss.portal.core.samples.basic.PageParameterPortlet</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ </supports>
+ <portlet-info>
+ <title>Page Parameter Portlet</title>
+ <keywords>sample,test</keywords>
+ </portlet-info>
+ </portlet>
+
+ <filter>
+ <filter-name>JBoss Portlet Filter</filter-name>
+ <filter-class>org.jboss.portlet.filter.JBossPortletFilter</filter-class>
+ <lifecycle>ACTION_PHASE</lifecycle>
+ <lifecycle>RENDER_PHASE</lifecycle>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>JBoss Portlet Filter</filter-name>
+ <portlet-name>PageParameterPortlet</portlet-name>
+ </filter-mapping>
+
<event-definition>
<qname xmlns:jbp="urn:jboss:portal:samples:event">jbp:CartEvent</qname>
<value-type>org.jboss.portal.portlet.samples.shoppingcart.CartEvent</value-type>
17 years, 9 months
JBoss Portal SVN: r11557 - branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-catalog-samples-war/WEB-INF.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-07-23 09:47:24 -0400 (Wed, 23 Jul 2008)
New Revision: 11557
Modified:
branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-catalog-samples-war/WEB-INF/portlet.xml
Log:
filter tags should be below portlet tag
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-catalog-samples-war/WEB-INF/portlet.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-catalog-samples-war/WEB-INF/portlet.xml 2008-07-23 12:50:28 UTC (rev 11556)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-catalog-samples-war/WEB-INF/portlet.xml 2008-07-23 13:47:24 UTC (rev 11557)
@@ -28,18 +28,7 @@
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">
- <filter>
- <filter-name>JBoss Portlet Filter</filter-name>
- <filter-class>org.jboss.portlet.filter.JBossPortletFilter</filter-class>
- <lifecycle>ACTION_PHASE</lifecycle>
- <lifecycle>RENDER_PHASE</lifecycle>
- </filter>
-
- <filter-mapping>
- <filter-name>JBoss Portlet Filter</filter-name>
- <portlet-name>CatalogPortlet</portlet-name>
- </filter-mapping>
-
+
<portlet>
<description>Portlet providing navigable list of portal pages</description>
<portlet-name>CatalogPortlet</portlet-name>
@@ -53,4 +42,17 @@
<title>Catalog</title>
</portlet-info>
</portlet>
+
+ <filter>
+ <filter-name>JBoss Portlet Filter</filter-name>
+ <filter-class>org.jboss.portlet.filter.JBossPortletFilter</filter-class>
+ <lifecycle>ACTION_PHASE</lifecycle>
+ <lifecycle>RENDER_PHASE</lifecycle>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>JBoss Portlet Filter</filter-name>
+ <portlet-name>CatalogPortlet</portlet-name>
+ </filter-mapping>
+
</portlet-app>
17 years, 9 months
JBoss Portal SVN: r11556 - branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-07-23 08:50:28 -0400 (Wed, 23 Jul 2008)
New Revision: 11556
Modified:
branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml
Log:
explicit aliased parameter example
Modified: branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml 2008-07-23 12:45:12 UTC (rev 11555)
+++ branches/JBoss_Portal_Branch_2_7/core-samples/src/resources/portal-coordination-samples-war/WEB-INF/default-object.xml 2008-07-23 12:50:28 UTC (rev 11556)
@@ -362,8 +362,68 @@
</coordination>
</page>
-<!--
<page>
+
+ <!--
+ | In this sample we show that
+ | -
+ | -
+ -->
+
+ <page-name>Explicit aliased parameters</page-name>
+ <window>
+ <window-name>PublicParametersPortletWindow1</window-name>
+ <instance-ref>CoordinationPublicParametersPortletInstance1</instance-ref>
+ <region>left</region>
+ <height>0</height>
+ </window>
+ <window>
+ <window-name>PublicParametersPortletWindow2</window-name>
+ <instance-ref>CoordinationPublicParametersPortletInstance1</instance-ref>
+ <region>center</region>
+ <height>0</height>
+ </window>
+ <window>
+ <window-name>PublicParametersPortletWindow3</window-name>
+ <instance-ref>CoordinationPublicParametersPortletInstance2</instance-ref>
+ <region>left</region>
+ <height>1</height>
+ </window>
+ <window>
+ <window-name>PublicParametersPortletWindow4</window-name>
+ <instance-ref>CoordinationPublicParametersPortletInstance2</instance-ref>
+ <region>center</region>
+ <height>1</height>
+ </window>
+
+ <coordination>
+ <parameter-strategy>EXPLICIT</parameter-strategy>
+ <bindings>
+
+ <alias-binding>
+ <name>binding1</name>
+ <qname>foo</qname>
+ </alias-binding>
+
+ <alias-binding>
+ <name>binding2</name>
+ <qname>{urn:jboss:portal:samples:juu}juu</qname>
+ </alias-binding>
+
+ <alias-binding>
+ <name>binding3</name>
+ <qname>bar1</qname>
+ <qname>bar2</qname>
+ <qname>{urn:jboss:portal:samples:daa1}daa1</qname>
+ <qname>{urn:jboss:portal:samples:daa2}daa2</qname>
+ </alias-binding>
+
+ </bindings>
+ </coordination>
+ </page>
+
+ <!--
+ <page>
<page-name>Parameters FALLBACK</page-name>
<window>
<window-name>PublicParametersPortletWindowA1</window-name>
17 years, 9 months
JBoss Portal SVN: r11555 - branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-07-23 08:45:12 -0400 (Wed, 23 Jul 2008)
New Revision: 11555
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationMetaData.java
Log:
bug fix
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-07-23 11:21:10 UTC (rev 11554)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/metadata/coordination/CoordinationMetaData.java 2008-07-23 12:45:12 UTC (rev 11555)
@@ -103,7 +103,7 @@
Iterator aliasBindingsIter = XMLTools.getChildrenIterator(bindingsElement, "alias-binding");
while (aliasBindingsIter.hasNext())
{
- Element aliasElement = (Element)paramBindingsIter.next();
+ Element aliasElement = (Element)aliasBindingsIter.next();
coordinationMetaData.addAliasBinding(CoordinationAliasBindingMetaData.buildMetaData(aliasElement));
}
17 years, 9 months
JBoss Portal SVN: r11554 - in branches/JBoss_Portal_Branch_2_7: wsrp/src/resources/portal-wsrp-sar/conf/hibernate/consumer and 1 other directory.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-07-23 07:21:10 -0400 (Wed, 23 Jul 2008)
New Revision: 11554
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdUserType.java
branches/JBoss_Portal_Branch_2_7/wsrp/src/resources/portal-wsrp-sar/conf/hibernate/consumer/domain.hbm.xml
Log:
Changes for Sybase support
Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdUserType.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdUserType.java 2008-07-23 10:58:09 UTC (rev 11553)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdUserType.java 2008-07-23 11:21:10 UTC (rev 11554)
@@ -43,12 +43,12 @@
public Object fromString(String name)
{
- return PortalObjectId.parse(name, PortalObjectPath.LEGACY_FORMAT);
+ return PortalObjectId.parse(name.trim(), PortalObjectPath.LEGACY_FORMAT);
}
public String toString(Object value)
{
- return ((PortalObjectId)value).toString(PortalObjectPath.LEGACY_FORMAT);
+ return ((PortalObjectId)value).toString(PortalObjectPath.LEGACY_FORMAT).trim();
}
public Class returnedClass()
Modified: branches/JBoss_Portal_Branch_2_7/wsrp/src/resources/portal-wsrp-sar/conf/hibernate/consumer/domain.hbm.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_7/wsrp/src/resources/portal-wsrp-sar/conf/hibernate/consumer/domain.hbm.xml 2008-07-23 10:58:09 UTC (rev 11553)
+++ branches/JBoss_Portal_Branch_2_7/wsrp/src/resources/portal-wsrp-sar/conf/hibernate/consumer/domain.hbm.xml 2008-07-23 11:21:10 UTC (rev 11554)
@@ -77,7 +77,7 @@
<property name="persistentConsumerName" column="CONSUMER_NAME" type="java.lang.String" not-null="true"
access="field"/>
<property name="persistentRegistrationHandle" column="HANDLE" type="java.lang.String" access="field"/>
- <property name="registrationState" column="STATE" type="binary" length="50000000"/>
+ <property name="registrationState" column="STATE" type="binary" length="16384"/>
<map name="persistentRegistrationProperties" cascade="all,delete-orphan" lazy="false" access="field">
<cache usage="@portal.hibernate.cache.usage@"/>
<key column="REG_PK" not-null="true"/>
17 years, 9 months
JBoss Portal SVN: r11553 - branches/JBoss_Portal_Branch_2_7/server/src/main/org/jboss/portal/server/deployment/jboss.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-07-23 06:58:09 -0400 (Wed, 23 Jul 2008)
New Revision: 11553
Modified:
branches/JBoss_Portal_Branch_2_7/server/src/main/org/jboss/portal/server/deployment/jboss/PortalDeploymentInfoContext.java
Log:
JBPORTAL-1832: -object.xml files should be orderable
Contribution from Sylvain FRANCOIS (syllant), thanks !
Modified: branches/JBoss_Portal_Branch_2_7/server/src/main/org/jboss/portal/server/deployment/jboss/PortalDeploymentInfoContext.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/server/src/main/org/jboss/portal/server/deployment/jboss/PortalDeploymentInfoContext.java 2008-07-23 10:56:17 UTC (rev 11552)
+++ branches/JBoss_Portal_Branch_2_7/server/src/main/org/jboss/portal/server/deployment/jboss/PortalDeploymentInfoContext.java 2008-07-23 10:58:09 UTC (rev 11553)
@@ -30,10 +30,12 @@
import java.io.IOException;
import java.net.URL;
+import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Set;
+import java.util.TreeSet;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -189,10 +191,14 @@
public void create() throws DeploymentException
{
- for (Iterator i = deployments.keySet().iterator(); i.hasNext();)
+ // @syllant-patch@ : patch to sort -object.xml files
+ Set<URL> sortedDeploymentKeys = new TreeSet<URL>(new URLComparator());
+ sortedDeploymentKeys.addAll(deployments.keySet());
+ for (Iterator<URL> i = sortedDeploymentKeys.iterator(); i.hasNext();)
{
URL url = (URL)i.next();
- for (Iterator j = deployments.iterator(url); j.hasNext();)
+
+ for (Iterator<DeploymentContext> j = deployments.iterator(url); j.hasNext();)
{
DeploymentContext ctx = (DeploymentContext)j.next();
ctx.create();
@@ -202,10 +208,13 @@
public void start() throws DeploymentException
{
- for (Iterator i = deployments.keySet().iterator(); i.hasNext();)
+ // @syllant-patch@ : patch to sort -object.xml files
+ Set<URL> sortedDeploymentKeys = new TreeSet<URL>(new URLComparator());
+ sortedDeploymentKeys.addAll(deployments.keySet());
+ for (Iterator<URL> i = sortedDeploymentKeys.iterator(); i.hasNext();)
{
URL url = (URL)i.next();
- for (Iterator j = deployments.iterator(url); j.hasNext();)
+ for (Iterator<DeploymentContext> j = deployments.iterator(url); j.hasNext();)
{
DeploymentContext ctx = (DeploymentContext)j.next();
ctx.start();
@@ -215,10 +224,13 @@
public void stop() throws DeploymentException
{
- for (Iterator i = deployments.keySet().iterator(); i.hasNext();)
+ // @syllant-patch@ : patch to sort -object.xml files
+ Set<URL> sortedDeploymentKeys = new TreeSet<URL>(new OppositeURLComparator());
+ sortedDeploymentKeys.addAll(deployments.keySet());
+ for (Iterator<URL> i = sortedDeploymentKeys.iterator(); i.hasNext();)
{
URL url = (URL)i.next();
- for (Iterator j = deployments.iterator(url); j.hasNext();)
+ for (Iterator<DeploymentContext> j = deployments.iterator(url); j.hasNext();)
{
DeploymentContext ctx = (DeploymentContext)j.next();
ctx.stop();
@@ -228,14 +240,34 @@
public void destroy() throws DeploymentException
{
- for (Iterator i = deployments.keySet().iterator(); i.hasNext();)
+ // @syllant-patch@ : patch to sort -object.xml files
+ Set<URL> sortedDeploymentKeys = new TreeSet<URL>(new OppositeURLComparator());
+ sortedDeploymentKeys.addAll(deployments.keySet());
+ for (Iterator<URL> i = sortedDeploymentKeys.iterator(); i.hasNext();)
{
URL url = (URL)i.next();
- for (Iterator j = deployments.iterator(url); j.hasNext();)
+ for (Iterator<DeploymentContext> j = deployments.iterator(url); j.hasNext();)
{
DeploymentContext ctx = (DeploymentContext)j.next();
ctx.destroy();
}
}
}
+
+ // @syllant-patch@ : patch to sort -object.xml files
+ private class URLComparator implements Comparator<URL>
+ {
+ public int compare(URL o1, URL o2)
+ {
+ return o1.getPath().compareTo(o2.getPath());
+ }
+ }
+
+ private class OppositeURLComparator implements Comparator<URL>
+ {
+ public int compare(URL o1, URL o2)
+ {
+ return - o1.getPath().compareTo(o2.getPath());
+ }
+ }
}
17 years, 9 months