[portal-commits] JBoss Portal SVN: r12967 - in branches/JBoss_Portal_AS5_Deployer/core: src/main/org/jboss/portal/core/deployment/jboss and 10 other directories.

portal-commits at lists.jboss.org portal-commits at lists.jboss.org
Fri Mar 6 16:21:09 EST 2009


Author: mwringe
Date: 2009-03-06 16:21:08 -0500 (Fri, 06 Mar 2009)
New Revision: 12967

Added:
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/InstanceDeploymentImpl.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentImpl.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentContainer.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletDeploymentImpl.java
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/aliases.txt
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/default-object.xml
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-dependency.xml
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-portal-app_2_6.dtd
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-portal-app.xml
Removed:
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/data/default-object.xml
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-app_2_6.dtd
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-app.xml
Modified:
   branches/JBoss_Portal_AS5_Deployer/core/.classpath
   branches/JBoss_Portal_AS5_Deployer/core/build.xml
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/AjaxInfoImpl.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilder.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilderFactory.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/MarkupHeaderInfoImpl.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletIconInfoImpl.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletInfoInfoImpl.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/instance/metadata/InstanceMetaData.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/portal/metadata/PortalMetaData.java
   branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/test/core/deployment/PortletInstancesMetaDataFactoryTestCase.java
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/identity/standardidentity-config.xml
   branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml
Log:
Update to use the newer version of the deployer and metadata modules.

Modified: branches/JBoss_Portal_AS5_Deployer/core/.classpath
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/.classpath	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/.classpath	2009-03-06 21:21:08 UTC (rev 12967)
@@ -6,8 +6,6 @@
 	<classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/jsp-api.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/oswego-concurrent/lib/concurrent.jar"/>
-	<classpathentry kind="lib" path="/thirdparty/sun-javamail/lib/mail.jar"/>
-	<classpathentry kind="lib" path="/thirdparty/beanshell/lib/bsh-1.3.0.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/apache-fileupload/lib/commons-fileupload.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/apache-httpclient/lib/commons-httpclient.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/apache-logging/lib/commons-logging.jar"/>
@@ -37,7 +35,6 @@
 	<classpathentry combineaccessrules="false" kind="src" path="/registration"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/workflow"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/portlet-server"/>
-	<classpathentry kind="lib" path="/thirdparty/apache-xerces/lib/xml-apis.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar" sourcepath="/module-common-trunk"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/web/lib/portal-web-lib.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
@@ -51,5 +48,43 @@
 	<classpathentry kind="lib" path="/thirdparty/portlet/lib/portlet-api.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-controller-lib.jar" sourcepath="/module-portlet-2.0.0.CR2"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/cache/lib/jboss-cache-jdk50.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-jbossas-trunk/build/output/jboss-5.0.0.GA/common/lib/jboss-transaction-aspects.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/.m2/repository/org/jboss/portal/portlet/portlet-portal/2.1.0-SNAPSHOT/portlet-portal-2.1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-bridge-lib.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-bridge-lib-sources.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-controller-lib.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-controller-lib-sources.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib-sources.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib-sources.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-management-lib.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-management-lib-sources.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-samples-lib.jar"/>
+	<classpathentry kind="lib" path="/home/mwringe/Projects/workspaces/workspace-portal-2/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-samples-lib-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/metadata/lib/portal-metadata-lib.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/glassfish/javamail/lib/mail.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/beanshell/lib/bsh.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/apache-xml-commons/lib/xml-apis.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-metadata/lib/jboss-metadata.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/deployer/lib/portal-deployer-lib.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-client.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-client-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-client-spi.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-client-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-core.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-core-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-core-spi.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-core-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-impl.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-impl-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-spi.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-structure-spi.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-structure-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-vfs.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-vfs-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-vfs-spi.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-vfs-spi-sources.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

Modified: branches/JBoss_Portal_AS5_Deployer/core/build.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/build.xml	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/build.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -89,11 +89,14 @@
       <path id="library.classpath">
          <path refid="portlet.portlet.classpath"/>
          <path refid="jboss.portal/modules/common.classpath"/>
+         <path refid="jboss.portal/modules/deployer.classpath"/>
+         <path refid="jboss.portal/modules/metadata.classpath"/>
          <path refid="jboss.portal/modules/web.classpath"/>
          <path refid="jboss.portal/modules/identity.classpath"/>
          <path refid="jboss.portal/modules/portlet.classpath"/>
          <path refid="jboss.portal/modules/test.classpath"/>
          <path refid="jboss.microcontainer.classpath"/>
+         <path refid="jboss/jboss.deployers.classpath"/>
          <path refid="jboss.jbossxb.classpath"/>
          <path refid="jboss.cache.classpath"/>
          <path refid="jbossas/core.libs.classpath"/>
@@ -107,7 +110,7 @@
          <path refid="apache.fileupload.classpath"/>
          <path refid="jakarta.io.classpath"/>
          <path refid="oswego.concurrent.classpath"/>
-         <path refid="sun.javamail.classpath"/>
+         <path refid="glassfish.javamail.classpath"/>
          <path refid="jwebunit.jwebunit.classpath"/>
          <path refid="dbunit.dbunit.classpath"/>
          <path refid="sun.jaf.classpath"/>
@@ -116,6 +119,7 @@
          <path refid="facelets.facelets.classpath"/>
          <path refid="dom4j.dom4j.classpath"/>
          <path refid="jboss.aop.classpath"/>
+         <path refid="jboss/jboss.metadata.classpath"/>
          <path refid="trove.trove.classpath"/>
          <path refid="qdox.qdox.classpath"/>
          <pathelement location="${source.etc}/sun-jsf/jsf-example.jar"/>
@@ -167,9 +171,11 @@
          <pathelement path="${jbossas/core.libs.lib}/jboss-aspect-library.jar"/>
          <pathelement path="${jboss.aop.lib}/jboss-aop.jar"/>
          <path refid="javassist.javassist.classpath"/>
+         <path refid="jboss/jboss.mdr.classpath"/>
          <path refid="oswego.concurrent.classpath"/>
          <path refid="trove.trove.classpath"/>
          <path refid="qdox.qdox.classpath"/>
+         <path refid="jboss.portal/modules/metadata.classpath"/>
       </path>
 
       <taskdef name="explode"
@@ -199,6 +205,8 @@
          <path refid="oswego.concurrent.classpath"/>
          <path refid="trove.trove.classpath"/>
          <path refid="qdox.qdox.classpath"/>
+         <path refid="jboss/jboss.mdr.classpath"/>
+         <path refid="jboss.portal/modules/metadata.classpath"/>
       </path>
       <taskdef
          name="aopc"
@@ -234,6 +242,13 @@
          <path refid="jboss.portal/modules/web.classpath"/>
          <path refid="jboss.portal/modules/portlet.classpath"/>
          <path refid="jboss.portal/modules/identity.classpath"/>
+         <path refid="jboss.portal/modules/metadata.classpath"/>
+         <path refid="jboss/jboss.metadata.classpath"/>
+         <path refid="jbossas/core.libs.classpath"/>
+         <path refid="jboss/jboss.deployers.classpath"/>
+         <path refid="portlet.portlet.classpath"/>
+
+         <path refid="jboss.portal/modules/deployer.classpath"/>
          <path refid="jboss.portal-server.classpath"/>
          <path refid="jboss.portal-portlet-server.classpath"/>
          <path refid="jboss.portal-security.classpath"/>
@@ -246,12 +261,18 @@
          verbose="true">
          <classpath refid="bilto"/>
          <src path="${build.classes}"/>
-         <aoppath path="${build.resources}/portal-core-sar/portal-aop.xml"/>
-         <aoppath path="${source.etc}/jboss-aop/base-aop.xml"/>
+         <aoppath>
+          <pathelement path="${build.resources}/portal-core-sar/portal-aop.xml"/>
+          <pathelement path="${source.etc}/jboss-aop/base-aop.xml"/>
+         </aoppath>
          <include name="org/jboss/portal/core/aspects/server/TransactionInterceptor.class"/>
          <include name="org/jboss/portal/core/aspects/server/UserInterceptor$UserFinalizer.class"/>
          <include name="org/jboss/portal/core/aspects/portlet/TransactionInterceptor.class"/>
          <include name="org/jboss/portal/core/deployment/jboss/ObjectDeployment.class"/>
+
+         <include name="org/jboss/portal/core/deployment/jboss/ObjectDeploymentImpl.class"/>
+         <include name="org/jboss/portal/core/deployment/jboss/InstanceDeploymentImpl.class"/>  
+
          <include name="org/jboss/portal/core/deployment/jboss/PortletAppDeployment.class"/>
          <include name="org/jboss/portal/core/impl/model/instance/InstanceContainerImpl.class"/>
          <include name="org/jboss/portal/core/impl/model/portal/PersistentPortalObjectContainer.class"/>

Added: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/InstanceDeploymentImpl.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/InstanceDeploymentImpl.java	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/InstanceDeploymentImpl.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,187 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat                                               *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual                    *
+ * contributors as indicated by the @authors tag. See the                     *
+ * copyright.txt in the distribution for a full listing of                    *
+ * individual contributors.                                                   *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it            *
+ * under the terms of the GNU Lesser General Public License as                *
+ * published by the Free Software Foundation; either version 2.1 of           *
+ * the License, or (at your option) any later version.                        *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful,           *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
+ * Lesser General Public License for more details.                            *
+ *                                                                            *
+ * You should have received a copy of the GNU Lesser General Public           *
+ * License along with this software; if not, write to the Free                *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
+ ******************************************************************************/
+package org.jboss.portal.core.deployment.jboss;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.logging.Logger;
+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.deployer.container.InstanceDeployment;
+import org.jboss.portal.metadata.portlet.instances.InstanceMetaData;
+import org.jboss.portal.metadata.portlet.instances.PolicyPermissionMetaData;
+import org.jboss.portal.metadata.portlet.instances.PortletDeploymentInstanceMetaData;
+import org.jboss.portal.metadata.portlet.instances.PortletDeploymentInstancesMetaData;
+import org.jboss.portal.metadata.portlet.instances.PortletPreferenceMetaData;
+import org.jboss.portal.metadata.portlet.instances.PortletPreferencesMetaData;
+import org.jboss.portal.metadata.portlet.instances.SecurityConstraintMetaData;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.state.PropertyChange;
+import org.jboss.portal.portlet.state.PropertyMap;
+import org.jboss.portal.security.RoleSecurityBinding;
+import org.jboss.portal.security.spi.provider.AuthorizationDomain;
+import org.jboss.portal.security.spi.provider.DomainConfigurator;
+
+/**
+ * @author <a href="mailto:mwringe at redhat.com">Matt Wringe</a>
+ * @version $Revision$
+ */
+public class InstanceDeploymentImpl implements InstanceDeployment
+{
+
+   protected final Logger log = Logger.getLogger(getClass());
+
+   protected InstanceContainer instanceContainer;
+
+   public void setInstanceContainer(InstanceContainer instanceContainer)
+   {
+      this.instanceContainer = instanceContainer;
+   }
+
+   /**
+    * Deploys the instance to the instance container running in the portlet sar.
+    * 
+    * @param instancesMetaData The metadata for the instance.
+    * @throws Exception If an exception occurs while deploying the instance
+    */
+   //Requires a transaction to execute properly, setup through aop configuration for the deployer.
+   public void deployInstances(PortletDeploymentInstancesMetaData instancesMetaData, String appId) throws DeploymentException
+   {
+      List<PortletDeploymentInstanceMetaData> instancesMD = instancesMetaData.getDeploymentInstances();
+      try
+      {
+         for (int i = 0; i < instancesMD.size(); i++)
+         {
+            PortletDeploymentInstanceMetaData instanceMD = instancesMD.get(i);
+
+            Instance instance = instanceContainer.getDefinition(instanceMD.getInstance().getInstanceId());
+
+            if (instance == null)
+            {
+               createInstance(instanceMD.getInstance(), appId);
+            }
+            else if (instanceMD.getOverwrite() == true)
+            {
+               log.debug("Instance " + instanceMD.getInstance().getInstanceId() + " is about to be overwritten");
+               configureInstance(instanceMD.getInstance(), instance);
+            }
+            else
+            {
+               log.debug("Instance " + instanceMD.getInstance().getInstanceId() + " already exists");
+            }
+         }
+      }
+      catch (Exception e)
+      {
+         throw new DeploymentException(e);
+      }
+   }
+
+   protected void createInstance(InstanceMetaData instanceMD, String appId) throws IllegalArgumentException,
+         DuplicateInstanceException, PortletInvokerException
+   {
+      log.debug("Creating portlet instance " + instanceMD.getInstanceId());
+      System.out.println("LOCAL :" + appId + " : " + instanceMD.getPortletRef());
+      instanceMD.setPortletRef("local." + appId + "." + instanceMD.getPortletRef());
+
+      Instance instance = instanceContainer.createDefinition(instanceMD.getInstanceId(), instanceMD.getPortletRef());
+
+      configureInstance(instanceMD, instance);
+   }
+
+   protected void configureInstance(InstanceMetaData instanceMD, Instance instance) throws PortletInvokerException
+   {
+      log.debug("Configuring portlet instance " + instanceMD.getInstanceId());
+      List<PropertyChange> changes = new ArrayList<PropertyChange>();
+
+      // Reset all preferences that are not overridden
+      PortletPreferencesMetaData preferencesMetaData = instanceMD.getPortletPreferences();
+      PropertyMap propertyMap = instance.getProperties();
+
+      if (propertyMap != null && propertyMap.size() > 0)
+      {
+         for (String key : propertyMap.keySet())
+         {
+            if (preferencesMetaData == null || preferencesMetaData.getPreferences() == null
+                  || preferencesMetaData.getPreferences().contains(key) == false)
+            {
+               changes.add(PropertyChange.newReset(key));
+            }
+         }
+      }
+
+      // Configure preferences only if needed
+      if (preferencesMetaData != null && preferencesMetaData.getPreferences() != null
+            && preferencesMetaData.getPreferences().size() > 0)
+      {
+         for (int i = 0; i < preferencesMetaData.getPreferences().size(); i++)
+         {
+            PortletPreferenceMetaData portletPreferenceMetaData = preferencesMetaData.getPreferences().get(i);
+            PropertyChange change = PropertyChange.newUpdate(portletPreferenceMetaData.getName(),
+                  portletPreferenceMetaData.getValue());
+            changes.add(change);
+         }
+      }
+
+      if (changes.size() > 0)
+      {
+         instance.setProperties(changes.toArray(new PropertyChange[changes.size()]));
+      }
+
+      // Configure security
+      SecurityConstraintMetaData securityConstraints = instanceMD.getSecurityContraint();
+
+      if (securityConstraints == null)
+      {
+         securityConstraints = new SecurityConstraintMetaData();
+         PolicyPermissionMetaData policyPermission = new PolicyPermissionMetaData();
+         HashSet<String> actionNames = new HashSet<String>();
+         actionNames.add("view");
+         policyPermission.setActionNames(actionNames);
+         policyPermission.setRoleName("__unchecked__".intern());
+
+         List<PolicyPermissionMetaData> policyPermissions = new ArrayList<PolicyPermissionMetaData>();
+         policyPermissions.add(policyPermission);
+
+         securityConstraints.setPolicyPermission(policyPermissions);
+      }
+
+      HashSet<RoleSecurityBinding> bindings = new HashSet<RoleSecurityBinding>();
+      for (int i = 0; i < securityConstraints.getPolicyPermission().size(); i++)
+      {
+         PolicyPermissionMetaData policyMD = securityConstraints.getPolicyPermission().get(i);
+         RoleSecurityBinding binding = new RoleSecurityBinding(policyMD.getActionNames(), policyMD.getRoleName());
+         bindings.add(binding);
+      }
+
+      AuthorizationDomain authDomain = instance.getContainer().getAuthorizationDomain();
+      DomainConfigurator domainConfigurator = authDomain.getConfigurator();
+      domainConfigurator.setSecurityBindings(instance.getId(), bindings);
+   }
+
+}

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeployment.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -93,6 +93,7 @@
 
    public void start() throws DeploymentException
    {
+      if (true) {return;}
       try
       {
          doStart();
@@ -104,8 +105,10 @@
       }
    }
 
