JBoss Portal SVN: r5778 - branches/JBoss_Portal_Branch_2_4/core/src/resources/portal-cms-sar/META-INF
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2006-12-10 07:10:10 -0500 (Sun, 10 Dec 2006)
New Revision: 5778
Modified:
branches/JBoss_Portal_Branch_2_4/core/src/resources/portal-cms-sar/META-INF/jboss-service.xml
Log:
JBPORTAL-1151 : jboss:service=DefaultPartition hardcoded in CMS cluster config
Modified: branches/JBoss_Portal_Branch_2_4/core/src/resources/portal-cms-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_4/core/src/resources/portal-cms-sar/META-INF/jboss-service.xml 2006-12-09 22:37:47 UTC (rev 5777)
+++ branches/JBoss_Portal_Branch_2_4/core/src/resources/portal-cms-sar/META-INF/jboss-service.xml 2006-12-10 12:10:10 UTC (rev 5778)
@@ -176,7 +176,7 @@
<mbean
code="org.jboss.portal.jems.ha.HASingletonInvoker"
name="portal:service=HASingletonInvoker,type=CMS">
- <depends>jboss:service=DefaultPartition</depends>
+ <depends>jboss:service=${jboss.partition.name:DefaultPartition}</depends>
<attribute name="RetryWaitingTimeMS">2000</attribute>
<attribute name="MaxRetries">5</attribute>
<attribute name="JNDIName">MyServiceInvokeTarget</attribute>
19 years, 7 months
JBoss Portal SVN: r5777 - in trunk: core/src/main/org/jboss/portal/core/impl/model/instance federation/src/main/org/jboss/portal/federation/impl portlet/src/main/org/jboss/portal/portlet portlet/src/main/org/jboss/portal/portlet/state portlet/src/main/org/jboss/portal/portlet/state/consumer portlet/src/main/org/jboss/portal/portlet/state/producer portlet/src/main/org/jboss/portal/portlet/test
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2006-12-09 17:37:47 -0500 (Sat, 09 Dec 2006)
New Revision: 5777
Removed:
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java
trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java
trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java
trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java
trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
Log:
Refactored StateEvent to use a type discriminator instead of sub-classes.
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -27,8 +27,6 @@
import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.spi.InstanceContext;
import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -71,15 +69,14 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
+ StateEvent.StateEventType type = event.getType();
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
{
- PortletClonedEvent pce = (PortletClonedEvent)event;
- clonedContext = pce.getClonedContext();
+ clonedContext = event.getPortletContext();
}
- else if (event instanceof PortletModifiedEvent)
+ else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
{
- PortletModifiedEvent pme = (PortletModifiedEvent)event;
- modifiedContext = pme.getModifiedContext();
+ modifiedContext = event.getPortletContext();
}
}
}
Modified: trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java
===================================================================
--- trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -36,8 +36,6 @@
import org.jboss.portal.portlet.spi.InstanceContext;
import org.jboss.portal.portlet.state.AccessMode;
import org.jboss.portal.portlet.state.DestroyCloneFailure;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.state.PropertyMap;
@@ -129,18 +127,7 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
- {
- PortletClonedEvent pce = (PortletClonedEvent)event;
- PortletContext clonedContext = pce.getClonedContext();
- ctx.onStateEvent(new PortletClonedEvent(reference(clonedContext)));
- }
- else if (event instanceof PortletModifiedEvent)
- {
- PortletModifiedEvent pce = (PortletModifiedEvent)event;
- PortletContext modifiedContext = pce.getModifiedContext();
- ctx.onStateEvent(new PortletModifiedEvent(reference(modifiedContext)));
- }
+ ctx.onStateEvent(new StateEvent(reference(event.getPortletContext()), event.getType()));
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -22,12 +22,45 @@
******************************************************************************/
package org.jboss.portal.portlet;
+import org.jboss.portal.common.util.ParameterValidation;
+
/**
* An event that signals state modifications
*
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ * @since 2.6
*/
-public abstract class StateEvent
+public class StateEvent
{
+ private final PortletContext context;
+ private final StateEventType type;
+ public static final StateEventType PORTLET_CLONED_EVENT = new StateEventType();
+ public static final StateEventType PORTLET_MODIFIED_EVENT = new StateEventType();
+
+ public StateEvent(PortletContext context, StateEventType type)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(context, "Portlet context");
+ ParameterValidation.throwIllegalArgExceptionIfNull(type, "StateEvent type");
+ this.context = context;
+ this.type = type;
+ }
+
+ public PortletContext getPortletContext()
+ {
+ return context;
+ }
+
+ public StateEventType getType()
+ {
+ return type;
+ }
+
+ public static final class StateEventType
+ {
+ private StateEventType()
+ {
+ }
+ }
}
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedBy LastChangedRevision Id
Name: svn:eol-style
+ native
Deleted: trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -1,51 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, 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.portlet.state;
-
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.StateEvent;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class PortletClonedEvent extends StateEvent
-{
-
- /** . */
- private final PortletContext clonedContext;
-
- public PortletClonedEvent(PortletContext clonedContext)
- {
- if (clonedContext == null)
- {
- throw new IllegalArgumentException();
- }
- this.clonedContext = clonedContext;
- }
-
- public PortletContext getClonedContext()
- {
- return clonedContext;
- }
-}
Deleted: trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -1,51 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, 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.portlet.state;
-
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.StateEvent;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class PortletModifiedEvent extends StateEvent
-{
-
- /** . */
- private final PortletContext modifiedContext;
-
- public PortletModifiedEvent(PortletContext clonedContext)
- {
- if (clonedContext == null)
- {
- throw new IllegalArgumentException();
- }
- this.modifiedContext = clonedContext;
- }
-
- public PortletContext getModifiedContext()
- {
- return modifiedContext;
- }
-}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -37,8 +37,6 @@
import org.jboss.portal.portlet.state.AccessMode;
import org.jboss.portal.portlet.state.InvalidStateIdException;
import org.jboss.portal.portlet.state.NoSuchStateException;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.state.PropertyMap;
@@ -172,12 +170,12 @@
ConsumerState consumerState = new ConsumerState(clonedContext.getId(), state);
String stateId = persistenceManager.createState(consumerState);
String clonedId = CLONE_ID_PREFIX + stateId;
- PortletClonedEvent event = new PortletClonedEvent(PortletContext.createPortletContext(clonedId));
+ StateEvent event = new StateEvent(PortletContext.createPortletContext(clonedId), StateEvent.PORTLET_CLONED_EVENT);
cictx.onStateEvent(event);
}
else
{
- PortletClonedEvent event = new PortletClonedEvent(PortletContext.createPortletContext(clonedContext.getId()));
+ StateEvent event = new StateEvent(PortletContext.createPortletContext(clonedContext.getId()), StateEvent.PORTLET_CLONED_EVENT);
cictx.onStateEvent(event);
}
}
@@ -362,15 +360,14 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
+ StateEvent.StateEventType type = event.getType();
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
{
- PortletClonedEvent pce = (PortletClonedEvent)event;
- clonedContext = pce.getClonedContext();
+ clonedContext = event.getPortletContext();
}
- else if (event instanceof PortletModifiedEvent)
+ else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
{
- PortletModifiedEvent pce = (PortletModifiedEvent)event;
- modifiedContext = pce.getModifiedContext();
+ modifiedContext = event.getPortletContext();
}
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -31,6 +31,7 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.StatefulPortletContext;
import org.jboss.portal.portlet.info.PortletInfo;
import org.jboss.portal.portlet.info.PreferenceInfo;
@@ -44,8 +45,6 @@
import org.jboss.portal.portlet.state.DestroyCloneFailure;
import org.jboss.portal.portlet.state.InvalidStateIdException;
import org.jboss.portal.portlet.state.NoSuchStateException;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.state.PropertyMap;
import org.jboss.portal.portlet.state.SimplePropertyMap;
@@ -271,7 +270,7 @@
// Return the clone context
String cloneId = PRODUCER_CLONE_ID_PREFIX + cloneStateId;
PortletContext clonedCtx = PortletContext.createPortletContext(cloneId);
- PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
+ StateEvent event = new StateEvent(clonedCtx, StateEvent.PORTLET_CLONED_EVENT);
instanceCtx.onStateEvent(event);
}
catch (NoSuchStateException e)
@@ -286,7 +285,7 @@
else
{
PortletContext clonedCtx = marshall(state.getPortletId(), newPrefs);
- PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
+ StateEvent event = new StateEvent(clonedCtx, StateEvent.PORTLET_CLONED_EVENT);
instanceCtx.onStateEvent(event);
}
}
@@ -312,7 +311,7 @@
// Return the clone context
String cloneId = PRODUCER_CLONE_ID_PREFIX + cloneStateId;
PortletContext clonedCtx = PortletContext.createPortletContext(cloneId);
- PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
+ StateEvent event = new StateEvent(clonedCtx, StateEvent.PORTLET_CLONED_EVENT);
instanceCtx.onStateEvent(event);
}
}
@@ -338,7 +337,7 @@
else
{
PortletContext modifiedCtx = marshall(targetPortletId, newPrefs);
- PortletModifiedEvent event = new PortletModifiedEvent(modifiedCtx);
+ StateEvent event = new StateEvent(modifiedCtx, StateEvent.PORTLET_MODIFIED_EVENT);
instanceCtx.onStateEvent(event);
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -26,8 +26,6 @@
import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.spi.InstanceContext;
import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -81,15 +79,14 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
+ StateEvent.StateEventType type = event.getType();
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
{
- PortletClonedEvent pce = (PortletClonedEvent)event;
- clonedContext = pce.getClonedContext();
+ clonedContext = event.getPortletContext();
}
- else if (event instanceof PortletModifiedEvent)
+ else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
{
- PortletModifiedEvent pme = (PortletModifiedEvent)event;
- modifiedContext = pme.getModifiedContext();
+ modifiedContext = event.getPortletContext();
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-12-09 19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-12-09 22:37:47 UTC (rev 5777)
@@ -63,8 +63,6 @@
import org.jboss.portal.portlet.spi.UserContext;
import org.jboss.portal.portlet.spi.WindowContext;
import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.server.AbstractServerURL;
import org.jboss.portal.server.RequestController;
import org.jboss.portal.server.ServerException;
@@ -410,16 +408,7 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
- {
- PortletClonedEvent pce = (PortletClonedEvent)event;
- req.getSession().setAttribute(CLONE_OF + this.portletContext.getId(), pce.getClonedContext());
- }
- else if (event instanceof PortletModifiedEvent)
- {
- PortletModifiedEvent pme = (PortletModifiedEvent)event;
- req.getSession().setAttribute(CLONE_OF + this.portletContext.getId(), pme.getModifiedContext());
- }
+ req.getSession().setAttribute(CLONE_OF + this.portletContext.getId(), event.getPortletContext());
}
public void portletCloned(String cloneId)
19 years, 7 months
JBoss Portal SVN: r5776 - in trunk: core/src/main/org/jboss/portal/core/impl/model/instance core/src/main/org/jboss/portal/core/portlet/management core/src/main/org/jboss/portal/test/core/state federation/src/main/org/jboss/portal/federation/impl portlet/src/main/org/jboss/portal/portlet portlet/src/main/org/jboss/portal/portlet/container portlet/src/main/org/jboss/portal/portlet/state portlet/src/main/org/jboss/portal/portlet/state/consumer portlet/src/main/org/jboss/portal/portlet/state/p
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2006-12-09 14:12:54 -0500 (Sat, 09 Dec 2006)
New Revision: 5776
Added:
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/PortletStateChangeRequiredException.java
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java
trunk/core/src/main/org/jboss/portal/core/portlet/management/PortletManagerBean.java
trunk/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java
trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java
trunk/portlet/src/main/org/jboss/portal/portlet/PortletContext.java
trunk/portlet/src/main/org/jboss/portal/portlet/StatefulPortletContext.java
trunk/portlet/src/main/org/jboss/portal/portlet/container/PortletContainerInvoker.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/AbstractPropertyContext.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/AbstractPropertyMap.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/AccessMode.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/DestroyCloneFailure.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/InvalidStateIdException.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/NoSuchStateException.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/Property.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/PropertyChange.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/PropertyContext.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/PropertyMap.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/SimplePropertyMap.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConversionException.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConverter.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/StateManagementPolicy.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPersistenceManager.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerState.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerStateContext.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPersistenceManager.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerState.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerStateContext.java
trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java
trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/MarkupTestCase.java
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/ServiceDescriptionTestCase.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPUtils.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/portlet/WSRPPortlet.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java
Log:
- Refactored PortletContext to encapsulate state better (in particular, uses a factory method to create the appropriate object).
- Added PortletStateChangeRequiredException thrown by ProducerPortletInvoker.invoke so that the WSRP can know when an attempt
to modify a read-only portlet was made.
- Tried to set up properties (how can we do that automatically instead of having to do it manually?)
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -31,7 +31,6 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.StatefulPortletContext;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.state.AccessMode;
@@ -107,30 +106,13 @@
public PortletContext getPortletContext()
{
- if (state != null)
- {
- return new StatefulPortletContext(portletRef, state);
- }
- else
- {
- return new PortletContext(portletRef);
- }
+ return PortletContext.createPortletContext(portletRef, state);
}
public void setPortletContext(PortletContext portletContext)
{
portletRef = portletContext.getId();
-
- //
- if (portletContext instanceof StatefulPortletContext)
- {
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- state = statefulPortletContext.getMarshalledState();
- }
- else
- {
- state = null;
- }
+ state = portletContext.getState();
}
protected abstract boolean isModifiable();
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -22,9 +22,10 @@
******************************************************************************/
package org.jboss.portal.core.impl.model.instance;
+import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
+import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
-import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.hibernate.exception.ConstraintViolationException;
import org.jboss.portal.common.invocation.InterceptorStackFactory;
@@ -66,8 +67,6 @@
import java.util.List;
import java.util.Set;
-import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
-
/**
* Instance Container that is persistent
*
@@ -81,7 +80,7 @@
{
private List listeners = new ArrayList();
-
+
/** . */
protected InterceptorStackFactory stackFactory;
@@ -141,7 +140,7 @@
contextualizer = new ObjectContextualizer(ctx);
cache = new ConcurrentReaderHashMap();
}
-
+
public void flushNaturalIdCache()
{
cache.clear();
@@ -268,7 +267,7 @@
}
//
- PortletContext portletContext = new PortletContext(portletId);
+ PortletContext portletContext = PortletContext.createPortletContext(portletId);
// Check that the portlet exist before creating an instance of it
portletInvoker.getPortlet(portletContext);
@@ -311,7 +310,7 @@
}
raiseCreatedPortletInstanceEvent(instance);
-
+
//
return instance;
}
@@ -404,10 +403,10 @@
// Delete instance
removeBindings(session, instance);
session.delete(instance);
-
+
//
session.flush();
-
+
raiseDestroyedPortletInstanceEvent(instance);
}
@@ -449,11 +448,11 @@
{
if (e instanceof PortletInvokerException)
{
- throw(PortletInvokerException)e;
+ throw (PortletInvokerException)e;
}
else if (e instanceof RuntimeException)
{
- throw(RuntimeException)e;
+ throw (RuntimeException)e;
}
else
{
@@ -492,7 +491,7 @@
Long pk = cacheNaturalId ? (Long)cache.get(id) : null;
//
- InstanceDefinitionImpl instance ;
+ InstanceDefinitionImpl instance;
//
if (pk == null)
@@ -667,7 +666,7 @@
{
return this;
}
-
+
public void addListener(InstanceContainerListener listener)
{
listeners.add(listener);
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/management/PortletManagerBean.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/management/PortletManagerBean.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/management/PortletManagerBean.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -248,7 +248,7 @@
{
try
{
- return getPortletInvoker().getPortlet(new PortletContext(selectedPortletId));
+ return getPortletInvoker().getPortlet(PortletContext.createPortletContext(selectedPortletId));
}
catch (PortletInvokerException e)
{
Modified: trunk/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -31,10 +31,10 @@
import org.apache.log4j.SimpleLayout;
import org.jboss.portal.Mode;
import org.jboss.portal.common.junit.TransactionAssert;
-import org.jboss.portal.common.value.StringValue;
import org.jboss.portal.common.test.TestParametrization;
import org.jboss.portal.common.test.junit.JUnitAdapter;
import org.jboss.portal.common.test.junit.POJOJUnitTest;
+import org.jboss.portal.common.value.StringValue;
import org.jboss.portal.core.impl.portlet.state.PersistentStateStore;
import org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker;
import org.jboss.portal.portlet.NoSuchPortletException;
@@ -62,9 +62,9 @@
import org.jboss.portal.test.framework.embedded.DataSourceSupport;
import org.jboss.portal.test.framework.embedded.HibernateSupport;
+import java.net.URL;
import java.util.Collections;
import java.util.List;
-import java.net.URL;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -255,7 +255,7 @@
try
{
TransactionAssert.beginTransaction();
- producer.createClone(new PortletContext("UnknownPortlet"));
+ producer.createClone(PortletContext.createPortletContext("UnknownPortlet"));
fail("Was expecting no such portlet exception");
}
catch (NoSuchPortletException e)
@@ -297,7 +297,7 @@
{
// Clone a POP
TransactionAssert.beginTransaction();
- PortletContext cloneCtx = producer.createClone(new PortletContext("SimplePortlet"));
+ PortletContext cloneCtx = producer.createClone(PortletContext.createPortletContext("SimplePortlet"));
TransactionAssert.commitTransaction();
// Check the clone state
@@ -344,7 +344,7 @@
public void testDestroyNonExistingPortletWithinTx() throws Exception
{
TransactionAssert.beginTransaction();
- List failures = producer.destroyClones(Collections.singletonList(new PortletContext("_1")));
+ List failures = producer.destroyClones(Collections.singletonList(PortletContext.createPortletContext("_1")));
assertEquals(Collections.singletonList(new DestroyCloneFailure("_1")), failures);
TransactionAssert.commitTransaction();
}
@@ -383,8 +383,8 @@
{
// Clone a POP 2 times
TransactionAssert.beginTransaction();
- PortletContext cloneId1 = producer.createClone(new PortletContext("SimplePortlet"));
- PortletContext cloneId2 = producer.createClone(new PortletContext("SimplePortlet"));
+ PortletContext cloneId1 = producer.createClone(PortletContext.createPortletContext("SimplePortlet"));
+ PortletContext cloneId2 = producer.createClone(PortletContext.createPortletContext("SimplePortlet"));
TransactionAssert.commitTransaction();
// Clone the modified CCP 2 times
@@ -422,7 +422,7 @@
{
TransactionAssert.beginTransaction();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
- action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, new PortletContext("CloningPortlet"));
+ action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, PortletContext.createPortletContext("CloningPortlet"));
action.setUserContext(new UserContextImpl("julien"));
InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.CLONE_BEFORE_WRITE);
action.setInstanceContext(instanceContext);
@@ -448,7 +448,8 @@
{
TransactionAssert.beginTransaction();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
- action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, new PortletContext("CloneFailedCloningPortlet"));
+ action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE,
+ PortletContext.createPortletContext("CloneFailedCloningPortlet"));
action.setUserContext(new UserContextImpl("julien"));
InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.READ_WRITE);
action.setInstanceContext(instanceContext);
@@ -465,7 +466,8 @@
{
TransactionAssert.beginTransaction();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
- action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, new PortletContext("CloneFailedCloningPortlet"));
+ action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE,
+ PortletContext.createPortletContext("CloneFailedCloningPortlet"));
action.setUserContext(new UserContextImpl("julien"));
InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.READ_ONLY);
action.setInstanceContext(instanceContext);
@@ -481,7 +483,7 @@
public void testInvokeCloneBeforeWriteCCPWithinTx() throws Exception
{
TransactionAssert.beginTransaction();
- PortletContext cloningPortletId = producer.createClone(new PortletContext("CloningPortlet"));
+ PortletContext cloningPortletId = producer.createClone(PortletContext.createPortletContext("CloningPortlet"));
TransactionAssert.commitTransaction();
// Modify the state of the CCP
@@ -520,7 +522,7 @@
public void testInvokeReadWriteCCPWithinTx() throws Exception
{
TransactionAssert.beginTransaction();
- PortletContext cloningPortletId = producer.createClone(new PortletContext("CloningPortlet"));
+ PortletContext cloningPortletId = producer.createClone(PortletContext.createPortletContext("CloningPortlet"));
TransactionAssert.commitTransaction();
//
@@ -550,7 +552,7 @@
public void testInvokeReadOnlyCCPWithinTx() throws Exception
{
TransactionAssert.beginTransaction();
- PortletContext cloneFailedCloningPortletId = producer.createClone(new PortletContext("CloneFailedCloningPortlet"));
+ PortletContext cloneFailedCloningPortletId = producer.createClone(PortletContext.createPortletContext("CloneFailedCloningPortlet"));
TransactionAssert.commitTransaction();
//
@@ -573,7 +575,8 @@
{
TransactionAssert.beginTransaction();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
- action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, new PortletContext("CloningPortletThrowingRuntimeException"));
+ action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE,
+ PortletContext.createPortletContext("CloningPortletThrowingRuntimeException"));
action.setUserContext(new UserContextImpl("julien"));
InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.CLONE_BEFORE_WRITE);
action.setInstanceContext(instanceContext);
@@ -609,12 +612,12 @@
{
// Clone a POP
TransactionAssert.beginTransaction();
- PortletContext cloneId = producer.createClone(new PortletContext("SimplePortlet"));
+ PortletContext cloneId = producer.createClone(PortletContext.createPortletContext("SimplePortlet"));
TransactionAssert.commitTransaction();
//
TransactionAssert.beginTransaction();
- Portlet portlet = producer.getPortlet(new PortletContext(cloneId.getId()));
+ Portlet portlet = producer.getPortlet(PortletContext.createPortletContext(cloneId.getId()));
assertEquals("SimplePortlet", portlet.getContext().getId());
TransactionAssert.commitTransaction();
@@ -625,7 +628,7 @@
//
TransactionAssert.beginTransaction();
- portlet = producer.getPortlet(new PortletContext(cloneCloneId.getId()));
+ portlet = producer.getPortlet(PortletContext.createPortletContext(cloneCloneId.getId()));
assertEquals("SimplePortlet", portlet.getContext().getId());
TransactionAssert.commitTransaction();
}
Modified: trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java
===================================================================
--- trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -31,7 +31,6 @@
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.StateEvent;
-import org.jboss.portal.portlet.StatefulPortletContext;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.spi.InstanceContext;
@@ -227,29 +226,13 @@
private PortletContext dereference(PortletContext compoundPortletContext)
{
String portletId = compoundPortletContext.getId().substring(id.length() + 1);
- if (compoundPortletContext instanceof StatefulPortletContext)
- {
- StatefulPortletContext statefulCompoundPortletContext = (StatefulPortletContext)compoundPortletContext;
- return new StatefulPortletContext(portletId, statefulCompoundPortletContext.getMarshalledState());
- }
- else
- {
- return new PortletContext(portletId);
- }
+ return PortletContext.createPortletContext(portletId, compoundPortletContext.getState());
}
private PortletContext reference(PortletContext portletContext)
{
String compoundPortletId = reference(portletContext.getId());
- if (portletContext instanceof StatefulPortletContext)
- {
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- return new StatefulPortletContext(compoundPortletId, statefulPortletContext.getMarshalledState());
- }
- else
- {
- return new PortletContext(compoundPortletId);
- }
+ return PortletContext.createPortletContext(compoundPortletId, portletContext.getState());
}
private String reference(String portletId)
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/PortletContext.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/PortletContext.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/PortletContext.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -22,11 +22,15 @@
******************************************************************************/
package org.jboss.portal.portlet;
+import org.jboss.portal.common.util.ParameterValidation;
+
import java.io.Serializable;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ * @since 2.6
*/
public class PortletContext implements Serializable
{
@@ -34,12 +38,9 @@
/** . */
protected final String id;
- public PortletContext(String id) throws IllegalArgumentException
+ PortletContext(String id) throws IllegalArgumentException
{
- if (id == null)
- {
- throw new IllegalArgumentException("Id must not be null");
- }
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(id, "portlet id", "PortletContext");
this.id = id;
}
@@ -52,4 +53,47 @@
{
return "PortletContext[" + id + "]";
}
+
+ public byte[] getState()
+ {
+ return null;
+ }
+
+ /**
+ * Create a PortletContext based on id and optional state.
+ *
+ * @param id the portlet id
+ * @param state the optional state
+ * @return a new PortletContext based on the provided information
+ */
+ public static PortletContext createPortletContext(String id, byte[] state)
+ {
+ if (state != null && state.length > 0)
+ {
+ return new StatefulPortletContext(id, state);
+ }
+ else
+ {
+ return new PortletContext(id);
+ }
+ }
+
+ /**
+ * Create a PortletContext based on given id and required state: this method will fail if state is not valid. Use
+ * this method instead of {@link #createPortletContext(String,byte[])} for cases when a state is expected and the
+ * creation of the PortletContext should fail if no state was given.
+ *
+ * @param id the portlet id
+ * @param state the mandatory state
+ * @return a new PortletContext
+ */
+ public static PortletContext createStatefulPortletContext(String id, byte[] state)
+ {
+ return new StatefulPortletContext(id, state);
+ }
+
+ public static PortletContext createPortletContext(String portletId)
+ {
+ return createPortletContext(portletId, null);
+ }
}
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/PortletContext.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedBy LastChangedRevision Id
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/StatefulPortletContext.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/StatefulPortletContext.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/StatefulPortletContext.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -22,9 +22,13 @@
******************************************************************************/
package org.jboss.portal.portlet;
+import org.jboss.portal.common.util.ParameterValidation;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
* @version $Revision: 1.1 $
+ * @since 2.6
*/
public class StatefulPortletContext extends PortletContext
{
@@ -32,25 +36,16 @@
/** . */
private final byte[] marshalledState;
- public StatefulPortletContext(String id) throws IllegalArgumentException
+ StatefulPortletContext(String id, byte[] marshalledState) throws IllegalArgumentException
{
- this(id, null);
- }
-
- public StatefulPortletContext(String id, byte[] marshalledState) throws IllegalArgumentException
- {
super(id);
- //
- if (marshalledState == null)
- {
- throw new IllegalArgumentException("State cannot be null");
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(marshalledState, "Portlet state");
this.marshalledState = marshalledState;
}
- public byte[] getMarshalledState()
+ public byte[] getState()
{
return marshalledState;
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/container/PortletContainerInvoker.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/container/PortletContainerInvoker.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/container/PortletContainerInvoker.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -32,19 +32,19 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.container.info.ContainerPortletInfo;
import org.jboss.portal.portlet.info.PortletInfo;
-import org.jboss.portal.portlet.container.info.ContainerPortletInfo;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.state.PropertyMap;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Set;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.HashSet;
/**
* An implementation of portlet invoker that makes a call to a portlet container.
@@ -127,10 +127,10 @@
protected synchronized void startService() throws Exception
{
Map portlets = new HashMap();
- for (Iterator i = registry.getPortletApplications().iterator();i.hasNext();)
+ for (Iterator i = registry.getPortletApplications().iterator(); i.hasNext();)
{
PortletApplication portletApplication = (PortletApplication)i.next();
- for (Iterator j = portletApplication.getPortletContainers().iterator();j.hasNext();)
+ for (Iterator j = portletApplication.getPortletContainers().iterator(); j.hasNext();)
{
PortletContainer portletContainer = (PortletContainer)j.next();
PortletImpl portlet = new PortletImpl(portletContainer);
@@ -185,11 +185,11 @@
{
if (e instanceof PortletInvokerException)
{
- throw(PortletInvokerException)e;
+ throw (PortletInvokerException)e;
}
else if (e instanceof RuntimeException)
{
- throw(RuntimeException)e;
+ throw (RuntimeException)e;
}
else
{
@@ -239,7 +239,7 @@
public PortletImpl(PortletContainer container)
{
this.container = container;
- this.context = new PortletContext(container.getApplication().getId() + "." + container.getId());
+ this.context = PortletContext.createPortletContext(container.getApplication().getId() + "." + container.getId());
}
public PortletContext getContext()
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/AbstractPropertyContext.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/AbstractPropertyMap.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/AccessMode.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/DestroyCloneFailure.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/InvalidStateIdException.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/NoSuchStateException.java
===================================================================
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/Property.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/PropertyChange.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/PropertyContext.java
===================================================================
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/PropertyMap.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/SimplePropertyMap.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConversionException.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConverter.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/StateManagementPolicy.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPersistenceManager.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -31,7 +31,6 @@
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.StateEvent;
-import org.jboss.portal.portlet.StatefulPortletContext;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.spi.InstanceContext;
@@ -49,7 +48,7 @@
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
+ * @version $Revision$
*/
public class ConsumerPortletInvoker implements PortletInvoker
{
@@ -73,7 +72,7 @@
{
throw new InvalidPortletIdException(wrappedCCP);
}
- return new PortletContext(wrappedCCP.substring(CLONE_ID_PREFIX.length()));
+ return PortletContext.createPortletContext(wrappedCCP.substring(CLONE_ID_PREFIX.length()));
}
public PortletContext unwrapPOP(String wrappedPOPId) throws InvalidPortletIdException
@@ -82,7 +81,7 @@
{
throw new IllegalArgumentException();
}
- return new PortletContext(wrappedPOPId);
+ return PortletContext.createPortletContext(wrappedPOPId);
}
public String wrapCCP(PortletContext ccpCtx) throws InvalidPortletIdException
@@ -163,43 +162,48 @@
PortletInvocationResponse response = producer.invoke(invocation);
//
- if (pictx.clonedContext != null)
+ PortletContext clonedContext = pictx.clonedContext;
+ if (clonedContext != null)
{
- if (pictx.clonedContext instanceof StatefulPortletContext)
+ byte[] state = clonedContext.getState();
+ if (state != null)
{
// Save the clone state
- StatefulPortletContext statefulClonedContext = (StatefulPortletContext)pictx.clonedContext;
- ConsumerState state = new ConsumerState(statefulClonedContext.getId(), statefulClonedContext.getMarshalledState());
- String stateId = persistenceManager.createState(state);
+ ConsumerState consumerState = new ConsumerState(clonedContext.getId(), state);
+ String stateId = persistenceManager.createState(consumerState);
String clonedId = CLONE_ID_PREFIX + stateId;
- PortletClonedEvent event = new PortletClonedEvent(new PortletContext(clonedId));
+ PortletClonedEvent event = new PortletClonedEvent(PortletContext.createPortletContext(clonedId));
cictx.onStateEvent(event);
}
else
{
- PortletClonedEvent event = new PortletClonedEvent(new PortletContext(pictx.clonedContext.getId()));
+ PortletClonedEvent event = new PortletClonedEvent(PortletContext.createPortletContext(clonedContext.getId()));
cictx.onStateEvent(event);
}
}
- else if (pictx.modifiedContext != null)
+ else
{
- // Save
- if (pictx.modifiedContext instanceof StatefulPortletContext)
+ PortletContext modifiedContext = pictx.modifiedContext;
+ if (modifiedContext != null)
{
- try
+ byte[] state = modifiedContext.getState();
+ // update state if needed
+ if (state != null)
{
- StatefulPortletContext statefulModifiedContext = (StatefulPortletContext)pictx.modifiedContext;
- ConsumerState state = new ConsumerState(statefulModifiedContext.getId(), statefulModifiedContext.getMarshalledState());
- persistenceManager.updateState(consumerContext.stateId, state);
+ try
+ {
+ ConsumerState consumerState = new ConsumerState(modifiedContext.getId(), state);
+ persistenceManager.updateState(consumerContext.stateId, consumerState);
+ }
+ catch (NoSuchStateException e)
+ {
+ e.printStackTrace();
+ }
+ catch (InvalidStateIdException e)
+ {
+ e.printStackTrace();
+ }
}
- catch (NoSuchStateException e)
- {
- e.printStackTrace();
- }
- catch (InvalidStateIdException e)
- {
- e.printStackTrace();
- }
}
}
@@ -220,13 +224,12 @@
//
PortletContext clonedContext = producer.createClone(consumerContext.portletContext);
- //
- if (clonedContext instanceof StatefulPortletContext)
+ byte[] state = clonedContext.getState();
+ if (state != null)
{
- StatefulPortletContext statefulClonedContext = (StatefulPortletContext)clonedContext;
- ConsumerState state = new ConsumerState(statefulClonedContext.getId(), statefulClonedContext.getMarshalledState());
- String id = persistenceManager.createState(state);
- return new PortletContext(CLONE_ID_PREFIX + id);
+ ConsumerState consumerState = new ConsumerState(clonedContext.getId(), state);
+ String id = persistenceManager.createState(consumerState);
+ return PortletContext.createPortletContext(CLONE_ID_PREFIX + id);
}
else
{
@@ -295,8 +298,8 @@
//
PortletContext updatedPortletContext = producer.setProperties(consumerContext.portletContext, changes);
- //
- if (updatedPortletContext instanceof StatefulPortletContext)
+ byte[] state = updatedPortletContext.getState();
+ if (state != null)
{
if (consumerContext.stateId == null)
{
@@ -304,11 +307,10 @@
}
//
- StatefulPortletContext updatedStatefulPortletContext = (StatefulPortletContext)updatedPortletContext;
- ConsumerState state = new ConsumerState(updatedStatefulPortletContext.getId(), updatedStatefulPortletContext.getMarshalledState());
+ ConsumerState consumerState = new ConsumerState(updatedPortletContext.getId(), state);
try
{
- persistenceManager.updateState(consumerContext.stateId, state);
+ persistenceManager.updateState(consumerContext.stateId, consumerState);
}
catch (NoSuchStateException e)
{
@@ -423,7 +425,7 @@
public ConsumerContext(String stateId, String id, byte[] state)
{
- this(new StatefulPortletContext(id, state), stateId);
+ this(PortletContext.createStatefulPortletContext(id, state), stateId);
}
}
}
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerState.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerStateContext.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/PortletStateChangeRequiredException.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/PortletStateChangeRequiredException.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/PortletStateChangeRequiredException.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -0,0 +1,39 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, 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.portlet.state.producer;
+
+import org.jboss.portal.common.invocation.InvocationException;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ * @since 2.6
+ */
+public class PortletStateChangeRequiredException extends InvocationException
+{
+ public PortletStateChangeRequiredException(String message)
+ {
+ super(message);
+ }
+}
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/PortletStateChangeRequiredException.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPersistenceManager.java
===================================================================
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -137,13 +137,13 @@
String portletId = portletContext.getId();
if (CONSUMER_CLONE_ID.equals(portletId))
{
- if (portletContext instanceof StatefulPortletContext)
+ byte[] state = portletContext.getState();
+ if (state != null)
{
try
{
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- ProducerState state = stateConverter.unmarshall(statefulPortletContext.getMarshalledState());
- return portletInvoker.getPortlet(new PortletContext(state.getPortletId()));
+ ProducerState producerState = stateConverter.unmarshall(state);
+ return portletInvoker.getPortlet(PortletContext.createPortletContext(producerState.getPortletId()));
}
catch (StateConversionException e)
{
@@ -160,7 +160,7 @@
try
{
ProducerState state = persistenceManager.loadState(portletId.substring(PRODUCER_CLONE_ID_PREFIX.length()));
- return portletInvoker.getPortlet(new PortletContext(state.getPortletId()));
+ return portletInvoker.getPortlet(PortletContext.createPortletContext(state.getPortletId()));
}
catch (NoSuchStateException e)
{
@@ -213,7 +213,7 @@
}
// Get the portlet container and set it on invocation
- Portlet portlet = portletInvoker.getPortlet(new PortletContext(targetPortletId));
+ Portlet portlet = portletInvoker.getPortlet(PortletContext.createPortletContext(targetPortletId));
if (portlet == null)
{
throw new NoSuchPortletException("Portlet " + targetPortletId + " not found", targetPortletId);
@@ -230,7 +230,7 @@
PortletInvocationResponse response;
try
{
- invocation.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, new PortletContext(targetPortletId));
+ invocation.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, PortletContext.createPortletContext(targetPortletId));
invocation.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PREFERENCES_ATTRIBUTE, prefs);
invocation.setInfo(info);
@@ -270,7 +270,7 @@
// Return the clone context
String cloneId = PRODUCER_CLONE_ID_PREFIX + cloneStateId;
- PortletContext clonedCtx = new PortletContext(cloneId);
+ PortletContext clonedCtx = PortletContext.createPortletContext(cloneId);
PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
instanceCtx.onStateEvent(event);
}
@@ -285,7 +285,7 @@
}
else
{
- StatefulPortletContext clonedCtx = marshall(state.getPortletId(), newPrefs);
+ PortletContext clonedCtx = marshall(state.getPortletId(), newPrefs);
PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
instanceCtx.onStateEvent(event);
}
@@ -311,7 +311,7 @@
// Return the clone context
String cloneId = PRODUCER_CLONE_ID_PREFIX + cloneStateId;
- PortletContext clonedCtx = new PortletContext(cloneId);
+ PortletContext clonedCtx = PortletContext.createPortletContext(cloneId);
PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
instanceCtx.onStateEvent(event);
}
@@ -337,14 +337,15 @@
}
else
{
- StatefulPortletContext modifiedCtx = marshall(targetPortletId, newPrefs);
+ PortletContext modifiedCtx = marshall(targetPortletId, newPrefs);
PortletModifiedEvent event = new PortletModifiedEvent(modifiedCtx);
instanceCtx.onStateEvent(event);
}
}
else if (access == AccessMode.READ_ONLY)
{
- throw new InvocationException("Read only portlet should have not been modified");
+ throw new PortletStateChangeRequiredException("Modification was requested for portlet with id '"
+ + targetPortletId + "' but access mode was READ ONLY.");
}
}
@@ -373,7 +374,7 @@
{
String stateId = portletId.substring(PRODUCER_CLONE_ID_PREFIX.length());
String cloneId = PRODUCER_CLONE_ID_PREFIX + persistenceManager.cloneState(stateId);
- return new PortletContext(cloneId);
+ return PortletContext.createPortletContext(cloneId);
}
catch (NoSuchStateException e)
{
@@ -402,7 +403,7 @@
if (useStore)
{
String cloneId = persistenceManager.createState(portletId, newState);
- return new PortletContext(PRODUCER_CLONE_ID_PREFIX + cloneId);
+ return PortletContext.createPortletContext(PRODUCER_CLONE_ID_PREFIX + cloneId);
}
else
{
@@ -491,7 +492,7 @@
String referencedPortletId = state.getPortletId();
// Get the container
- Portlet referencedPortlet = portletInvoker.getPortlet(new PortletContext(referencedPortletId));
+ Portlet referencedPortlet = portletInvoker.getPortlet(PortletContext.createPortletContext(referencedPortletId));
// We need the referenced portlet
if (referencedPortlet == null)
@@ -558,7 +559,7 @@
String referencedPortletId = state.getPortletId();
// Get the container
- Portlet referencedPortlet = portletInvoker.getPortlet(new PortletContext(referencedPortletId));
+ Portlet referencedPortlet = portletInvoker.getPortlet(PortletContext.createPortletContext(referencedPortletId));
// We need the referenced portlet
if (referencedPortlet == null)
@@ -619,7 +620,7 @@
{
throw new InvalidPortletIdException(e, portletId);
}
- return new PortletContext(portletId);
+ return PortletContext.createPortletContext(portletId);
}
else
{
@@ -627,13 +628,13 @@
}
}
- private StatefulPortletContext marshall(String portletId, PropertyMap props) throws PortletInvokerException
+ private PortletContext marshall(String portletId, PropertyMap props) throws PortletInvokerException
{
try
{
ProducerState sstate = new ProducerState(portletId, props);
byte[] marshalledState = stateConverter.marshall(sstate);
- return new StatefulPortletContext(CONSUMER_CLONE_ID, marshalledState);
+ return PortletContext.createStatefulPortletContext(CONSUMER_CLONE_ID, marshalledState);
}
catch (StateConversionException e)
{
@@ -651,7 +652,7 @@
private PropertyMap getPropertiesFromMetaData(String portletId) throws PortletInvokerException
{
//
- Portlet portlet = portletInvoker.getPortlet(new PortletContext(portletId));
+ Portlet portlet = portletInvoker.getPortlet(PortletContext.createPortletContext(portletId));
// The prefs info
PreferencesInfo prefs = portlet.getInfo().getPreferences();
@@ -680,7 +681,8 @@
*/
private ProducerState getProducerState(PortletContext portletContext) throws NoSuchPortletException, InvalidPortletIdException
{
- if (!(portletContext instanceof StatefulPortletContext))
+ byte[] state = portletContext.getState();
+ if (state == null)
{
String portletId = portletContext.getId();
if (portletContext.getId().startsWith(PRODUCER_CLONE_ID_PREFIX))
@@ -708,10 +710,7 @@
{
try
{
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- byte[] marshalledState = statefulPortletContext.getMarshalledState();
- ProducerState state = stateConverter.unmarshall(marshalledState);
- return state;
+ return stateConverter.unmarshall(state);
}
catch (StateConversionException e)
{
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerState.java
===================================================================
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerStateContext.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -64,7 +64,7 @@
for (Iterator i = portletIds.iterator(); i.hasNext();)
{
String portletId = (String)i.next();
- Portlet portlet = portletInvoker.getPortlet(new PortletContext(portletId));
+ Portlet portlet = portletInvoker.getPortlet(PortletContext.createPortletContext(portletId));
portlets.add(portlet);
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -36,11 +36,11 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.impl.PortletRequestDecoder;
import org.jboss.portal.portlet.PortletURL;
import org.jboss.portal.portlet.RenderURL;
import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.impl.PortletRequestDecoder;
import org.jboss.portal.portlet.impl.spi.AbstractPortletInvocationContext;
import org.jboss.portal.portlet.impl.spi.AbstractRequestContext;
import org.jboss.portal.portlet.impl.spi.AbstractSecurityContext;
@@ -134,7 +134,7 @@
{
// Get the portlet
String portletId = requestPath.substring("/portlet/".length());
- Portlet portlet = portletInvoker.getPortlet(new PortletContext(portletId));
+ Portlet portlet = portletInvoker.getPortlet(PortletContext.createPortletContext(portletId));
PortletRequestDecoder decoder = new PortletRequestDecoder();
decoder.decode(invocation.getServerContext().getQueryParameterMap(), invocation.getServerContext().getBodyParameterMap());
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -161,7 +161,7 @@
{
throw new IllegalArgumentException();
}
- this.portletContext = new PortletContext(portletId);
+ this.portletContext = PortletContext.createPortletContext(portletId);
this.support = support;
this.valid = true;
}
Modified: trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/MarkupTestCase.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/MarkupTestCase.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/MarkupTestCase.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -169,7 +169,7 @@
RenderInvocation render = new RenderInvocation(rc);
render.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE,
- new PortletContext(portletHandle));
+ PortletContext.createPortletContext(portletHandle));
render.setInstanceContext(new BasicInstanceContext(portletHandle));
render.setSecurityContext(new BasicSecurityContext());
@@ -192,7 +192,7 @@
action.setSecurityContext(new BasicSecurityContext());
action.setUserContext(new BasicUserContext());
action.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE,
- new PortletContext(portletHandle));
+ PortletContext.createPortletContext(portletHandle));
return action;
}
}
Modified: trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/ServiceDescriptionTestCase.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/ServiceDescriptionTestCase.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/consumer/ServiceDescriptionTestCase.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -62,10 +62,10 @@
public void testGetPortlet() throws Exception
{
//obtain one portlet
- Portlet portlet = consumer.getPortlet(new PortletContext(BasicMarkupBehavior.PORTLET_HANDLE));
+ Portlet portlet = consumer.getPortlet(PortletContext.createPortletContext(BasicMarkupBehavior.PORTLET_HANDLE));
checkPortlet(portlet, "", BasicMarkupBehavior.PORTLET_HANDLE);
- portlet = consumer.getPortlet(new PortletContext(SessionMarkupBehavior.PORTLET_HANDLE));
+ portlet = consumer.getPortlet(PortletContext.createPortletContext(SessionMarkupBehavior.PORTLET_HANDLE));
checkPortlet(portlet, "2", SessionMarkupBehavior.PORTLET_HANDLE);
}
}
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPUtils.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPUtils.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPUtils.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -31,7 +31,6 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletURL;
import org.jboss.portal.portlet.RenderURL;
-import org.jboss.portal.portlet.StatefulPortletContext;
import org.jboss.portal.portlet.state.AccessMode;
import org.jboss.portal.wsrp.core.Fault;
import org.jboss.portal.wsrp.core.MissingParametersFault;
@@ -231,14 +230,7 @@
PortletContext context;
byte[] state = portletContext.getPortletState();
- if (state != null && state.length > 0)
- {
- context = new StatefulPortletContext(handle, state);
- }
- else
- {
- context = new PortletContext(handle);
- }
+ context = PortletContext.createPortletContext(handle, state);
return context;
}
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/portlet/WSRPPortlet.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/portlet/WSRPPortlet.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/portlet/WSRPPortlet.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -59,7 +59,7 @@
public PortletContext getContext()
{
- return new PortletContext(id);
+ return PortletContext.createPortletContext(id);
}
public PortletInfo getInfo()
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -26,11 +26,13 @@
import org.jboss.logging.Logger;
import org.jboss.portal.common.MediaType;
import org.jboss.portal.common.util.LocaleInfo;
+import org.jboss.portal.common.util.ParameterValidation;
import org.jboss.portal.portlet.OpaqueStateString;
import org.jboss.portal.portlet.Parameters;
import org.jboss.portal.portlet.Portlet;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.StateString;
import org.jboss.portal.portlet.info.CacheInfo;
import org.jboss.portal.portlet.invocation.ActionInvocation;
@@ -47,7 +49,7 @@
import org.jboss.portal.portlet.spi.UserContext;
import org.jboss.portal.portlet.spi.WindowContext;
import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.support.spi.InstanceContextSupport;
+import org.jboss.portal.portlet.state.producer.PortletStateChangeRequiredException;
import org.jboss.portal.server.util.HTTPStreamInfo;
import org.jboss.portal.wsrp.UserContextConverter;
import org.jboss.portal.wsrp.WSRPConstants;
@@ -283,7 +285,7 @@
final Portlet portlet;
try
{
- portlet = invoker.getPortlet(new org.jboss.portal.portlet.PortletContext(portletHandle));
+ portlet = invoker.getPortlet(org.jboss.portal.portlet.PortletContext.createPortletContext(portletHandle));
}
catch (PortletInvokerException e)
{
@@ -315,7 +317,7 @@
StateChange stateChange = interactionParams.getPortletStateChange();
WSRPUtils.throwMissingParametersFaultIfValueIsMissing(stateChange, "portletStateChange", "InteractionParams");
- InstanceContext instanceContext = createInstanceContext(portletHandle, WSRPUtils.getAccessModeFromStateChange(stateChange));
+ WSRPInstanceContext instanceContext = createInstanceContext(portletHandle, WSRPUtils.getAccessModeFromStateChange(stateChange));
Parameters parameters;
@@ -370,6 +372,10 @@
response = producer.getInvoker().invoke(invocation);
log.debug("ActionInvocation done");
}
+ catch (PortletStateChangeRequiredException e)
+ {
+ throw (PortletStateChangeRequiredFault)WSRPUtils.createFaultFrom(PortletStateChangeRequiredFault.class, e);
+ }
catch (PortletInvokerException e)
{
log.fatal(e);
@@ -386,6 +392,8 @@
updateResponse.setNewWindowState(WSRPUtils.convertJSR168WindowStateNameToWSRPName(getNewStateOrNull(renderResult, false)));
StateString ns = renderResult.getNavigationalState();
updateResponse.setNavigationalState(ns != null ? ns.getStringValue() : null);
+ PortletContext updatedPortletContext = WSRPTypeFactory.createPortletContext(instanceContext.getId());
+ updateResponse.setPortletContext(updatedPortletContext);
return WSRPTypeFactory.createBlockingInteractionResponse(updateResponse);
}
@@ -412,12 +420,12 @@
Throwable throwable = errorResult.getThrowable();
if (throwable instanceof PortletModeException)
{
- throw(UnsupportedModeFault)WSRPUtils.createFaultFrom(UnsupportedModeFault.class,
+ throw (UnsupportedModeFault)WSRPUtils.createFaultFrom(UnsupportedModeFault.class,
new IllegalArgumentException("Unsupported mode: " + ((PortletModeException)throwable).getMode()));
}
if (throwable instanceof WindowStateException)
{
- throw(UnsupportedWindowStateFault)WSRPUtils.createFaultFrom(UnsupportedWindowStateFault.class,
+ throw (UnsupportedWindowStateFault)WSRPUtils.createFaultFrom(UnsupportedWindowStateFault.class,
new IllegalArgumentException("Unsupported window state: " + ((WindowStateException)throwable).getState()));
}
// todo: deal with other exceptions
@@ -523,20 +531,9 @@
}
}
- private InstanceContext createInstanceContext(final String portletHandle, final AccessMode accessMode)
+ private WSRPInstanceContext createInstanceContext(final String portletHandle, final AccessMode accessMode)
{
- return new InstanceContextSupport()
- {
- public String getId()
- {
- return portletHandle;
- }
-
- public AccessMode getAccessMode()
- {
- return accessMode;
- }
- };
+ return new WSRPInstanceContext(portletHandle, accessMode);
}
private WindowContext createWindowContext(final String portletHandle, final RuntimeContext runtimeContext)
@@ -620,7 +617,7 @@
}
catch (MimeTypeParseException e)
{
- throw(UnsupportedMimeTypeFault)WSRPUtils.createFaultFrom(UnsupportedMimeTypeFault.class, e);
+ throw (UnsupportedMimeTypeFault)WSRPUtils.createFaultFrom(UnsupportedMimeTypeFault.class, e);
}
return streamInfo;
}
@@ -704,7 +701,7 @@
// no MIME type was found: error!
if (markupType == null)
{
- throw(UnsupportedMimeTypeFault)WSRPUtils.createFaultFrom(UnsupportedMimeTypeFault.class,
+ throw (UnsupportedMimeTypeFault)WSRPUtils.createFaultFrom(UnsupportedMimeTypeFault.class,
new IllegalArgumentException("None of the specified MIME types are supported by this Portlet."));
}
@@ -716,7 +713,7 @@
}
catch (IllegalArgumentException e)
{
- throw(UnsupportedModeFault)WSRPUtils.createFaultFrom(UnsupportedModeFault.class, e);
+ throw (UnsupportedModeFault)WSRPUtils.createFaultFrom(UnsupportedModeFault.class, e);
}
// get the window state
@@ -727,7 +724,7 @@
}
catch (IllegalArgumentException e)
{
- throw(UnsupportedWindowStateFault)WSRPUtils.createFaultFrom(UnsupportedWindowStateFault.class, e);
+ throw (UnsupportedWindowStateFault)WSRPUtils.createFaultFrom(UnsupportedWindowStateFault.class, e);
}
// get the character set
@@ -901,4 +898,34 @@
return result;
}
}
+
+ class WSRPInstanceContext implements InstanceContext
+ {
+ private String id;
+ private final AccessMode accessMode;
+ private boolean wasModified = false;
+
+ public WSRPInstanceContext(String portletHandle, AccessMode accessMode)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(portletHandle, "portlet handle", "InstanceContext");
+ ParameterValidation.throwIllegalArgExceptionIfNull(accessMode, "AccessMode");
+
+ this.id = portletHandle;
+ this.accessMode = accessMode;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public AccessMode getAccessMode()
+ {
+ return accessMode;
+ }
+
+ public void onStateEvent(StateEvent event)
+ {
+ }
+ }
}
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java 2006-12-09 17:58:29 UTC (rev 5775)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java 2006-12-09 19:12:54 UTC (rev 5776)
@@ -403,7 +403,7 @@
Portlet portlet;
try
{
- portlet = invoker.getPortlet(new org.jboss.portal.portlet.PortletContext(handle));
+ portlet = invoker.getPortlet(org.jboss.portal.portlet.PortletContext.createPortletContext(handle));
}
catch (NoSuchPortletException e)
{
19 years, 7 months
JBoss Portal SVN: r5775 - trunk/core/src/main/org/jboss/portal/core/portlet/management
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2006-12-09 12:58:29 -0500 (Sat, 09 Dec 2006)
New Revision: 5775
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/management/PortalObjectManagerBean.java
Log:
Fixed incorrect refactoring (improper id was used) that was breaking the Management portlet.
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/management/PortalObjectManagerBean.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/management/PortalObjectManagerBean.java 2006-12-09 17:55:16 UTC (rev 5774)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/management/PortalObjectManagerBean.java 2006-12-09 17:58:29 UTC (rev 5775)
@@ -38,8 +38,8 @@
import org.jboss.portal.core.model.portal.Page;
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.PortalObjectContainer;
+import org.jboss.portal.core.model.portal.PortalObjectId;
import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.core.model.portal.PortalObjectId;
import org.jboss.portal.faces.el.DelegatingPropertyResolver;
import org.jboss.portal.faces.el.PropertyDef;
import org.jboss.portal.faces.el.TypeDef;
@@ -356,7 +356,7 @@
// Set the state from the id
if (id != null)
{
- PortalObjectId poid = PortalObjectId.parse(selectedId, PortalObjectId.CANONICAL_FORMAT);
+ PortalObjectId poid = PortalObjectId.parse(id, PortalObjectId.CANONICAL_FORMAT);
PortalObject object = portalObjectContainer.getObject(poid);
//
@@ -399,7 +399,7 @@
// Destroy the object
if (id != null)
{
- PortalObjectId poid = PortalObjectId.parse(selectedId, PortalObjectId.CANONICAL_FORMAT);
+ PortalObjectId poid = PortalObjectId.parse(id, PortalObjectId.CANONICAL_FORMAT);
PortalObject object = portalObjectContainer.getObject(poid);
//
@@ -516,7 +516,7 @@
{
Map pmap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String id = (String)pmap.get("id");
- PortalObjectId poid = PortalObjectId.parse(selectedId, PortalObjectId.CANONICAL_FORMAT);
+ PortalObjectId poid = PortalObjectId.parse(id, PortalObjectId.CANONICAL_FORMAT);
Window target = (Window)portalObjectContainer.getObject(poid);
move(target, MOVE_UP);
}
@@ -532,7 +532,7 @@
{
Map pmap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String id = (String)pmap.get("id");
- PortalObjectId poid = PortalObjectId.parse(selectedId, PortalObjectId.CANONICAL_FORMAT);
+ PortalObjectId poid = PortalObjectId.parse(id, PortalObjectId.CANONICAL_FORMAT);
Window target = (Window)portalObjectContainer.getObject(poid);
move(target, MOVE_DOWN);
}
@@ -548,7 +548,7 @@
{
Map pmap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String id = (String)pmap.get("id");
- PortalObjectId poid = PortalObjectId.parse(selectedId, PortalObjectId.CANONICAL_FORMAT);
+ PortalObjectId poid = PortalObjectId.parse(id, PortalObjectId.CANONICAL_FORMAT);
Window target = (Window)portalObjectContainer.getObject(poid);
move(target, MOVE_RIGHT);
}
@@ -564,7 +564,7 @@
{
Map pmap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String id = (String)pmap.get("id");
- PortalObjectId poid = PortalObjectId.parse(selectedId, PortalObjectId.CANONICAL_FORMAT);
+ PortalObjectId poid = PortalObjectId.parse(id, PortalObjectId.CANONICAL_FORMAT);
Window target = (Window)portalObjectContainer.getObject(poid);
move(target, MOVE_LEFT);
}
19 years, 7 months
JBoss Portal SVN: r5774 - in trunk: common/src/main/org/jboss/portal/common/util core/src/main/org/jboss/portal/core/deployment/jboss core/src/main/org/jboss/portal/core/impl/model/portal core/src/main/org/jboss/portal/core/metadata core/src/main/org/jboss/portal/core/model/portal core/src/main/org/jboss/portal/core/model/portal/command core/src/main/org/jboss/portal/core/portlet/management core/src/main/org/jboss/portal/test/core/model/portal core/src/resources/portal-core-sar/conf/data
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2006-12-09 12:55:16 -0500 (Sat, 09 Dec 2006)
New Revision: 5774
Added:
trunk/core/src/main/org/jboss/portal/core/metadata/ContextMetaData.java
Modified:
trunk/common/src/main/org/jboss/portal/common/util/Tools.java
trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContextImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PageImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/WindowImpl.java
trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java
trunk/core/src/main/org/jboss/portal/core/model/portal/PortalContainer.java
trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObject.java
trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java
trunk/core/src/main/org/jboss/portal/core/model/portal/command/ViewDashboardCommand.java
trunk/core/src/main/org/jboss/portal/core/portlet/management/LazyPortalObjectTreeNode.java
trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectContainerTestCase.java
trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectIdTestCase.java
trunk/core/src/resources/portal-core-sar/conf/data/default-object.xml
Log:
- added iterator(Object[] objects, int from, int to) in Tools
- use now a portal per user instead of a page per user in the dashboard
- added a portal called "template" that is used to implicitely create the default dashboard when the user wants to use its dashboard the first time
- added a PortalObject.copy(PortalObject parent, String name) operation to facilitate the cloning of a portal object subtree used in the dashboard creation for a particular user
Modified: trunk/common/src/main/org/jboss/portal/common/util/Tools.java
===================================================================
--- trunk/common/src/main/org/jboss/portal/common/util/Tools.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/common/src/main/org/jboss/portal/common/util/Tools.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -465,10 +465,17 @@
return list;
}
+ /**
+ * Returns a singleton iterator.
+ *
+ * @param o the singleton object
+ * @return the iterator
+ */
public static Iterator iterator(final Object o)
{
return new Iterator()
{
+ /** The status of the iterator. */
boolean done = false;
public boolean hasNext()
@@ -493,23 +500,53 @@
};
}
- public static Iterator iterator(final Object[] objects)
+ /**
+ * Returns an iterator over the array elements.
+ *
+ * @param objects the array containing the objects to iterate on
+ * @return the iterator
+ * @throws IllegalArgumentException if the object array is null or the specified range is not valid
+ */
+ public static Iterator iterator(final Object[] objects) throws IllegalArgumentException
{
+ if (objects == null)
+ {
+ throw new IllegalArgumentException("No null object array");
+ }
+ return iterator(objects, 0, objects.length);
+ }
+
+ /**
+ * Returns an iterator over the array elements within the specified range.
+ *
+ * @param objects the array containing the objects to iterate on
+ * @param from the inclusive start index
+ * @param to the exclusive stop index
+ * @return the iterator
+ * @throws IllegalArgumentException if the object array is null or the specified range is not valid
+ */
+ public static Iterator iterator(final Object[] objects, final int from, final int to) throws IllegalArgumentException
+ {
+ if (objects == null)
+ {
+ throw new IllegalArgumentException("No null object array");
+ }
+ if (from > to || from < 0 || to > objects.length)
+ {
+ throw new IllegalArgumentException("Invalid range [" + from + "," + to + "] for array of length " + objects.length);
+ }
return new Iterator()
{
- int index = 0;
+ /** . */
+ int index = from;
public boolean hasNext()
{
- return objects != null && index < objects.length;
+ return index < to;
}
public Object next()
{
- if (objects == null)
- {
- throw new NoSuchElementException("Wrapped array is null");
- }
if (index >= objects.length)
{
throw new NoSuchElementException("Index is greater than the array length");
Modified: trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -147,6 +147,10 @@
if (metaDataElt == null)
{
metaDataElt = XML.getUniqueChild(deploymentElt, "window", false);
+ if (metaDataElt == null)
+ {
+ metaDataElt = XML.getUniqueChild(deploymentElt, "context", false);
+ }
}
}
if (metaDataElt != null)
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContextImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContextImpl.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContextImpl.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -27,6 +27,8 @@
import org.jboss.portal.core.model.portal.Portal;
import org.jboss.portal.core.model.portal.PortalObject;
+import java.util.HashMap;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
@@ -46,14 +48,10 @@
public Portal getPortal(String name)
{
- ObjectNode childNode = (ObjectNode)objectNode.getChildren().get(name);
- if (childNode != null)
+ PortalObject child = getChild(name);
+ if (child instanceof Portal)
{
- PortalObjectImpl childObject = childNode.getObject();
- if (childObject instanceof Portal)
- {
- return (Portal)childObject;
- }
+ return (Portal)child;
}
return null;
}
@@ -79,8 +77,32 @@
return null;
}
+ public PortalContainer createPortalContainer(String name) throws DuplicatePortalObjectException
+ {
+ ContextImpl portalContainer = new ContextImpl(false);
+ addChild(name, portalContainer);
+ return portalContainer;
+ }
+
+ public PortalContainer getPortalContainer(String name) throws IllegalArgumentException
+ {
+ PortalObject child = getChild(name);
+ if (child instanceof PortalContainer)
+ {
+ return (PortalContainer)child;
+ }
+ return null;
+ }
+
public int getType()
{
return PortalObject.TYPE_CONTEXT;
}
+
+ protected PortalObjectImpl cloneObject()
+ {
+ ContextImpl clone = new ContextImpl();
+ clone.setDeclaredPropertyMap(new HashMap(getDeclaredPropertyMap()));
+ return clone;
+ }
}
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PageImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PageImpl.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PageImpl.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -28,6 +28,8 @@
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.Window;
+import java.util.HashMap;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
@@ -57,14 +59,10 @@
public Page getPage(String name)
{
- ObjectNode childNode = (ObjectNode)objectNode.getChildren().get(name);
- if (childNode != null)
+ PortalObject child = getChild(name);
+ if (child instanceof Page)
{
- PortalObjectImpl childObject = childNode.getObject();
- if (childObject instanceof Page)
- {
- return (Page)childObject;
- }
+ return (Page)child;
}
return null;
}
@@ -78,14 +76,10 @@
public Window getWindow(String name)
{
- ObjectNode childNode = (ObjectNode)objectNode.getChildren().get(name);
- if (childNode != null)
+ PortalObject child = getChild(name);
+ if (child instanceof Window)
{
- PortalObjectImpl childObject = childNode.getObject();
- if (childObject instanceof Window)
- {
- return (Window)childObject;
- }
+ return (Window)child;
}
return null;
}
@@ -101,4 +95,11 @@
{
return PortalObject.TYPE_PAGE;
}
+
+ protected PortalObjectImpl cloneObject()
+ {
+ PageImpl clone = new PageImpl();
+ clone.setDeclaredPropertyMap(new HashMap(getDeclaredPropertyMap()));
+ return clone;
+ }
}
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -38,6 +38,8 @@
import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
+import java.util.List;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
@@ -254,6 +256,7 @@
private ObjectNode getObjectNodeNoCache(Session session, String path)
{
+ List results;
if (path.length() == 0)
{
// For oracle where an empty path is treated as null so we need to add that here
@@ -261,15 +264,20 @@
Query query = session.createQuery(LOOKUP_QUERY_FOR_NULL_PATH);
query.setParameter("path", path);
query.setCacheable(true);
- return (ObjectNode)query.uniqueResult();
+ results = query.list();
}
else
{
Criteria criteria = session.createCriteria(ObjectNode.class);
criteria.add(Restrictions.naturalId().set("path", path));
criteria.setCacheable(true);
- return (ObjectNode)criteria.uniqueResult();
+ results = criteria.list();
}
+ if (results.isEmpty())
+ {
+ return null;
+ }
+ return (ObjectNode)results.get(0);
}
private ObjectNode getObjectNode(Session session, String path)
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalImpl.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalImpl.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -29,6 +29,7 @@
import java.util.HashSet;
import java.util.Set;
+import java.util.HashMap;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -85,14 +86,10 @@
public Page getPage(String name)
{
- ObjectNode childNode = (ObjectNode)objectNode.getChildren().get(name);
- if (childNode != null)
+ PortalObject child = getChild(name);
+ if (child instanceof Page)
{
- PortalObjectImpl childObject = childNode.getObject();
- if (childObject instanceof Page)
- {
- return (Page)childObject;
- }
+ return (Page)child;
}
return null;
}
@@ -122,4 +119,13 @@
}
return null;
}
+
+ protected PortalObjectImpl cloneObject()
+ {
+ PortalImpl clone = new PortalImpl();
+ clone.setWindowStates(new HashSet(getWindowStates()));
+ clone.setModes(new HashSet(getModes()));
+ clone.setDeclaredPropertyMap(new HashMap(getDeclaredPropertyMap()));
+ return clone;
+ }
}
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdImpl.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectIdImpl.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -58,7 +58,7 @@
super(names);
//
- this.internalId = LEGACY_FORMAT.toString(names);
+ this.internalId = LEGACY_FORMAT.toString(names, 0, names.length);
}
PortalObjectIdImpl(PortalObjectImpl object)
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectImpl.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PortalObjectImpl.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -103,7 +103,6 @@
//
-
public PortalObjectId getId()
{
if (id == null)
@@ -123,6 +122,43 @@
return objectNode.getName();
}
+
+ public PortalObject copy(PortalObject parent, String name) throws DuplicatePortalObjectException, IllegalArgumentException
+ {
+ if (parent == null)
+ {
+ throw new IllegalArgumentException("No null parent accepted");
+ }
+ if (name == null)
+ {
+ throw new IllegalArgumentException("No null name accepted");
+ }
+ return copy((PortalObjectImpl)parent, name);
+ }
+
+ private PortalObjectImpl copy(PortalObjectImpl parent, String name) throws DuplicatePortalObjectException
+ {
+ // Clone this node
+ PortalObjectImpl clone = cloneObject();
+
+ // Add the clone to the specified parent
+ parent.addChild(name, clone);
+
+ // Clone children reccursively
+ for (Iterator i = getChildren().iterator();i.hasNext();)
+ {
+ PortalObjectImpl child = (PortalObjectImpl)i.next();
+
+ //
+ child.copy(clone, child.getName());
+ }
+
+ //
+ return clone;
+ }
+
+ protected abstract PortalObjectImpl cloneObject();
+
public Collection getChildren()
{
if (collection == null)
@@ -247,6 +283,10 @@
public PortalObject getChild(String name)
{
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
ObjectNode childNode = (ObjectNode)objectNode.getChildren().get(name);
if (childNode != null)
{
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/WindowImpl.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/WindowImpl.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/WindowImpl.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -25,6 +25,8 @@
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.Window;
+import java.util.HashMap;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
@@ -60,4 +62,12 @@
{
return PortalObject.TYPE_WINDOW;
}
+
+ protected PortalObjectImpl cloneObject()
+ {
+ WindowImpl clone = new WindowImpl();
+ clone.setInstanceRef(instanceRef);
+ clone.setDeclaredPropertyMap(new HashMap(getDeclaredPropertyMap()));
+ return clone;
+ }
}
Added: trunk/core/src/main/org/jboss/portal/core/metadata/ContextMetaData.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/metadata/ContextMetaData.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/metadata/ContextMetaData.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -0,0 +1,92 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, 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.metadata;
+
+import org.jboss.portal.core.model.portal.PortalObject;
+import org.jboss.portal.core.model.portal.PortalContainer;
+import org.jboss.portal.common.util.XML;
+import org.w3c.dom.Element;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ContextMetaData extends PortalObjectMetaData
+{
+ public PortalObject create(PortalObject parent, BuildContext buildContext) throws Exception
+ {
+ if (parent instanceof PortalContainer == false)
+ {
+ throw new IllegalArgumentException("Not a context");
+ }
+
+ //
+ PortalContainer container = ((PortalContainer)parent).createPortalContainer(getName());
+
+ //
+ configure(container, buildContext);
+
+ //
+ for (Iterator i = getChildren().values().iterator(); i.hasNext();)
+ {
+ PortalObjectMetaData portalObjectMD = (PortalObjectMetaData)i.next();
+ portalObjectMD.create(container, buildContext);
+ }
+
+ //
+ return container;
+ }
+
+ /** Parse the following XML elements : context-name. */
+ public static ContextMetaData buildContextMetaData(Element contextElt) throws Exception
+ {
+ ContextMetaData contextMD = new ContextMetaData();
+
+ //
+ String contextName = XML.asString(XML.getUniqueChild(contextElt, "context-name", true));
+ if (contextName != null && contextName.length() > 0 && contextName.indexOf(".") < 0)
+ {
+ contextMD.setName(contextName);
+ }
+ else
+ {
+ throw new IllegalArgumentException("Invalid context-name: '" + contextName
+ + "'. Must not be null, empty or contain a '.'");
+ }
+
+ //
+ List pageElts = XML.getChildren(contextElt, "portal");
+ for (int i = 0; i < pageElts.size(); i++)
+ {
+ Element portalElt = (Element)pageElts.get(i);
+ PortalMetaData pageMD = (PortalMetaData)PortalObjectMetaData.buildMetaData(portalElt);
+ contextMD.getChildren().put(pageMD.getName(), pageMD);
+ }
+
+ //
+ return contextMD;
+ }
+}
Modified: trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -185,6 +185,12 @@
{
portalObjectMD = WindowMetaData.buildWindowMetaData(portalObjectElt);
}
+ else if ("context".equals(type))
+ {
+ portalObjectMD = ContextMetaData.buildContextMetaData(portalObjectElt);
+ }
+
+ // Parse common XML stuff
if (portalObjectMD != null)
{
// Add the security constraints
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/PortalContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/PortalContainer.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/PortalContainer.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -56,4 +56,25 @@
* @return the default portal of that container
*/
Portal getDefaultPortal();
+
+ /**
+ * Returns an existing portal container or null if such a child does not exist or does not have the appropriate type.
+ *
+ * @param name the portal container name
+ * @return the specified portal container
+ * @throws IllegalArgumentException if the specified name is null
+ */
+ PortalContainer getPortalContainer(String name) throws IllegalArgumentException;
+
+ /**
+ * Creates a new portal container.
+ *
+ * @param name the portal container name
+ * @return the newly created portal container
+ * @throws DuplicatePortalObjectException if a child with the specified name already exists
+ * @throws IllegalArgumentException if the name argument is null
+ */
+ PortalContainer createPortalContainer(String name) throws DuplicatePortalObjectException, IllegalArgumentException;
+
+
}
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObject.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObject.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObject.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -118,6 +118,17 @@
void destroyChild(String name) throws NoSuchPortalObjectException, IllegalArgumentException;
/**
+ * Copy the portal object as a child of the specified object.
+ *
+ * @param parent the parent of the copy
+ * @param name the name of the child
+ * @return the newly created node child of the specified parent
+ * @throws DuplicatePortalObjectException if the specified parent has already a node with such a name
+ * @throws IllegalArgumentException if the specified parent is null
+ */
+ PortalObject copy(PortalObject parent, String name) throws DuplicatePortalObjectException, IllegalArgumentException;
+
+ /**
* Return a property of that object.
*
* @return the property value
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -37,12 +37,28 @@
public class PortalObjectId implements Comparable
{
+ /** . */
+ private static final String[] EMPTY_STRINGS = new String[0];
+
/** The composites. */
private final String[] names;
+ /** Inclusive start index. */
+ private final int from;
+
+ /** Exclusive stop index. */
+ private final int to;
+
/** The lazy computed hash code. */
private Integer hashCode;
+ public PortalObjectId()
+ {
+ this.names = EMPTY_STRINGS;
+ this.from = 0;
+ this.to = 0;
+ }
+
/**
* Copy constructor.
*
@@ -54,6 +70,8 @@
ParameterValidation.throwIllegalArgExceptionIfNull(that, "PortalObjectId to be copied");
this.names = that.names;
this.hashCode = that.hashCode;
+ this.from = that.from;
+ this.to = that.to;
}
/**
@@ -66,9 +84,34 @@
{
ParameterValidation.throwIllegalArgExceptionIfNull(names, "composing names");
this.names = names;
+ this.from = 0;
+ this.to = names.length;
}
/**
+ * Build an id directly from its composing names.
+ *
+ * @param names the id names
+ * @throws IllegalArgumentException if any argument is null or not well formed
+ */
+ private PortalObjectId(String[] names, int from, int to) throws IllegalArgumentException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(names, "composing names");
+ this.names = names;
+ this.from = from;
+ this.to = to;
+ }
+
+ public PortalObjectId blah() throws IllegalStateException
+ {
+ if (from == to)
+ {
+ throw new IllegalStateException();
+ }
+ return new PortalObjectId(names, from + 1, to);
+ }
+
+ /**
* Build an id by parsing a string representation.
*
* @param value the string representation
@@ -79,8 +122,28 @@
{
ParameterValidation.throwIllegalArgExceptionIfNull(format, "Format");
this.names = format.parse(value);
+ this.from = 0;
+ this.to = names.length;
}
+ public int getLength()
+ {
+ return from - to;
+ }
+
+ public String getName(int index)
+ {
+ if (index < from)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (index >= to)
+ {
+ throw new IllegalArgumentException();
+ }
+ return names[index - from];
+ }
+
public boolean equals(Object obj)
{
if (obj == this)
@@ -90,19 +153,23 @@
if (obj instanceof PortalObjectId)
{
PortalObjectId that = (PortalObjectId)obj;
+ String[] thisNames = this.names;
String[] thatNames = that.names;
- String[] thisNames = this.names;
//
- if (thatNames.length != thisNames.length)
+ int thisLen = this.to - this.from;
+ int thatLen = that.to - that.from;
+ if (thisLen != thatLen)
{
return false;
}
//
- for (int i = thisNames.length - 1; i >= 0; i--)
+ int thisIdx = this.from;
+ int thatIdx = that.from;
+ while (thisLen-- > 0)
{
- if (!thisNames[i].equals(thatNames[i]))
+ if (!thisNames[thisIdx++].equals(thatNames[thatIdx++]))
{
return false;
}
@@ -119,7 +186,7 @@
if (hashCode == null)
{
int value = 0;
- for (int i = names.length - 1; i >= 0; i--)
+ for (int i = to - 1; i >= from; i--)
{
value = value * 41 + names[i].hashCode();
}
@@ -140,13 +207,13 @@
*/
public Iterator names()
{
- return Tools.iterator(names);
+ return Tools.iterator(names, from, to);
}
/** Returns the canonical representation of the id. */
public String toString()
{
- return CANONICAL_FORMAT.toString(names);
+ return CANONICAL_FORMAT.toString(names, from, to);
}
/**
@@ -158,7 +225,7 @@
public String toString(Format format)
{
ParameterValidation.throwIllegalArgExceptionIfNull(format, "Format");
- return format.toString(names);
+ return format.toString(names, from, to);
}
public static PortalObjectId parse(String value, Format format)
@@ -179,7 +246,7 @@
* @param names
* @return
*/
- public abstract String toString(String[] names) throws IllegalArgumentException;
+ public abstract String toString(String[] names, int from, int to) throws IllegalArgumentException;
/**
* @param id
@@ -188,7 +255,7 @@
public final String toString(PortalObjectId id) throws IllegalArgumentException
{
ParameterValidation.throwIllegalArgExceptionIfNull(id, "PortalObjectId");
- return toString(id.names);
+ return toString(id.names, id.from, id.to);
}
}
@@ -241,17 +308,17 @@
return names;
}
- public String toString(String[] names)
+ public String toString(String[] names, int from, int to)
{
ParameterValidation.throwIllegalArgExceptionIfNull(names, "name string array");
- if (names.length == 0)
+ if (from == to)
{
return "/";
}
else
{
StringBuffer tmp = new StringBuffer(names.length * 10);
- for (int i = 0; i < names.length; i++)
+ for (int i = from; i < to; i++)
{
String name = names[i];
if (name == null)
@@ -300,15 +367,15 @@
return names;
}
- public String toString(String[] names)
+ public String toString(String[] names, int from, int to)
{
ParameterValidation.throwIllegalArgExceptionIfNull(names, "name string array");
- if (names.length == 0)
+ if (from == to)
{
return "";
}
- StringBuffer buffer = new StringBuffer(names.length * 8);
- for (int i = 0; i < names.length; i++)
+ StringBuffer buffer = new StringBuffer((to - from) * 8);
+ for (int i = from; i < to; i++)
{
if (i > 0)
{
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/command/ViewDashboardCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/command/ViewDashboardCommand.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/command/ViewDashboardCommand.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -29,29 +29,32 @@
import org.jboss.portal.core.model.portal.command.response.UpdateViewResponse;
import org.jboss.portal.core.model.portal.DuplicatePortalObjectException;
import org.jboss.portal.core.model.portal.Page;
-import org.jboss.portal.core.model.portal.PortalObject;
-import org.jboss.portal.core.model.portal.Window;
import org.jboss.portal.core.model.portal.PortalObjectId;
+import org.jboss.portal.core.model.portal.Portal;
+import org.jboss.portal.core.model.portal.PortalContainer;
import org.jboss.portal.security.PortalSecurityException;
import org.jboss.portal.security.spi.auth.PortalAuthorizationManager;
-import java.util.Iterator;
-import java.util.Map;
-
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class ViewDashboardCommand extends PortalCommand
+public class ViewDashboardCommand extends PortalObjectCommand
{
/** . */
private static final CommandInfo info = new ViewCommandInfo(false, "view");
/** . */
+ private Portal dashboardPortal;
+
+ /** . */
private Page dashboardPage;
/** . */
+ private PortalContainer dashboardContext;
+
+ /** . */
private String userId;
public ViewDashboardCommand(PortalObjectId portalId)
@@ -64,12 +67,58 @@
return info;
}
+ public PortalContainer getDashboardContext()
+ {
+ return dashboardContext;
+ }
+
+ public Portal getDashboardPortal()
+ {
+ return dashboardPortal;
+ }
+
+ public Page getDashboardPage()
+ {
+ return dashboardPage;
+ }
+
+ /**
+ * Initialize the command
+ *
+ * @throws org.jboss.portal.common.invocation.InvocationException
+ *
+ */
public void create() throws ControllerException
{
super.create();
//
+ dashboardContext = (PortalContainer)getTarget();
+
+ //
userId = getControllerContext().getServerInvocation().getServerContext().getClientRequest().getRemoteUser();
+
+ try
+ {
+ //
+ dashboardPortal = dashboardContext.getPortal(userId);
+
+ // Create if not exist
+ if (dashboardPortal == null)
+ {
+ Portal templatePortal = (Portal)context.getController().getPortalObjectContainer().getObject(new PortalObjectId("/template", PortalObjectId.CANONICAL_FORMAT));
+
+ // Copy the template portal
+ dashboardPortal = (Portal)templatePortal.copy(dashboardContext, userId);
+ }
+
+ //
+ dashboardPage = dashboardPortal.getDefaultPage();
+ }
+ catch (DuplicatePortalObjectException e)
+ {
+ throw new ControllerException(e);
+ }
}
public void enforceSecurity(PortalAuthorizationManager pam) throws ControllerSecurityException, PortalSecurityException
@@ -82,45 +131,6 @@
public Object execute() throws ControllerException
{
- dashboardPage = portal.getPage(userId);
-
- // Create if not exist
- if (dashboardPage == null)
- {
- try
- {
- dashboardPage = portal.createPage(userId);
- Page templatePage = (Page)portal.getParent().getChild("default").getChild("default");
- for (Iterator i = templatePage.getChildren().iterator(); i.hasNext();)
- {
- PortalObject child = (PortalObject)i.next();
- if (child.getType() == PortalObject.TYPE_WINDOW)
- {
- Window window = (Window)child;
- Window newWindow = dashboardPage.createWindow(window.getName());
- newWindow.setInstanceRef(window.getInstanceRef());
- for (Iterator j = window.getDeclaredProperties().entrySet().iterator(); j.hasNext();)
- {
- Map.Entry entry = (Map.Entry)j.next();
- String name = (String)entry.getKey();
- String value = (String)entry.getValue();
- newWindow.setDeclaredProperty(name, value);
- }
- }
- }
- }
- catch (DuplicatePortalObjectException e)
- {
- throw new ControllerException(e);
- }
- }
-
- //
return new UpdateViewResponse(dashboardPage.getId());
}
-
- public Page getDashboardPage()
- {
- return dashboardPage;
- }
-}
+}
\ No newline at end of file
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/management/LazyPortalObjectTreeNode.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/management/LazyPortalObjectTreeNode.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/management/LazyPortalObjectTreeNode.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -64,7 +64,6 @@
switch (object.getType())
{
case PortalObject.TYPE_CONTEXT:
- description = "root";
type = "context";
break;
case PortalObject.TYPE_PORTAL:
Modified: trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectContainerTestCase.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectContainerTestCase.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectContainerTestCase.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -37,8 +37,11 @@
import org.jboss.portal.common.test.TestParametrization;
import org.jboss.portal.common.test.junit.JUnitAdapter;
import org.jboss.portal.common.test.junit.POJOJUnitTest;
+import org.jboss.portal.WindowState;
+import org.jboss.portal.Mode;
import java.net.URL;
+import java.util.Collections;
/**
* Portal Object Container Test Cases based on the microcontainer architecture
@@ -229,10 +232,6 @@
//
hibernate.openSession();
- assertTrue(hibernate.commitTransaction());
-
- //
- hibernate.openSession();
PortalContainer ctx = (PortalContainer)container.getRootObject();
Portal portal = ctx.createPortal("default");
assertNotNull(portal);
@@ -255,6 +254,50 @@
container.stop();
}
+ public void testCopy() throws Exception
+ {
+ container.start();
+
+ //
+ PortalObjectId defaultId = new PortalObjectId(new String[]{"portal"});
+
+ //
+ hibernate.openSession();
+ PortalContainer ctx = (PortalContainer)container.getRootObject();
+ Portal portal = ctx.createPortal("portal");
+ portal.setDeclaredProperty("portalname", "portalvalue");
+ portal.getSupportedWindowStates().add(WindowState.NORMAL);
+ portal.getSupportedModes().add(Mode.VIEW);
+ Page page = portal.createPage("default");
+ page.setDeclaredProperty("pagename", "pagevalue");
+ Window window = page.createWindow("window");
+ window.setDeclaredProperty("windowname", "windowvalue");
+ window.setInstanceRef("instance");
+ assertTrue(hibernate.commitTransaction());
+
+ //
+ hibernate.openSession();
+ ctx = (PortalContainer)container.getRootObject();
+ portal = (Portal)container.getObject(defaultId);
+ portal = (Portal)portal.copy(ctx, "copy");
+ assertNotNull(portal);
+ assertEquals("copy", portal.getName());
+ assertEquals(Collections.singleton(WindowState.NORMAL), portal.getSupportedWindowStates());
+ assertEquals(Collections.singleton(Mode.VIEW), portal.getSupportedModes());
+ assertEquals("portalvalue", portal.getDeclaredProperty("portalname"));
+ page = portal.getPage("default");
+ assertNotNull(page);
+ assertEquals("pagevalue", page.getDeclaredProperty("pagename"));
+ window = page.getWindow("window");
+ assertNotNull(window);
+ assertEquals("windowvalue", window.getDeclaredProperty("windowname"));
+ assertEquals("instance", window.getInstanceRef());
+ assertTrue(hibernate.commitTransaction());
+
+ //
+ container.stop();
+ }
+
// private void constructPortalObjects() throws Exception
// {
// Context root = container.getContext();
Modified: trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectIdTestCase.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectIdTestCase.java 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/main/org/jboss/portal/test/core/model/portal/PortalObjectIdTestCase.java 2006-12-09 17:55:16 UTC (rev 5774)
@@ -112,7 +112,7 @@
{
try
{
- format.toString((String[])null);
+ format.toString(null, 0, 0);
fail();
}
catch (IllegalArgumentException expected)
@@ -128,7 +128,7 @@
}
try
{
- format.toString(new String[]{"a",null,"b"});
+ format.toString(new String[]{"a",null,"b"}, 0, 3);
fail();
}
catch (IllegalArgumentException expected)
Modified: trunk/core/src/resources/portal-core-sar/conf/data/default-object.xml
===================================================================
--- trunk/core/src/resources/portal-core-sar/conf/data/default-object.xml 2006-12-09 02:41:26 UTC (rev 5773)
+++ trunk/core/src/resources/portal-core-sar/conf/data/default-object.xml 2006-12-09 17:55:16 UTC (rev 5774)
@@ -162,8 +162,8 @@
<deployment>
<parent-ref/>
<if-exists>keep</if-exists>
- <portal>
- <portal-name>dashboard</portal-name>
+ <context>
+ <context-name>dashboard</context-name>
<properties>
<!--
| Set the layout for the default portal, see also portal-layouts.xml.
@@ -210,9 +210,106 @@
<action-name>dashboard</action-name>
</policy-permission>
</security-constraint>
+ </context>
+ </deployment>
+ <deployment>
+ <parent-ref/>
+ <if-exists>keep</if-exists>
+ <portal>
+ <portal-name>template</portal-name>
+ <properties>
+ <!--
+ | Set the layout for the default portal, see also portal-layouts.xml.
+ -->
+ <property>
+ <name>layout.id</name>
+ <value>generic</value>
+ </property>
+ <!--
+ | Set the theme for the default portal, see also portal-themes.xml.
+ -->
+ <property>
+ <name>theme.id</name>
+ <value>renaissance</value>
+ </property>
+ <!--
+ | Set the default render set name (used by the render tag in layouts), see also portal-renderSet.xml
+ -->
+ <property>
+ <name>theme.renderSetId</name>
+ <value>divRenderer</value>
+ </property>
+ <!--
+ | Set the default strategy name (used by the strategy interceptor), see also portal-strategies.xml
+ -->
+ <property>
+ <name>layout.strategyId</name>
+ <value>maximizedRegion</value>
+ </property>
+ <!--
+ | The default page name, if the property is not explicited then the default page name is "default"
+ -->
+ <property>
+ <name>portal.defaultObjectName</name>
+ <value>default</value>
+ </property>
+ </properties>
+ <supported-modes>
+ <mode>view</mode>
+ <mode>edit</mode>
+ <mode>help</mode>
+ </supported-modes>
+ <supported-window-states>
+ <window-state>normal</window-state>
+ <window-state>minimized</window-state>
+ <window-state>maximized</window-state>
+ </supported-window-states>
+ <page>
+ <page-name>default</page-name>
+ <properties>
+ <property>
+ <name>order</name>
+ <value>1</value>
+ </property>
+ </properties>
+ <window>
+ <window-name>JSPPortletWindow</window-name>
+ <instance-ref>JSPPortletInstance</instance-ref>
+ <region>left</region>
+ <height>0</height>
+ </window>
+ <window>
+ <window-name>DefaultCMSPortletWindow</window-name>
+ <instance-ref>CMSPortletInstance</instance-ref>
+ <region>center</region>
+ <height>0</height>
+ <properties>
+ <!-- use the window renderer from the emptyRenderer renderSet -->
+ <property>
+ <name>theme.windowRendererId</name>
+ <value>emptyRenderer</value>
+ </property>
+ <!-- use the decoration renderer from the emptyRenderer renderSet -->
+ <property>
+ <name>theme.decorationRendererId</name>
+ <value>emptyRenderer</value>
+ </property>
+ <!-- use the portlet renderer from the emptyRenderer renderSet -->
+ <property>
+ <name>theme.portletRendererId</name>
+ <value>emptyRenderer</value>
+ </property>
+ </properties>
+ </window>
+ <window>
+ <window-name>UserPortletWindow</window-name>
+ <instance-ref>UserPortletInstance</instance-ref>
+ <region>left</region>
+ <height>1</height>
+ </window>
+ </page>
</portal>
</deployment>
-
<deployment>
<parent-ref/>
<if-exists>keep</if-exists>
19 years, 7 months
JBoss Portal SVN: r5773 - trunk/core/src/main/org/jboss/portal/core/model/portal
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2006-12-08 21:41:26 -0500 (Fri, 08 Dec 2006)
New Revision: 5773
Modified:
trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java
Log:
- PortalObjectId(String, Format) now checks that given format is not null.
- Now uses ParameterValidation where it makes sense to do so.
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java 2006-12-08 20:07:12 UTC (rev 5772)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectId.java 2006-12-09 02:41:26 UTC (rev 5773)
@@ -22,8 +22,9 @@
******************************************************************************/
package org.jboss.portal.core.model.portal;
-import org.jboss.portal.common.util.Tools;
import org.jboss.portal.common.NotYetImplemented;
+import org.jboss.portal.common.util.ParameterValidation;
+import org.jboss.portal.common.util.Tools;
import java.util.Iterator;
@@ -50,10 +51,7 @@
*/
public PortalObjectId(PortalObjectId that) throws IllegalArgumentException
{
- if (that == null)
- {
- throw new IllegalArgumentException();
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(that, "PortalObjectId to be copied");
this.names = that.names;
this.hashCode = that.hashCode;
}
@@ -66,22 +64,20 @@
*/
public PortalObjectId(String[] names) throws IllegalArgumentException
{
- if (names == null)
- {
- throw new IllegalArgumentException();
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(names, "composing names");
this.names = names;
}
/**
* Build an id by parsing a string representation.
*
- * @param value the string representation
+ * @param value the string representation
* @param format the string format
* @throws IllegalArgumentException if any argument is null or not well formed
*/
public PortalObjectId(String value, Format format) throws IllegalArgumentException
{
+ ParameterValidation.throwIllegalArgExceptionIfNull(format, "Format");
this.names = format.parse(value);
}
@@ -104,9 +100,9 @@
}
//
- for (int i = thisNames.length - 1;i >= 0;i--)
+ for (int i = thisNames.length - 1; i >= 0; i--)
{
- if (thisNames[i].equals(thatNames[i]) == false)
+ if (!thisNames[i].equals(thatNames[i]))
{
return false;
}
@@ -123,7 +119,7 @@
if (hashCode == null)
{
int value = 0;
- for (int i = names.length - 1;i >= 0;i--)
+ for (int i = names.length - 1; i >= 0; i--)
{
value = value * 41 + names[i].hashCode();
}
@@ -147,9 +143,7 @@
return Tools.iterator(names);
}
- /**
- * Returns the canonical representation of the id.
- */
+ /** Returns the canonical representation of the id. */
public String toString()
{
return CANONICAL_FORMAT.toString(names);
@@ -163,10 +157,7 @@
*/
public String toString(Format format)
{
- if (format == null)
- {
- throw new IllegalArgumentException();
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(format, "Format");
return format.toString(names);
}
@@ -175,53 +166,40 @@
return new PortalObjectId(value, format);
}
- /**
- * The format of a string representation of an id.
- */
+ /** The format of a string representation of an id. */
public abstract static class Format
{
/**
- *
* @param value
* @return
*/
public abstract String[] parse(String value) throws IllegalArgumentException;
/**
- *
* @param names
* @return
*/
public abstract String toString(String[] names) throws IllegalArgumentException;
/**
- *
* @param id
* @return
*/
public final String toString(PortalObjectId id) throws IllegalArgumentException
{
- if (id == null)
- {
- throw new IllegalArgumentException("No null id accepted");
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(id, "PortalObjectId");
return toString(id.names);
}
}
- /**
- * Canonical format, smth like /a/b/c.
- */
+ /** Canonical format, smth like /a/b/c. */
public static final Format CANONICAL_FORMAT = new Format()
{
public String[] parse(String value)
{
- if (value == null)
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(value, "value", "Format.parse(value)");
+ if (value.charAt(0) != '/')
{
- throw new IllegalArgumentException("Null value not accepted");
- }
- if (value.length() == 0 || value.charAt(0) != '/')
- {
throw new IllegalArgumentException("Not a canonical value " + value);
}
if (value.length() == 1)
@@ -265,10 +243,7 @@
public String toString(String[] names)
{
- if (names == null)
- {
- throw new IllegalArgumentException("Null string array not accepted");
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(names, "name string array");
if (names.length == 0)
{
return "/";
@@ -276,7 +251,7 @@
else
{
StringBuffer tmp = new StringBuffer(names.length * 10);
- for (int i = 0;i < names.length;i++)
+ for (int i = 0; i < names.length; i++)
{
String name = names[i];
if (name == null)
@@ -290,9 +265,7 @@
}
};
- /**
- * The internal format when it is persisted, smth like a.b.c
- */
+ /** The internal format when it is persisted, smth like a.b.c */
public static final Format LEGACY_FORMAT = new Format()
{
@@ -300,10 +273,7 @@
public String[] parse(String value)
{
- if (value == null)
- {
- throw new IllegalArgumentException("No null value accepted");
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(value, "value");
if (value.length() == 0)
{
return EMPTY_STRING_ARRAY;
@@ -311,7 +281,7 @@
// Count the number of names
int length = 1;
- for (int next = value.indexOf('.');next != -1;next = value.indexOf('.', next + 1))
+ for (int next = value.indexOf('.'); next != -1; next = value.indexOf('.', next + 1))
{
length++;
}
@@ -320,7 +290,7 @@
String[] names = new String[length];
length = 0;
int previous = 0;
- for (int next = value.indexOf('.');next != -1;previous = next + 1, next = value.indexOf('.', next + 1))
+ for (int next = value.indexOf('.'); next != -1; previous = next + 1, next = value.indexOf('.', next + 1))
{
names[length++] = value.substring(previous, next);
}
@@ -332,16 +302,13 @@
public String toString(String[] names)
{
- if (names == null)
- {
- throw new IllegalArgumentException("Null string array not accepted");
- }
+ ParameterValidation.throwIllegalArgExceptionIfNull(names, "name string array");
if (names.length == 0)
{
return "";
}
StringBuffer buffer = new StringBuffer(names.length * 8);
- for (int i = 0;i < names.length;i++)
+ for (int i = 0; i < names.length; i++)
{
if (i > 0)
{
19 years, 7 months
JBoss Portal SVN: r5772 - trunk/core/src/resources/portal-cms-sar/conf/hibernate/cms
by portal-commits@lists.jboss.org
Author: roy.russo(a)jboss.com
Date: 2006-12-08 15:07:12 -0500 (Fri, 08 Dec 2006)
New Revision: 5772
Modified:
trunk/core/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml
Log:
JBQA-452 - fix for sybase binary length
Modified: trunk/core/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml
===================================================================
--- trunk/core/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml 2006-12-07 16:47:35 UTC (rev 5771)
+++ trunk/core/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml 2006-12-08 20:07:12 UTC (rev 5772)
@@ -42,7 +42,6 @@
name="data"
column="BINVAL_DATA"
type="blob"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.state.VersionNode" table="jbp_cms_version_node" lazy="true">
@@ -61,7 +60,6 @@
name="data"
column="NODE_DATA"
type="binary"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.state.VersionProp" table="jbp_cms_version_prop" lazy="true">
@@ -80,7 +78,6 @@
name="data"
column="PROP_DATA"
type="binary"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.state.VersionRefs" table="jbp_cms_version_refs" lazy="true">
@@ -99,7 +96,6 @@
name="data"
column="REFS_DATA"
type="binary"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.state.WSPBinVal" table="jbp_cms_wsp_binval" lazy="true">
@@ -118,7 +114,6 @@
name="data"
column="BINVAL_DATA"
type="blob"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.state.WSPNode" table="jbp_cms_wsp_node" lazy="true">
@@ -137,7 +132,6 @@
name="data"
column="NODE_DATA"
type="binary"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.state.WSPProp" table="jbp_cms_wsp_prop" lazy="true">
@@ -156,7 +150,6 @@
name="data"
column="PROP_DATA"
type="binary"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.state.WSPRefs" table="jbp_cms_wsp_refs" lazy="true">
@@ -175,7 +168,6 @@
name="data"
column="REFS_DATA"
type="binary"
- length="100000000"
not-null="true"/>
</class>
<class name="org.jboss.portal.cms.hibernate.CMSEntry" table="jbp_cms_cmsentry" lazy="true">
@@ -199,7 +191,6 @@
<property name="data"
column="FSENTRY_DATA"
type="blob"
- length="100000000"
not-null="false"/>
<property name="lastmod"
column="FSENTRY_LASTMOD"
@@ -231,7 +222,6 @@
<property name="data"
column="FSENTRY_DATA"
type="blob"
- length="100000000"
not-null="false"/>
<property name="lastmod"
column="FSENTRY_LASTMOD"
@@ -263,7 +253,6 @@
<property name="data"
column="FSENTRY_DATA"
type="blob"
- length="100000000"
not-null="false"/>
<property name="lastmod"
column="FSENTRY_LASTMOD"
19 years, 7 months
JBoss Portal SVN: r5771 - trunk/core/src/main/org/jboss/portal/core/impl/model/portal
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2006-12-07 11:47:35 -0500 (Thu, 07 Dec 2006)
New Revision: 5771
Removed:
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContainerContext.java
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ObjectNode.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/TransientPortalObjectContainer.java
Log:
make ContainerContext an inner interface of AbstractPortalObjectContainer
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java 2006-12-06 09:43:49 UTC (rev 5770)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java 2006-12-07 16:47:35 UTC (rev 5771)
@@ -171,4 +171,23 @@
return null;
}
}
+
+ public interface Context
+ {
+ /**
+ */
+ PortalObjectContainer getContainer();
+
+ /**
+ */
+ void destroyChild(ObjectNode node);
+
+ /**
+ */
+ void createChild(ObjectNode node);
+
+ /**
+ */
+ void updated(ObjectNode node);
+ }
}
Deleted: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContainerContext.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContainerContext.java 2006-12-06 09:43:49 UTC (rev 5770)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ContainerContext.java 2006-12-07 16:47:35 UTC (rev 5771)
@@ -1,48 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, 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.impl.model.portal;
-
-import org.jboss.portal.core.model.portal.PortalObjectContainer;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public interface ContainerContext
-{
- /**
- */
- PortalObjectContainer getContainer();
-
- /**
- */
- void destroyChild(ObjectNode node);
-
- /**
- */
- void createChild(ObjectNode node);
-
- /**
- */
- void updated(ObjectNode node);
-}
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ObjectNode.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ObjectNode.java 2006-12-06 09:43:49 UTC (rev 5770)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/ObjectNode.java 2006-12-07 16:47:35 UTC (rev 5771)
@@ -58,7 +58,7 @@
private Map securityConstraints;
// Runtime fields
- private ContainerContext context;
+ private AbstractPortalObjectContainer.Context context;
public ObjectNode()
{
@@ -69,7 +69,7 @@
this.children = null;
}
- public ObjectNode(ContainerContext context, String id, String name)
+ public ObjectNode(AbstractPortalObjectContainer.Context context, String id, String name)
{
if (context == null)
{
@@ -86,7 +86,7 @@
public void setContext(Object context)
{
- this.context = (ContainerContext)context;
+ this.context = (AbstractPortalObjectContainer.Context)context;
}
public Long getKey()
@@ -216,7 +216,7 @@
this.children = children;
}
- public ContainerContext getContext()
+ public AbstractPortalObjectContainer.Context getContext()
{
return context;
}
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java 2006-12-06 09:43:49 UTC (rev 5770)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java 2006-12-07 16:47:35 UTC (rev 5771)
@@ -55,7 +55,7 @@
protected SessionFactory sessionFactory;
/** . */
- protected ContainerContext ctx;
+ protected Context ctx;
/** . */
protected PortalAuthorizationManagerFactory portalAuthorizationManagerFactory;
@@ -80,7 +80,7 @@
public PersistentPortalObjectContainer()
{
- ctx = new ContainerContext()
+ ctx = new Context()
{
public PortalObjectContainer getContainer()
{
@@ -171,7 +171,7 @@
this.sessionFactoryJNDIName = sessionFactoryJNDIName;
}
- public ContainerContext getContainerContext()
+ public Context getContainerContext()
{
return this.ctx;
}
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/portal/TransientPortalObjectContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/portal/TransientPortalObjectContainer.java 2006-12-06 09:43:49 UTC (rev 5770)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/TransientPortalObjectContainer.java 2006-12-07 16:47:35 UTC (rev 5771)
@@ -38,14 +38,14 @@
protected ObjectNode root;
/** . */
- protected ContainerContext ctx;
+ protected Context ctx;
protected void createService() throws Exception
{
super.createService();
//
- ctx = new ContainerContext()
+ ctx = new Context()
{
public PortalObjectContainer getContainer()
{
19 years, 7 months
JBoss Portal SVN: r5770 - trunk/test/src/etc
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2006-12-06 04:43:49 -0500 (Wed, 06 Dec 2006)
New Revision: 5770
Modified:
trunk/test/src/etc/hibernates.xml
Log:
corrected mysql4 dialect and added mysql5
Modified: trunk/test/src/etc/hibernates.xml
===================================================================
--- trunk/test/src/etc/hibernates.xml 2006-12-05 23:13:03 UTC (rev 5769)
+++ trunk/test/src/etc/hibernates.xml 2006-12-06 09:43:49 UTC (rev 5770)
@@ -83,10 +83,20 @@
<properties>
<property>
<name>hibernate.dialect</name>
- <value>org.hibernate.dialect.MySQLDialect</value>
+ <value>org.hibernate.dialect.MySQLInnoDBDialect</value>
</property>
</properties>
</configuration>
+ <!-- The mysql 5 configuration -->
+ <configuration>
+ <configuration-name>mysql5</configuration-name>
+ <properties>
+ <property>
+ <name>hibernate.dialect</name>
+ <value>org.hibernate.dialect.MySQLInnoDBDialect</value>
+ </property>
+ </properties>
+ </configuration>
<!-- The postgresql 8 configuration -->
<configuration>
<configuration-name>postgresql8</configuration-name>
19 years, 7 months
JBoss Portal SVN: r5769 - trunk/cms
by portal-commits@lists.jboss.org
Author: sohil.shah(a)jboss.com
Date: 2006-12-05 18:13:03 -0500 (Tue, 05 Dec 2006)
New Revision: 5769
Added:
trunk/cms/jira-test.txt
Log:
JBPORTAL-532 - Just testing the JIRA SVN plugin. Disregard this checkin
Added: trunk/cms/jira-test.txt
===================================================================
19 years, 7 months