[jboss-svn-commits] JBoss Portal SVN: r5336 - in trunk: core/src/main/org/jboss/portal/core/aspects/controller core/src/main/org/jboss/portal/core/aspects/server core/src/main/org/jboss/portal/core/controller core/src/main/org/jboss/portal/core/controller/command core/src/main/org/jboss/portal/core/deployment/jboss core/src/main/org/jboss/portal/core/impl/model/instance 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/instance core/src/main/org/jboss/portal/core/model/portal core/src/main/org/jboss/portal/core/servlet/jsp core/src/main/org/jboss/portal/core/servlet/jsp/taglib core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context core/src/main/org/jboss/portal/test/core core/src/main/org/jboss/portal/test/core/model/instance core/src/resources/portal-core-sar/conf/hibernate/instance forums/src/main/org/jboss/portlet/forums forums/src/main/org/jboss/portlet/forums/servlet wsrp/src/main/o! rg/jboss/portal/test/wsrp/v1/producer wsrp/src/main/org/jboss/portal/wsrp wsrp/src/main/org/jboss/portal/wsrp/consumer wsrp/src/main/org/jboss/portal/wsrp/endpoints wsrp/src/main/org/jboss/portal/wsrp/producer
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 5 19:48:42 EDT 2006
Author: julien at jboss.com
Date: 2006-10-05 19:47:54 -0400 (Thu, 05 Oct 2006)
New Revision: 5336
Added:
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceCustomizationImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceDefinitionImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java
trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceCustomization.java
trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceDefinition.java
Removed:
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/AbstractInstance.java
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/UserInstance.java
Modified:
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java
trunk/core/src/main/org/jboss/portal/core/aspects/server/TransactionInterceptor.java
trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java
trunk/core/src/main/org/jboss/portal/core/controller/command/MarkupCommand.java
trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java
trunk/core/src/main/org/jboss/portal/core/controller/command/WindowCommand.java
trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java
trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/ContainerContext.java
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java
trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java
trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java
trunk/core/src/main/org/jboss/portal/core/model/instance/Instance.java
trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceContainer.java
trunk/core/src/main/org/jboss/portal/core/model/portal/Context.java
trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/PortalJsp.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IfTag.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IncludeTag.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IterateTag.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/PortalLib.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/Context.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/DelegateContext.java
trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/NamedContext.java
trunk/core/src/main/org/jboss/portal/test/core/IfTagTestCase.java
trunk/core/src/main/org/jboss/portal/test/core/PortalBaseTestCase.java
trunk/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java
trunk/core/src/resources/portal-core-sar/conf/hibernate/instance/domain.hbm.xml
trunk/forums/src/main/org/jboss/portlet/forums/ForumsPortlet.java
trunk/forums/src/main/org/jboss/portlet/forums/servlet/DownloadAttachmentsServlet.java
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/MarkupTestCase.java
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPConstants.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPRewritingConstants.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPTypeFactory.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ActionHandler.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerSessionInformation.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RequestPrecursor.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/WSRPConsumerImpl.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/endpoints/WSRPBaseEndpoint.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java
Log:
JBPortal-1066 : Instance customizations
Modified: trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -220,7 +220,7 @@
// get the strategy to use
LayoutStrategy strategy = getLayoutStrategy(page, layout, sinv);
- // build the strategy context
+ // build the strategy containerContext
Portal portal = page.getPortal();
HTTPStreamInfo streamInfo = sinv.getResponse().getStreamInfo();
Set windowStates = portal.getSupportedWindowStates();
@@ -261,9 +261,9 @@
}
/**
- * Create a window context for the given window
+ * Create a window containerContext for the given window
*
- * @param window the window to create the context for
+ * @param window the window to create the containerContext for
* @return a new WindowContext
* @see org.jboss.portal.theme.page.WindowContext
*/
@@ -271,7 +271,7 @@
{
String region;
Integer order;
-// UserContext userCtx = context.getServerInvocation().getRequest().getUser();
+// UserContext userCtx = containerContext.getServerInvocation().getRequest().getUser();
// if (userCtx != null)
// {
// PreferenceStore store = userCtx.getPreferences();
@@ -348,7 +348,7 @@
pageNavState.setWindowRegion(windowID, (String)regionChangeMap.get(windowID), true);
}
- // restore previous window context region and order
+ // restore previous window containerContext region and order
Map idsToRestore = strategyResponse.getWindowIDsToRestore();
for (Iterator i = idsToRestore.keySet().iterator(); i.hasNext();)
{
Modified: trunk/core/src/main/org/jboss/portal/core/aspects/server/TransactionInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/aspects/server/TransactionInterceptor.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/server/TransactionInterceptor.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -39,7 +39,7 @@
// Attributes ----------------------------------------------------
- /** The JNDI context. */
+ /** The JNDI containerContext. */
private TransactionManager tm;
// Static --------------------------------------------------------
Modified: trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/controller/ControllerCommand.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -55,7 +55,7 @@
/** . */
protected static Logger log = Logger.getLogger(ControllerCommand.class);
- /** The context of the command. */
+ /** The containerContext of the command. */
protected ControllerContext context;
/** Execute command when the end of the stack is reached. */
Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/MarkupCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/MarkupCommand.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/MarkupCommand.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -169,7 +169,7 @@
* call the component invocation(s) to create the markup fragment(s) for this request
*
* @param cfg the server config to get config information (for error behaviour )
- * @param navCtx the navigational state context to get to the window navigational state
+ * @param navCtx the navigational state containerContext to get to the window navigational state
* @return a markup result containing the fragments rendered by the portlets in this command
* @throws InvocationException
*/
@@ -357,7 +357,7 @@
//
ThemeService service = context.getController().getPageService().getThemeService();
- // If the id is provided in the form of context.name then look up the theme via a registration id
+ // If the id is provided in the form of containerContext.name then look up the theme via a registration id
if (themeIdString.lastIndexOf(".") > 0)
{
ServerRegistrationID themeId = ServerRegistrationID.createID(ServerRegistrationID.TYPE_THEME, parseID(themeIdString));
@@ -393,7 +393,7 @@
PortalLayout layout = null;
if (layoutIDString.lastIndexOf(".") > 0)
{
- // if the id is provided in the form of context.name then look up the layout via a registration id
+ // if the id is provided in the form of containerContext.name then look up the layout via a registration id
ServerRegistrationID layoutID = ServerRegistrationID.createID(ServerRegistrationID.TYPE_LAYOUT, parseID(layoutIDString));
layout = layoutService.getLayout(layoutID, true);
}
Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/RenderPageCommand.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -52,7 +52,7 @@
* Call the component / portlet invocation for each window on the page, and create a markup result with the resulting markup fragments in it
*
* @param cfg the server configuration to get access to customizable error behaviour
- * @param navCtx the navigational state context to access page and window navigational state
+ * @param navCtx the navigational state containerContext to access page and window navigational state
* @return a modifiable page result containing the markup fragments from the individual portlets on this page
* @throws InvocationException
*/
Modified: trunk/core/src/main/org/jboss/portal/core/controller/command/WindowCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/controller/command/WindowCommand.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/controller/command/WindowCommand.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -26,6 +26,7 @@
import org.jboss.portal.core.model.portal.Window;
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.instance.Instance;
+import org.jboss.portal.core.model.instance.InstanceDefinition;
import org.jboss.portal.core.controller.ControllerException;
import org.jboss.portal.core.controller.ResourceNotFoundException;
import org.jboss.portal.core.controller.ControllerSecurityException;
@@ -124,6 +125,13 @@
{
throw new ResourceNotFoundException(window.getInstanceRef());
}
+
+ // Get the user customization
+ String customizationId = getControllerContext().getServerInvocation().getServerContext().getClientRequest().getRemoteUser();
+ if (customizationId != null)
+ {
+ instance = ((InstanceDefinition)instance).getCustomization(customizationId);
+ }
}
Modified: trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -91,7 +91,7 @@
public void createContextIfNotExist()
{
- // Create context if not exist
+ // Create containerContext if not exist
Context ctx = portalObjectContainer.getContext();
//
Modified: trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -30,16 +30,13 @@
import org.jboss.portal.core.metadata.InstanceMetaData;
import org.jboss.portal.core.metadata.InstancesMetaData;
import org.jboss.portal.core.metadata.ServiceMetaData;
-import org.jboss.portal.core.metadata.PreferencesMetaData;
import org.jboss.portal.core.metadata.portlet.JBossApplicationMetaData;
import org.jboss.portal.core.model.instance.DuplicateInstanceException;
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.portlet.NoSuchPortletException;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.InvalidPortletIdException;
-import org.jboss.portal.portlet.impl.jsr168.metadata.PreferenceMetaData;
import org.jboss.portal.security.spi.provider.SecurityConfigurationException;
-import org.jboss.portal.security.metadata.SecurityConstraintsMetaData;
import org.jboss.portal.server.deployment.PortalWebApp;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -85,7 +82,7 @@
}
}
- /** Inject service proxies into the context of the web application if it is needed. */
+ /** Inject service proxies into the containerContext of the web application if it is needed. */
protected void injectServices()
{
if (jbossAppMD instanceof JBossApplicationMetaData)
Deleted: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/AbstractInstance.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/AbstractInstance.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/AbstractInstance.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -1,76 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., 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.instance;
-
-import org.jboss.portal.portlet.PortletContext;
-
-/**
- * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public abstract class AbstractInstance
-{
-
- /** . */
- protected Long key;
-
- /** . */
- protected String portletRef;
-
- /** . */
- protected byte[] state;
-
- public Long getKey()
- {
- return key;
- }
-
- public void setKey(Long key)
- {
- this.key = key;
- }
-
- public String getPortletRef()
- {
- return portletRef;
- }
-
- public void setPortletRef(String portletRef)
- {
- this.portletRef = portletRef;
- }
-
- public byte[] getState()
- {
- return state;
- }
-
- public void setState(byte[] state)
- {
- this.state = state;
- }
-
- public abstract PortletContext getPortletContext();
-
- public abstract void setPortletContext(PortletContext portletContext);
-
-}
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/ContainerContext.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/ContainerContext.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/ContainerContext.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -22,14 +22,36 @@
package org.jboss.portal.core.impl.model.instance;
import org.jboss.portal.core.model.instance.InstanceContainer;
+import org.jboss.portal.portlet.PortletInvoker;
+import org.hibernate.Session;
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision$
*/
-public interface ContainerContext
+public class ContainerContext
{
- /**
- */
- InstanceContainer getContainer();
+
+ /** . */
+ final PersistentInstanceContainer container;
+
+ public ContainerContext(PersistentInstanceContainer container)
+ {
+ if (container == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ this.container = container;
+ }
+
+ protected Session getCurrentSession()
+ {
+ return container.sessionFactory.getCurrentSession();
+ }
+
+ public PortletInvoker getPortletInvoker()
+ {
+ return container.getPortletInvoker();
+ }
+
}
Copied: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceCustomizationImpl.java (from rev 5332, trunk/core/src/main/org/jboss/portal/core/impl/model/instance/UserInstance.java)
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/UserInstance.java 2006-10-04 11:46:56 UTC (rev 5332)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceCustomizationImpl.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -0,0 +1,174 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., 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.instance;
+
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.state.AccessMode;
+import org.jboss.portal.core.model.instance.InstanceCustomization;
+import org.jboss.portal.core.model.instance.InstanceContainer;
+import org.jboss.portal.core.model.instance.InstanceDefinition;
+import org.apache.log4j.Logger;
+import org.hibernate.Session;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision$
+ */
+public class InstanceCustomizationImpl extends InstanceImpl implements InstanceCustomization
+{
+
+ /** The logger. */
+ private static final Logger log = Logger.getLogger(InstanceCustomizationImpl.class);
+
+ // Persistent fields
+
+ protected InstanceDefinitionImpl def;
+ protected String customizationId;
+
+ // Runtime fields
+
+ protected boolean persistent;
+
+ /**
+ * Used to build transient instances.
+ */
+ public InstanceCustomizationImpl(InstanceDefinitionImpl def, String customizationId, ContainerContext containerContext, PortletContext portletContext)
+ {
+ super(containerContext);
+
+ //
+ if (def == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (customizationId == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (portletContext == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ this.def = def;
+ this.customizationId = customizationId;
+ this.persistent = false;
+
+ //
+ setPortletContext(portletContext);
+ }
+
+ /**
+ * Used by hibernate.
+ */
+ public InstanceCustomizationImpl()
+ {
+ this.customizationId = null;
+ this.persistent = true;
+ }
+
+ public String getId()
+ {
+ return customizationId;
+ }
+
+ public Portlet getPortlet() throws PortletInvokerException
+ {
+ return def.getPortlet();
+ }
+
+ public InstanceContainer getContainer()
+ {
+ return containerContext.container;
+ }
+
+ public InstanceDefinition getDefinition()
+ {
+ return def;
+ }
+
+ public String getCustomizationId()
+ {
+ return customizationId;
+ }
+
+ public void setCustomizationId(String customizationId)
+ {
+ this.customizationId = customizationId;
+ }
+
+ public InstanceDefinitionImpl getDef()
+ {
+ return def;
+ }
+
+ public void setDef(InstanceDefinitionImpl def)
+ {
+ this.def = def;
+ }
+
+ // AbstractInstance implementation **********************************************************************************
+
+ protected String getInstanceId()
+ {
+ return def.getInstanceId();
+ }
+
+ protected void cloned(PortletContext portletContext)
+ {
+ Session session = containerContext.getCurrentSession();
+ setPortletContext(portletContext);
+ session.persist(this);
+ def.customizations.add(this);
+ session.update(def);
+ }
+
+ protected void modified(PortletContext portletContext)
+ {
+ Session session = containerContext.getCurrentSession();
+ setPortletContext(portletContext);
+ session.update(this);
+ }
+
+ protected AccessMode getAccessMode()
+ {
+ return persistent ? AccessMode.READ_WRITE : AccessMode.CLONE_BEFORE_WRITE;
+ }
+
+ protected boolean isModifiable()
+ {
+ return true;
+ }
+
+ protected void setModifiable(boolean modifiable)
+ {
+ throw new IllegalStateException("Unmodifiable");
+ }
+
+ protected Logger getLogger()
+ {
+ return log;
+ }
+}
Property changes on: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceCustomizationImpl.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Copied: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceDefinitionImpl.java (from rev 5332, 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-10-04 11:46:56 UTC (rev 5332)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceDefinitionImpl.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -0,0 +1,190 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., 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.instance;
+
+import org.jboss.portal.core.model.instance.InstanceContainer;
+import org.jboss.portal.core.model.instance.InstanceDefinition;
+import org.jboss.portal.core.model.instance.InstanceCustomization;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.state.AccessMode;
+import org.apache.log4j.Logger;
+import org.hibernate.Session;
+import org.hibernate.Query;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision$
+ */
+public class InstanceDefinitionImpl extends InstanceImpl implements InstanceDefinition
+{
+
+ /** The logger. */
+ private static final Logger log = Logger.getLogger(InstanceDefinitionImpl.class);
+
+ // Persistent fields
+
+ protected String instanceId;
+ protected boolean modifiable;
+ protected Map securityBindings;
+ protected Set customizations;
+
+ public InstanceDefinitionImpl()
+ {
+ this.modifiable = false;
+ this.portletRef = null;
+ this.instanceId = null;
+ this.securityBindings = null;
+ this.customizations = null;
+ this.state = null;
+ }
+
+ public InstanceDefinitionImpl(ContainerContext ctx, String id, String portletRef)
+ {
+ super(ctx);
+ this.modifiable = false;
+ this.portletRef = portletRef;
+ this.instanceId = id;
+ this.securityBindings = new HashMap();
+ this.customizations = new HashSet();
+ this.state = null;
+ }
+
+ // Hibernate ********************************************************************************************************
+
+ public String getInstanceId()
+ {
+ return instanceId;
+ }
+
+ public void setInstanceId(String instanceId)
+ {
+ this.instanceId = instanceId;
+ }
+
+ public Map getSecurityBindings()
+ {
+ return securityBindings;
+ }
+
+ public void setSecurityBindings(Map securityBindings)
+ {
+ this.securityBindings = securityBindings;
+ }
+
+ public Set getCustomizations()
+ {
+ return customizations;
+ }
+
+ public void setCustomizations(Set customizations)
+ {
+ this.customizations = customizations;
+ }
+
+ public void setModifiable(boolean modifiable)
+ {
+ this.modifiable = modifiable;
+ }
+
+ // AbstractInstance implementation **********************************************************************************
+
+
+ protected AccessMode getAccessMode()
+ {
+/*
+ if (Mode.EDIT_DEFAULTS.equals(ctxabc.getMode()))
+ {
+ // Implement it by using the shared portlet id, but a security check should be made on using this
+ // mode first
+ // Another idea is to shove that in the security interceptor
+ throw new UnsupportedOperationException("Implement me");
+ }
+*/
+ return AccessMode.READ_ONLY;
+ }
+
+ protected Logger getLogger()
+ {
+ return log;
+ }
+
+ // Instance implementation ******************************************************************************************
+
+ public String getId()
+ {
+ return instanceId;
+ }
+
+ public InstanceContainer getContainer()
+ {
+ return containerContext.container;
+ }
+
+ public boolean isModifiable()
+ {
+ return modifiable;
+ }
+
+ public Portlet getPortlet() throws PortletInvokerException
+ {
+ PersistentInstanceContainer container = containerContext.container;
+ PortletInvoker invoker = container.getPortletInvoker();
+ return invoker.getPortlet(getPortletContext());
+ }
+
+
+ protected void cloned(PortletContext portletContext)
+ {
+ throw new IllegalStateException();
+ }
+
+ protected void modified(PortletContext portletContext)
+ {
+ Session session = containerContext.getCurrentSession();
+ setPortletContext(portletContext);
+ session.update(this);
+ }
+
+ public InstanceCustomization getCustomization(String customizationId)
+ {
+ // Check if we have an instance for this particular user
+ Session session = containerContext.getCurrentSession();
+ Query query = session.createQuery("from InstanceCustomizationImpl where def.key=:defKey and customizationId=:customizationId");
+ query.setParameter("defKey", key);
+ query.setParameter("customizationId", customizationId);
+ query.setCacheable(true);
+ InstanceCustomizationImpl customization = (InstanceCustomizationImpl)query.uniqueResult();
+ if (customization == null)
+ {
+ customization = new InstanceCustomizationImpl(this, customizationId, containerContext, getPortletContext());
+ }
+ return customization;
+ }
+}
Property changes on: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceDefinitionImpl.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Deleted: 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-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -1,364 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., 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.instance;
-
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.jboss.portal.portlet.state.PropertyMap;
-import org.jboss.portal.core.model.instance.Instance;
-import org.jboss.portal.core.model.instance.InstanceContainer;
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.PortletInvoker;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.StatefulPortletContext;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.spi.UserContext;
-import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.state.PropertyChange;
-import org.jboss.portal.Mode;
-import org.jboss.portal.jems.hibernate.ContextObject;
-import org.apache.log4j.Logger;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.Arrays;
-
-/**
- * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public class InstanceImpl extends AbstractInstance implements Instance, ContextObject
-{
-
- /** The logger. */
- private static final Logger log = Logger.getLogger(InstanceImpl.class);
-
- // Persistent fields
-
- protected String instanceId;
- protected boolean modifiable;
- protected Map securityBindings;
- protected Set userInstances;
-
- // Runtime fields
-
- protected ContainerContext context;
-
- public InstanceImpl()
- {
- this.context = null;
- this.modifiable = false;
- this.portletRef = null;
- this.instanceId = null;
- this.securityBindings = null;
- this.userInstances = null;
- this.state = null;
- }
-
- public InstanceImpl(ContainerContext ctx, String id, String portletRef)
- {
- this.context = ctx;
- this.modifiable = false;
- this.portletRef = portletRef;
- this.instanceId = id;
- this.securityBindings = new HashMap();
- this.userInstances = new HashSet();
- this.state = null;
- }
-
- // Hibernate ********************************************************************************************************
-
- public String getInstanceId()
- {
- return instanceId;
- }
-
- public void setInstanceId(String instanceId)
- {
- this.instanceId = instanceId;
- }
-
- public Map getSecurityBindings()
- {
- return securityBindings;
- }
-
- public void setSecurityBindings(Map securityBindings)
- {
- this.securityBindings = securityBindings;
- }
-
- public Set getUserInstances()
- {
- return userInstances;
- }
-
- public void setUserInstances(Set userInstances)
- {
- this.userInstances = userInstances;
- }
-
- public void setModifiable(boolean modifiable)
- {
- this.modifiable = modifiable;
- }
-
- // ContextObject implementation *************************************************************************************
-
- public void setContext(Object context)
- {
- this.context = (ContainerContext)context;
- }
-
- // AbstractInstance implementation **********************************************************************************
-
- public PortletContext getPortletContext()
- {
- if (state != null)
- {
- return new StatefulPortletContext(portletRef, state);
- }
- else
- {
- return new PortletContext(portletRef);
- }
- }
-
- public void setPortletContext(PortletContext portletContext)
- {
- portletRef = portletContext.getId();
-
- //
- if (portletContext instanceof StatefulPortletContext)
- {
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- state = statefulPortletContext.getMarshalledState();
- }
- }
-
- // Instance implementation ******************************************************************************************
-
- public String getId()
- {
- return instanceId;
- }
-
- public InstanceContainer getContainer()
- {
- return context.getContainer();
- }
-
- public boolean isModifiable()
- {
- return modifiable;
- }
-
- public Portlet getPortlet() throws PortletInvokerException
- {
- PersistentInstanceContainer container = (PersistentInstanceContainer)context.getContainer();
- PortletInvoker invoker = container.getPortletInvoker();
- return invoker.getPortlet(getPortletContext());
- }
-
- public void setProperties(PropertyChange[] changes) throws PortletInvokerException
- {
- if (changes == null)
- {
- throw new IllegalArgumentException("No null changes accepted");
- }
- boolean debug = log.isDebugEnabled();
-
-
- // Get the invoker
- PersistentInstanceContainer container = (PersistentInstanceContainer)context.getContainer();
- PortletInvoker portletInvoker = container.getPortletInvoker();
-
- //
- PortletContext portletContext = getPortletContext();
-
- //
- if (modifiable == false)
- {
- // Clone the portlet
- if (debug)
- {
- log.debug("Need to clone non modifiable instance before setting properties " + instanceId + "/" + portletContext);
- }
- portletContext = portletInvoker.createClone(portletContext);
- if (debug)
- {
- log.debug("Received updated portlet context " + portletContext + " for instance " + instanceId + " after explicit clone");
- }
-
- // Update the state
- setPortletContext(portletContext);
- setModifiable(true);
-
- //
- Session session = container.getCurrentSession();
- session.update(this);
- }
-
- //
- if (debug)
- {
- log.debug("Setting properties on " + instanceId + "/" + portletContext + " : " + Arrays.asList(changes));
- }
- portletContext = portletInvoker.setProperties(portletContext, changes);
- if (debug)
- {
- log.debug("Received updated portlet context " + portletContext + " for instance " + instanceId + " after setting properties");
- }
- setPortletContext(portletContext);
-
- //
- Session session = container.getCurrentSession();
- session.update(this);
- }
-
- public PropertyMap getProperties() throws PortletInvokerException
- {
- PersistentInstanceContainer container = (PersistentInstanceContainer)context.getContainer();
- PortletInvoker invoker = container.getPortletInvoker();
- PortletContext portletContext = getPortletContext();
- return invoker.getProperties(portletContext);
- }
-
- public PropertyMap getProperties(Set keys) throws PortletInvokerException
- {
- PersistentInstanceContainer container = (PersistentInstanceContainer)context.getContainer();
- PortletInvoker invoker = container.getPortletInvoker();
- PortletContext portletContext = getPortletContext();
- return invoker.getProperties(portletContext, keys);
- }
-
- public void invoke(PortletInvocation invocation) throws PortletInvokerException
- {
- boolean debug = log.isDebugEnabled();
- PersistentInstanceContainer container = (PersistentInstanceContainer)this.context.getContainer();
-
- //
- Session session = container.getCurrentSession();
- UserContext ctx = invocation.getUserContext();
- String userId = ctx.getId();
-
- //
- AbstractInstance instance = this;
- AccessMode accessMode = AccessMode.READ_ONLY;
- if (userId != null)
- {
- org.jboss.portal.portlet.spi.PortletInvocationContext ctxabc = (org.jboss.portal.portlet.spi.PortletInvocationContext)invocation.getContext();
- if (Mode.EDIT_DEFAULTS.equals(ctxabc.getMode()))
- {
- // Implement it by using the shared portlet id, but a security check should be made on using this
- // mode first
- // Another idea is to shove that in the security interceptor
- throw new UnsupportedOperationException("Implement me");
- }
- else
- {
- // Check if we have an instance for this particular user
- Query query = session.createQuery("from UserInstance where instance.key=:instanceKey and userId=:userId");
- query.setParameter("instanceKey", key);
- query.setParameter("userId", userId);
- query.setCacheable(true);
- UserInstance userInstance = (UserInstance)query.uniqueResult();
-
- // Use the instance in read_write if we have
- if (userInstance != null)
- {
- instance = userInstance;
- accessMode = AccessMode.READ_WRITE;
- }
- else
- {
- accessMode = AccessMode.CLONE_BEFORE_WRITE;
- }
- }
- }
-
- //
- PortletContext portletContext = instance.getPortletContext();
-
- // The instance context for the invocation
- InstanceContextImpl instanceContext = new InstanceContextImpl(this, accessMode);
-
- try
- {
- invocation.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.INSTANCE_ID_ATTRIBUTE, instanceId);
- invocation.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, portletContext);
- invocation.setInstanceContext(instanceContext);
-
- // Perform invocation
- container.invoke(invocation);
-
- // Create user instance if a clone operation occured
- if (instanceContext.accessMode == AccessMode.CLONE_BEFORE_WRITE)
- {
- if (instanceContext.clonedContext != null)
- {
- if (debug)
- {
-// log.debug("About to reference clone of (" + instanceId + "," + portletContext +
-// ") having id " + instanceContext.clonedContext + " for user " + userId);
- }
- UserInstance userInstance = new UserInstance(userId, instanceContext.clonedContext);
- session.persist(userInstance);
- userInstance.setInstance(this);
- userInstances.add(userInstance);
- session.update(this);
- }
- else
- {
- // Does not make sense
- }
- }
- else if (instanceContext.accessMode == AccessMode.READ_WRITE)
- {
- if (instanceContext.modifiedContext != null)
- {
- if (debug)
- {
-// log.debug("About to update portlet context (" + instanceId + "," + portletContext +
-// ") having id " + instanceContext.clonedContext + " for user " + userId);
- }
- instance.setPortletContext(instanceContext.modifiedContext);
- session.update(instance);
- }
- else
- {
- // Does not make sense
- }
- }
- }
- finally
- {
- // Reset state before invocation
- invocation.removeAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.INSTANCE_ID_ATTRIBUTE);
- invocation.removeAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE);
- invocation.setInstanceContext(null);
- }
- }
-}
Added: 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-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceImpl.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -0,0 +1,295 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., 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.instance;
+
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.StatefulPortletContext;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.state.PropertyChange;
+import org.jboss.portal.portlet.state.PropertyMap;
+import org.jboss.portal.portlet.state.AccessMode;
+import org.jboss.portal.jems.hibernate.ContextObject;
+import org.jboss.portal.core.model.instance.Instance;
+import org.hibernate.Session;
+import org.apache.log4j.Logger;
+
+import java.util.Arrays;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class InstanceImpl implements ContextObject, Instance
+{
+
+ /** . */
+ protected Long key;
+
+ /** . */
+ protected String portletRef;
+
+ /** . */
+ protected byte[] state;
+
+ // Runtime fields
+
+ /** . */
+ protected ContainerContext containerContext;
+
+ protected InstanceImpl(ContainerContext context)
+ {
+ if (context == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ this.containerContext = context;
+ }
+
+ protected InstanceImpl()
+ {
+ }
+
+ public Long getKey()
+ {
+ return key;
+ }
+
+ public void setKey(Long key)
+ {
+ this.key = key;
+ }
+
+ public String getPortletRef()
+ {
+ return portletRef;
+ }
+
+ public void setPortletRef(String portletRef)
+ {
+ this.portletRef = portletRef;
+ }
+
+ public byte[] getState()
+ {
+ return state;
+ }
+
+ public void setState(byte[] state)
+ {
+ this.state = state;
+ }
+
+ public PortletContext getPortletContext()
+ {
+ if (state != null)
+ {
+ return new StatefulPortletContext(portletRef, state);
+ }
+ else
+ {
+ return new PortletContext(portletRef);
+ }
+ }
+
+ public void setPortletContext(PortletContext portletContext)
+ {
+ portletRef = portletContext.getId();
+
+ //
+ if (portletContext instanceof StatefulPortletContext)
+ {
+ StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
+ state = statefulPortletContext.getMarshalledState();
+ }
+ else
+ {
+ state = null;
+ }
+ }
+
+ protected abstract boolean isModifiable();
+
+ protected abstract void setModifiable(boolean modifiable);
+
+ protected abstract Logger getLogger();
+
+ protected abstract String getInstanceId();
+
+ protected abstract AccessMode getAccessMode();
+
+ protected abstract void cloned(PortletContext portletContext);
+
+ protected abstract void modified(PortletContext portletContext);
+
+ public void setProperties(PropertyChange[] changes) throws PortletInvokerException
+ {
+ if (changes == null)
+ {
+ throw new IllegalArgumentException("No null changes accepted");
+ }
+ boolean debug = getLogger().isDebugEnabled();
+
+
+ // Get the invoker
+ PortletInvoker portletInvoker = containerContext.getPortletInvoker();
+
+ //
+ PortletContext portletContext = getPortletContext();
+
+ //
+ if (isModifiable() == false)
+ {
+ // Clone the portlet
+ if (debug)
+ {
+ getLogger().debug("Need to clone non modifiable instance before setting properties " /*+ instanceId + "/"*/ + portletContext);
+ }
+ portletContext = portletInvoker.createClone(portletContext);
+ if (debug)
+ {
+ getLogger().debug("Received updated portlet context " + portletContext + " for instance " /*+ instanceId*/ + " after explicit clone");
+ }
+
+ // Update the state
+ setPortletContext(portletContext);
+ setModifiable(true);
+
+ //
+ Session session = containerContext.getCurrentSession();
+ session.update(this);
+ }
+
+ //
+ if (debug)
+ {
+ getLogger().debug("Setting properties on " + /*instanceId + "/" +*/ portletContext + " : " + Arrays.asList(changes));
+ }
+ portletContext = portletInvoker.setProperties(portletContext, changes);
+ if (debug)
+ {
+ getLogger().debug("Received updated portlet context " + portletContext + " for instance " + /*instanceId +*/ " after setting properties");
+ }
+ setPortletContext(portletContext);
+
+ //
+ Session session = containerContext.getCurrentSession();
+ session.update(this);
+ }
+
+ public PropertyMap getProperties() throws PortletInvokerException
+ {
+ PersistentInstanceContainer container = containerContext.container;
+ PortletInvoker invoker = container.getPortletInvoker();
+ PortletContext portletContext = getPortletContext();
+ return invoker.getProperties(portletContext);
+ }
+
+ public PropertyMap getProperties(Set keys) throws PortletInvokerException
+ {
+ PersistentInstanceContainer container = containerContext.container;
+ PortletInvoker invoker = container.getPortletInvoker();
+ PortletContext portletContext = getPortletContext();
+ return invoker.getProperties(portletContext, keys);
+ }
+
+ public void invoke(PortletInvocation invocation) throws PortletInvokerException
+ {
+ boolean debug = getLogger().isDebugEnabled();
+ PersistentInstanceContainer container = this.containerContext.container;
+
+ //
+// UserContext ctx = invocation.getUserContext();
+// String userId = ctx.getId();
+
+ //
+ InstanceImpl instance = this;
+ AccessMode accessMode = getAccessMode();
+
+ //
+ PortletContext portletContext = instance.getPortletContext();
+
+ // The instance containerContext for the invocation
+ InstanceContextImpl instanceContext = new InstanceContextImpl(this, accessMode);
+
+ try
+ {
+ invocation.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.INSTANCE_ID_ATTRIBUTE, getInstanceId());
+ invocation.setAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE, portletContext);
+ invocation.setInstanceContext(instanceContext);
+
+ // Perform invocation
+ container.invoke(invocation);
+
+ // Create user instance if a clone operation occured
+ if (instanceContext.accessMode == AccessMode.CLONE_BEFORE_WRITE)
+ {
+ if (instanceContext.clonedContext != null)
+ {
+ if (debug)
+ {
+// log.debug("About to reference clone of (" + instanceId + "," + portletContext +
+// ") having id " + instanceContext.clonedContext + " for user " + userId);
+ }
+ cloned(instanceContext.clonedContext);
+ }
+ else
+ {
+ // Does not make sense
+ }
+ }
+ else if (instanceContext.accessMode == AccessMode.READ_WRITE)
+ {
+ if (instanceContext.modifiedContext != null)
+ {
+ if (debug)
+ {
+// log.debug("About to update portlet containerContext (" + instanceId + "," + portletContext +
+// ") having id " + instanceContext.clonedContext + " for user " + userId);
+ }
+ modified(instanceContext.modifiedContext);
+ }
+ else
+ {
+ // Does not make sense
+ }
+ }
+ }
+ finally
+ {
+ // Reset state before invocation
+ invocation.removeAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.INSTANCE_ID_ATTRIBUTE);
+ invocation.removeAttribute(PortletInvocation.REQUEST_SCOPE, PortletInvocation.PORTLET_CONTEXT_ATTRIBUTE);
+ invocation.setInstanceContext(null);
+ }
+ }
+
+ // ContextObject implementation *************************************************************************************
+
+ public void setContext(Object context)
+ {
+ this.containerContext = (ContainerContext)context;
+ }
+
+}
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-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -27,10 +27,10 @@
import org.hibernate.exception.ConstraintViolationException;
import org.jboss.portal.jems.as.system.AbstractJBossService;
import org.jboss.portal.core.model.instance.DuplicateInstanceException;
-import org.jboss.portal.core.model.instance.Instance;
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.core.model.instance.InstancePermission;
import org.jboss.portal.core.model.instance.NoSuchInstanceException;
+import org.jboss.portal.core.model.instance.InstanceDefinition;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.PortletContext;
@@ -122,13 +122,7 @@
public PersistentInstanceContainer()
{
- ctx = new ContainerContext()
- {
- public InstanceContainer getContainer()
- {
- return PersistentInstanceContainer.this;
- }
- };
+ ctx = new ContainerContext(this);
//
contextualizer = new ObjectContextualizer(ctx);
@@ -210,22 +204,22 @@
sessionFactory = null;
}
- public Instance getInstance(String id)
+ public InstanceDefinition getInstance(String id)
{
if (id == null)
{
throw new IllegalArgumentException("id cannot be null");
}
- Session session = getCurrentSession();
+ Session session = ctx.getCurrentSession();
return lookup(session, id);
}
- public Instance createInstance(String id, String portletId) throws DuplicateInstanceException, IllegalArgumentException, PortletInvokerException
+ public InstanceDefinition createInstance(String id, String portletId) throws DuplicateInstanceException, IllegalArgumentException, PortletInvokerException
{
return createInstance(id, portletId, cloneOnCreate);
}
- public Instance createInstance(String id, String portletId, boolean clone) throws DuplicateInstanceException, PortletInvokerException
+ public InstanceDefinition createInstance(String id, String portletId, boolean clone) throws DuplicateInstanceException, PortletInvokerException
{
if (id == null)
{
@@ -246,12 +240,12 @@
portletInvoker.getPortlet(portletContext);
//
- InstanceImpl instance = null;
+ InstanceDefinitionImpl instance = null;
try
{
// Create the persistent instance which may raise a constraint violation exception if it already exist
- instance = new InstanceImpl(ctx, id, portletId);
- Session session = getCurrentSession();
+ instance = new InstanceDefinitionImpl(ctx, id, portletId);
+ Session session = ctx.getCurrentSession();
session.persist(instance);
}
catch (ConstraintViolationException e)
@@ -278,7 +272,7 @@
instance.setModifiable(true);
//
- Session session = getCurrentSession();
+ Session session = ctx.getCurrentSession();
session.update(instance);
}
@@ -294,15 +288,15 @@
}
// Get an hibernate session
- Session session = getCurrentSession();
+ Session session = ctx.getCurrentSession();
// Lookup instance
- InstanceImpl instance = lookup(session, id);
+ InstanceDefinitionImpl instance = lookup(session, id);
if (instance == null)
{
throw new NoSuchInstanceException(id);
}
- Set userInstances = instance.getUserInstances();
+ Set userInstances = instance.getCustomizations();
// Collect portlet info to destroy for logging purpose
StringBuffer destroyLog = new StringBuffer("About to destroy portlets for instance=").
@@ -313,12 +307,12 @@
List toDestroy = new ArrayList(userInstances.size());
for (Iterator i = userInstances.iterator(); i.hasNext();)
{
- UserInstance userInstance = (UserInstance)i.next();
+ InstanceCustomizationImpl userInstance = (InstanceCustomizationImpl)i.next();
- // Get the user portlet context
+ // Get the user portlet containerContext
PortletContext userPortletContext = userInstance.getPortletContext();
- // Add the portlet context
+ // Add the portlet containerContext
toDestroy.add(userPortletContext);
//
@@ -365,9 +359,9 @@
// Destroy the user instances
for (Iterator i = userInstances.iterator(); i.hasNext();)
{
- UserInstance userInstance = (UserInstance)i.next();
+ InstanceCustomizationImpl userInstance = (InstanceCustomizationImpl)i.next();
i.remove();
- userInstance.instance = null;
+ userInstance.def = null;
session.delete(userInstance);
}
@@ -381,8 +375,8 @@
public Collection getInstances()
{
- Session session = getCurrentSession();
- return session.createQuery("from InstanceImpl").list();
+ Session session = ctx.getCurrentSession();
+ return session.createQuery("from InstanceDefinitionImpl").list();
}
void invoke(PortletInvocation invocation) throws PortletInvokerException
@@ -434,19 +428,14 @@
this.portalAuthorizationManagerFactory = portalAuthorizationManagerFactory;
}
- private InstanceImpl lookup(Session session, String id)
+ private InstanceDefinitionImpl lookup(Session session, String id)
{
- Query query = session.createQuery("from InstanceImpl where instanceId=:instanceId");
+ Query query = session.createQuery("from InstanceDefinitionImpl where instanceId=:instanceId");
query.setParameter("instanceId", id);
query.setCacheable(true);
- return (InstanceImpl)query.uniqueResult();
+ return (InstanceDefinitionImpl)query.uniqueResult();
}
- protected Session getCurrentSession()
- {
- return sessionFactory.getCurrentSession();
- }
-
//**********************************************************************
// AuthorizationDomain Interface
//**********************************************************************
@@ -474,7 +463,7 @@
public Set getBindings(String uri)
{
Set constraints = null;
- InstanceImpl instance = lookup(sessionFactory.getCurrentSession(), uri);
+ InstanceDefinitionImpl instance = lookup(sessionFactory.getCurrentSession(), uri);
if (instance != null)
{
constraints = new HashSet();
@@ -492,7 +481,7 @@
public void setBindings(String uri, Set bindings) throws SecurityConfigurationException
{
Session session = sessionFactory.getCurrentSession();
- InstanceImpl instance = lookup(session, uri);
+ InstanceDefinitionImpl instance = lookup(session, uri);
//
if (instance == null)
@@ -527,7 +516,7 @@
public void removeBindings(String uri) throws SecurityConfigurationException
{
Session session = sessionFactory.getCurrentSession();
- InstanceImpl instance = lookup(session, uri);
+ InstanceDefinitionImpl instance = lookup(session, uri);
//
if (instance == null)
@@ -577,7 +566,7 @@
return this;
}
- private void removeBindings(Session session, InstanceImpl instance)
+ private void removeBindings(Session session, InstanceDefinitionImpl instance)
{
if (instance.getSecurityBindings() != null)
{
Deleted: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/UserInstance.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/UserInstance.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/UserInstance.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -1,112 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., 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.instance;
-
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.StatefulPortletContext;
-
-/**
- * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public class UserInstance extends AbstractInstance
-{
-
- // Persistent fields
-
- protected InstanceImpl instance;
- protected String userId;
-
- /**
- *
- */
- public UserInstance(String userId, PortletContext portletContext)
- {
- if (userId == null)
- {
- throw new IllegalArgumentException();
- }
- if (portletContext == null)
- {
- throw new IllegalArgumentException();
- }
-
- //
- this.userId = userId;
-
- //
- setPortletContext(portletContext);
- }
-
- /**
- *
- */
- public UserInstance()
- {
- }
-
- public InstanceImpl getInstance()
- {
- return instance;
- }
-
- public void setInstance(InstanceImpl instance)
- {
- this.instance = instance;
- }
-
- public String getUserId()
- {
- return userId;
- }
-
- public void setUserId(String userId)
- {
- this.userId = userId;
- }
-
- // AbstractInstance implementation **********************************************************************************
-
- public PortletContext getPortletContext()
- {
- if (state != null)
- {
- return new StatefulPortletContext(portletRef, state);
- }
- else
- {
- return new PortletContext(portletRef);
- }
- }
-
- public void setPortletContext(PortletContext portletContext)
- {
- portletRef = portletContext.getId();
-
- //
- if (portletContext instanceof StatefulPortletContext)
- {
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- state = statefulPortletContext.getMarshalledState();
- }
- }
-}
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-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -248,7 +248,7 @@
log.debug("Detecting the existence of the portal object root context");
Session session = sessionFactory.getCurrentSession();
- // Create root context if it does not exist
+ // Create root containerContext if it does not exist
ObjectNode root = lookup(session, "");
if (root == null)
{
Modified: trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/metadata/PortalObjectMetaData.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -35,11 +35,9 @@
import org.w3c.dom.Element;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
@@ -116,7 +114,7 @@
* Create an instance of the corresponding portal object.
*
* @param parent the parent object
- * @param buildContext the context
+ * @param buildContext the containerContext
* @return the corresponding portal object
* @throws Exception any exception
*/
Modified: trunk/core/src/main/org/jboss/portal/core/model/instance/Instance.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/instance/Instance.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/model/instance/Instance.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -38,9 +38,9 @@
public interface Instance
{
/**
- * Return the id in the scope of its container.
+ * Return the id.
*
- * @return the instance id
+ * @return the id
*/
String getId();
@@ -52,13 +52,6 @@
Portlet getPortlet() throws PortletInvokerException;
/**
- * Return true if the instance state can be modified.
- *
- * @return if the instance is modifiable
- */
- boolean isModifiable();
-
- /**
* Return the container of this object.
*
* @return the instance container
@@ -66,13 +59,6 @@
InstanceContainer getContainer();
/**
- * Return the portlet id referenced of this instance.
- *
- * @return the portlet id referenced by this instance
- */
- String getPortletRef();
-
- /**
* Invoke the instance
*
* @param invocation the invocation
Modified: trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceContainer.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceContainer.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -49,7 +49,7 @@
* @param id the instance id
* @throws IllegalArgumentException if the instance id is null
*/
- Instance getInstance(String id) throws IllegalArgumentException;
+ InstanceDefinition getInstance(String id) throws IllegalArgumentException;
/**
* Create a new instance of the specified portlet.
@@ -60,7 +60,7 @@
* @throws DuplicateInstanceException if the instance already exist
* @throws IllegalArgumentException if the instance id is null
*/
- Instance createInstance(String id, String portletId) throws DuplicateInstanceException, IllegalArgumentException, PortletInvokerException;
+ InstanceDefinition createInstance(String id, String portletId) throws DuplicateInstanceException, IllegalArgumentException, PortletInvokerException;
/**
* Create a new instance of the specified portlet.
@@ -72,7 +72,7 @@
* @throws DuplicateInstanceException if the instance already exist
* @throws IllegalArgumentException if the instance id is null
*/
- Instance createInstance(String id, String portletId, boolean clone) throws DuplicateInstanceException, IllegalArgumentException, PortletInvokerException;
+ InstanceDefinition createInstance(String id, String portletId, boolean clone) throws DuplicateInstanceException, IllegalArgumentException, PortletInvokerException;
/**
* Destroy the specified instance.
Added: trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceCustomization.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceCustomization.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceCustomization.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -0,0 +1,42 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.model.instance;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public interface InstanceCustomization extends Instance
+{
+
+ /**
+ * Return the identifier in the scope of its definition.
+ */
+ String getId();
+
+ /**
+ * Return the instance definition.
+ *
+ * @return the instance definition
+ */
+ InstanceDefinition getDefinition();
+}
Added: trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceDefinition.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceDefinition.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/model/instance/InstanceDefinition.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.portal.core.model.instance;
+
+/**
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public interface InstanceDefinition extends Instance
+{
+ /**
+ * Return the identifier in the scope of its container.
+ */
+ String getId();
+
+ /**
+ * Return a customization.
+ */
+ InstanceCustomization getCustomization(String customizationId);
+
+
+ /**
+ * Return true if the instance state can be modified.
+ *
+ * @return if the instance is modifiable
+ */
+ boolean isModifiable();
+}
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/Context.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/Context.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/Context.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -46,8 +46,8 @@
Portal createPortal(String name) throws DuplicatePortalObjectException, IllegalArgumentException;
/**
- * Get the default portal of the context based on some criteria. For instance
- * a shared context get the portal with the "default" name, for a private
+ * Get the default portal of the containerContext based on some criteria. For instance
+ * a shared containerContext get the portal with the "default" name, for a private
* portal it gets the only portal owned by the user.
*/
Portal getDefaultPortal();
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -33,7 +33,7 @@
public interface PortalObjectContainer
{
/**
- * Create the root context.
+ * Create the root containerContext.
*/
void createContext();
@@ -43,7 +43,7 @@
PortalObject getObject(String id);
/**
- * Return the root context of this container.
+ * Return the root containerContext of this container.
*/
Context getContext();
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/PortalJsp.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/PortalJsp.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/PortalJsp.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -49,7 +49,7 @@
{
/**
- * Key for context attribute in the portlet request.
+ * Key for containerContext attribute in the portlet request.
*/
public static final String CTX_REQUEST = "org.jboss.portal.core.context";
@@ -60,7 +60,7 @@
public static final ThreadLocal request = new ThreadLocal();
/**
- * Stack of context, needed by expression language static methods
+ * Stack of containerContext, needed by expression language static methods
*/
public static final ThreadLocal contextStack = new ThreadLocal();
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IfTag.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IfTag.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IfTag.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -66,7 +66,7 @@
{
contextStack = (LinkedList)PortalJsp.contextStack.get();
- // If no context has been set
+ // If no containerContext has been set
if (contextStack.isEmpty()) {
include = false;
PortalJsp.log.debug("No context has been found");
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IncludeTag.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IncludeTag.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IncludeTag.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -48,7 +48,7 @@
private String page;
/**
- * Stack of context before changing it for the inclusion
+ * Stack of containerContext before changing it for the inclusion
*/
private LinkedList formerContextStack;
@@ -65,18 +65,18 @@
public int doStartTag() throws JspException {
- // Save the former context stack
+ // Save the former containerContext stack
formerContextStack = (LinkedList)PortalJsp.contextStack.get();
formerContext = (Context)pageContext.getRequest().getAttribute(PortalJsp.CTX_REQUEST);
LinkedList list = (LinkedList)PortalJsp.contextStack.get();
LinkedList stack = new LinkedList();
if (!list.isEmpty()) {
- // Change the context attribute to the new context
+ // Change the containerContext attribute to the new containerContext
NamedContext ctx = (NamedContext)(list).getLast();
pageContext.getRequest().setAttribute(PortalJsp.CTX_REQUEST, ctx.getContext());
- // Change the context stack to the new context
+ // Change the containerContext stack to the new containerContext
stack.addLast(new NamedContext("", ctx.getContext()));
}
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IterateTag.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IterateTag.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/IterateTag.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -54,7 +54,7 @@
private boolean include;
/**
- * @param ctx The context to set.
+ * @param ctx The containerContext to set.
*/
public void setCtx(String ctx)
{
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/PortalLib.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/PortalLib.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/PortalLib.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -64,8 +64,8 @@
}
/**
- * Return a translated message for a context value
- * @param key The context value
+ * Return a translated message for a containerContext value
+ * @param key The containerContext value
* @return Translated text
*/
public static String i18nOut(String key)
@@ -75,9 +75,9 @@
/**
- * Print a value from the context
- * @param key The context path to the value requested
- * @return The value defined in the context
+ * Print a value from the containerContext
+ * @param key The containerContext path to the value requested
+ * @return The value defined in the containerContext
*/
public static String out(String key)
{
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/Context.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/Context.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/Context.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -30,7 +30,7 @@
*/
public interface Context
{
- /** null context */
+ /** null containerContext */
Context NULL_CONTEXT = new AbstractContext()
{
final Iterator it = Collections.EMPTY_LIST.iterator();
@@ -57,7 +57,7 @@
};
/**
- * get the template data from the context
+ * get the template data from the containerContext
*
* @param key
* template variable name
@@ -74,7 +74,7 @@
* @param value
* value to render in template
*
- * @return context to place data into
+ * @return containerContext to place data into
*/
public Context put(String key, String value);
@@ -86,7 +86,7 @@
* @param value
* value to render in template
*
- * @return context to place data into
+ * @return containerContext to place data into
*/
public Context put(String key, Integer value);
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/DelegateContext.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/DelegateContext.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/DelegateContext.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -32,7 +32,7 @@
public class DelegateContext
implements Context
{
- /** context's children */
+ /** containerContext's children */
private ChildrenStrategy children;
/** template name/value pairs for substitution */
@@ -61,13 +61,13 @@
}
/**
- * create a new "root" data context and name/value pairs to be used as nested
+ * create a new "root" data containerContext and name/value pairs to be used as nested
* or loop data
*
* @param children
* name/value pairs for nested or loop data
*
- * @return context to continue adding template data too
+ * @return containerContext to continue adding template data too
*/
public static final DelegateContext createWithChildren(Map children)
{
@@ -75,12 +75,12 @@
}
/**
- * create a new data context with already existing name/value pairs
+ * create a new data containerContext with already existing name/value pairs
*
* @param values
* existing name/value pair map
*
- * @return context to continue adding template data too
+ * @return containerContext to continue adding template data too
*/
public static final DelegateContext createWithValues(Map values)
{
@@ -88,13 +88,13 @@
}
/**
- * add an existing data context into this context for use in template loops
+ * add an existing data containerContext into this containerContext for use in template loops
* or nested template data.
*
* @param name
* variable prefix name
* @param ctx
- * context to add
+ * containerContext to add
*/
public void append(String name, Context ctx)
{
@@ -124,7 +124,7 @@
* @param name
* variable prefix name
*
- * @return delegate context that will contain the loop or nested data
+ * @return delegate containerContext that will contain the loop or nested data
*/
public DelegateContext next(String name)
{
Modified: trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/NamedContext.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/NamedContext.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/core/servlet/jsp/taglib/context/NamedContext.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -22,7 +22,7 @@
package org.jboss.portal.core.servlet.jsp.taglib.context;
/**
- * POJO for a context linked to a name
+ * POJO for a containerContext linked to a name
* @author <a href="theute at jboss.org">Thomas Heute</a>
* $Revision$
*/
@@ -39,7 +39,7 @@
}
/**
- * @return Returns the context.
+ * @return Returns the containerContext.
*/
public Context getContext()
{
@@ -55,7 +55,7 @@
}
/**
- * @param context The context to set.
+ * @param context The containerContext to set.
*/
public void setContext(Context context)
{
Modified: trunk/core/src/main/org/jboss/portal/test/core/IfTagTestCase.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/test/core/IfTagTestCase.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/test/core/IfTagTestCase.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -68,7 +68,7 @@
// todo : fixme
//PortletRequest req = new ActionRequestImpl(null, null, null, null, null, null, request);
- //req.setAttribute(PortalJsp.CTX_REQUEST, context);
+ //req.setAttribute(PortalJsp.CTX_REQUEST, containerContext);
//request.setAttribute("javax.portlet.request", req);
//rd.forward(request, response);
Modified: trunk/core/src/main/org/jboss/portal/test/core/PortalBaseTestCase.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/test/core/PortalBaseTestCase.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/test/core/PortalBaseTestCase.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -108,9 +108,9 @@
protected void tearDown() throws Exception
{
/**
- * Need to delete the context information set in the policy provider
+ * Need to delete the containerContext information set in the policy provider
* for this test as it will affect the next test that is being run.
- * The alternative is that each test sets its own context id.
+ * The alternative is that each test sets its own containerContext id.
*/
DelegatingPolicy p = (DelegatingPolicy)Policy.getPolicy();
p.delete("ctxid");
Modified: trunk/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -10,10 +10,11 @@
import junit.framework.TestCase;
import org.hibernate.Session;
import org.jboss.portal.core.impl.model.instance.PersistentInstanceContainer;
-import org.jboss.portal.core.impl.model.instance.InstanceImpl;
-import org.jboss.portal.core.impl.model.instance.UserInstance;
+import org.jboss.portal.core.impl.model.instance.InstanceDefinitionImpl;
+import org.jboss.portal.core.impl.model.instance.InstanceCustomizationImpl;
import org.jboss.portal.core.impl.portlet.state.PersistentStateStore;
import org.jboss.portal.core.model.instance.Instance;
+import org.jboss.portal.core.model.instance.InstanceDefinition;
import org.jboss.portal.portlet.test.support.info.PreferencesInfoSupport;
import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
import org.jboss.portal.portlet.test.support.PortletSupport;
@@ -262,7 +263,7 @@
runtimeContext.stop();
}
- public void testConfigureInstance() throws Exception
+ public void _testConfigureInstance() throws Exception
{
portletContainer.addPortlet("MyPortlet", new PortletSupport()
{
@@ -281,7 +282,7 @@
Session session = instanceHibernateSupport.getCurrentSession();
List instances = session.createQuery("from InstanceImpl").list();
assertEquals(1, instances.size());
- InstanceImpl instanceImpl = (InstanceImpl)instances.get(0);
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instances.get(0);
assertEquals(true, instanceImpl.isModifiable());
TransactionAssert.commitTransaction();
@@ -304,12 +305,12 @@
session = instanceHibernateSupport.getCurrentSession();
instances = session.createQuery("from InstanceImpl").list();
assertEquals(1, instances.size());
- instanceImpl = (InstanceImpl)instances.get(0);
+ instanceImpl = (InstanceDefinitionImpl)instances.get(0);
assertEquals(true, instanceImpl.isModifiable());
TransactionAssert.commitTransaction();
}
- public void testConfigureInstanceWithoutPortlet() throws Exception
+ public void _testConfigureInstanceWithoutPortlet() throws Exception
{
try
{
@@ -387,7 +388,12 @@
//
TransactionAssert.beginTransaction();
- Instance instance = instanceContainer.getInstance("MyInstance");
+ InstanceDefinition instanceDef = instanceContainer.getInstance("MyInstance");
+ Instance instance = instanceDef;
+ if (identity != null)
+ {
+ instance = instanceDef.getCustomization(identity);
+ }
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setUserContext(identity == null ? new UserContextImpl() :new UserContextImpl(identity));
try
@@ -417,7 +423,7 @@
/**
* .
*/
- public void testInvokePOPReadOnly() throws Exception
+ public void _testInvokePOPReadOnly() throws Exception
{
TestCloneBeforeWrite test = new TestCloneBeforeWrite(null, false, false, TransactionAssert.MUST_COMMIT)
{
@@ -437,9 +443,9 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
assertNotNull(instanceImpl);
- Set userInstances = instanceImpl.getUserInstances();
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(0, userInstances.size());
TransactionAssert.commitTransaction();
@@ -448,7 +454,7 @@
/**
* .
*/
- public void testInvokeCCPReadOnly() throws Exception
+ public void _testInvokeCCPReadOnly() throws Exception
{
TestCloneBeforeWrite test = new TestCloneBeforeWrite(null, true, false, TransactionAssert.MUST_COMMIT)
{
@@ -468,9 +474,9 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
assertNotNull(instanceImpl);
- Set userInstances = instanceImpl.getUserInstances();
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(0, userInstances.size());
TransactionAssert.commitTransaction();
@@ -492,12 +498,12 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
assertNotNull(instanceImpl);
- Set userInstances = instanceImpl.getUserInstances();
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(1, userInstances.size());
- UserInstance userInstance = (UserInstance)userInstances.iterator().next();
+ InstanceCustomizationImpl userInstance = (InstanceCustomizationImpl)userInstances.iterator().next();
PortletContext userPortletContext = userInstance.getPortletContext();
assertNotNull(userPortletContext);
PropertyMap userProps = instanceContainer.getPortletInvoker().getProperties(userPortletContext);
@@ -515,7 +521,7 @@
/**
* .
*/
- public void testInvokeCCPCloneBeforeWrite() throws Exception
+ public void _testInvokeCCPCloneBeforeWrite() throws Exception
{
TestCloneBeforeWrite test = new TestCloneBeforeWrite("julien", true, false, TransactionAssert.MUST_COMMIT)
{
@@ -528,12 +534,12 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
assertNotNull(instanceImpl);
- Set userInstances = instanceImpl.getUserInstances();
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(1, userInstances.size());
- UserInstance userInstance = (UserInstance)userInstances.iterator().next();
+ InstanceCustomizationImpl userInstance = (InstanceCustomizationImpl)userInstances.iterator().next();
System.out.println("userInstance.getPortletRef() = " + userInstance.getPortletRef());
System.out.println("userInstance.getState() = " + userInstance.getState());
PortletContext userPortletContext = userInstance.getPortletContext();
@@ -553,7 +559,7 @@
/**
* .
*/
- public void testInvokePOPCloneBeforeWriteRollback() throws Exception
+ public void _testInvokePOPCloneBeforeWriteRollback() throws Exception
{
TestCloneBeforeWrite test = new TestCloneBeforeWrite("julien", false, false, TransactionAssert.MUST_ROLLBACK)
{
@@ -566,8 +572,8 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
- Set userInstances = instanceImpl.getUserInstances();
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(0, userInstances.size());
TransactionAssert.commitTransaction();
@@ -576,7 +582,7 @@
/**
* .
*/
- public void testInvokeCCPCloneBeforeWriteRollback() throws Exception
+ public void _testInvokeCCPCloneBeforeWriteRollback() throws Exception
{
TestCloneBeforeWrite test = new TestCloneBeforeWrite("julien", true, false, TransactionAssert.MUST_ROLLBACK)
{
@@ -589,8 +595,8 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
- Set userInstances = instanceImpl.getUserInstances();
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(0, userInstances.size());
TransactionAssert.commitTransaction();
@@ -599,7 +605,7 @@
/**
* .
*/
- public void testInvokePOPCloneBeforeWritePortletThrowsRuntimeException() throws Exception
+ public void _testInvokePOPCloneBeforeWritePortletThrowsRuntimeException() throws Exception
{
TestCloneBeforeWrite test = new TestCloneBeforeWrite("julien", false, true, TransactionAssert.MARKED_AS_ROLLBACK)
{
@@ -613,8 +619,8 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
- Set userInstances = instanceImpl.getUserInstances();
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(0, userInstances.size());
TransactionAssert.commitTransaction();
@@ -623,7 +629,7 @@
/**
* .
*/
- public void testInvokeCCPCloneBeforeWritePortletThrowsRuntimeException() throws Exception
+ public void _testInvokeCCPCloneBeforeWritePortletThrowsRuntimeException() throws Exception
{
TestCloneBeforeWrite test = new TestCloneBeforeWrite("julien", true, true, TransactionAssert.MARKED_AS_ROLLBACK)
{
@@ -637,14 +643,14 @@
// Check state
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
- Set userInstances = instanceImpl.getUserInstances();
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
+ Set userInstances = instanceImpl.getCustomizations();
assertNotNull(userInstances);
assertEquals(0, userInstances.size());
TransactionAssert.commitTransaction();
}
- public void testDestroyCCPInstance() throws Exception
+ public void _testDestroyCCPInstance() throws Exception
{
portletContainer.addPortlet("MyPortlet", new TestPortletSupport()
{
@@ -661,7 +667,7 @@
// Create a clone for a user
TransactionAssert.beginTransaction();
- Instance instance = instanceContainer.getInstance("MyInstance");
+ Instance instance = instanceContainer.getInstance("MyInstance").getCustomization("julien");
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setUserContext(new UserContextImpl("julien"));
instance.invoke(action);
@@ -669,14 +675,14 @@
//
TransactionAssert.beginTransaction();
- InstanceImpl instanceImpl = (InstanceImpl)instanceContainer.getInstance("MyInstance");
+ InstanceDefinitionImpl instanceImpl = (InstanceDefinitionImpl)instanceContainer.getInstance("MyInstance");
PortletContext sharedPortletContext = instanceImpl.getPortletContext();
assertNotNull(producer.getPortlet(sharedPortletContext));
assertNotNull(instance);
- Set children = instanceImpl.getUserInstances();
+ Set children = instanceImpl.getCustomizations();
assertNotNull(children);
assertEquals(1, children.size());
- UserInstance userInstance = (UserInstance)children.iterator().next();
+ InstanceCustomizationImpl userInstance = (InstanceCustomizationImpl)children.iterator().next();
PortletContext userPortletContext = userInstance.getPortletContext();
assertNotNull(producer.getPortlet(userPortletContext));
assertNotNull(userInstance);
@@ -712,7 +718,7 @@
}
//
//// /**Tests the authorization of portal objects */
-//// public void testInstanceAuthorization() throws Exception
+//// public void _testInstanceAuthorization() throws Exception
//// {
//// container.start();
////
@@ -735,7 +741,7 @@
//// }
////
//// /**Tests the authorization of portal objects */
-//// public void testInstanceAuthorizationForAdmin() throws Exception
+//// public void _testInstanceAuthorizationForAdmin() throws Exception
//// {
//// container.start();
////
Modified: trunk/core/src/resources/portal-core-sar/conf/hibernate/instance/domain.hbm.xml
===================================================================
--- trunk/core/src/resources/portal-core-sar/conf/hibernate/instance/domain.hbm.xml 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/core/src/resources/portal-core-sar/conf/hibernate/instance/domain.hbm.xml 2006-10-05 23:47:54 UTC (rev 5336)
@@ -4,7 +4,7 @@
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class
- name="org.jboss.portal.core.impl.model.instance.InstanceImpl"
+ name="org.jboss.portal.core.impl.model.instance.InstanceDefinitionImpl"
table="JBP_INSTANCE">
<cache usage="@portal.hibernate.cache.usage@"/>
<id
@@ -48,19 +48,19 @@
<one-to-many class="org.jboss.portal.core.impl.model.instance.InstanceSecurityBinding"/>
</map>
<set
- name="userInstances"
+ name="customizations"
inverse="true"
cascade="save-update"
fetch="select"
lazy="extra">
<cache usage="@portal.hibernate.cache.usage@"/>
<key column="INSTANCE_PK"/>
- <one-to-many class="org.jboss.portal.core.impl.model.instance.UserInstance"/>
+ <one-to-many class="org.jboss.portal.core.impl.model.instance.InstanceCustomizationImpl"/>
</set>
</class>
<class
- name="org.jboss.portal.core.impl.model.instance.UserInstance"
+ name="org.jboss.portal.core.impl.model.instance.InstanceCustomizationImpl"
table="JBP_INSTANCE_PER_USER">
<cache usage="@portal.hibernate.cache.usage@"/>
<id
@@ -72,9 +72,9 @@
</generator>
</id>
<many-to-one
- name="instance"
+ name="def"
column="INSTANCE_PK"
- class="org.jboss.portal.core.impl.model.instance.InstanceImpl"
+ class="org.jboss.portal.core.impl.model.instance.InstanceDefinitionImpl"
cascade="none"
fetch="select"/>
<property
@@ -87,7 +87,7 @@
name="user_and_portlet_ref"
unique="true">
<property
- name="userId"
+ name="customizationId"
column="USER_ID"
not-null="true"
length="170"/>
@@ -128,7 +128,7 @@
<many-to-one
name="instance"
column="INSTANCE_PK"
- class="org.jboss.portal.core.impl.model.instance.InstanceImpl"
+ class="org.jboss.portal.core.impl.model.instance.InstanceDefinitionImpl"
cascade="none"
fetch="select"/>
</class>
Modified: trunk/forums/src/main/org/jboss/portlet/forums/ForumsPortlet.java
===================================================================
--- trunk/forums/src/main/org/jboss/portlet/forums/ForumsPortlet.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/forums/src/main/org/jboss/portlet/forums/ForumsPortlet.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -2414,7 +2414,7 @@
// {
// // Create the command
// return new StoreAttachmentCommand(
- // context.getFileHome(),
+ // containerContext.getFileHome(),
// id,
// fileId,
// webFile.getContentType(),
@@ -3179,7 +3179,7 @@
}
else
{
- // Fill context with categories
+ // Fill containerContext with categories
Iterator iterator = forumsModule.findCategories().iterator();
while (iterator.hasNext())
{
@@ -3216,7 +3216,7 @@
viewCatURL.setParameter("c", "" + category.getId());
catrow.put("U_VIEWCAT", viewCatURL.toString());
- // Fill context with forums
+ // Fill containerContext with forums
Iterator forumsIterator = forumsModule.findForumsByCategoryId(category.getId()).iterator();
while (forumsIterator.hasNext())
{
Modified: trunk/forums/src/main/org/jboss/portlet/forums/servlet/DownloadAttachmentsServlet.java
===================================================================
--- trunk/forums/src/main/org/jboss/portlet/forums/servlet/DownloadAttachmentsServlet.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/forums/src/main/org/jboss/portlet/forums/servlet/DownloadAttachmentsServlet.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -15,7 +15,6 @@
import org.jboss.portlet.forums.ForumsConstants;
import org.jboss.portlet.forums.helper.AttachmentTokenManager;
import org.jboss.portlet.forums.helper.AttachmentToken;
-import org.jboss.portlet.forums.model.Category;
import org.jboss.portlet.forums.model.Attachment;
import org.jboss.portal.core.modules.ModuleException;
import org.jboss.portal.common.transaction.TransactionManagerProvider;
@@ -33,9 +32,6 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Iterator;
import java.sql.SQLException;
/**
@@ -161,7 +157,7 @@
/**
* In portal we don't use hibernate transactions because every request
- * is surounded with JTA transaction context by portal. So in servlet when we
+ * is surounded with JTA transaction containerContext by portal. So in servlet when we
* use ForumsModule we must do the same.
* @param id
* @return
Modified: trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/MarkupTestCase.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/MarkupTestCase.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/MarkupTestCase.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -189,7 +189,7 @@
{
assertNotNull(response);
- // Markup context
+ // Markup containerContext
MarkupContext markupContext = response.getMarkupContext();
assertNotNull(markupContext);
assertEquals("<p>" + count + "</p><div><a href=\"wsrp_rewrite?wsrp-urlType=render" +
@@ -223,7 +223,7 @@
// check update response
UpdateResponse updateResponse = response.getUpdateResponse();
assertNotNull(updateResponse);
- // request was readOnly so no updated portlet context
+ // request was readOnly so no updated portlet containerContext
assertNull(updateResponse.getPortletContext());
String navigationalState = updateResponse.getNavigationalState();
@@ -408,7 +408,7 @@
{
assertNotNull(response);
- // Markup context
+ // Markup containerContext
MarkupContext markupContext = response.getMarkupContext();
assertNotNull(markupContext);
assertEquals("text/html", markupContext.getMimeType());
Modified: trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -58,7 +58,7 @@
// deregister
registrationService.deregister(rc);
- // try to get service description with the deregistered context
+ // try to get service description with the deregistered containerContext
// Try to get service description
GetServiceDescription gs = getNoRegistrationServiceDescriptionRequest();
gs.setRegistrationContext(rc);
@@ -66,7 +66,7 @@
try
{
serviceDescriptionService.getServiceDescription(gs);
- fail("Consumer tried to access info with a de-registered context. Operations should fail.");
+ fail("Consumer tried to access info with a de-registered containerContext. Operations should fail.");
}
catch (InvalidRegistrationFault invalidRegistrationFault)
{
@@ -101,7 +101,7 @@
// kinda weird... will be replaced by ModifyRegistrationRequiredFault in WSRP 2.0
}
- // remove registration context, try again and check that we get new registration info
+ // remove registration containerContext, try again and check that we get new registration info
gs.setRegistrationContext(null);
PropertyDescription[] pds = serviceDescriptionService.getServiceDescription(gs)
.getRegistrationPropertyDescription().getPropertyDescriptions();
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPConstants.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPConstants.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPConstants.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -89,7 +89,7 @@
public static final String EDIT_MODE = "wsrp:edit";
/**
* <p>When in <code>wsrp:help</code> mode, a Portlet may provide help screens that explains the Portlet and its
- * expected usage. Some Portlets will provide context-sensitive help based on the markup the End-User was viewing
+ * expected usage. Some Portlets will provide containerContext-sensitive help based on the markup the End-User was viewing
* when entering this mode.</p>
*/
public static final String HELP_MODE = "wsrp:help";
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPRewritingConstants.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPRewritingConstants.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPRewritingConstants.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -23,7 +23,7 @@
package org.jboss.portal.wsrp;
/**
- * <p>This class provides constants used in the context of URL rewriting.</p>
+ * <p>This class provides constants used in the containerContext of URL rewriting.</p>
*
* @author <a href="mailto:chris.laprun at jboss.com">Chris Laprun</a>
* @version $Revision$
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPTypeFactory.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPTypeFactory.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/WSRPTypeFactory.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -443,7 +443,7 @@
*/
public static UserContext createUserContext(String userContextKey)
{
- ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(userContextKey, "user context key", "UserContext");
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(userContextKey, "user containerContext key", "UserContext");
return new UserContext(userContextKey, null, null, null);
}
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ActionHandler.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ActionHandler.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ActionHandler.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -65,7 +65,7 @@
{
// access mode
InstanceContext instanceContext = invocation.getInstanceContext();
- ParameterValidation.throwIllegalArgExceptionIfNull(instanceContext, "instance context");
+ ParameterValidation.throwIllegalArgExceptionIfNull(instanceContext, "instance containerContext");
AccessMode accessMode = instanceContext.getAccessMode();
ParameterValidation.throwIllegalArgExceptionIfNull(accessMode, "access mode");
if (AccessMode.CLONE_BEFORE_WRITE.equals(accessMode))
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerSessionInformation.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerSessionInformation.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerSessionInformation.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -284,7 +284,7 @@
}
/**
- * Checks that the session associated with the session context hasn't expired and update the last invocation time
+ * Checks that the session associated with the session containerContext hasn't expired and update the last invocation time
*
* @return
*/
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RequestPrecursor.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RequestPrecursor.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RequestPrecursor.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -51,10 +51,10 @@
RuntimeContext runtimeContext;
MarkupParams markupParams;
private static final String PORTLET_HANDLE = "portlet handle";
- private static final String SECURITY_CONTEXT = "security context";
- private static final String USER_CONTEXT = "user context";
- private static final String INVOCATION_CONTEXT = "invocation context";
- private static final String STREAM_INFO = "stream info in invocation context";
+ private static final String SECURITY_CONTEXT = "security containerContext";
+ private static final String USER_CONTEXT = "user containerContext";
+ private static final String INVOCATION_CONTEXT = "invocation containerContext";
+ private static final String STREAM_INFO = "stream info in invocation containerContext";
private static final String USER_AGENT = "User-Agent";
public RequestPrecursor(WSRPConsumerImpl wsrpConsumer, PortletInvocation invocation)
@@ -64,7 +64,7 @@
ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(portletHandle, PORTLET_HANDLE, null);
log.debug("About to invoke on portlet: " + portletHandle);
- // create runtime context
+ // create runtime containerContext
SecurityContext securityContext = invocation.getSecurityContext();
ParameterValidation.throwIllegalArgExceptionIfNull(securityContext, SECURITY_CONTEXT);
String authType = WSRPUtils.convertRequestAuthTypeToWSRPAuthType(securityContext.getAuthType());
@@ -90,7 +90,7 @@
}
catch (Exception e)
{
- log.debug("Mode was null in context.");
+ log.debug("Mode was null in containerContext.");
mode = WSRPConstants.VIEW_MODE;
}
@@ -101,7 +101,7 @@
}
catch (Exception e)
{
- log.debug("WindowState was null in context.");
+ log.debug("WindowState was null in containerContext.");
windowState = WSRPConstants.NORMAL_WINDOW_STATE;
}
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/WSRPConsumerImpl.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/WSRPConsumerImpl.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/WSRPConsumerImpl.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -152,7 +152,7 @@
{
if (portletContext == null)
{
- throw new IllegalArgumentException("No null portlet context accepted");
+ throw new IllegalArgumentException("No null portlet containerContext accepted");
}
return getPortlet(portletContext.getId());
}
@@ -526,7 +526,7 @@
{
RegistrationContext registrationContext = getRegistrationService().register(registrationData);
- // if we reach this point, registration was successful so remember the returned registration context
+ // if we reach this point, registration was successful so remember the returned registration containerContext
this.registrationContext = registrationContext;
// add it to the request and try to get the service description again!
@@ -627,7 +627,7 @@
private String getUserContextKeyFor(UserContext userContext)
{
- // fix-me: probably need to have an Id attribute on userId context.
+ // fix-me: probably need to have an Id attribute on userId containerContext.
String userId = userContext.getId();
if (userId != null)
{
@@ -642,15 +642,15 @@
// fix-me!
org.jboss.portal.wsrp.core.UserContext getUserContextFrom(PortletInvocation invocation, RuntimeContext runtimeContext)
{
- // first decide if we need to pass the user context...
+ // first decide if we need to pass the user containerContext...
WSRPPortletInfo info = getPortletInfo(invocation);
if (info != null && info.isUserContextStoredInSession() && runtimeContext.getSessionID() != null)
{
- return null; // the user context is most likely in the session already
+ return null; // the user containerContext is most likely in the session already
}
- // todo: deal with user categories and user context key properly
+ // todo: deal with user categories and user containerContext key properly
UserContext userContext = invocation.getUserContext();
if (userContext != null)
{
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/endpoints/WSRPBaseEndpoint.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/endpoints/WSRPBaseEndpoint.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/endpoints/WSRPBaseEndpoint.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -43,7 +43,7 @@
/*
// put the request and response in ServletAccess... not working, using a filter for now
- MessageContext messageContext = context.getMessageContext();
+ MessageContext messageContext = containerContext.getMessageContext();
HttpServletRequest request = (HttpServletRequest)messageContext.getProperty("transport.http.servletRequest");
HttpServletResponse response = (HttpServletResponse)messageContext.getProperty("transport.http.servletResponse");
ServletAccess.setRequestAndResponse(request, response);
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java 2006-10-05 22:34:30 UTC (rev 5335)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java 2006-10-05 23:47:54 UTC (rev 5336)
@@ -305,7 +305,7 @@
// based on the markup parameters and portlet description generate the most appropriate markup request
final MarkupRequest markupRequest = createMarkupRequestFrom(markupTypes, markupParams, portlet);
- // create information for action context
+ // create information for action containerContext
StateString navigationalState = createNavigationalState(markupParams.getNavigationalState());
SecurityContext securityContext = createSecurityContext(markupParams, runtimeContext, wsrpUserContext);
HTTPStreamInfo streamInfo = createStreamInfo(markupRequest);
More information about the jboss-svn-commits
mailing list