+   // @org.jboss.aspects.tx.Tx(org.jboss.aspects.tx.TxType.REQUIRED)
    protected void doStart() throws Exception
    {
+      if(true){return;}
       InputStream in = null;
       try
       {

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentFactory.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -46,6 +46,7 @@
 public class ObjectDeploymentFactory extends AbstractDeploymentFactory
 {
 
+	//object.xml
    protected static final Pattern URL_PATTERN = Pattern.compile(".*-object\\.xml");
 
    /** . */

Added: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentImpl.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentImpl.java	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/ObjectDeploymentImpl.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,625 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat                                               *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual                    *
+ * contributors as indicated by the @authors tag. See the                     *
+ * copyright.txt in the distribution for a full listing of                    *
+ * individual contributors.                                                   *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it            *
+ * under the terms of the GNU Lesser General Public License as                *
+ * published by the Free Software Foundation; either version 2.1 of           *
+ * the License, or (at your option) any later version.                        *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful,           *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
+ * Lesser General Public License for more details.                            *
+ *                                                                            *
+ * You should have received a copy of the GNU Lesser General Public           *
+ * License along with this software; if not, write to the Free                *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
+ ******************************************************************************/
+package org.jboss.portal.core.deployment.jboss;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.logging.Logger;
+import org.jboss.portal.Mode;
+import org.jboss.portal.WindowState;
+import org.jboss.portal.common.i18n.LocaleFormat;
+import org.jboss.portal.common.i18n.LocalizedString;
+import org.jboss.portal.common.i18n.ResourceBundleManager;
+import org.jboss.portal.common.util.ConversionException;
+import org.jboss.portal.core.controller.coordination.CoordinationConfigurator;
+import org.jboss.portal.core.controller.coordination.IllegalCoordinationException;
+import org.jboss.portal.core.impl.model.portal.WindowImpl;
+import org.jboss.portal.core.model.MetaDataResourceBundleFactory;
+import org.jboss.portal.core.model.content.ContentType;
+import org.jboss.portal.core.model.content.spi.ContentProviderRegistry;
+import org.jboss.portal.core.model.portal.DuplicatePortalObjectException;
+import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.PageContainer;
+import org.jboss.portal.core.model.portal.Portal;
+import org.jboss.portal.core.model.portal.PortalContainer;
+import org.jboss.portal.core.model.portal.PortalObject;
+import org.jboss.portal.core.model.portal.PortalObjectContainer;
+import org.jboss.portal.core.model.portal.PortalObjectId;
+import org.jboss.portal.core.model.portal.PortalObjectPath;
+import org.jboss.portal.core.model.portal.PortalObjectPermission;
+import org.jboss.portal.core.model.portal.Window;
+import org.jboss.portal.core.model.portal.metadata.BuildContext;
+import org.jboss.portal.metadata.portal.object.AliasBindingMetaData;
+import org.jboss.portal.metadata.portal.object.CommonPortalObject;
+import org.jboss.portal.metadata.portal.object.ContextMetaData;
+import org.jboss.portal.metadata.portal.object.CoordinationMetaData;
+import org.jboss.portal.metadata.portal.object.EventWiringMetaData;
+import org.jboss.portal.metadata.portal.object.PageMetaData;
+import org.jboss.portal.metadata.portal.object.ParameterBindingMetaData;
+import org.jboss.portal.metadata.portal.object.PortalMetaData;
+import org.jboss.portal.metadata.portal.object.PortalObjectDeploymentMetaData;
+import org.jboss.portal.metadata.portal.object.PortalObjectMetaData;
+import org.jboss.portal.metadata.portal.object.PropertyMetaData;
+import org.jboss.portal.metadata.portal.object.WindowCoordinationMetaData;
+import org.jboss.portal.metadata.portal.object.WindowMetaData;
+import org.jboss.portal.metadata.portal.object.WiringMetaData;
+import org.jboss.portal.metadata.portlet.common.LocalizedDescriptionMetaData;
+import org.jboss.portal.metadata.portlet.instances.PolicyPermissionMetaData;
+import org.jboss.portal.metadata.portlet.instances.SecurityConstraintMetaData;
+import org.jboss.portal.portlet.deployment.LocalizedStringBuilder;
+import org.jboss.portal.metadata.portlet.portlet.PortletModeMetaData;
+import org.jboss.portal.metadata.portlet.portlet.WindowStateMetaData;
+import org.jboss.portal.security.RoleSecurityBinding;
+import org.jboss.portal.security.SecurityConstants;
+import org.jboss.portal.security.metadata.SecurityConstraintsMetaData;
+import org.jboss.portal.security.spi.provider.DomainConfigurator;
+import org.jboss.portal.security.spi.provider.SecurityConfigurationException;
+import org.jboss.portal.theme.ThemeConstants;
+
+/**
+ * @author <a href="mailto:mwringe at redhat.com">Matt Wringe</a>
+ * @version $Revision$
+ */
+public class ObjectDeploymentImpl implements org.jboss.portal.deployer.container.PortalObjectDeployment
+{
+
+   private static Logger log = Logger.getLogger(ObjectDeploymentImpl.class);
+
+   PortalObjectContainer portalObjectContainer;
+
+   ContentProviderRegistry contentProviderRegistry;
+
+   CoordinationConfigurator coordinationConfigurator;
+
+   public void setPortalObjectContainer(PortalObjectContainer portalObjectContainer)
+   {
+      this.portalObjectContainer = portalObjectContainer;
+   }
+
+   public void setContentProviderRegistry(ContentProviderRegistry contentProviderRegistry)
+   {
+      this.contentProviderRegistry = contentProviderRegistry;
+   }
+
+   public void setCoordinationConfigurator(CoordinationConfigurator coordinationConfigurator)
+   {
+      this.coordinationConfigurator = coordinationConfigurator;
+   }
+
+   public void deployObjects(PortalObjectMetaData portalObjectMetaData, ClassLoader webappClassLoader)
+         throws DeploymentException
+   {
+      System.out.println("OBJECTDEPLOYMENTIMPL  DEPLOY : " + portalObjectMetaData);
+      try{
+         for (PortalObjectDeploymentMetaData objectDeploymentMetaData : portalObjectMetaData.getDeployments())
+         {
+            System.out.println("GETCONTEXT : " + objectDeploymentMetaData.getContext());
+            if (objectDeploymentMetaData.getContext() != null)
+            {
+               createPortalObject(objectDeploymentMetaData, webappClassLoader);
+            }
+         }
+         for (PortalObjectDeploymentMetaData objectDeploymentMetaData : portalObjectMetaData.getDeployments())
+         {
+            if (objectDeploymentMetaData.getPortal() != null)
+            {
+               createPortalObject(objectDeploymentMetaData, webappClassLoader);
+            }
+         }
+         for (PortalObjectDeploymentMetaData objectDeploymentMetaData : portalObjectMetaData.getDeployments())
+         {
+            if (objectDeploymentMetaData.getPage() != null)
+            {
+               createPortalObject(objectDeploymentMetaData, webappClassLoader);
+            }
+         }
+         for (PortalObjectDeploymentMetaData objectDeploymentMetaData : portalObjectMetaData.getDeployments())
+         {
+            if (objectDeploymentMetaData.getWindow()!= null)
+            {
+               createPortalObject(objectDeploymentMetaData, webappClassLoader);
+            }
+         }
+      }
+      catch (Exception e)
+      {
+         throw new DeploymentException("Could not deploy portal objects.", e);
+      }
+   }
+
+   /**
+    * Create a PortalObject class from a PortalObjectMetaData object. 
+    * 
+    * @param portalObjectMetaData
+    */
+   public void createPortalObject(PortalObjectDeploymentMetaData portalObjectMetaData, ClassLoader webappClassLoader)
+   throws Exception
+   {
+      System.out.println ("CREATEPORTALOBJECT");
+
+      ContextMetaData contextMetaData = portalObjectMetaData.getContext();
+      PortalMetaData portalMetaData = portalObjectMetaData.getPortal();
+      PageMetaData pageMetaData = portalObjectMetaData.getPage();
+      WindowMetaData windowMetaData = portalObjectMetaData.getWindow();
+
+      CommonPortalObject commonPortalObject = null;
+
+      if (contextMetaData != null)
+      {
+         commonPortalObject = contextMetaData;
+      }
+      else if (portalMetaData != null)
+      {
+         commonPortalObject = portalMetaData;
+      }
+      else if (pageMetaData != null)
+      {
+         commonPortalObject = pageMetaData;
+      }
+      else if (windowMetaData != null)
+      {
+         commonPortalObject = windowMetaData;
+      }
+
+      String parentRef = portalObjectMetaData.getParentRef();
+      System.out.println("PARENTREF : \'" + parentRef + "\' : " + (parentRef == null)  + " : " + portalObjectMetaData + " : " + contextMetaData + " : " + portalMetaData + " : " + pageMetaData + " : " + windowMetaData );
+      PortalObjectId parentId = (parentRef == null) ? null : PortalObjectId.parse(parentRef,
+            PortalObjectPath.LEGACY_FORMAT);
+      if (parentId != null)
+      {
+         PortalObject parent = this.portalObjectContainer.getObject(parentId);
+         if (parent != null)
+         {
+            boolean create = true;
+            if (parent.getChild(commonPortalObject.getName()) != null)
+            {
+               if (portalObjectMetaData.isOverwrite())
+               {
+                  parent.destroyChild(commonPortalObject.getName());
+               }
+               else
+               {
+                  create = false;
+               }
+            }
+            if (create)
+            {
+               log.debug("Building portal object");
+               createPortalObject(commonPortalObject, parent, webappClassLoader);
+            }
+
+         }
+         else if (parent == null)
+         {
+            log.warn("Cannot create portal object " + portalObjectMetaData + " because the parent '"
+                  + portalObjectMetaData.getParentRef() + "' that the deployment descriptor references does not exist");
+         }
+      }
+      else
+      {
+         if (this.portalObjectContainer.getContext(commonPortalObject.getName()) == null)
+         {
+            log.debug("Building portal object");
+            createPortalObject(commonPortalObject, null, webappClassLoader);
+         }
+      }
+
+   }
+
+   public PortalObject createPortalObject(CommonPortalObject commonPortalObject, PortalObject parent,
+         ClassLoader webappClassLoader) throws DuplicatePortalObjectException, DeploymentException,
+         IllegalCoordinationException
+   {
+      PortalObject portalObject;
+
+      System.out.println("COMMONPORTALOBJECT " + commonPortalObject);
+      
+      if (commonPortalObject instanceof ContextMetaData)
+      {
+         portalObject = createPortalObject((ContextMetaData) commonPortalObject, parent);
+      }
+      else if (commonPortalObject instanceof PageMetaData)
+      {
+         portalObject = createPortalObject((PageMetaData) commonPortalObject, parent);
+      }
+      else if (commonPortalObject instanceof WindowMetaData)
+      {
+         portalObject = createPortalObject((WindowMetaData) commonPortalObject, parent);
+      }
+      else if (commonPortalObject instanceof PortalMetaData)
+      {
+         portalObject = createPortalObject((PortalMetaData) commonPortalObject, parent);
+      }
+      else
+      {
+         throw new DeploymentException("Class " + commonPortalObject.getClass() + " is not a recongized valid class.");
+      }
+
+      configure(commonPortalObject, portalObject, webappClassLoader);
+
+      System.out.println("COMMON PORTAL OBJECT : " + commonPortalObject);
+      
+      if (commonPortalObject.getChildren() != null)
+      {
+         for (int i = 0; i < commonPortalObject.getChildren().size(); i++)
+         {
+            CommonPortalObject child = commonPortalObject.getChildren().get(i);
+            createPortalObject(child, portalObject, webappClassLoader);
+         }
+      }
+      
+      // Coordination - must be applied after children (windows) were created 
+      CoordinationMetaData coordinationMD = null;
+      if (commonPortalObject instanceof PortalMetaData)
+      {
+         coordinationMD = ((PortalMetaData) commonPortalObject).getCoordination();
+      }
+      else if (commonPortalObject instanceof PageMetaData)
+      {
+         coordinationMD = ((PageMetaData) commonPortalObject).getCoordination();
+      }
+
+      if (coordinationMD != null)
+      {
+         configureCoodination(coordinationMD, portalObject);
+      }
+
+      return portalObject;
+   }
+
+   public PortalObject createPortalObject(ContextMetaData contextMetaData, PortalObject parent)
+         throws DuplicatePortalObjectException
+   {
+      String contextName = contextMetaData.getName();
+      return portalObjectContainer.createContext(contextName);
+   }
+
+   public PortalObject createPortalObject(PageMetaData pageMetaData, PortalObject parent)
+         throws IllegalArgumentException, DuplicatePortalObjectException
+   {
+      if (!(parent instanceof PageContainer))
+      {
+         throw new IllegalArgumentException("Cannot build page " + pageMetaData.getName()
+               + " because the parent it references is not a page container " + parent);
+      }
+
+      //
+      return ((PageContainer) parent).createPage(pageMetaData.getName());
+   }
+
+   public PortalObject createPortalObject(PortalMetaData portalMetaData, PortalObject parent)
+         throws IllegalArgumentException, DuplicatePortalObjectException
+   {
+      System.out.println("PARENT IS " + parent);
+      if (!(parent instanceof PortalContainer))
+      {
+         throw new IllegalArgumentException("Not a context");
+      }
+
+      Portal portal = ((PortalContainer) parent).createPortal(portalMetaData.getName());
+
+      if (portalMetaData.getModes() != null && portalMetaData.getModes().getModes() != null)
+      {
+         List<String> modes = portalMetaData.getModes().getModes();
+         for (int i = 0; i < modes.size(); i++)
+         {
+            Mode mode = new Mode(modes.get(i));
+            portal.getSupportedModes().add(mode);
+         }
+      }
+      
+      if (portalMetaData.getSupportedWindowStates() != null
+            && portalMetaData.getSupportedWindowStates().getWindowStates() != null)
+      {
+         List<String> windowStates = portalMetaData.getSupportedWindowStates().getWindowStates();
+         for (int i = 0; i < windowStates.size(); i++)
+         {
+            WindowState windowState = new WindowState(windowStates.get(i));
+            portal.getSupportedWindowStates().add(windowState);
+         }
+      }
+      
+      return portal;
+   }
+
+   public PortalObject createPortalObject(WindowMetaData windowMetaData, PortalObject parent)
+         throws IllegalArgumentException, DuplicatePortalObjectException
+   {
+      if (!(parent instanceof Page))
+      {
+         throw new IllegalArgumentException("Not a page");
+      }
+
+      ContentType contentType = ContentType.create(windowMetaData.getContent().getContentType());
+
+      //
+      Window window = ((Page) parent).createWindow(windowMetaData.getName(), contentType, windowMetaData.getContent()
+            .getContentURI());
+
+      //
+      window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_REGION, windowMetaData.getRegion());
+      window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER, "" + windowMetaData.getHeight());
+      if (windowMetaData.getInitialWindowState() != null)
+      {
+         window
+               .setDeclaredProperty(WindowImpl.PORTAL_INITIAL_WINDOW_STATE, "" + windowMetaData.getInitialWindowState());
+      }
+      if (windowMetaData.getInitialMode() != null)
+      {
+         window.setDeclaredProperty(WindowImpl.PORTAL_INITIAL_MODE, "" + windowMetaData.getInitialMode());
+      }
+
+      //
+      return window;
+   }
+
+   private void configure(CommonPortalObject commonPortalObject, PortalObject object, ClassLoader webappClassLoader)
+         throws SecurityConfigurationException
+   {
+      // Configure  properties
+      
+      System.out.println("COMMONPORTALOBJECT : " + commonPortalObject.getName());
+      
+      if (commonPortalObject.getProperties() != null && commonPortalObject.getProperties().getProperties() != null)
+      {
+         List<PropertyMetaData> propertyMetaData = commonPortalObject.getProperties().getProperties();
+         if (propertyMetaData != null)
+         {
+            for (int i = 0; i < propertyMetaData.size(); i++)
+            {
+               String name = propertyMetaData.get(i).getName();
+               String value = propertyMetaData.get(i).getValue();
+               object.setDeclaredProperty(name, value);
+            }
+         }
+      }
+      
+      // Configure listener
+      object.setListener(commonPortalObject.getListener());
+
+      if (commonPortalObject.getResourceBundle() != null)
+      {
+         String resourceBundle = commonPortalObject.getResourceBundle();
+         ResourceBundleManager bundleMgr = MetaDataResourceBundleFactory.createResourceBundleManager(webappClassLoader,
+               commonPortalObject.getSupportedLocales(), commonPortalObject.getResourceBundle());
+         object.setDisplayName(bundleMgr.getLocalizedValue("org.jboss.portal.object.name."
+               + object.getId().getPath().toString(PortalObjectPath.LEGACY_FORMAT), object.getName()));
+      }
+
+      LocalizedString localizedString = null;
+      Map<Locale, String> localizedStringValues = new HashMap<Locale, String>();
+      if (commonPortalObject.getDisplayNames() != null)
+      {
+         for (int i = 0; i < commonPortalObject.getDisplayNames().size(); i++)
+         {
+            LocalizedDescriptionMetaData displayNameMetaData = commonPortalObject.getDisplayNames().get(i);
+            String lang = displayNameMetaData.getLang();
+            Locale locale;
+            try
+            {
+               locale = LocaleFormat.DEFAULT.getLocale(lang);
+               localizedStringValues.put(locale, displayNameMetaData.getDescription());
+            }
+            catch (ConversionException e)
+            {
+               log.error("Cannot set localized display-name, for language: " + lang, e);
+            }
+         }
+      }
+      if (localizedStringValues.size() != 0)
+      {
+         localizedString = new LocalizedString(localizedStringValues, Locale.ENGLISH);
+      }
+
+      // Configure display name
+      if (localizedString != null)
+      {
+         object.setDisplayName(localizedString);
+      }
+
+      // Configure security
+      Set<RoleSecurityBinding> securityBindings = new HashSet<RoleSecurityBinding>();
+
+      if (commonPortalObject.getSecurityConstraint() != null)
+      {
+         System.out.println("GOT SECURITY CONSTRAINTS : " + commonPortalObject.getSecurityConstraint().getPolicyPermission().size());
+         for (int i = 0; i < commonPortalObject.getSecurityConstraint().getPolicyPermission().size(); i++)
+         {
+            PolicyPermissionMetaData policyPermissionMetaData = commonPortalObject.getSecurityConstraint()
+            .getPolicyPermission().get(i);
+            if (policyPermissionMetaData.getUnchecked() != null)
+            {
+               RoleSecurityBinding binding = new RoleSecurityBinding(policyPermissionMetaData.getActionNames(),
+                     SecurityConstants.UNCHECKED_ROLE_NAME);
+               securityBindings.add(binding);
+            }
+            else
+            {
+               Set actionName = policyPermissionMetaData.getActionNames();
+               String roleName = policyPermissionMetaData.getRoleName();
+               RoleSecurityBinding binding = new RoleSecurityBinding(actionName, roleName);
+               securityBindings.add(binding);
+            }
+         }
+      }
+
+      if (securityBindings.size() == 0)
+      {
+         if (commonPortalObject instanceof PortalMetaData)
+         {
+            // Default is view recursive
+            RoleSecurityBinding binding = new RoleSecurityBinding(PortalObjectPermission.VIEW_RECURSIVE_ACTION,
+                  SecurityConstants.UNCHECKED_ROLE_NAME);
+            securityBindings.add(binding);
+         }
+         else if (commonPortalObject instanceof ContextMetaData)
+         {
+            // Default is view
+            RoleSecurityBinding binding = new RoleSecurityBinding(PortalObjectPermission.VIEW_ACTION,
+                  SecurityConstants.UNCHECKED_ROLE_NAME);
+            securityBindings.add(binding);
+         }
+      }
+      else
+      {
+         // Skip window configuration
+         if (commonPortalObject instanceof WindowMetaData)
+         {
+            securityBindings = null;
+            log
+                  .warn("Window "
+                        + commonPortalObject.getName()
+                        + " has a security "
+                        + "configuration but it is not taken in account, portlet instance configuration should be done rather");
+         }
+      }
+
+      System.out.println("SECURITY BINDINGS : " + securityBindings);
+      if (securityBindings != null)
+      {
+      for (RoleSecurityBinding rsb : securityBindings)
+      {
+         System.out.println("RSB : " + rsb.getRoleName() + " : " + rsb.getActionsAsString());
+      }
+      }
+      
+      //
+      if (securityBindings != null)
+      {
+         // Apply the constraint
+         PortalObjectContainer poc = this.portalObjectContainer;
+         DomainConfigurator domainConfigurator = poc.getAuthorizationDomain().getConfigurator();
+         domainConfigurator.setSecurityBindings(object.getId().toString(PortalObjectPath.CANONICAL_FORMAT),
+               securityBindings);
+      }
+   }
+
+   protected void configureCoodination(CoordinationMetaData coordinationMD, PortalObject portalObject)
+         throws IllegalCoordinationException
+   {
+      // implicit mode parameter
+      String bindingsImplicitMode = coordinationMD.getBindings().getImplicitMode();
+      if (bindingsImplicitMode != null)
+      {
+         this.coordinationConfigurator.setParameterBindingImplicitMode((PageContainer) portalObject, Boolean
+               .valueOf(bindingsImplicitMode));
+      }
+      // implicit mode event
+      String wiringImplicitMode = coordinationMD.getWirings().getImplicitMode();
+      if (wiringImplicitMode != null)
+      {
+         this.coordinationConfigurator.setEventWiringImplicitMode((PageContainer) portalObject, Boolean
+               .valueOf(wiringImplicitMode));
+      }
+
+      if (portalObject instanceof Page)
+      {
+         Page page = (Page) portalObject;
+
+         Map<Window, Set<QName>> bindings = new HashMap<Window, Set<QName>>();
+
+         for (ParameterBindingMetaData parameterBindingMetaData : coordinationMD.getBindings().getParameterBindings())
+         {
+            for (WindowCoordinationMetaData windowsMetaData : parameterBindingMetaData.getWindowCoordination())
+            {
+               String windowName = windowsMetaData.getWindowName();
+               Window window = page.getWindow(windowName);
+
+               if (window == null)
+               {
+                  throw new IllegalCoordinationException("Cannot obtain window: \"" + windowName + "\" on page: "
+                        + page.getName());
+               }
+
+               Set<QName> qNames = new HashSet<QName>();
+               for (String name : windowsMetaData.getQNames())
+               {
+                  QName qName = new QName(name);
+                  qNames.add(qName);
+               }
+
+               bindings.put(window, qNames);
+            }
+            this.coordinationConfigurator.setParameterBinding(parameterBindingMetaData.getId(), bindings);
+         }
+
+         for (AliasBindingMetaData aliasBindingMetaData : coordinationMD.getBindings().getAliasBindings())
+         {
+
+            Set<QName> qNames = new HashSet<QName>();
+            for (String name : aliasBindingMetaData.getQNames())
+            {
+               QName qName = new QName(name);
+               qNames.add(qName);
+            }
+
+            this.coordinationConfigurator.setAliasBinding(page, aliasBindingMetaData.getId(), qNames);
+         }
+
+         for (EventWiringMetaData wiringMetaData : coordinationMD.getWirings().getEventWiring())
+         {
+            Map<Window, QName> sources = new HashMap<Window, QName>();
+            Map<Window, QName> destinations = new HashMap<Window, QName>();
+
+            populateWindows(sources, wiringMetaData.getSources(), page);
+            populateWindows(destinations, wiringMetaData.getDestinations(), page);
+
+            this.coordinationConfigurator.setEventWiring(sources, destinations, wiringMetaData.getName());
+         }
+
+      }
+   }
+
+   protected void populateWindows(Map<Window, QName> map, List<WindowCoordinationMetaData> windows, Page page)
+         throws IllegalCoordinationException
+   {
+      for (WindowCoordinationMetaData windowCoordination : windows)
+      {
+         String qName = windowCoordination.getQName();
+         QName name = QName.valueOf(qName);
+
+         Window window = page.getWindow(windowCoordination.getWindowName());
+
+         if (window == null)
+         {
+            throw new IllegalCoordinationException("Cannot obtain window: \"" + windowCoordination.getWindowName()
+                  + "\" on page: " + page.getName());
+         }
+
+         map.put(window, name);
+      }
+   }
+
+}

Deleted: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -1,478 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat                                               *
- * Copyright 2006, Red Hat Middleware, LLC, and individual                    *
- * contributors as indicated by the @authors tag. See the                     *
- * copyright.txt in the distribution for a full listing of                    *
- * individual contributors.                                                   *
- *                                                                            *
- * This is free software; you can redistribute it and/or modify it            *
- * under the terms of the GNU Lesser General Public License as                *
- * published by the Free Software Foundation; either version 2.1 of           *
- * the License, or (at your option) any later version.                        *
- *                                                                            *
- * This software is distributed in the hope that it will be useful,           *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
- * Lesser General Public License for more details.                            *
- *                                                                            *
- * You should have received a copy of the GNU Lesser General Public           *
- * License along with this software; if not, write to the Free                *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
- ******************************************************************************/
-package org.jboss.portal.core.deployment.jboss;
-
-import org.jboss.deployment.DeploymentException;
-import org.jboss.mx.util.MBeanProxyExt;
-import org.jboss.portal.common.io.IOTools;
-import org.jboss.portal.common.net.URLNavigator;
-import org.jboss.portal.common.net.URLVisitor;
-import org.jboss.portal.common.xml.NullEntityResolver;
-import org.jboss.portal.common.xml.XMLTools;
-import org.jboss.portal.core.metadata.ServiceMetaData;
-import org.jboss.portal.core.metadata.portlet.JBossApplicationMetaData;
-import org.jboss.portal.core.model.instance.DuplicateInstanceException;
-import org.jboss.portal.core.model.instance.Instance;
-import org.jboss.portal.core.model.instance.metadata.InstanceMetaData;
-import org.jboss.portal.portlet.InvalidPortletIdException;
-import org.jboss.portal.portlet.NoSuchPortletException;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.container.managed.ManagedObjectRegistryEventListener;
-import org.jboss.portal.portlet.impl.metadata.portlet.PortletPreferenceMetaData;
-import org.jboss.portal.portlet.impl.metadata.portlet.PortletPreferencesMetaData;
-import org.jboss.portal.portlet.state.PropertyChange;
-import org.jboss.portal.portlet.state.PropertyMap;
-import org.jboss.portal.security.RoleSecurityBinding;
-import org.jboss.portal.security.SecurityConstants;
-import org.jboss.portal.security.metadata.SecurityConstraintsMetaData;
-import org.jboss.portal.security.spi.provider.AuthorizationDomain;
-import org.jboss.portal.security.spi.provider.DomainConfigurator;
-import org.jboss.portal.security.spi.provider.SecurityConfigurationException;
-import org.jboss.portal.server.deployment.PortalWebApp;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.EntityResolver;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.xml.parsers.DocumentBuilder;
-import java.io.File;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public class PortletAppDeployment extends org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment
-{
-
-   /** . */
-   public static final int OVERWRITE_IF_EXISTS = 0;
-
-   /** . */
-   public static final int KEEP_IF_EXISTS = 1;
-
-   /** . */
-   private PortletAppDeploymentFactory factory;
-
-   public PortletAppDeployment(URL url, PortalWebApp pwa, ManagedObjectRegistryEventListener listener, MBeanServer mbeanServer, PortletAppDeploymentFactory factory)
-   {
-      super(url, pwa, listener, mbeanServer, factory);
-      this.factory = factory;
-   }
-
-   public void start() throws DeploymentException
-   {
-      //disable since we want to use the one from the deployer module
-	  if (true) return;
-      // Inject services if needed
-      injectServices();
-
-      //
-      super.start();
-
-      // Build instances objects related to the portlet life cycle
-      if (factory.getCreateInstances())
-      {
-         buildInstances();
-      }
-   }
-
-   /** Inject service proxies into the context of the web application if it is needed. */
-   protected void injectServices()
-   {
-      if (jbossAppMD instanceof JBossApplicationMetaData)
-      {
-         JBossApplicationMetaData jBossApplicationMetaData = ((JBossApplicationMetaData)jbossAppMD);
-         for (Iterator<ServiceMetaData> i = jBossApplicationMetaData.getServices().values().iterator(); i.hasNext();)
-         {
-            ServiceMetaData serviceMD = (ServiceMetaData)i.next();
-
-            //
-            String serviceName = serviceMD.getName();
-            String serviceClass = serviceMD.getClassName();
-            String serviceRef = serviceMD.getRef();
-            log.debug("Trying to inject service '" + serviceName + "' (ref: '" + serviceRef + "' class: " + serviceClass +
-                    ") in the servlet context of " + pwa.getURL());
-
-            //
-            if (serviceRef.startsWith(":"))
-            {
-               log.debug("Detecting a relative service reference " + serviceRef + " prepending it with " + factory.getConfig().getDomain());
-               serviceRef = factory.getConfig().getDomain() + serviceRef;
-            }
-
-            //
-            try
-            {
-               Class proxyClass = pwa.getClassLoader().loadClass(serviceClass);
-               ObjectName objectName = ObjectName.getInstance(serviceRef);
-               Object proxy = MBeanProxyExt.create(proxyClass, objectName, mbeanServer, true);
-               pwa.getServletContext().setAttribute(serviceName, proxy);
-            }
-            catch (Exception e)
-            {
-               log.error("Was not able to create service proxy", e);
-            }
-         }
-      }
-   }
-
-   private void buildInstances()
-   {
-      // Read portlet-instances.xml
-      try
-      {
-         // All the meta data gathered
-         final ArrayList metaDataCtxs = new ArrayList();
-
-         // Parse instances from legacy -object.xml
-         log.debug("Looking for the WEB-INF path of " + pwa.getId());
-         final String webInfPath = pwa.getServletContext().getRealPath("/WEB-INF");
-         if (webInfPath != null)
-         {
-            File webInfFile = new File(webInfPath);
-            URL webInfURL = webInfFile.toURL();
-            URLNavigator.visit(webInfURL, new URLVisitor()
-            {
-               public void startDir(URL url, String name)
-               {
-               }
-
-               public void endDir(URL url, String name)
-               {
-               }
-
-               public void file(URL url, String name)
-               {
-                  boolean logged = false;
-                  if (name.endsWith("-object.xml"))
-                  {
-                     InputStream in = null;
-                     try
-                     {
-                        in = IOTools.safeBufferedWrapper(url.openStream());
-                        DocumentBuilder builder = XMLTools.getDocumentBuilderFactory().newDocumentBuilder();
-                        EntityResolver entityResolver = factory.getPortalObjectEntityResolver();
-                        if (entityResolver == null)
-                        {
-                           log.debug("Coult not obtain entity resolver for " + url);
-                           entityResolver = new NullEntityResolver();
-                        }
-                        else
-                        {
-                           log.debug("Obtained entity resolver " + entityResolver + " for " + url);
-                        }
-                        builder.setEntityResolver(entityResolver);
-                        Document doc = builder.parse(in);
-                        Element deploymentsElt = doc.getDocumentElement();
-                        for (Iterator i = XMLTools.getChildrenIterator(deploymentsElt, "deployment"); i.hasNext();)
-                        {
-                           Element deploymentElt = (Element)i.next();
-
-                           //
-                           Element instanceElt = XMLTools.getUniqueChild(deploymentElt, "instance", false);
-
-                           //
-                           if (instanceElt != null)
-                           {
-                              if (!logged)
-                              {
-                                 log.debug("Found -object.xml containing instances, you need to convert and move them to the file " + webInfPath + "/portlet-instances.xml");
-                                 logged = true;
-                              }
-
-                              //
-                              InstanceMetaData metaData = InstanceMetaData.buildLegacyMetaData(instanceElt, pwa.getId());
-
-                              //
-                              if (metaData != null)
-                              {
-                                 InstanceMetaDataContext metaDataCtx = new InstanceMetaDataContext(metaData, KEEP_IF_EXISTS);
-                                 metaDataCtxs.add(metaDataCtx);
-                              }
-                           }
-                        }
-                     }
-                     catch (Exception e)
-                     {
-                        e.printStackTrace();
-                     }
-                     finally
-                     {
-                        IOTools.safeClose(in);
-                     }
-                  }
-               }
-            });
-         }
-         else
-         {
-            log.debug("No real path found");
-         }
-
-         // Output legacy file on the console
-         if (metaDataCtxs.size() > 0)
-         {
-            DocumentBuilder builder = XMLTools.getDocumentBuilderFactory().newDocumentBuilder();
-            Document doc = builder.newDocument();
-            Element deployments = (Element)doc.appendChild(doc.createElement("deployments"));
-            for (int i = 0; i < metaDataCtxs.size(); i++)
-            {
-               InstanceMetaDataContext metaDataCtx = (InstanceMetaDataContext)metaDataCtxs.get(i);
-               InstanceMetaData instanceMD = metaDataCtx.metaData;
-               Element deploymentElt = (Element)deployments.appendChild(doc.createElement("deployment"));
-               Element instanceElt = (Element)deploymentElt.appendChild(doc.createElement("instance"));
-               Element instanceIdElt = (Element)instanceElt.appendChild(doc.createElement("instance-id"));
-               instanceIdElt.appendChild(doc.createTextNode(instanceMD.getId()));
-               Element portletRefElt = (Element)instanceElt.appendChild(doc.createElement("portlet-ref"));
-               portletRefElt.appendChild(doc.createTextNode(instanceMD.getPortletRef()));
-            }
-            String migratedContent = XMLTools.toString(doc, false, true, true, "utf-8");
-            log.info("These instances have been found in -object.xml, you should put them in the file " + webInfPath + "/portlet-instances.xml");
-            log.info(migratedContent);
-         }
-
-         // Get instances from portlet-instances.xml
-         InputStream in = null;
-         try
-         {
-            in = IOTools.safeBufferedWrapper(pwa.getServletContext().getResourceAsStream("/WEB-INF/portlet-instances.xml"));
-            if (in != null)
-            {
-               DocumentBuilder builder = XMLTools.getDocumentBuilderFactory().newDocumentBuilder();
-               EntityResolver entityResolver = factory.getPortletInstancesEntityResolver();
-               if (entityResolver == null)
-               {
-                  log.debug("Coult not obtain entity resolver for portlet-instances.xml");
-                  entityResolver = new NullEntityResolver();
-               }
-               else
-               {
-                  log.debug("Obtained entity resolver " + entityResolver + " for portlet-instances.xml");
-               }
-               builder.setEntityResolver(entityResolver);
-               Document doc = builder.parse(in);
-
-               //
-               for (Iterator i = XMLTools.getChildrenIterator(doc.getDocumentElement(), "deployment"); i.hasNext();)
-               {
-                  Element deploymentElt = (Element)i.next();
-
-                  //
-                  Element instanceElt = XMLTools.getUniqueChild(deploymentElt, "instance", true);
-
-                  //
-                  InstanceMetaData metaData = InstanceMetaData.buildMetaData(instanceElt, pwa);
-
-                  //
-                  Element ifExistsElt = XMLTools.getUniqueChild(deploymentElt, "if-exists", false);
-                  int ifExists = KEEP_IF_EXISTS;
-                  if (ifExistsElt != null)
-                  {
-                     String tmp = XMLTools.asString(ifExistsElt);
-                     if ("overwrite".equals(tmp))
-                     {
-                        ifExists = OVERWRITE_IF_EXISTS;
-                     }
-                     else if ("keep".equals(tmp))
-                     {
-                        ifExists = KEEP_IF_EXISTS;
-                     }
-                  }
-
-                  //
-                  InstanceMetaDataContext metaDataCtx = new InstanceMetaDataContext(metaData, ifExists);
-
-                  //
-                  metaDataCtxs.add(metaDataCtx);
-               }
-            }
-         }
-         finally
-         {
-            IOTools.safeClose(in);
-         }
-
-         // Create instances when we have
-         if (metaDataCtxs.size() > 0)
-         {
-            createInstances(metaDataCtxs);
-         }
-      }
-      catch (Exception e)
-      {
-         log.error("Error when creating instances", e);
-      }
-   }
-
-   private void createInstances(List metaDataCtxs) throws Exception
-   {
-      // Create all the instances when possible
-      for (int i = 0; i < metaDataCtxs.size(); i++)
-      {
-         InstanceMetaDataContext metaDataCtx = (InstanceMetaDataContext)metaDataCtxs.get(i);
-         //
-         try
-         {
-            handleInstance(metaDataCtx);
-         }
-         catch (NoSuchPortletException e)
-         {
-            String msg = "Failed to create instance " + metaDataCtx.metaData.getId() + " of portlet " + e.getPortletId() +
-                    " because portlet " + e.getPortletId() + " is not available";
-            log.warn(msg);
-            log.debug(msg, e);
-         }
-         catch (InvalidPortletIdException e)
-         {
-            String msg = "Failed to create instance " + metaDataCtx.metaData.getId() + " of portlet " + e.getPortletId() +
-                    " because portlet id " + e.getPortletId() + " is invalid";
-            log.warn(msg);
-            log.debug(msg, e);
-         }
-         catch (PortletInvokerException e)
-         {
-            String msg = "Failed to create instance " + metaDataCtx.metaData.getId() + " of portlet";
-            log.warn(msg);
-            log.debug(msg, e);
-         }
-         catch (DuplicateInstanceException e)
-         {
-            String msg = "Instance " + metaDataCtx.metaData.getId() + " already exists";
-            log.warn(msg);
-            log.debug(msg, e);
-         }
-         catch (SecurityConfigurationException e)
-         {
-            String msg = "Cannot configure security of instance " + metaDataCtx.metaData.getId();
-            log.warn(msg);
-            log.debug(msg, e);
-         }
-      }
-   }
-
-   /** Requires a transaction to execute, setup in aop configuration. */
-   private void handleInstance(InstanceMetaDataContext metaDataCtx) throws PortletInvokerException, SecurityConfigurationException, DuplicateInstanceException
-   {
-      InstanceMetaData metaData = metaDataCtx.metaData;
-      Instance instance = factory.getInstanceContainer().getDefinition(metaData.getId());
-      if (instance == null)
-      {
-         createInstance(metaData);
-      }
-      else if (metaDataCtx.ifExists == OVERWRITE_IF_EXISTS)
-      {
-         log.debug("Reconfiguring instance " + metaData.getId() + " that already exists");
-         configureInstance(instance, metaData);
-      }
-      else
-      {
-         log.debug("Instance " + metaData.getId() + " exists");
-      }
-   }
-
-   private void configureInstance(Instance instance, InstanceMetaData metaData) throws PortletInvokerException, SecurityConfigurationException
-   {
-      List<PropertyChange> changes = new ArrayList<PropertyChange>();
-
-      // Reset all preferences that are not overridden
-      PortletPreferencesMetaData preferencesMetaData = metaData.getPreferences();
-      PropertyMap propertyMap = instance.getProperties();
-      if (propertyMap != null && propertyMap.size() > 0)
-      {
-         for (String key : propertyMap.keySet())
-         {
-            if (preferencesMetaData == null || preferencesMetaData.getPortletPreferences() == null || preferencesMetaData.getPortletPreferences().get(key) == null)
-            {
-               changes.add(PropertyChange.newReset(key));
-            }
-         }
-      }
-
-      // Configure preferences only if needed
-      if (preferencesMetaData != null && preferencesMetaData.getPortletPreferences() != null && preferencesMetaData.getPortletPreferences().size() > 0)
-      {
-         for (PortletPreferenceMetaData preference : preferencesMetaData.getPortletPreferences().values())
-         {
-            List<String> preferenceValues = preference.getValue();
-            changes.add(PropertyChange.newUpdate(preference.getName(), preferenceValues.toArray(new String[preferenceValues.size()])));
-         }
-      }
-
-      if (changes.size() > 0)
-      {
-         instance.setProperties(changes.toArray(new PropertyChange[changes.size()]));
-      }
-
-      // Configure security
-      SecurityConstraintsMetaData securityConstraints = metaData.getSecurityConstraints();
-      if (securityConstraints == null)
-      {
-         securityConstraints = new SecurityConstraintsMetaData();
-         securityConstraints.getConstraints().add(new RoleSecurityBinding("view", SecurityConstants.UNCHECKED_ROLE_NAME));
-      }
-      AuthorizationDomain authDomain = instance.getContainer().getAuthorizationDomain();
-      DomainConfigurator domainConfigurator = authDomain.getConfigurator();
-      domainConfigurator.setSecurityBindings(instance.getId(), securityConstraints.getConstraints());
-   }
-
-   private void createInstance(InstanceMetaData metaData) throws PortletInvokerException, DuplicateInstanceException, SecurityConfigurationException
-   {
-      log.debug("Creating portlet instance " + metaData.getId());
-
-      // Resolve the portlet ref
-      metaData.setPortletRef(resolvePortletRef(metaData.getPortletRef()));
-
-      // Create the instance
-      Instance instance = factory.getInstanceContainer().createDefinition(metaData);
-
-      // Configure
-      configureInstance(instance, metaData);
-   }
-
-
-   private String resolvePortletRef(String ref)
-   {
-      return "local." + getAppId() + "." + ref;
-   }
-
-   private class InstanceMetaDataContext
-   {
-      /** . */
-      private InstanceMetaData metaData;
-
-      /** . */
-      private int ifExists;
-
-      public InstanceMetaDataContext(InstanceMetaData metaData, int ifExists)
-      {
-         this.metaData = metaData;
-         this.ifExists = ifExists;
-      }
-   }
-}

Added: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentContainer.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentContainer.java	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentContainer.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,277 @@
+//package org.jboss.portal.core.deployment.jboss;
+//
+//import java.net.URL;
+//import java.util.ArrayList;
+//import java.util.HashSet;
+//import java.util.List;
+//
+//import javax.management.MBeanServer;
+//import javax.management.ObjectName;
+//import javax.servlet.ServletContext;
+//
+//import org.hibernate.cfg.ExtendsQueueEntry;
+//import org.jboss.logging.Logger;
+//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.metadata.portlet.PolicyPermissionMetaData;
+//import org.jboss.portal.metadata.portlet.PortletDeploymentInstanceMetaData;
+//import org.jboss.portal.metadata.portlet.PortletDeploymentInstancesMetaData;
+//import org.jboss.portal.metadata.portlet.PortletPreferencesMetaData;
+//import org.jboss.portal.metadata.portlet.SecurityConstrainMetaData;
+//import org.jboss.portal.portlet.PortletInvoker;
+//import org.jboss.portal.portlet.PortletInvokerException;
+//import org.jboss.portal.portlet.container.ContainerPortletInvoker;
+//import org.jboss.portal.portlet.container.PortletApplicationContext;
+//import org.jboss.portal.portlet.container.PortletContainer;
+//import org.jboss.portal.portlet.container.PortletContainerContext;
+//import org.jboss.portal.portlet.container.PortletFilterContext;
+//import org.jboss.portal.portlet.container.managed.LifeCycleStatus;
+//import org.jboss.portal.portlet.container.managed.ManagedObject;
+//import org.jboss.portal.portlet.container.managed.ManagedObjectEvent;
+//import org.jboss.portal.portlet.container.managed.ManagedObjectLifeCycleEvent;
+//import org.jboss.portal.portlet.container.managed.ManagedObjectRegistryEvent;
+//import org.jboss.portal.portlet.container.managed.ManagedObjectRegistryEventListener;
+//import org.jboss.portal.portlet.container.object.PortletApplicationObject;
+//import org.jboss.portal.portlet.container.object.PortletContainerObject;
+//import org.jboss.portal.portlet.container.object.PortletFilterObject;
+//import org.jboss.portal.portlet.deployment.jboss.InfoBuilder;
+//import org.jboss.portal.portlet.deployment.jboss.InfoBuilderFactory;
+//import org.jboss.portal.portlet.deployment.jboss.PortletApplicationContextImpl;
+//import org.jboss.portal.portlet.deployment.jboss.PortletContainerContextImpl;
+//import org.jboss.portal.portlet.deployment.jboss.PortletFilterContextImpl;
+//import org.jboss.portal.portlet.deployment.jboss.metadata.JBossApplicationMetaData;
+//import org.jboss.portal.portlet.impl.container.PortletApplicationLifeCycle;
+//import org.jboss.portal.portlet.impl.container.PortletContainerLifeCycle;
+//import org.jboss.portal.portlet.impl.container.PortletFilterLifeCycle;
+//import org.jboss.portal.portlet.impl.info.ContainerFilterInfo;
+//import org.jboss.portal.portlet.impl.info.ContainerPortletInfo;
+//import org.jboss.portal.portlet.impl.jsr168.PortletApplicationImpl;
+//import org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl;
+//import org.jboss.portal.portlet.impl.jsr168.PortletFilterImpl;
+//import org.jboss.portal.portlet.impl.metadata.PortletApplication10MetaData;
+//import org.jboss.portal.portlet.impl.metadata.portlet.PortletPreferenceMetaData;
+//import org.jboss.portal.portlet.info.PortletInfo;
+//import org.jboss.portal.portlet.security.PortletSecurityService;
+//import org.jboss.portal.portlet.state.PropertyChange;
+//import org.jboss.portal.portlet.state.PropertyMap;
+//import org.jboss.portal.security.RoleSecurityBinding;
+//import org.jboss.portal.security.SecurityConstants;
+//import org.jboss.portal.security.spi.provider.AuthorizationDomain;
+//import org.jboss.portal.security.spi.provider.DomainConfigurator;
+//import org.jboss.portal.server.config.ServerConfig;
+//import org.jboss.portal.server.deployment.PortalWebApp;
+//import org.jboss.portal.server.deployment.PortalWebTomcat4App;
+//import org.jboss.web.WebApplication;
+//
+//public class PortletAppDeploymentContainer {
+//
+//	protected final Logger log = Logger.getLogger(getClass());
+//	
+//	private InfoBuilderFactory coreInfoBuilderFactory;
+//	private PortletInvoker portletContainerInvoker;
+//	protected ServerConfig config;
+//	protected PortletSecurityService portletSecurityService;
+//	protected InstanceContainer instanceContainer;
+//	
+//	protected PortletApplicationLifeCycle portletApplicationLifeCycle;
+//	protected MBeanServer mbeanServer;
+//	protected String appId;
+//	
+//	protected final ManagedObjectRegistryEventListener bridgeToInvoker = new ManagedObjectRegistryEventListener()
+//	{
+//	   public void onEvent(ManagedObjectRegistryEvent event)
+//	   {
+//	      if (event instanceof ManagedObjectEvent)
+//	      {
+//	         ManagedObjectEvent managedObjectEvent = (ManagedObjectEvent)event;
+//	         ManagedObject managedObject = managedObjectEvent.getManagedObject();
+//
+//	         //
+//	         if (managedObject instanceof PortletContainerLifeCycle)
+//	         {
+//	            PortletContainerLifeCycle portletContainerLifeCycle = (PortletContainerLifeCycle)managedObject;
+//	            PortletContainer portletContainer = portletContainerLifeCycle.getPortletContainer();
+//
+//	            //
+//	            if (managedObjectEvent instanceof ManagedObjectLifeCycleEvent)
+//	            {
+//	               ManagedObjectLifeCycleEvent lifeCycleEvent = (ManagedObjectLifeCycleEvent)managedObjectEvent;
+//
+//	               //
+//	               LifeCycleStatus status = lifeCycleEvent.getStatus();
+//	               //
+//	               if (status == LifeCycleStatus.STARTED)
+//	               {
+//	                  ((ContainerPortletInvoker)portletContainerInvoker).addPortletContainer(portletContainer);
+//	               }
+//	               else
+//	               {
+//	                  ((ContainerPortletInvoker)portletContainerInvoker).removePortletContainer(portletContainer);
+//	               }
+//	            }
+//	         }
+//	      }
+//	   }
+//	};
+//	
+//	private ManagedObjectRegistryEventListener listener = bridgeToInvoker;
+//	
+//	   public void setCoreInfoBuilderFactory(InfoBuilderFactory coreInfoBuilderFactory)
+//	   {
+//	      this.coreInfoBuilderFactory = coreInfoBuilderFactory;
+//	   }
+//
+//	   public InfoBuilderFactory getCoreInfoBuilderFactory()
+//	   {
+//	      return coreInfoBuilderFactory;
+//	   }
+//	
+//	   public PortletInvoker getPortletContainerInvoker()
+//	   {
+//	      return portletContainerInvoker;
+//	   }
+//
+//	   public void setPortletContainerInvoker(PortletInvoker portletContainerInvoker)
+//	   {
+//	      this.portletContainerInvoker = portletContainerInvoker;
+//	   }
+//	   
+//	   public ServerConfig getConfig()
+//	   {
+//	      return config;
+//	   }
+//
+//	   public void setConfig(ServerConfig config)
+//	   {
+//	      this.config = config;
+//	   }
+//	   
+//	   public PortletSecurityService getPortletSecurityService()
+//	   {
+//	      return portletSecurityService;
+//	   }
+//
+//	   public void setPortletSecurityService(PortletSecurityService portletSecurityService)
+//	   {
+//	      this.portletSecurityService = portletSecurityService;
+//	   }
+//	   
+//	   public InstanceContainer getInstanceContainer()
+//	   {
+//	      return instanceContainer;
+//	   }
+//
+//	   public void setInstanceContainer(InstanceContainer instanceContainer)
+//	   {
+//	      this.instanceContainer = instanceContainer;
+//	   }
+//	   
+//	   public void setMBeanServer (MBeanServer mbeanServer)
+//	   {
+//	      this.mbeanServer =mbeanServer;
+//	   }
+//	   
+//	   public void deployPortlets (WebApplication webApp, org.jboss.portal.core.metadata.portlet.JBossApplicationMetaData jbossAppMD, PortletApplication10MetaData portletAppMD) throws Exception
+//	   {
+//	      
+//	      this.appId = jbossAppMD.getId();
+//	      
+//	     PortalWebApp pwa = new PortalWebApplication (webApp);
+//	      InfoBuilder infoBuilder = coreInfoBuilderFactory.createInfoBuilder(pwa, jbossAppMD, portletAppMD);
+//	      infoBuilder.build();
+//	      
+//	      PortletApplicationObject portletApplicationObject = new PortletApplicationImpl(infoBuilder.getApplication());
+//	      PortletApplicationContext portletApplicationContext = new PortletApplicationContextImpl(pwa);
+//
+//	      //
+//	      portletApplicationLifeCycle = new PortletApplicationLifeCycle(
+//	         listener,
+//	         portletApplicationContext,
+//	         portletApplicationObject);
+//
+//	      //
+//	      for (ContainerFilterInfo filterInfo : infoBuilder.getApplication().getFilters().values())
+//	      {
+//	         PortletFilterObject portletFilterObject = new PortletFilterImpl(filterInfo);
+//	         PortletFilterContext portletFilterContext = new PortletFilterContextImpl();
+//
+//	         //
+//	         portletApplicationLifeCycle.addPortletFilter(portletFilterContext, portletFilterObject);
+//	         System.out.println("ADDING FILTERINFO : " + portletFilterContext + " : " + portletFilterObject );
+//	      }
+//
+//	      //
+//	      for (PortletInfo portletInfo : infoBuilder.getPortlets())
+//	      {
+//	         System.out.println("PORTLETINFO : " + portletInfo);
+//	         ContainerPortletInfo cpi = (ContainerPortletInfo)portletInfo;
+//	         PortletContainerObject portletContainerObject = new PortletContainerImpl(cpi);
+//	         PortletContainerContext portletContainerContext = new PortletContainerContextImpl();
+//
+//	         //
+//	         PortletContainerLifeCycle portletContainerLifeCycle = portletApplicationLifeCycle.addPortletContainer(portletContainerContext, portletContainerObject);
+//
+//	         // Now create deps
+//	         for (String filterRef : cpi.getFilterRefs())
+//	         {
+//	            PortletFilterLifeCycle portletFilterLifeCycle = portletApplicationLifeCycle.getManagedPortletFilter(filterRef);
+//
+//	            //
+//	            if (portletFilterLifeCycle != null)
+//	            {
+//	               portletApplicationLifeCycle.addDependency(portletFilterLifeCycle, portletContainerLifeCycle);
+//	            }
+//	            else
+//	            {
+//	               // todo
+//	            }
+//	         }
+//	      }
+//
+//	      //
+//	      portletApplicationLifeCycle.create();
+//
+//	      //
+//	      portletApplicationLifeCycle.managedStart();
+//	      
+//	      System.out.println("DONE DEPLOYING PORTLETS");
+//	   }
+//	   
+//class PortalWebApplication extends PortalWebApp
+//{
+//
+//   public PortalWebApplication(WebApplication webapp) throws Exception
+//   { 
+//      
+//      ObjectName objectName = (ObjectName) webapp.getAppData();
+//      Object standardContext = mbeanServer.getAttribute(objectName, "managedResource");
+//      
+//      String contextPath = PortalWebTomcat4App.getContextPath(standardContext);
+//      ServletContext servletContext = PortalWebTomcat4App.getServletContext(standardContext);
+//      URL url = webapp.getURL();
+//      ClassLoader loader = webapp.getClassLoader();
+//      
+//      init(servletContext, url, loader, contextPath);
+//   }
+//   
+//   @Override
+//   public void instrument() throws Exception
+//   {
+//      //do nothing
+//   }
+//   
+//}
+//
+//}
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//

Deleted: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -1,115 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat                                               *
- * Copyright 2006, Red Hat Middleware, LLC, and individual                    *
- * contributors as indicated by the @authors tag. See the                     *
- * copyright.txt in the distribution for a full listing of                    *
- * individual contributors.                                                   *
- *                                                                            *
- * This is free software; you can redistribute it and/or modify it            *
- * under the terms of the GNU Lesser General Public License as                *
- * published by the Free Software Foundation; either version 2.1 of           *
- * the License, or (at your option) any later version.                        *
- *                                                                            *
- * This software is distributed in the hope that it will be useful,           *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
- * Lesser General Public License for more details.                            *
- *                                                                            *
- * You should have received a copy of the GNU Lesser General Public           *
- * License along with this software; if not, write to the Free                *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
- ******************************************************************************/
-package org.jboss.portal.core.deployment.jboss;
-
-import java.net.URL;
-
-import javax.management.MBeanServer;
-
-import org.jboss.deployment.DeploymentException;
-import org.jboss.portal.core.deployment.JBossApplicationMetaDataFactory;
-import org.jboss.portal.core.model.instance.InstanceContainer;
-import org.jboss.portal.server.deployment.PortalWebApp;
-import org.jboss.portal.server.deployment.jboss.Deployment;
-import org.xml.sax.EntityResolver;
-
-/**
- * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public class PortletAppDeploymentFactory extends org.jboss.portal.portlet.deployment.jboss.PortletAppDeploymentFactory
-{
-
-   /** . */
-   protected InstanceContainer instanceContainer;
-
-   /** . */
-   protected boolean createInstances;
-
-   /** . */
-   protected EntityResolver portletInstancesEntityResolver;
-
-   /** . */
-   protected EntityResolver portalObjectEntityResolver;
-
-   public Deployment newInstance(URL url, PortalWebApp pwa, MBeanServer mbeanServer) throws DeploymentException
-   {
-      return new PortletAppDeployment(url, pwa, bridgeToInvoker, mbeanServer, this);
-   }
-
-   public EntityResolver getPortalObjectEntityResolver()
-   {
-      return portalObjectEntityResolver;
-   }
-
-   public void setPortalObjectEntityResolver(EntityResolver portalObjectEntityResolver)
-   {
-      this.portalObjectEntityResolver = portalObjectEntityResolver;
-   }
-
-   public EntityResolver getPortletInstancesEntityResolver()
-   {
-      return portletInstancesEntityResolver;
-   }
-
-   public void setPortletInstancesEntityResolver(EntityResolver portletInstancesEntityResolver)
-   {
-      this.portletInstancesEntityResolver = portletInstancesEntityResolver;
-   }
-
-   public InstanceContainer getInstanceContainer()
-   {
-      return instanceContainer;
-   }
-
-   public void setInstanceContainer(InstanceContainer instanceContainer)
-   {
-      this.instanceContainer = instanceContainer;
-   }
-
-   /** Return a subclass that does more. */
-   public org.jboss.portal.portlet.deployment.jboss.JBossApplicationMetaDataFactory createJBossApplicationMetaDataFactory()
-   {
-      return new JBossApplicationMetaDataFactory();
-   }
-
-   public void enableCreateInstances()
-   {
-      createInstances = true;
-   }
-
-   public void disableCreateInstances()
-   {
-      createInstances = false;
-   }
-
-   public boolean getCreateInstances()
-   {
-      return createInstances;
-   }
-
-   public void setCreateInstances(boolean createInstances)
-   {
-      this.createInstances = createInstances;
-   }
-}

Added: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletDeploymentImpl.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletDeploymentImpl.java	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletDeploymentImpl.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,234 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat                                               *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual                    *
+ * contributors as indicated by the @authors tag. See the                     *
+ * copyright.txt in the distribution for a full listing of                    *
+ * individual contributors.                                                   *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it            *
+ * under the terms of the GNU Lesser General Public License as                *
+ * published by the Free Software Foundation; either version 2.1 of           *
+ * the License, or (at your option) any later version.                        *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful,           *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
+ * Lesser General Public License for more details.                            *
+ *                                                                            *
+ * You should have received a copy of the GNU Lesser General Public           *
+ * License along with this software; if not, write to the Free                *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
+ ******************************************************************************/
+package org.jboss.portal.core.deployment.jboss;
+
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.logging.Logger;
+import org.jboss.portal.deployer.container.PortletDeployment;
+import org.jboss.portal.metadata.jboss.portlet.JBossPortletAppMetaData;
+import org.jboss.portal.metadata.portlet.PortletApplication10MetaData;
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.container.ContainerPortletInvoker;
+import org.jboss.portal.portlet.container.PortletApplicationContext;
+import org.jboss.portal.portlet.container.PortletContainer;
+import org.jboss.portal.portlet.container.PortletContainerContext;
+import org.jboss.portal.portlet.container.PortletFilterContext;
+import org.jboss.portal.portlet.container.managed.LifeCycleStatus;
+import org.jboss.portal.portlet.container.managed.ManagedObject;
+import org.jboss.portal.portlet.container.managed.ManagedObjectEvent;
+import org.jboss.portal.portlet.container.managed.ManagedObjectLifeCycleEvent;
+import org.jboss.portal.portlet.container.managed.ManagedObjectRegistryEvent;
+import org.jboss.portal.portlet.container.managed.ManagedObjectRegistryEventListener;
+import org.jboss.portal.portlet.container.object.PortletApplicationObject;
+import org.jboss.portal.portlet.container.object.PortletContainerObject;
+import org.jboss.portal.portlet.container.object.PortletFilterObject;
+import org.jboss.portal.portlet.deployment.jboss.InfoBuilder;
+import org.jboss.portal.portlet.deployment.jboss.InfoBuilderFactory;
+import org.jboss.portal.portlet.deployment.jboss.PortletApplicationContextImpl;
+import org.jboss.portal.portlet.deployment.jboss.PortletContainerContextImpl;
+import org.jboss.portal.portlet.deployment.jboss.PortletFilterContextImpl;
+import org.jboss.portal.portlet.impl.container.PortletApplicationLifeCycle;
+import org.jboss.portal.portlet.impl.container.PortletContainerLifeCycle;
+import org.jboss.portal.portlet.impl.container.PortletFilterLifeCycle;
+import org.jboss.portal.portlet.impl.info.ContainerFilterInfo;
+import org.jboss.portal.portlet.impl.info.ContainerPortletInfo;
+import org.jboss.portal.portlet.impl.jsr168.PortletApplicationImpl;
+import org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl;
+import org.jboss.portal.portlet.impl.jsr168.PortletFilterImpl;
+import org.jboss.portal.portlet.info.PortletInfo;
+import org.jboss.portal.server.deployment.PortalWebApp;
+
+/**
+ * @author <a href="mailto:mwringe at redhat.com">Matt Wringe</a>
+ * @version $Revision$
+ */
+public class PortletDeploymentImpl implements PortletDeployment
+{
+   protected final Logger log = Logger.getLogger(this.getClass());
+
+   protected InfoBuilderFactory coreInfoBuilderFactory;
+   protected PortletInvoker portletContainerInvoker;
+   
+   protected Map<URL, PortletApplicationLifeCycle> portletApplicationLifeCycles = new HashMap<URL, PortletApplicationLifeCycle>();
+   
+   public void setPortletContainerInvoker (PortletInvoker portletContainerInvoker)
+   {
+      this.portletContainerInvoker = portletContainerInvoker;
+   }
+   
+   public void setCoreInfoBuilderFactory (InfoBuilderFactory coreInfoBuilderFactory)
+   {
+      this.coreInfoBuilderFactory = coreInfoBuilderFactory;
+   }
+   
+   public void deployPortlets(ServletContext servletContext, URL url, ClassLoader classloader, String contextPath,
+         JBossPortletAppMetaData jbossPortletAppMetaData, PortletApplication10MetaData portletAppMetaData)
+         throws DeploymentException
+   {
+      System.out.println("DEPLOY PORTLETS");
+      PortalWebApplication portalWebApp = new PortalWebApplication(servletContext, url, classloader, contextPath);
+      deployPortlets(portalWebApp, jbossPortletAppMetaData, portletAppMetaData);
+   }
+
+   public void deployPortlets(PortalWebApp pwa, JBossPortletAppMetaData jbossAppMD, PortletApplication10MetaData portletAppMD)
+   {
+      System.out.println("DEPLOY PORTLETS PWA");
+      InfoBuilder infoBuilder = coreInfoBuilderFactory.createInfoBuilder(pwa, jbossAppMD, portletAppMD);
+      infoBuilder.build();
+
+      System.out.println("GETAPPLICATION : " + infoBuilder.getApplication().getId());
+      PortletApplicationObject portletApplicationObject = new PortletApplicationImpl(infoBuilder.getApplication());
+      PortletApplicationContext portletApplicationContext = new PortletApplicationContextImpl(pwa);
+
+      System.out.println("INFOBUILDER : " + infoBuilder.getPortlets() + " : " + infoBuilder.getPortlets().size());
+      
+      //
+      PortletApplicationLifeCycle portletApplicationLifeCycle = new PortletApplicationLifeCycle(bridgeToInvoker, portletApplicationContext,
+            portletApplicationObject);
+
+      portletApplicationLifeCycles.put(pwa.getURL(), portletApplicationLifeCycle);
+      
+      //
+      for (ContainerFilterInfo filterInfo : infoBuilder.getApplication().getFilters().values())
+      {
+         PortletFilterObject portletFilterObject = new PortletFilterImpl(filterInfo);
+         PortletFilterContext portletFilterContext = new PortletFilterContextImpl();
+
+         //
+         portletApplicationLifeCycle.addPortletFilter(portletFilterContext, portletFilterObject);
+         System.out.println("ADDING FILTERINFO : " + portletFilterContext + " : " + portletFilterObject);
+      }
+
+      //
+      for (PortletInfo portletInfo : infoBuilder.getPortlets())
+      {
+         System.out.println("PORTLETINFO : " + portletInfo);
+         ContainerPortletInfo cpi = (ContainerPortletInfo) portletInfo;
+         PortletContainerObject portletContainerObject = new PortletContainerImpl(cpi);
+         PortletContainerContext portletContainerContext = new PortletContainerContextImpl();
+
+         //
+         PortletContainerLifeCycle portletContainerLifeCycle = portletApplicationLifeCycle.addPortletContainer(
+               portletContainerContext, portletContainerObject);
+
+         // Now create deps
+         for (String filterRef : cpi.getFilterRefs())
+         {
+            PortletFilterLifeCycle portletFilterLifeCycle = portletApplicationLifeCycle
+            .getManagedPortletFilter(filterRef);
+
+            //
+            if (portletFilterLifeCycle != null)
+            {
+               portletApplicationLifeCycle.addDependency(portletFilterLifeCycle, portletContainerLifeCycle);
+            }
+            else
+            {
+               // todo
+            }
+         }
+      }
+
+      //
+      portletApplicationLifeCycle.create();
+
+      //
+      portletApplicationLifeCycle.managedStart();
+   }
+
+   public void undeployPortlets(URL url)
+   {
+      PortletApplicationLifeCycle  lifecycle = portletApplicationLifeCycles.get(url);
+      if (lifecycle != null)
+      {
+         lifecycle.destroy();
+      }
+      else
+      {
+        log.warn("Could not find portlet lifecycle for " + url + ". Portlets may not have been undeployed");
+      }
+   }
+   
+   /** Bridge managed object event to add/remove portlet container in portlet container invoker. */
+   protected final ManagedObjectRegistryEventListener bridgeToInvoker = new ManagedObjectRegistryEventListener()
+   {
+      public void onEvent(ManagedObjectRegistryEvent event)
+      {
+         if (event instanceof ManagedObjectEvent)
+         {
+            ManagedObjectEvent managedObjectEvent = (ManagedObjectEvent)event;
+            ManagedObject managedObject = managedObjectEvent.getManagedObject();
+
+            //
+            if (managedObject instanceof PortletContainerLifeCycle)
+            {
+               PortletContainerLifeCycle portletContainerLifeCycle = (PortletContainerLifeCycle)managedObject;
+               PortletContainer portletContainer = portletContainerLifeCycle.getPortletContainer();
+
+               //
+               if (managedObjectEvent instanceof ManagedObjectLifeCycleEvent)
+               {
+                  ManagedObjectLifeCycleEvent lifeCycleEvent = (ManagedObjectLifeCycleEvent)managedObjectEvent;
+
+                  //
+                  LifeCycleStatus status = lifeCycleEvent.getStatus();
+                  //
+                  if (status == LifeCycleStatus.STARTED)
+                  {
+                     ((ContainerPortletInvoker)portletContainerInvoker).addPortletContainer(portletContainer);
+                  }
+                  else
+                  {
+                     ((ContainerPortletInvoker)portletContainerInvoker).removePortletContainer(portletContainer);
+                  }
+               }
+            }
+         }
+      }
+   };
+   
+   
+   class PortalWebApplication extends PortalWebApp
+ {
+
+    public PortalWebApplication(ServletContext servletContext, URL url, ClassLoader classloader, String contextPath)
+    { 
+       init(servletContext, url, classloader, contextPath);
+    }
+    
+    @Override
+    public void instrument() throws Exception
+    {
+       //do nothing
+    }
+    
+ }
+
+}
+

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/AjaxInfoImpl.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/AjaxInfoImpl.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/AjaxInfoImpl.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -22,8 +22,8 @@
  ******************************************************************************/
 package org.jboss.portal.core.impl.portlet.info;
 
-import org.jboss.portal.core.metadata.portlet.AjaxMetaData;
 import org.jboss.portal.core.portlet.info.AjaxInfo;
+import org.jboss.portal.metadata.jboss.portlet.AjaxMetaData;
 
 /**
  * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
@@ -37,7 +37,7 @@
 
    public AjaxInfoImpl(AjaxMetaData ajaxMD)
    {
-      partialRefresh = !Boolean.FALSE.equals(ajaxMD.getPartialRefresh());
+      partialRefresh = !Boolean.FALSE.equals(ajaxMD.isPartialRefresh());
    }
 
    public boolean getPartialRefresh()

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilder.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilder.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilder.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -23,10 +23,6 @@
 package org.jboss.portal.core.impl.portlet.info;
 
 import org.jboss.portal.common.transaction.Transactions;
-import org.jboss.portal.core.metadata.portlet.AjaxMetaData;
-import org.jboss.portal.core.metadata.portlet.HeaderContentMetaData;
-import org.jboss.portal.core.metadata.portlet.JBossPortletMetaData;
-import org.jboss.portal.core.metadata.portlet.PortletInfoMetaData;
 import org.jboss.portal.core.portlet.info.AjaxInfo;
 import org.jboss.portal.core.portlet.info.MarkupHeaderInfo;
 import org.jboss.portal.core.portlet.info.PortletInfoInfo;
@@ -36,13 +32,18 @@
 import org.jboss.portal.portlet.deployment.jboss.PortletApplicationContextImpl;
 import org.jboss.portal.portlet.deployment.jboss.info.SessionInfo;
 import org.jboss.portal.portlet.deployment.jboss.info.impl.SessionInfoImpl;
-import org.jboss.portal.portlet.deployment.jboss.metadata.JBossApplicationMetaData;
 import org.jboss.portal.portlet.impl.info.ContainerInfoBuilder;
 import org.jboss.portal.portlet.impl.info.ContainerInfoBuilderContext;
 import org.jboss.portal.portlet.impl.info.ContainerPortletApplicationInfo;
 import org.jboss.portal.portlet.impl.info.ContainerPortletInfo;
 import org.jboss.portal.portlet.impl.jsr168.ContainerInfoBuilderContextImpl;
-import org.jboss.portal.portlet.impl.metadata.PortletApplication10MetaData;
+import org.jboss.portal.metadata.jboss.portlet.AjaxMetaData;
+import org.jboss.portal.metadata.jboss.portlet.HeaderContentMetaData;
+import org.jboss.portal.metadata.jboss.portlet.JBossPortletAppMetaData;
+import org.jboss.portal.metadata.jboss.portlet.JBossPortletMetaData;
+import org.jboss.portal.metadata.jboss.portlet.PortletInfoMetaData;
+import org.jboss.portal.metadata.jboss.portlet.TransactionMetaData;
+import org.jboss.portal.metadata.portlet.PortletApplication10MetaData;
 import org.jboss.portal.portlet.info.PortletInfo;
 import org.apache.log4j.Logger;
 
@@ -60,7 +61,7 @@
    private static final Logger log = Logger.getLogger(CoreInfoBuilder.class);
 
    /** . */
-   private JBossApplicationMetaData jbossApplicationMetaData;
+   private JBossPortletAppMetaData jbossApplicationMetaData;
 
    /** . */
    private PortletApplication10MetaData portletApplicationMD;
@@ -75,7 +76,7 @@
    private ContainerPortletApplicationInfo application;
 
    public CoreInfoBuilder(
-      JBossApplicationMetaData jbossApplicationMetaData,
+      JBossPortletAppMetaData jbossApplicationMetaData,
       PortletApplication10MetaData portletApplicationMD,
       CoreInfoBuilderContext builderContext)
    {
@@ -100,7 +101,7 @@
 
       //
       String contextPath = builderContext.getWebApp().getContextPath();
-      String id = jbossApplicationMetaData.getId();
+      String id = jbossApplicationMetaData.getAppId();
 
       //
       log.debug("Going to build portlet application metadata for application with context path '" + contextPath + "' with id '" + id + "'");
@@ -117,7 +118,7 @@
       for (ContainerPortletInfo containerInfo : builder.getPortlets())
       {
          String name = containerInfo.getName();
-         org.jboss.portal.portlet.deployment.jboss.metadata.JBossPortletMetaData jbPortletMD = jbossApplicationMetaData.getPortlets().get(name);
+         JBossPortletMetaData jbPortletMD = jbossApplicationMetaData.getPortlets().get(name);
          if (jbPortletMD instanceof JBossPortletMetaData)
          {
             JBossPortletMetaData jbossPortletMD = (JBossPortletMetaData)jbPortletMD;
@@ -140,23 +141,61 @@
                containerInfo.setAttachment(PortletInfoInfo.class, new PortletInfoInfoImpl(new PortletApplicationContextImpl(builderContext.getWebApp()), portletInfoMD));
             }
 
-            Transactions.Type txType = jbossPortletMD.getTxType();
-            if (txType != null)
+            //Transactions.Type txType = jbossPortletMD.getTransaction().getTransAttribute();   getTxType();
+            TransactionMetaData transactionMetaData = jbossPortletMD.getTransaction();
+            if (transactionMetaData != null && transactionMetaData.getTransAttribute() != null)
             {
-               containerInfo.setAttachment(TransactionInfo.class, new TransactionInfoImpl(jbossPortletMD.getTxType()));
-            }
+               String transAttribute = transactionMetaData.getTransAttribute();
+               Transactions.Type txType;
+               if ("Required".equalsIgnoreCase(transAttribute))
+               {
+                  txType = Transactions.TYPE_REQUIRED;
+               }
+               else if ("Mandatory".equals(transAttribute))
+               {
+                  txType = Transactions.TYPE_MANDATORY;
+               }
+               else if ("Never".equals(transAttribute))
+               {
+                  txType = (Transactions.TYPE_NEVER);
+               }
+               else if ("Supports".equals(transAttribute))
+               {
+                  txType = Transactions.TYPE_SUPPORTS;
+               }
+               else if ("NotSupported".equals(transAttribute))
+               {
+                  txType = Transactions.TYPE_NOT_SUPPORTED;
+               }
+               else if ("RequiresNew".equals(transAttribute))
+               {
+                  txType = Transactions.TYPE_REQUIRES_NEW;
+               }
+               else
+               {
+                  throw new RuntimeException();
+               }
 
-            Boolean distributed = jbossPortletMD.getDistributed();
-            if (distributed != null)
-            {
-               containerInfo.setAttachment(SessionInfo.class, new SessionInfoImpl(distributed));
+               if (txType != null)
+               {
+                  containerInfo.setAttachment(TransactionInfo.class, new TransactionInfoImpl(txType));
+               }
+
+               if (jbossPortletMD.getSessionConfig() != null)
+               {
+                  Boolean distributed = jbossPortletMD.getSessionConfig().isDistributed();
+                  if (distributed != null)
+                  {
+                     containerInfo.setAttachment(SessionInfo.class, new SessionInfoImpl(distributed));
+                  }
+               }
+               
+               Boolean remotable = jbossPortletMD.isRemotable();
+               if (remotable != null)
+               {
+                  containerInfo.setAttachment(WSRPInfo.class, new WSRPInfoImpl(remotable));
+               }
             }
-            
-            Boolean remotable = jbossPortletMD.getRemotable();
-            if (remotable != null)
-            {
-               containerInfo.setAttachment(WSRPInfo.class, new WSRPInfoImpl(remotable));
-            }
          }
 
          portlets.put(name, containerInfo);

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilderFactory.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilderFactory.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/CoreInfoBuilderFactory.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -24,8 +24,8 @@
 
 import org.jboss.portal.portlet.deployment.jboss.InfoBuilder;
 import org.jboss.portal.portlet.deployment.jboss.InfoBuilderFactory;
-import org.jboss.portal.portlet.deployment.jboss.metadata.JBossApplicationMetaData;
-import org.jboss.portal.portlet.impl.metadata.PortletApplication10MetaData;
+import org.jboss.portal.metadata.jboss.portlet.JBossPortletAppMetaData;
+import org.jboss.portal.metadata.portlet.PortletApplication10MetaData;
 import org.jboss.portal.server.deployment.PortalWebApp;
 
 /**
@@ -35,10 +35,10 @@
 public class CoreInfoBuilderFactory implements InfoBuilderFactory
 {
 
-   public InfoBuilder createInfoBuilder(PortalWebApp webApp, JBossApplicationMetaData jbossApplicationMetaData, PortletApplication10MetaData portletApplicationMD)
+   public InfoBuilder createInfoBuilder(PortalWebApp webApp, JBossPortletAppMetaData jbossPortletAppMetaData, PortletApplication10MetaData portletApplicationMetaData)
    {
       CoreInfoBuilderContext cibc = new CoreInfoBuilderContext(webApp);
-      CoreInfoBuilder cib = new CoreInfoBuilder(jbossApplicationMetaData, portletApplicationMD, cibc);
+      CoreInfoBuilder cib = new CoreInfoBuilder(jbossPortletAppMetaData, portletApplicationMetaData, cibc);
       return cib;
    }
 

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/MarkupHeaderInfoImpl.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/MarkupHeaderInfoImpl.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/MarkupHeaderInfoImpl.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -23,9 +23,15 @@
 package org.jboss.portal.core.impl.portlet.info;
 
 import org.jboss.portal.core.metadata.portlet.ElementMetaData;
-import org.jboss.portal.core.metadata.portlet.HeaderContentMetaData;
+import org.jboss.portal.core.metadata.portlet.LinkElementMetaData;
+import org.jboss.portal.core.metadata.portlet.NamedMetaElementMetaData;
+import org.jboss.portal.core.metadata.portlet.ScriptElementMetaData;
 import org.jboss.portal.core.metadata.portlet.MarkupElement;
 import org.jboss.portal.core.portlet.info.MarkupHeaderInfo;
+import org.jboss.portal.metadata.jboss.portlet.HeaderContentMetaData;
+import org.jboss.portal.metadata.jboss.portlet.LinkMetaData;
+import org.jboss.portal.metadata.jboss.portlet.MetaMetaData;
+import org.jboss.portal.metadata.jboss.portlet.ScriptMetaData;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -43,12 +49,29 @@
 
    public MarkupHeaderInfoImpl(HeaderContentMetaData headerContentMD)
    {
-      ArrayList<MarkupElement> markupElements = new ArrayList<MarkupElement>(headerContentMD.getElements().size());
-      for (ElementMetaData elementMetaData : headerContentMD.getElements())
+      ArrayList<MarkupElement> markupElements = new ArrayList<MarkupElement>();
+      if (headerContentMD.getLinks() != null)
       {
-         markupElements.add(elementMetaData.getElement());
+         for (LinkMetaData linkMetaData : headerContentMD.getLinks())
+         {
+            markupElements.add(getLinkMarkup(linkMetaData));
+         }
       }
-
+      if (headerContentMD.getScripts() != null)
+      {
+         for (ScriptMetaData scriptMetaData : headerContentMD.getScripts())
+         {
+            markupElements.add(getScriptMarkup(scriptMetaData));
+         }
+      }
+      if (headerContentMD.getMetas() != null)
+      {
+         for (MetaMetaData metaMetaData : headerContentMD.getMetas())
+         {
+            markupElements.add(getMetaMarkup(metaMetaData));
+         }
+      }
+      
       //
       this.markupElements = Collections.unmodifiableCollection(markupElements);
    }
@@ -57,4 +80,33 @@
    {
       return markupElements;
    }
+   
+   protected MarkupElement getLinkMarkup (LinkMetaData linkMetaData)
+   {
+      String type = linkMetaData.getType();
+      String rel = linkMetaData.getRel();
+      String href = linkMetaData.getHref();
+      String media = linkMetaData.getMedia();
+      String title = linkMetaData.getTitle();
+      LinkElementMetaData linkElement = new LinkElementMetaData (rel, type, href, media, title);
+      return linkElement.buildElement();
+   }
+
+   protected MarkupElement getScriptMarkup (ScriptMetaData scriptMetaData)
+   {
+      String type = scriptMetaData.getType();
+      String src = scriptMetaData.getSrc();
+      ScriptElementMetaData scriptElement = new ScriptElementMetaData(type, src);
+      scriptElement.setBodyContent(scriptMetaData.getScript());
+      return scriptElement.buildElement();
+   }
+
+   protected MarkupElement getMetaMarkup (MetaMetaData metaMetaData)
+   {
+      String name = metaMetaData.getName();
+      String content = metaMetaData.getContent();
+      NamedMetaElementMetaData metaElement = new NamedMetaElementMetaData(name, content);
+      return metaElement.buildElement();
+   }
+   
 }

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletIconInfoImpl.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletIconInfoImpl.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletIconInfoImpl.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -22,10 +22,11 @@
  ******************************************************************************/
 package org.jboss.portal.core.impl.portlet.info;
 
-import org.jboss.portal.core.metadata.portlet.PortletIconMetaData;
 import org.jboss.portal.core.portlet.info.PortletIconInfo;
+import org.jboss.portal.metadata.jboss.portlet.PortletIconMetaData;
 import org.jboss.portal.portlet.container.PortletApplicationContext;
 
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -42,7 +43,10 @@
 
    public PortletIconInfoImpl(PortletApplicationContext portletApplicationContext, PortletIconMetaData portletIconMetaData)
    {
-      icons = portletIconMetaData.getIcons();
+      icons = new HashMap<String, String>();
+      icons.put("large", portletIconMetaData.getLargeIcon());
+      icons.put("small", portletIconMetaData.getSmallIcon());
+      
       this.portletApplicationContext = portletApplicationContext;
    }
 

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletInfoInfoImpl.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletInfoInfoImpl.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/impl/portlet/info/PortletInfoInfoImpl.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -22,9 +22,9 @@
  ******************************************************************************/
 package org.jboss.portal.core.impl.portlet.info;
 
-import org.jboss.portal.core.metadata.portlet.PortletInfoMetaData;
 import org.jboss.portal.core.portlet.info.PortletIconInfo;
 import org.jboss.portal.core.portlet.info.PortletInfoInfo;
+import org.jboss.portal.metadata.jboss.portlet.PortletInfoMetaData;
 import org.jboss.portal.portlet.container.PortletApplicationContext;
 
 /**

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/instance/metadata/InstanceMetaData.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/instance/metadata/InstanceMetaData.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/instance/metadata/InstanceMetaData.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -30,9 +30,9 @@
 import org.jboss.portal.common.xml.XMLTools;
 import org.jboss.portal.core.model.MetaDataResourceBundleFactory;
 import org.jboss.portal.portlet.deployment.LocalizedStringBuilder;
-import org.jboss.portal.portlet.impl.metadata.common.LocalizedDescriptionMetaData;
-import org.jboss.portal.portlet.impl.metadata.portlet.PortletPreferenceMetaData;
-import org.jboss.portal.portlet.impl.metadata.portlet.PortletPreferencesMetaData;
+import org.jboss.portal.metadata.portlet.common.LocalizedDescriptionMetaData;
+import org.jboss.portal.metadata.portlet.portlet.PortletPreferenceMetaData;
+import org.jboss.portal.metadata.portlet.portlet.PortletPreferencesMetaData;
 import org.jboss.portal.security.metadata.SecurityConstraintsMetaData;
 import org.jboss.portal.server.deployment.PortalWebApp;
 import org.w3c.dom.Element;
@@ -77,6 +77,8 @@
    
    /** Supported locales */
    private List supportedLocales;
+   
+   private LocalizedStringBuilder localizedStringMD = new LocalizedStringBuilder();
 
    public InstanceMetaData()
    {
@@ -131,6 +133,16 @@
    {
       this.securityConstraints = securityConstraints;
    }
+   
+   public LocalizedStringBuilder getLocalizedStringBuilder()
+   {
+	   return this.localizedStringMD;
+   }
+   
+   public void setLocalizedStringBuilder(LocalizedStringBuilder builder)
+   {
+	   this.localizedStringMD = builder;
+   }
 
    public static InstanceMetaData buildMetaData(Element instanceElt, PortalWebApp pwa)
    {
@@ -145,7 +157,7 @@
       Iterator displayNamesIt = XMLTools.getChildrenIterator(instanceElt, "display-name");
 
       // Configure preferences override
-      org.jboss.portal.portlet.impl.metadata.portlet.PortletPreferencesMetaData preferencesMD = new PortletPreferencesMetaData();
+      org.jboss.portal.metadata.portlet.portlet.PortletPreferencesMetaData preferencesMD = new PortletPreferencesMetaData();
       Element preferencesElt = XMLTools.getUniqueChild(instanceElt, "preferences", false);
       if (preferencesElt != null)
       {

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/portal/metadata/PortalMetaData.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/portal/metadata/PortalMetaData.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/model/portal/metadata/PortalMetaData.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -30,9 +30,9 @@
 import org.jboss.portal.core.model.portal.PortalContainer;
 import org.jboss.portal.core.model.portal.PortalObject;
 import org.jboss.portal.core.model.portal.metadata.coordination.CoordinationMetaData;
-import org.jboss.portal.portlet.impl.metadata.portlet.PortletModeMetaData;
-import org.jboss.portal.portlet.impl.metadata.portlet.SupportsMetaData;
-import org.jboss.portal.portlet.impl.metadata.portlet.WindowStateMetaData;
+import org.jboss.portal.metadata.portlet.portlet.PortletModeMetaData;
+import org.jboss.portal.metadata.portlet.portlet.SupportsMetaData;
+import org.jboss.portal.metadata.portlet.portlet.WindowStateMetaData;
 import org.w3c.dom.Element;
 
 import java.util.Iterator;
@@ -53,30 +53,30 @@
    {
       supportsMetaData = new SupportsMetaData();
       PortletModeMetaData mode = new PortletModeMetaData();
-      mode.setPortletMode(Mode.EDIT);
+      mode.setPortletMode(Mode.EDIT.toString());
       supportsMetaData.addPortletMode(mode);
       mode = new PortletModeMetaData();
-      mode.setPortletMode(Mode.VIEW);
+      mode.setPortletMode(Mode.VIEW.toString());
       supportsMetaData.addPortletMode(mode);
       mode = new PortletModeMetaData();
-      mode.setPortletMode(Mode.HELP);
+      mode.setPortletMode(Mode.HELP.toString());
       supportsMetaData.addPortletMode(mode);
       mode = new PortletModeMetaData();
-      mode.setPortletMode(Mode.ADMIN);
+      mode.setPortletMode(Mode.ADMIN.toString());
       supportsMetaData.addPortletMode(mode);
       mode = new PortletModeMetaData();
-      mode.setPortletMode(Mode.EDIT_DEFAULTS);
+      mode.setPortletMode(Mode.EDIT_DEFAULTS.toString());
       supportsMetaData.addPortletMode(mode);
       
       
       WindowStateMetaData windowState = new WindowStateMetaData();
-      windowState.setWindowState(WindowState.MAXIMIZED);
+      windowState.setWindowState(WindowState.MAXIMIZED.toString());
       supportsMetaData.addWindowState(windowState);
       windowState = new WindowStateMetaData();
-      windowState.setWindowState(WindowState.MINIMIZED);
+      windowState.setWindowState(WindowState.MINIMIZED.toString());
       supportsMetaData.addWindowState(windowState);
       windowState = new WindowStateMetaData();
-      windowState.setWindowState(WindowState.NORMAL);
+      windowState.setWindowState(WindowState.NORMAL.toString());
       supportsMetaData.addWindowState(windowState);
    }
 
@@ -120,14 +120,14 @@
       //
       for (Iterator i = supportsMetaData.getPortletModes().iterator(); i.hasNext();)
       {
-         Mode mode = ((PortletModeMetaData)i.next()).getPortletMode();
+         Mode mode = Mode.create(((PortletModeMetaData)i.next()).getPortletMode());
          portal.getSupportedModes().add(mode);
       }
 
       //
       for (Iterator i = supportsMetaData.getWindowStates().iterator(); i.hasNext();)
       {
-         WindowState windowState = ((WindowStateMetaData)i.next()).getWindowState();
+         WindowState windowState = WindowState.create(((WindowStateMetaData)i.next()).getWindowState());
          portal.getSupportedWindowStates().add(windowState);
       }
 
@@ -203,7 +203,7 @@
          Element modeElt = (Element)modeElts.get(i);
          String modeAsString = XMLTools.asString(modeElt);
          PortletModeMetaData mode = new PortletModeMetaData();
-         mode.setPortletMode(new Mode(modeAsString));
+         mode.setPortletMode(modeAsString);
          portalMD.getSupportsMetaData().addPortletMode(mode);
       }
    }
@@ -216,7 +216,7 @@
          Element windowStateElt = (Element)windowStates.get(i);
          String windowStateAsString = XMLTools.asString(windowStateElt);
          WindowStateMetaData windowState = new WindowStateMetaData();
-         windowState.setWindowState(new WindowState(windowStateAsString));
+         windowState.setWindowState(windowStateAsString);
          portalMD.getSupportsMetaData().addWindowState(windowState);
       }
    }

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/test/core/deployment/PortletInstancesMetaDataFactoryTestCase.java
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/test/core/deployment/PortletInstancesMetaDataFactoryTestCase.java	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/test/core/deployment/PortletInstancesMetaDataFactoryTestCase.java	2009-03-06 21:21:08 UTC (rev 12967)
@@ -1,116 +1,116 @@
-/******************************************************************************
- * JBoss, a division of Red Hat                                               *
- * Copyright 2006, Red Hat Middleware, LLC, and individual                    *
- * contributors as indicated by the @authors tag. See the                     *
- * copyright.txt in the distribution for a full listing of                    *
- * individual contributors.                                                   *
- *                                                                            *
- * This is free software; you can redistribute it and/or modify it            *
- * under the terms of the GNU Lesser General Public License as                *
- * published by the Free Software Foundation; either version 2.1 of           *
- * the License, or (at your option) any later version.                        *
- *                                                                            *
- * This software is distributed in the hope that it will be useful,           *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
- * Lesser General Public License for more details.                            *
- *                                                                            *
- * You should have received a copy of the GNU Lesser General Public           *
- * License along with this software; if not, write to the Free                *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
- ******************************************************************************/
-
-package org.jboss.portal.test.core.deployment;
-
-import junit.framework.TestCase;
-import org.jboss.portal.common.i18n.LocalizedString;
-import org.jboss.portal.common.io.IOTools;
-import org.jboss.portal.common.net.URLTools;
-import org.jboss.portal.common.xml.NullEntityResolver;
-import org.jboss.portal.common.xml.XMLTools;
-import org.jboss.portal.core.deployment.jboss.PortletAppDeploymentFactory;
-import org.jboss.portal.core.model.instance.metadata.InstanceMetaData;
-//import org.jboss.portal.portlet.impl.jsr168.info.Utils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.EntityResolver;
-
-import javax.xml.parsers.DocumentBuilder;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-public class PortletInstancesMetaDataFactoryTestCase extends TestCase
-{
-
-   public void testLocalizedDisplayNameMetadata() throws Exception
-   {
-      // Get instances from portlet-instances.xml
-      InputStream in = null;
-      List instancesMetadata = new ArrayList();
-      try
-      {
-
-         URL jbossPortletXML = Thread.currentThread().getContextClassLoader().getResource("test/deployment/jboss-portlet.xml");
-         assertTrue(URLTools.exists(jbossPortletXML));
-
-         in = Thread.currentThread().getContextClassLoader().getResourceAsStream("test/deployment/portlet-instances.xml");
-//         in = IOTools.safeBufferedWrapper(in);
-
-
-         assertNotNull(in);
-
-         PortletAppDeploymentFactory factory = new PortletAppDeploymentFactory();
-
-         if (in != null)
-         {
-            DocumentBuilder builder = XMLTools.getDocumentBuilderFactory().newDocumentBuilder();
-            EntityResolver entityResolver = factory.getPortletInstancesEntityResolver();
-            if (entityResolver == null)
-            {
-               entityResolver = new NullEntityResolver();
-            }
-
-            builder.setEntityResolver(entityResolver);
-            Document doc = builder.parse(in);
-
-            //
-            for (Iterator i = XMLTools.getChildrenIterator(doc.getDocumentElement(), "deployment"); i.hasNext();)
-            {
-               Element deploymentElt = (Element)i.next();
-
-               //
-               Element instanceElt = XMLTools.getUniqueChild(deploymentElt, "instance", true);
-
-               //
-               InstanceMetaData metaData = InstanceMetaData.buildMetaData(instanceElt, null);
-               instancesMetadata.add(metaData);
-            }
-         }
-      }
-      finally
-      {
-         IOTools.safeClose(in);
-      }
-
-      assertEquals(4, instancesMetadata.size());
-
-      InstanceMetaData instanceMD = (InstanceMetaData)instancesMetadata.get(0);
-      assertEquals("UserPortletInstance", instanceMD.getId());
-      LocalizedString lString = instanceMD.getDisplayName();
-      assertEquals("Mon instance de User portlet", lString.getString(Locale.FRENCH, false));
-      assertEquals("My User portlet instance", lString.getString(Locale.ENGLISH, false));
-      assertEquals("My User portlet instance", lString.getDefaultString());
-      instanceMD = (InstanceMetaData)instancesMetadata.get(1);
-      assertEquals("RolePortletInstance", instanceMD.getId());
-      instanceMD = (InstanceMetaData)instancesMetadata.get(2);
-      assertEquals("CatalogPortletInstance", instanceMD.getId());
-      instanceMD = (InstanceMetaData)instancesMetadata.get(3);
-      assertEquals("PortletContentEditorInstance", instanceMD.getId());
-
-   }
-}
+///******************************************************************************
+// * JBoss, a division of Red Hat                                               *
+// * Copyright 2006, Red Hat Middleware, LLC, and individual                    *
+// * contributors as indicated by the @authors tag. See the                     *
+// * copyright.txt in the distribution for a full listing of                    *
+// * individual contributors.                                                   *
+// *                                                                            *
+// * This is free software; you can redistribute it and/or modify it            *
+// * under the terms of the GNU Lesser General Public License as                *
+// * published by the Free Software Foundation; either version 2.1 of           *
+// * the License, or (at your option) any later version.                        *
+// *                                                                            *
+// * This software is distributed in the hope that it will be useful,           *
+// * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
+// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           *
+// * Lesser General Public License for more details.                            *
+// *                                                                            *
+// * You should have received a copy of the GNU Lesser General Public           *
+// * License along with this software; if not, write to the Free                *
+// * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA         *
+// * 02110-1301 USA, or see the FSF site: http://www.fsf.org.                   *
+// ******************************************************************************/
+//
+//package org.jboss.portal.test.core.deployment;
+//
+//import junit.framework.TestCase;
+//import org.jboss.portal.common.i18n.LocalizedString;
+//import org.jboss.portal.common.io.IOTools;
+//import org.jboss.portal.common.net.URLTools;
+//import org.jboss.portal.common.xml.NullEntityResolver;
+//import org.jboss.portal.common.xml.XMLTools;
+//import org.jboss.portal.core.deployment.jboss.PortletAppDeploymentFactory;
+//import org.jboss.portal.core.model.instance.metadata.InstanceMetaData;
+////import org.jboss.portal.portlet.impl.jsr168.info.Utils;
+//import org.w3c.dom.Document;
+//import org.w3c.dom.Element;
+//import org.xml.sax.EntityResolver;
+//
+//import javax.xml.parsers.DocumentBuilder;
+//import java.io.InputStream;
+//import java.net.URL;
+//import java.util.ArrayList;
+//import java.util.Iterator;
+//import java.util.List;
+//import java.util.Locale;
+//
+//public class PortletInstancesMetaDataFactoryTestCase extends TestCase
+//{
+//
+//   public void testLocalizedDisplayNameMetadata() throws Exception
+//   {
+//      // Get instances from portlet-instances.xml
+//      InputStream in = null;
+//      List instancesMetadata = new ArrayList();
+//      try
+//      {
+//
+//         URL jbossPortletXML = Thread.currentThread().getContextClassLoader().getResource("test/deployment/jboss-portlet.xml");
+//         assertTrue(URLTools.exists(jbossPortletXML));
+//
+//         in = Thread.currentThread().getContextClassLoader().getResourceAsStream("test/deployment/portlet-instances.xml");
+////         in = IOTools.safeBufferedWrapper(in);
+//
+//
+//         assertNotNull(in);
+//
+//         PortletAppDeploymentFactory factory = new PortletAppDeploymentFactory();
+//
+//         if (in != null)
+//         {
+//            DocumentBuilder builder = XMLTools.getDocumentBuilderFactory().newDocumentBuilder();
+//            EntityResolver entityResolver = factory.getPortletInstancesEntityResolver();
+//            if (entityResolver == null)
+//            {
+//               entityResolver = new NullEntityResolver();
+//            }
+//
+//            builder.setEntityResolver(entityResolver);
+//            Document doc = builder.parse(in);
+//
+//            //
+//            for (Iterator i = XMLTools.getChildrenIterator(doc.getDocumentElement(), "deployment"); i.hasNext();)
+//            {
+//               Element deploymentElt = (Element)i.next();
+//
+//               //
+//               Element instanceElt = XMLTools.getUniqueChild(deploymentElt, "instance", true);
+//
+//               //
+//               InstanceMetaData metaData = InstanceMetaData.buildMetaData(instanceElt, null);
+//               instancesMetadata.add(metaData);
+//            }
+//         }
+//      }
+//      finally
+//      {
+//         IOTools.safeClose(in);
+//      }
+//
+//      assertEquals(4, instancesMetadata.size());
+//
+//      InstanceMetaData instanceMD = (InstanceMetaData)instancesMetadata.get(0);
+//      assertEquals("UserPortletInstance", instanceMD.getId());
+//      LocalizedString lString = instanceMD.getDisplayName();
+//      assertEquals("Mon instance de User portlet", lString.getString(Locale.FRENCH, false));
+//      assertEquals("My User portlet instance", lString.getString(Locale.ENGLISH, false));
+//      assertEquals("My User portlet instance", lString.getDefaultString());
+//      instanceMD = (InstanceMetaData)instancesMetadata.get(1);
+//      assertEquals("RolePortletInstance", instanceMD.getId());
+//      instanceMD = (InstanceMetaData)instancesMetadata.get(2);
+//      assertEquals("CatalogPortletInstance", instanceMD.getId());
+//      instanceMD = (InstanceMetaData)instancesMetadata.get(3);
+//      assertEquals("PortletContentEditorInstance", instanceMD.getId());
+//
+//   }
+//}

Added: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/aliases.txt
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/aliases.txt	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/aliases.txt	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1 @@
+jboss-portal-sar

Copied: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/default-object.xml (from rev 12272, branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/data/default-object.xml)
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/default-object.xml	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/default-object.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,412 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ JBoss, a division of Red Hat                                              ~
+  ~ Copyright 2006, Red Hat Middleware, LLC, and individual                   ~
+  ~ contributors as indicated by the @authors tag. See the                    ~
+  ~ copyright.txt in the distribution for a full listing of                   ~
+  ~ individual contributors.                                                  ~
+  ~                                                                           ~
+  ~ This is free software; you can redistribute it and/or modify it           ~
+  ~ under the terms of the GNU Lesser General Public License as               ~
+  ~ published by the Free Software Foundation; either version 2.1 of          ~
+  ~ the License, or (at your option) any later version.                       ~
+  ~                                                                           ~
+  ~ This software is distributed in the hope that it will be useful,          ~
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of            ~
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          ~
+  ~ Lesser General Public License for more details.                           ~
+  ~                                                                           ~
+  ~ You should have received a copy of the GNU Lesser General Public          ~
+  ~ License along with this software; if not, write to the Free               ~
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA        ~
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.                  ~
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE deployments PUBLIC
+   "-//JBoss Portal//DTD Portal Object 2.6//EN"
+   "http://www.jboss.org/portal/dtd/portal-object_2_6.dtd">
+   
+<deployments>
+   <deployment>
+      <context>
+         <context-name/>
+         <properties>
+            <!--
+            | Set the layout for the default portal, see also portal-layouts.xml.
+            -->
+            <property>
+               <name>layout.id</name>
+               <value>generic</value>
+            </property>
+            <!--
+            | Set the theme for the default portal, see also portal-themes.xml.
+            -->
+            <property>
+               <name>theme.id</name>
+               <value>renewal</value>
+            </property>
+            <!--
+            | Set the default render set name (used by the render tag in layouts), see also portal-renderSet.xml
+            -->
+            <property>
+               <name>theme.renderSetId</name>
+               <value>divRenderer</value>
+            </property>
+            <!--
+            | The default portal name, if the property is not explicited then the default portal name is "default"
+            -->
+            <property>
+               <name>portal.defaultObjectName</name>
+               <value>default</value>
+            </property>
+
+            <!-- Control policy config -->
+            <property>
+               <name>control.portal.access_denied</name>
+               <value>ignore</value>
+            </property>
+            <property>
+               <name>control.portal.unavailable</name>
+               <value>ignore</value>
+            </property>
+            <property>
+               <name>control.portal.not_found</name>
+               <value>ignore</value>
+            </property>
+            <property>
+               <name>control.portal.internal_error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.portal.error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.portal.resource_uri</name>
+               <value>/WEB-INF/jsp/error/portal.jsp</value>
+            </property>
+            <property>
+               <name>control.page.access_denied</name>
+               <value>hide</value>
+            </property>
+            <property>
+               <name>control.page.unavailable</name>
+               <value>hide</value>
+            </property>
+            <property>
+               <name>control.page.not_found</name>
+               <value>hide</value>
+            </property>
+            <property>
+               <name>control.page.internal_error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.page.error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.page.resource_uri</name>
+               <value>/WEB-INF/jsp/error/page.jsp</value>
+            </property>
+         </properties>
+      </context>
+   </deployment>
+   <deployment>
+      <parent-ref/>
+      <if-exists>keep</if-exists>
+      <portal>
+         <portal-name>default</portal-name>
+         <supported-modes>
+            <mode>view</mode>
+            <mode>edit</mode>
+            <mode>help</mode>
+         </supported-modes>
+         <supported-window-states>
+            <window-state>normal</window-state>
+            <window-state>minimized</window-state>
+            <window-state>maximized</window-state>
+         </supported-window-states>
+         <security-constraint>
+            <policy-permission>
+               <action-name>viewrecursive</action-name>
+               <action-name>personalizerecursive</action-name>
+               <unchecked/>
+            </policy-permission>
+         </security-constraint>
+         <coordination>
+            <wirings>
+               <implicit-mode>TRUE</implicit-mode>
+            </wirings>
+            <bindings>
+               <implicit-mode>TRUE</implicit-mode>
+            </bindings>
+         </coordination>
+         <page>
+            <page-name>default</page-name>
+            <display-name xml:lang="en">Home</display-name>
+            <display-name xml:lang="it">Home</display-name>
+            <display-name xml:lang="es">Home</display-name>
+            <display-name xml:lang="fr">Accueil</display-name>
+            <display-name xml:lang="ru">Домой</display-name>
+            <properties>
+               <property>
+                  <name>order</name>
+                  <value>1</value>
+               </property>
+            </properties>
+            <window>
+               <window-name>JSPPortletWindow</window-name>
+               <instance-ref>JSPPortletInstance</instance-ref>
+               <region>left</region>
+               <height>0</height>
+            </window>
+            <window>
+               <window-name>CMSWindow</window-name>
+               <content>
+                  <content-type>cms</content-type>
+                  <content-uri>/default/index.html</content-uri>
+               </content>
+               <region>center</region>
+               <height>1</height>
+            </window>
+            <window>
+               <window-name>IdentityUserPortletWindow</window-name>
+               <instance-ref>IdentityUserPortletInstance</instance-ref>
+               <region>left</region>
+               <height>1</height>
+            </window>
+            <window>
+               <window-name>CurrentUsersPortletWindow</window-name>
+               <instance-ref>CurrentUsersPortletInstance</instance-ref>
+               <region>left</region>
+               <height>2</height>
+            </window>
+         </page>
+      </portal>
+   </deployment>
+   <deployment>
+      <if-exists>keep</if-exists>
+      <context>
+         <context-name>dashboard</context-name>
+         <properties>
+
+            <!--
+            | Set the layout for the default portal, see also portal-layouts.xml.
+            -->
+            <property>
+               <name>layout.id</name>
+               <value>generic</value>
+            </property>
+
+            <!--
+            | Set the theme for the default portal, see also portal-themes.xml.
+            -->
+            <property>
+               <name>theme.id</name>
+               <value>renewal</value>
+            </property>
+
+            <!--
+            | Set the default render set name (used by the render tag in layouts), see also portal-renderSet.xml
+            -->
+            <property>
+               <name>theme.renderSetId</name>
+               <value>divRenderer</value>
+            </property>
+
+            <!--
+            | Set the dnd property
+            -->
+            <property>
+               <name>theme.dyna.dnd_enabled</name>
+               <value>true</value>
+            </property>
+
+            <!--
+            | Set the partial refresh property
+            -->
+            <property>
+               <name>theme.dyna.partial_refresh_enabled</name>
+               <value>false</value>
+            </property>
+
+            <!-- Control policy config -->
+            <property>
+               <name>control.portal.access_denied</name>
+               <value>ignore</value>
+            </property>
+            <property>
+               <name>control.portal.unavailable</name>
+               <value>ignore</value>
+            </property>
+            <property>
+               <name>control.portal.not_found</name>
+               <value>ignore</value>
+            </property>
+            <property>
+               <name>control.portal.internal_error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.portal.error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.portal.resource_uri</name>
+               <value>/WEB-INF/jsp/error/portal.jsp</value>
+            </property>
+            <property>
+               <name>control.page.access_denied</name>
+               <value>hide</value>
+            </property>
+            <property>
+               <name>control.page.unavailable</name>
+               <value>hide</value>
+            </property>
+            <property>
+               <name>control.page.not_found</name>
+               <value>hide</value>
+            </property>
+            <property>
+               <name>control.page.internal_error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.page.error</name>
+               <value>jsp</value>
+            </property>
+            <property>
+               <name>control.page.resource_uri</name>
+               <value>/WEB-INF/jsp/error/page.jsp</value>
+            </property>
+         </properties>
+      </context>
+   </deployment>
+   <deployment>
+      <parent-ref/>
+      <if-exists>keep</if-exists>
+      <portal>
+         <portal-name>template</portal-name>
+         <supported-modes>
+            <mode>view</mode>
+            <mode>edit</mode>
+            <mode>help</mode>
+         </supported-modes>
+         <supported-window-states>
+            <window-state>normal</window-state>
+            <window-state>minimized</window-state>
+            <window-state>maximized</window-state>
+         </supported-window-states>
+         <page>
+            <page-name>default</page-name>
+            <display-name xml:lang="en">Home</display-name>
+            <display-name xml:lang="it">Home</display-name>
+            <display-name xml:lang="es">Home</display-name>
+            <display-name xml:lang="fr">Accueil</display-name>
+            <display-name xml:lang="ru">Домой</display-name>
+            <properties>
+               <property>
+                  <name>order</name>
+                  <value>1</value>
+               </property>
+            </properties>
+            <window>
+               <window-name>JSPPortletWindow</window-name>
+               <instance-ref>JSPPortletInstance</instance-ref>
+               <region>left</region>
+               <height>0</height>
+            </window>
+            <window>
+               <window-name>CMSWindow</window-name>
+               <content>
+                  <content-type>cms</content-type>
+                  <content-uri>/default/index.html</content-uri>
+               </content>
+               <region>center</region>
+               <height>0</height>
+            </window>
+            <window>
+               <window-name>IdentityUserPortletWindow</window-name>
+               <instance-ref>IdentityUserPortletInstance</instance-ref>
+               <region>left</region>
+               <height>1</height>
+            </window>
+         </page>
+      </portal>
+   </deployment>
+   <deployment>
+      <parent-ref/>
+      <if-exists>keep</if-exists>
+      <portal>
+         <portal-name>admin</portal-name>
+         <supported-modes>
+            <mode>view</mode>
+            <mode>edit</mode>
+            <mode>help</mode>
+            <mode>admin</mode>
+         </supported-modes>
+         <supported-window-states>
+            <window-state>normal</window-state>
+            <window-state>minimized</window-state>
+            <window-state>maximized</window-state>
+         </supported-window-states>
+         <security-constraint>
+            <policy-permission>
+               <action-name>viewrecursive</action-name>
+               <role-name>Admin</role-name>
+            </policy-permission>
+         </security-constraint>
+         <page>
+            <page-name>default</page-name>
+            <display-name xml:lang="en">Admin</display-name>
+            <display-name xml:lang="it">Amministrazione</display-name>
+            <display-name xml:lang="es">Administración</display-name>
+            <display-name xml:lang="fr">Administration</display-name>
+            <display-name xml:lang="ru">Администрирование</display-name>
+            <window>
+               <window-name>AdminPortletWindow</window-name>
+               <instance-ref>AdminPortletInstance</instance-ref>
+               <region>center</region>
+               <height>0</height>
+               <properties>
+                  <property>
+                     <name>theme.renderSetId</name>
+                     <value>emptyRenderer</value>
+                  </property>
+               </properties>
+            </window>
+            <properties>
+               <property>
+                  <name>layout.id</name>
+                  <value>1column</value>
+               </property>
+            </properties>
+         </page>
+         <page>
+            <page-name>Members</page-name>
+            <display-name xml:lang="en">Members</display-name>
+            <display-name xml:lang="it">Membri</display-name>
+            <display-name xml:lang="fr">Utilisateurs</display-name>
+            <window>
+               <window-name>IdentityAdminPortletWindow</window-name>
+               <instance-ref>IdentityAdminPortletInstance</instance-ref>
+               <region>center</region>
+               <height>0</height>
+               <properties>
+                  <property>
+                     <name>theme.renderSetId</name>
+                     <value>emptyRenderer</value>
+                  </property>
+               </properties>
+            </window>
+            <properties>
+               <property>
+                  <name>layout.id</name>
+                  <value>1column</value>
+               </property>
+            </properties>
+         </page>
+      </portal>
+   </deployment>   
+</deployments>

Added: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-dependency.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-dependency.xml	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-dependency.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,3 @@
+<dependency xmlns="urn:jboss:dependency:1.0">
+  <item whenRequired="Real" dependentState="Create">TransactionManager</item>
+</dependency>

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -1124,14 +1124,14 @@
       </mbean>
    @portal.single.xml.open@
    -->
-   <mbean code="org.jboss.portal.core.deployment.jboss.PortletAppDeploymentFactory"
+<!--   <mbean code="org.jboss.portal.core.deployment.jboss.PortletAppDeploymentFactory"
           name="portal:deploymentFactory=PortletApp" xmbean-dd=""
           xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
-      <xmbean/>
+      <xmbean/> -->
       <!-- @portal.single.xml.close@
       <depends>jboss.ha:service=HASingletonDeployer</depends>
       @portal.single.xml.open@ -->
-      <depends>portal:service=PortletInvokerRegistration,id=local</depends>
+<!--      <depends>portal:service=PortletInvokerRegistration,id=local</depends>
       <depends optional-attribute-name="Deployer" proxy-type="attribute">portal:deployer=PortalWebApp</depends>
       <depends optional-attribute-name="CoreInfoBuilderFactory" proxy-type="attribute">
          portal:service=InfoBuilderFactory,type=Core
@@ -1150,11 +1150,36 @@
       </depends>
       <depends optional-attribute-name="PortletInstancesEntityResolver" proxy-type="attribute">
          portal:service=EntityResolver
-      </depends>
-      <attribute name="StandardJBossApplicationMetaDataLocation">conf/standardjboss-portlet.xml</attribute>
+      </depends> -->
       <!-- Set to false in clustered mode, otherwise set to true -->
-      <attribute name="CreateInstances">@portal.single@</attribute>
+<!--      <attribute name="CreateInstances">@portal.single@</attribute>
+   </mbean> -->
+
+
+   <mbean code="org.jboss.portal.core.deployment.jboss.ObjectDeploymentImpl" name="portal:deployer=ObjectDeployment"
+          xmbean-dd="" xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+      <xmbean/>
+      <depends optional-attribute-name="PortalObjectContainer" proxy-type="attribute">portal:container=PortalObject</depends>
+      <depends optional-attribute-name="ContentProviderRegistry" proxy-type="attribute">portal:service=ContentProviderRegistry</depends>
+      <depends optional-attribute-name="CoordinationConfigurator" proxy-type="attribute">portal:service=CoordinationService</depends>
    </mbean>
+
+   <mbean code="org.jboss.portal.core.deployment.jboss.InstanceDeploymentImpl" name="portal:deployer=InstanceDeployment"
+          xmbean-dd="" xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+      <xmbean/>
+      <depends optional-attribute-name="InstanceContainer" proxy-type="attribute">portal:container=Instance</depends>
+   </mbean>
+
+   <mbean code="org.jboss.portal.core.deployment.jboss.PortletDeploymentImpl" name="portal:deployer=PortletDeployment"
+          xmbean-dd="" xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+      <xmbean/>
+      <depends optional-attribute-name="PortletContainerInvoker" proxy-type="attribute">portal:service=PortletInvoker,type=Container</depends>
+      <depends optional-attribute-name="CoreInfoBuilderFactory" proxy-type="attribute">portal:service=InfoBuilderFactory,type=Core</depends>
+   </mbean>
+
+
+
+
    <mbean code="org.jboss.portal.theme.deployment.jboss.LayoutDeploymentFactory" name="portal:deploymentFactory=Layout"
           xmbean-dd="" xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
       <xmbean/>

Deleted: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/data/default-object.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/data/default-object.xml	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/data/default-object.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -1,412 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  ~ JBoss, a division of Red Hat                                              ~
-  ~ Copyright 2006, Red Hat Middleware, LLC, and individual                   ~
-  ~ contributors as indicated by the @authors tag. See the                    ~
-  ~ copyright.txt in the distribution for a full listing of                   ~
-  ~ individual contributors.                                                  ~
-  ~                                                                           ~
-  ~ This is free software; you can redistribute it and/or modify it           ~
-  ~ under the terms of the GNU Lesser General Public License as               ~
-  ~ published by the Free Software Foundation; either version 2.1 of          ~
-  ~ the License, or (at your option) any later version.                       ~
-  ~                                                                           ~
-  ~ This software is distributed in the hope that it will be useful,          ~
-  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of            ~
-  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          ~
-  ~ Lesser General Public License for more details.                           ~
-  ~                                                                           ~
-  ~ You should have received a copy of the GNU Lesser General Public          ~
-  ~ License along with this software; if not, write to the Free               ~
-  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA        ~
-  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.                  ~
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-
-<!DOCTYPE deployments PUBLIC
-   "-//JBoss Portal//DTD Portal Object 2.6//EN"
-   "http://www.jboss.org/portal/dtd/portal-object_2_6.dtd">
-   
-<deployments>
-   <deployment>
-      <context>
-         <context-name/>
-         <properties>
-            <!--
-            | Set the layout for the default portal, see also portal-layouts.xml.
-            -->
-            <property>
-               <name>layout.id</name>
-               <value>generic</value>
-            </property>
-            <!--
-            | Set the theme for the default portal, see also portal-themes.xml.
-            -->
-            <property>
-               <name>theme.id</name>
-               <value>renewal</value>
-            </property>
-            <!--
-            | Set the default render set name (used by the render tag in layouts), see also portal-renderSet.xml
-            -->
-            <property>
-               <name>theme.renderSetId</name>
-               <value>divRenderer</value>
-            </property>
-            <!--
-            | The default portal name, if the property is not explicited then the default portal name is "default"
-            -->
-            <property>
-               <name>portal.defaultObjectName</name>
-               <value>default</value>
-            </property>
-
-            <!-- Control policy config -->
-            <property>
-               <name>control.portal.access_denied</name>
-               <value>ignore</value>
-            </property>
-            <property>
-               <name>control.portal.unavailable</name>
-               <value>ignore</value>
-            </property>
-            <property>
-               <name>control.portal.not_found</name>
-               <value>ignore</value>
-            </property>
-            <property>
-               <name>control.portal.internal_error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.portal.error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.portal.resource_uri</name>
-               <value>/WEB-INF/jsp/error/portal.jsp</value>
-            </property>
-            <property>
-               <name>control.page.access_denied</name>
-               <value>hide</value>
-            </property>
-            <property>
-               <name>control.page.unavailable</name>
-               <value>hide</value>
-            </property>
-            <property>
-               <name>control.page.not_found</name>
-               <value>hide</value>
-            </property>
-            <property>
-               <name>control.page.internal_error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.page.error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.page.resource_uri</name>
-               <value>/WEB-INF/jsp/error/page.jsp</value>
-            </property>
-         </properties>
-      </context>
-   </deployment>
-   <deployment>
-      <parent-ref/>
-      <if-exists>keep</if-exists>
-      <portal>
-         <portal-name>default</portal-name>
-         <supported-modes>
-            <mode>view</mode>
-            <mode>edit</mode>
-            <mode>help</mode>
-         </supported-modes>
-         <supported-window-states>
-            <window-state>normal</window-state>
-            <window-state>minimized</window-state>
-            <window-state>maximized</window-state>
-         </supported-window-states>
-         <security-constraint>
-            <policy-permission>
-               <action-name>viewrecursive</action-name>
-               <action-name>personalizerecursive</action-name>
-               <unchecked/>
-            </policy-permission>
-         </security-constraint>
-         <coordination>
-            <wirings>
-               <implicit-mode>TRUE</implicit-mode>
-            </wirings>
-            <bindings>
-               <implicit-mode>TRUE</implicit-mode>
-            </bindings>
-         </coordination>
-         <page>
-            <page-name>default</page-name>
-            <display-name xml:lang="en">Home</display-name>
-            <display-name xml:lang="it">Home</display-name>
-            <display-name xml:lang="es">Home</display-name>
-            <display-name xml:lang="fr">Accueil</display-name>
-            <display-name xml:lang="ru">Домой</display-name>
-            <properties>
-               <property>
-                  <name>order</name>
-                  <value>1</value>
-               </property>
-            </properties>
-            <window>
-               <window-name>JSPPortletWindow</window-name>
-               <instance-ref>JSPPortletInstance</instance-ref>
-               <region>left</region>
-               <height>0</height>
-            </window>
-            <window>
-               <window-name>CMSWindow</window-name>
-               <content>
-                  <content-type>cms</content-type>
-                  <content-uri>/default/index.html</content-uri>
-               </content>
-               <region>center</region>
-               <height>1</height>
-            </window>
-            <window>
-               <window-name>IdentityUserPortletWindow</window-name>
-               <instance-ref>IdentityUserPortletInstance</instance-ref>
-               <region>left</region>
-               <height>1</height>
-            </window>
-            <window>
-               <window-name>CurrentUsersPortletWindow</window-name>
-               <instance-ref>CurrentUsersPortletInstance</instance-ref>
-               <region>left</region>
-               <height>2</height>
-            </window>
-         </page>
-      </portal>
-   </deployment>
-   <deployment>
-      <if-exists>keep</if-exists>
-      <context>
-         <context-name>dashboard</context-name>
-         <properties>
-
-            <!--
-            | Set the layout for the default portal, see also portal-layouts.xml.
-            -->
-            <property>
-               <name>layout.id</name>
-               <value>generic</value>
-            </property>
-
-            <!--
-            | Set the theme for the default portal, see also portal-themes.xml.
-            -->
-            <property>
-               <name>theme.id</name>
-               <value>renewal</value>
-            </property>
-
-            <!--
-            | Set the default render set name (used by the render tag in layouts), see also portal-renderSet.xml
-            -->
-            <property>
-               <name>theme.renderSetId</name>
-               <value>divRenderer</value>
-            </property>
-
-            <!--
-            | Set the dnd property
-            -->
-            <property>
-               <name>theme.dyna.dnd_enabled</name>
-               <value>true</value>
-            </property>
-
-            <!--
-            | Set the partial refresh property
-            -->
-            <property>
-               <name>theme.dyna.partial_refresh_enabled</name>
-               <value>false</value>
-            </property>
-
-            <!-- Control policy config -->
-            <property>
-               <name>control.portal.access_denied</name>
-               <value>ignore</value>
-            </property>
-            <property>
-               <name>control.portal.unavailable</name>
-               <value>ignore</value>
-            </property>
-            <property>
-               <name>control.portal.not_found</name>
-               <value>ignore</value>
-            </property>
-            <property>
-               <name>control.portal.internal_error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.portal.error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.portal.resource_uri</name>
-               <value>/WEB-INF/jsp/error/portal.jsp</value>
-            </property>
-            <property>
-               <name>control.page.access_denied</name>
-               <value>hide</value>
-            </property>
-            <property>
-               <name>control.page.unavailable</name>
-               <value>hide</value>
-            </property>
-            <property>
-               <name>control.page.not_found</name>
-               <value>hide</value>
-            </property>
-            <property>
-               <name>control.page.internal_error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.page.error</name>
-               <value>jsp</value>
-            </property>
-            <property>
-               <name>control.page.resource_uri</name>
-               <value>/WEB-INF/jsp/error/page.jsp</value>
-            </property>
-         </properties>
-      </context>
-   </deployment>
-   <deployment>
-      <parent-ref/>
-      <if-exists>keep</if-exists>
-      <portal>
-         <portal-name>template</portal-name>
-         <supported-modes>
-            <mode>view</mode>
-            <mode>edit</mode>
-            <mode>help</mode>
-         </supported-modes>
-         <supported-window-states>
-            <window-state>normal</window-state>
-            <window-state>minimized</window-state>
-            <window-state>maximized</window-state>
-         </supported-window-states>
-         <page>
-            <page-name>default</page-name>
-            <display-name xml:lang="en">Home</display-name>
-            <display-name xml:lang="it">Home</display-name>
-            <display-name xml:lang="es">Home</display-name>
-            <display-name xml:lang="fr">Accueil</display-name>
-            <display-name xml:lang="ru">Домой</display-name>
-            <properties>
-               <property>
-                  <name>order</name>
-                  <value>1</value>
-               </property>
-            </properties>
-            <window>
-               <window-name>JSPPortletWindow</window-name>
-               <instance-ref>JSPPortletInstance</instance-ref>
-               <region>left</region>
-               <height>0</height>
-            </window>
-            <window>
-               <window-name>CMSWindow</window-name>
-               <content>
-                  <content-type>cms</content-type>
-                  <content-uri>/default/index.html</content-uri>
-               </content>
-               <region>center</region>
-               <height>0</height>
-            </window>
-            <window>
-               <window-name>IdentityUserPortletWindow</window-name>
-               <instance-ref>IdentityUserPortletInstance</instance-ref>
-               <region>left</region>
-               <height>1</height>
-            </window>
-         </page>
-      </portal>
-   </deployment>
-   <deployment>
-      <parent-ref/>
-      <if-exists>keep</if-exists>
-      <portal>
-         <portal-name>admin</portal-name>
-         <supported-modes>
-            <mode>view</mode>
-            <mode>edit</mode>
-            <mode>help</mode>
-            <mode>admin</mode>
-         </supported-modes>
-         <supported-window-states>
-            <window-state>normal</window-state>
-            <window-state>minimized</window-state>
-            <window-state>maximized</window-state>
-         </supported-window-states>
-         <security-constraint>
-            <policy-permission>
-               <action-name>viewrecursive</action-name>
-               <role-name>Admin</role-name>
-            </policy-permission>
-         </security-constraint>
-         <page>
-            <page-name>default</page-name>
-            <display-name xml:lang="en">Admin</display-name>
-            <display-name xml:lang="it">Amministrazione</display-name>
-            <display-name xml:lang="es">Administración</display-name>
-            <display-name xml:lang="fr">Administration</display-name>
-            <display-name xml:lang="ru">Администрирование</display-name>
-            <window>
-               <window-name>AdminPortletWindow</window-name>
-               <instance-ref>AdminPortletInstance</instance-ref>
-               <region>center</region>
-               <height>0</height>
-               <properties>
-                  <property>
-                     <name>theme.renderSetId</name>
-                     <value>emptyRenderer</value>
-                  </property>
-               </properties>
-            </window>
-            <properties>
-               <property>
-                  <name>layout.id</name>
-                  <value>1column</value>
-               </property>
-            </properties>
-         </page>
-         <page>
-            <page-name>Members</page-name>
-            <display-name xml:lang="en">Members</display-name>
-            <display-name xml:lang="it">Membri</display-name>
-            <display-name xml:lang="fr">Utilisateurs</display-name>
-            <window>
-               <window-name>IdentityAdminPortletWindow</window-name>
-               <instance-ref>IdentityAdminPortletInstance</instance-ref>
-               <region>center</region>
-               <height>0</height>
-               <properties>
-                  <property>
-                     <name>theme.renderSetId</name>
-                     <value>emptyRenderer</value>
-                  </property>
-               </properties>
-            </window>
-            <properties>
-               <property>
-                  <name>layout.id</name>
-                  <value>1column</value>
-               </property>
-            </properties>
-         </page>
-      </portal>
-   </deployment>   
-</deployments>

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/identity/standardidentity-config.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/identity/standardidentity-config.xml	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/identity/standardidentity-config.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -89,7 +89,7 @@
          <!--set of options that are set in instantiated object-->
          <config>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/UserProfileModule</value>
             </option>
             <option>
@@ -121,7 +121,7 @@
                <value>java:/portal/IdentitySessionFactory</value>
             </option>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/UserModule</value>
             </option>
          </config>
@@ -143,7 +143,7 @@
                <value>java:/portal/IdentitySessionFactory</value>
             </option>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/RoleModule</value>
             </option>
          </config>
@@ -165,7 +165,7 @@
                <value>java:/portal/IdentitySessionFactory</value>
             </option>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/MembershipModule</value>
             </option>
          </config>
@@ -187,7 +187,7 @@
                <value>java:/portal/IdentitySessionFactory</value>
             </option>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/DBUserProfileModule</value>
             </option>
          </config>
@@ -206,7 +206,7 @@
          <!--set of options that are set in instantiated object-->
          <config>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/UserModule</value>
             </option>
             <option>
@@ -228,7 +228,7 @@
          <!--set of options that are set in instantiated object-->
          <config>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/RoleModule</value>
             </option>
             <option>
@@ -250,7 +250,7 @@
          <!--set of options that are set in instantiated object-->
          <config>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/MembershipModule</value>
             </option>
             <option>
@@ -272,7 +272,7 @@
          <!--set of options that are set in instantiated object-->
          <config>
             <option>
-               <name>jNDIName</name>
+               <name>JNDIName</name>
                <value>java:/portal/LDAPUserProfileModule</value>
             </option>
             <option>

Deleted: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-app_2_6.dtd
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-app_2_6.dtd	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-app_2_6.dtd	2009-03-06 21:21:08 UTC (rev 12967)
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  ~ JBoss, a division of Red Hat                                              ~
-  ~ Copyright 2006, Red Hat Middleware, LLC, and individual                   ~
-  ~ contributors as indicated by the @authors tag. See the                    ~
-  ~ copyright.txt in the distribution for a full listing of                   ~
-  ~ individual contributors.                                                  ~
-  ~                                                                           ~
-  ~ This is free software; you can redistribute it and/or modify it           ~
-  ~ under the terms of the GNU Lesser General Public License as               ~
-  ~ published by the Free Software Foundation; either version 2.1 of          ~
-  ~ the License, or (at your option) any later version.                       ~
-  ~                                                                           ~
-  ~ This software is distributed in the hope that it will be useful,          ~
-  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of            ~
-  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          ~
-  ~ Lesser General Public License for more details.                           ~
-  ~                                                                           ~
-  ~ You should have received a copy of the GNU Lesser General Public          ~
-  ~ License along with this software; if not, write to the Free               ~
-  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA        ~
-  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.                  ~
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-
-<!--
-<!DOCTYPE jboss-app PUBLIC
-   "-//JBoss Portal//DTD JBoss Web Application 2.6//EN"
-   "http://www.jboss.org/portal/dtd/jboss-app_2_6.dtd">
--->
-
-<!ELEMENT jboss-app (app-name?)>
-
-<!--
-When a web application is deployed, the context path under wich it is deployed
-is taken as application name. The application name value in this descriptor is
-used to override it. When a component references a references a portlet, it needs to
-reference the application too and if the portlet application war file is renammed
-the reference is not valid anymore. Therefore this tag is used to have an application
-name that does not depend upon the context path under which the application is deployed.
--->
-<!ELEMENT app-name (#PCDATA)>
\ No newline at end of file

Added: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-portal-app_2_6.dtd
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-portal-app_2_6.dtd	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/dtd/jboss-portal-app_2_6.dtd	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ JBoss, a division of Red Hat                                              ~
+  ~ Copyright 2006, Red Hat Middleware, LLC, and individual                   ~
+  ~ contributors as indicated by the @authors tag. See the                    ~
+  ~ copyright.txt in the distribution for a full listing of                   ~
+  ~ individual contributors.                                                  ~
+  ~                                                                           ~
+  ~ This is free software; you can redistribute it and/or modify it           ~
+  ~ under the terms of the GNU Lesser General Public License as               ~
+  ~ published by the Free Software Foundation; either version 2.1 of          ~
+  ~ the License, or (at your option) any later version.                       ~
+  ~                                                                           ~
+  ~ This software is distributed in the hope that it will be useful,          ~
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of            ~
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          ~
+  ~ Lesser General Public License for more details.                           ~
+  ~                                                                           ~
+  ~ You should have received a copy of the GNU Lesser General Public          ~
+  ~ License along with this software; if not, write to the Free               ~
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA        ~
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.                  ~
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!--
+<!DOCTYPE jboss-app PUBLIC
+   "-//JBoss Portal//DTD JBoss Portal Web Application 2.6//EN"
+   "http://www.jboss.org/portal/dtd/jboss-portal-app_2_6.dtd">
+-->
+
+<!ELEMENT jboss-portal-app (app-name?)>
+
+<!--
+When a web application is deployed, the context path under wich it is deployed
+is taken as application name. The application name value in this descriptor is
+used to override it. When a component references a references a portlet, it needs to
+reference the application too and if the portlet application war file is renammed
+the reference is not valid anymore. Therefore this tag is used to have an application
+name that does not depend upon the context path under which the application is deployed.
+-->
+<!ELEMENT app-name (#PCDATA)>

Modified: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -21,7 +21,7 @@
   ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.                  ~
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
 
-<aop xmlns="urn:jboss:aop-beans:1.0">
+<aop xmlns="urn:jboss:aop-beans:1.0"> 
    <metadata tag="transaction" class="org.jboss.portal.core.aspects.server.TransactionInterceptor">
       <method name="invoke">
          <trans-attribute>RequiresNew</trans-attribute>
@@ -68,6 +68,18 @@
          <trans-attribute>Required</trans-attribute>
       </method>
    </metadata>
+
+   <metadata tag="transaction" class="org.jboss.portal.core.deployment.jboss.ObjectDeploymentImpl">
+      <method name="deployObjects">
+         <trans-attribute>Required</trans-attribute>
+      </method>
+   </metadata>
+   <metadata tag="transaction" class="org.jboss.portal.core.deployment.jboss.InstanceDeploymentImpl">
+      <method name="deployInstances">
+         <trans-attribute>Required</trans-attribute>
+      </method>
+   </metadata>
+
    <metadata tag="transaction" class="org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContainer">
       <method name="createRootIfNotExist">
          <trans-attribute>Required</trans-attribute>

Deleted: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-app.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-app.xml	2009-03-06 21:08:48 UTC (rev 12966)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-app.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -1,26 +0,0 @@
-<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  ~ JBoss, a division of Red Hat                                              ~
-  ~ Copyright 2006, Red Hat Middleware, LLC, and individual                   ~
-  ~ contributors as indicated by the @authors tag. See the                    ~
-  ~ copyright.txt in the distribution for a full listing of                   ~
-  ~ individual contributors.                                                  ~
-  ~                                                                           ~
-  ~ This is free software; you can redistribute it and/or modify it           ~
-  ~ under the terms of the GNU Lesser General Public License as               ~
-  ~ published by the Free Software Foundation; either version 2.1 of          ~
-  ~ the License, or (at your option) any later version.                       ~
-  ~                                                                           ~
-  ~ This software is distributed in the hope that it will be useful,          ~
-  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of            ~
-  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          ~
-  ~ Lesser General Public License for more details.                           ~
-  ~                                                                           ~
-  ~ You should have received a copy of the GNU Lesser General Public          ~
-  ~ License along with this software; if not, write to the Free               ~
-  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA        ~
-  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.                  ~
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-
-<jboss-app>
-   <app-name>portal</app-name>
-</jboss-app>
\ No newline at end of file

Added: branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-portal-app.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-portal-app.xml	                        (rev 0)
+++ branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-war/WEB-INF/jboss-portal-app.xml	2009-03-06 21:21:08 UTC (rev 12967)
@@ -0,0 +1,30 @@
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ JBoss, a division of Red Hat                                              ~
+  ~ Copyright 2006, Red Hat Middleware, LLC, and individual                   ~
+  ~ contributors as indicated by the @authors tag. See the                    ~
+  ~ copyright.txt in the distribution for a full listing of                   ~
+  ~ individual contributors.                                                  ~
+  ~                                                                           ~
+  ~ This is free software; you can redistribute it and/or modify it           ~
+  ~ under the terms of the GNU Lesser General Public License as               ~
+  ~ published by the Free Software Foundation; either version 2.1 of          ~
+  ~ the License, or (at your option) any later version.                       ~
+  ~                                                                           ~
+  ~ This software is distributed in the hope that it will be useful,          ~
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of            ~
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU          ~
+  ~ Lesser General Public License for more details.                           ~
+  ~                                                                           ~
+  ~ You should have received a copy of the GNU Lesser General Public          ~
+  ~ License along with this software; if not, write to the Free               ~
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA        ~
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.                  ~
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE jboss-portal-app PUBLIC
+   "-//JBoss Portal//DTD JBoss Portal Application 2.6//EN"
+   "http://www.jboss.org/portal/dtd/jboss-portal-app_2_6.dtd">
+
+<jboss-portal-app>
+   <app-name>portal</app-name>
+</jboss-portal-app>




More information about the portal-commits mailing list