[jboss-cvs] JBossAS SVN: r106340 - in branches/JBPAPP_5_1: system/src/main/org/jboss/deployers/plugins/managed and 10 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jun 30 05:45:55 EDT 2010


Author: emuckenhuber
Date: 2010-06-30 05:45:54 -0400 (Wed, 30 Jun 2010)
New Revision: 106340

Added:
   branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/
   branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/
   branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testQueue-service.xml
   branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testTopic-service.xml
Modified:
   branches/JBPAPP_5_1/server/src/etc/conf/all/bootstrap/deployers.xml
   branches/JBPAPP_5_1/system-jmx/src/main/org/jboss/system/deployers/SARDeployer.java
   branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/DefaultManagedObjectCreator.java
   branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java
   branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/attachments/AttachmentMetaData.java
   branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
   branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
   branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/BasicDeploymentRepository.java
   branches/JBPAPP_5_1/testsuite/imports/sections/profileservice.xml
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/JmsDestinationRestartUnitTestCase.java
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/test/JmsDestinationOverrideTestCase.java
Log:
JBPAPP-4534

Modified: branches/JBPAPP_5_1/server/src/etc/conf/all/bootstrap/deployers.xml
===================================================================
--- branches/JBPAPP_5_1/server/src/etc/conf/all/bootstrap/deployers.xml	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/server/src/etc/conf/all/bootstrap/deployers.xml	2010-06-30 09:45:54 UTC (rev 106340)
@@ -21,7 +21,7 @@
       <root>${jboss.lib.url}jboss-dependency.jar</root>
       <root>${jboss.lib.url}jboss-kernel.jar</root>
 
-      <!-- Needed for ArchiveForceTempTypeMatcher -->
+      <!-- Needed for ArchiveForceTempTypeMatcher && DefaultManagedObjectCreator -->
       <root>${jboss.lib.url}jboss-system.jar</root>
 
       <!-- JAXB impl here, api is in endorsed -->
@@ -51,7 +51,7 @@
       <property name="metaValueFactory"><inject bean="MetaValueFactory"/></property>
    </bean>
    <!-- The ManagedObjectCreator implementation -->
-   <bean name="ManagedObjectCreator" class="org.jboss.deployers.spi.deployer.helpers.DefaultManagedObjectCreator">
+   <bean name="ManagedObjectCreator" class="org.jboss.deployers.plugins.managed.DefaultManagedObjectCreator">
       <property name="mof"><inject bean="ManagedObjectFactory"/></property>
    </bean>
 

Modified: branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/DefaultManagedObjectCreator.java
===================================================================
--- branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/DefaultManagedObjectCreator.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/DefaultManagedObjectCreator.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -21,16 +21,15 @@
  */
 package org.jboss.deployers.plugins.managed;
 
-import java.util.Arrays;
 import java.util.Map;
 import java.util.Set;
 
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.managed.ManagedObjectCreator;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
 import org.jboss.managed.api.ManagedObject;
 import org.jboss.managed.api.factory.ManagedObjectFactory;
+import org.jboss.managed.plugins.ManagedObjectImpl;
 import org.jboss.managed.plugins.factory.ManagedObjectFactoryBuilder;
 import org.jboss.metadata.spi.MetaData;
 
@@ -42,8 +41,20 @@
  */
 public class DefaultManagedObjectCreator implements ManagedObjectCreator
 {
-   private static Logger log = Logger.getLogger(DefaultManagedObjectCreator.class);
 
+   /** The managed object factory. */
+   private ManagedObjectFactory mof;
+
+   public ManagedObjectFactory getMof()
+   {
+      return mof;
+   }
+
+   public void setMof(ManagedObjectFactory mof)
+   {
+      this.mof = mof;
+   }
+
    /**
     * Build managed object.
     *
@@ -52,24 +63,31 @@
     * @throws DeploymentException for any deployment exception
     */
    public void build(DeploymentUnit unit, Set<String> attachments, Map<String, ManagedObject> managedObjects)
-      throws DeploymentException
+         throws DeploymentException
    {
-      MetaData metaData = unit.getMetaData();
-      if(metaData != null)
+      ManagedObjectFactory factory = mof;
+      if(factory == null )
       {
-         Object[] all = metaData.getMetaData();
-         log.debug("All metaData: " + Arrays.toString(all));
+         factory = ManagedObjectFactoryBuilder.create();
       }
-      for(String name : attachments)
+
+      final MetaData metaData = unit.getMetaData();
+      for (final String name : attachments)
       {
-         Object instance = unit.getAttachment(name);
+         final Object instance = unit.getAttachment(name);
          if (instance != null)
          {
-            ManagedObjectFactory factory = ManagedObjectFactoryBuilder.create();
-            ManagedObject mo = factory.initManagedObject(instance, metaData);
+            ManagedObject mo = factory.initManagedObject(instance, null, metaData, name, null);
             if (mo != null)
-               managedObjects.put(mo.getName(), mo);
+            {
+               if (mo instanceof ManagedObjectImpl)
+               {
+                  ManagedObjectImpl.class.cast(mo).setAttachmentName(name);
+               }
+               managedObjects.put(name, mo);
+            }
          }
       }
    }
+   
 }

Modified: branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java
===================================================================
--- branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -25,6 +25,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
 import org.jboss.beans.metadata.spi.BeanMetaData;
@@ -32,7 +33,6 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.managed.ManagedObjectCreator;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
 import org.jboss.kernel.spi.deployment.KernelDeployment;
 import org.jboss.logging.Logger;
 import org.jboss.managed.api.Fields;
@@ -71,6 +71,31 @@
       this.mof = mof;
    }
 
+   public void build(DeploymentUnit unit, Set<String> attachments, Map<String, ManagedObject> managedObjects) throws DeploymentException
+   {
+      // Handle multiple kernel deployments
+      for(final Entry<String, Object> entry : unit.getAttachments().entrySet())
+      {
+         if(KernelDeployment.class.isInstance(entry.getValue()))
+         {
+            final KernelDeployment deployment = KernelDeployment.class.cast(entry.getValue());
+            ManagedObject deploymentMO = managedObjects.get(entry.getKey());
+            if(deploymentMO == null)
+            {
+               // allowMultipleAttachments
+               deploymentMO = mof.createManagedObject(deployment.getClass());
+               managedObjects.put(entry.getKey(), deploymentMO);
+            }
+            if(deploymentMO instanceof MutableManagedObject)
+               ((MutableManagedObject) deploymentMO).setName(KernelDeployment.class.getName());
+            if(deploymentMO instanceof ManagedObjectImpl)
+               ((ManagedObjectImpl) deploymentMO).setAttachmentName(entry.getKey());
+            // Build the BMD MO components
+            build(unit, deployment, deploymentMO, managedObjects);
+         }
+      }
+   }
+   
    /**
     * Called by the KernelDeploymentDeployer to update the ManagedObjects map
     * created by the default ManagedObjectCreator. 
@@ -79,40 +104,18 @@
     * @param managedObjects map of managed objects
     * @throws DeploymentException for any deployment exception
     */
-   public void build(DeploymentUnit unit, Set<String> attachments, Map<String, ManagedObject> managedObjects) throws DeploymentException
+   public void build(DeploymentUnit unit, KernelDeployment deployment, ManagedObject deploymentMO, Map<String, ManagedObject> managedObjects) throws DeploymentException
    {
-      KernelDeployment deployment = unit.getAttachment(KernelDeployment.class);
-      if(deployment == null)
-         return;
-
       List<BeanMetaDataFactory> beanFactories = deployment.getBeanFactories();
 
-      // Get the KernelDeployment ManagedObject
-      ManagedObject deploymentMO = managedObjects.get(KernelDeployment.class.getName());
-      if(deploymentMO == null)
-      {
-         // Check for the KernelDeployment impl name
-         deploymentMO = managedObjects.get(AbstractKernelDeployment.class.getName());
-         if(deploymentMO == null)
-         {
-            // Should not happen?
-            deploymentMO = mof.createManagedObject(deployment.getClass());
-         }
-         else
-         {
-            // Put the MO under the attachment interface name
-            managedObjects.remove(AbstractKernelDeployment.class.getName());
-         }
-         managedObjects.put(KernelDeployment.class.getName(), deploymentMO);
-      }
-      if(deploymentMO instanceof MutableManagedObject)
-         ((MutableManagedObject) deploymentMO).setName(KernelDeployment.class.getName());
-      if(deploymentMO instanceof ManagedObjectImpl)
-         ((ManagedObjectImpl) deploymentMO).setAttachmentName(KernelDeployment.class.getName());
-
       MetaData metaData = unit.getMetaData();
       // Update the beanFactories value to a list of BeanMetaDataFactory with BeanMetaDatas
       ManagedProperty beanFactoriesMP = deploymentMO.getProperty("beanFactories");
+      // In case of e.g. AOPDeployment
+      if(beanFactoriesMP == null)
+      {
+         return;
+      }
       List<GenericValue> tmpBFs = new ArrayList<GenericValue>();
       CollectionMetaType beansFactoryType = new CollectionMetaType(BeanMetaDataFactory.class.getName(), AbstractManagedObjectFactory.MANAGED_OBJECT_META_TYPE);
       if(beanFactories != null)

Modified: branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/attachments/AttachmentMetaData.java
===================================================================
--- branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/attachments/AttachmentMetaData.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/attachments/AttachmentMetaData.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -21,6 +21,9 @@
  */
 package org.jboss.system.server.profileservice.attachments;
 
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
@@ -89,5 +92,16 @@
    {
       this.attachment = attachment;
    }
+   
+   public static String getEncodedAttachmentName(String name) throws Exception
+   {
+      return URLEncoder.encode(name, "UTF-8");
+   }
+
+   public static String getDecodedAttachmentName(String name) throws Exception
+   {
+      return URLDecoder.decode(name, "UTF-8");
+   }
+   
 }
 

Modified: branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
===================================================================
--- branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -21,6 +21,8 @@
  */ 
 package org.jboss.system.server.profileservice.persistence.deployer;
 
+import java.io.File;
+import java.io.FileFilter;
 import java.io.IOException;
 import java.util.List;
 
@@ -28,9 +30,6 @@
 import org.jboss.deployers.spi.structure.StructureMetaData;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.logging.Logger;
-import org.jboss.system.server.profile.basic.XmlIncludeVirtualFileFilter;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.virtual.VirtualFileFilter;
 
 /**
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
@@ -43,18 +42,30 @@
    private static final Logger log = Logger.getLogger(PersistenceModificationChecker.class);
    
    /** The filter. */
-   private static VirtualFileFilter filter = new XmlIncludeVirtualFileFilter();
+   private static FileFilter filter = new ExcludeFilter();
    
    public static boolean hasBeenModified(VFSDeploymentUnit unit, long lastModified) throws Exception
    {
-      VirtualFile root = unit.getRoot();
-      if (root.isArchive() || root.isLeaf())
+      final File file = new File(unit.getRoot().toURL().getPath());
+      if(file.exists() == false)
       {
-         if(root.getLastModified() > lastModified)
+         if(unit.isTopLevel() == false)
+         {
+            return false;
+         }
+         throw new IllegalStateException("deployment file does not exist " + file);
+      }
+      // Archive
+      if (file.isFile())
+      {
+         log.info(file + " " + file.lastModified()  + " // " + lastModified);
+         if(file.lastModified() > lastModified)
             return true;
+         
+         return false;
       }
-
-      StructureMetaData structureMetaData = unit.getAttachment(StructureMetaData.class);
+      // Structure
+      final StructureMetaData structureMetaData = unit.getAttachment(StructureMetaData.class);
       if(structureMetaData == null)
          return false;
       
@@ -65,25 +76,25 @@
       if(info == null)
          return false;
       
-      return hasBeenModifed(root, info, lastModified);
+      return hasBeenModifed(file, info, lastModified);
    }
 
-   protected static boolean hasBeenModifed(VirtualFile root, ContextInfo contextInfo, long lastModified) throws IOException
+   protected static boolean hasBeenModifed(final File root, final ContextInfo contextInfo, long lastModified) throws IOException
    {
       List<String> metadataPaths = contextInfo.getMetaDataPath();
       if (metadataPaths != null && metadataPaths.isEmpty() == false)
       {
          for (String metaDataPath : metadataPaths)
          {
-            VirtualFile mdpVF = root.getChild(metaDataPath);
+            File mdpVF = new File(root, metaDataPath);
             if (mdpVF != null)
             {
-               List<VirtualFile> children = mdpVF.getChildren(filter);
-               if (children != null && children.isEmpty() == false)
+               File[] children = mdpVF.listFiles(filter);
+               if (children != null && children.length > 0)
                {
-                  for (VirtualFile child : children)
+                  for (File child : children)
                   {
-                     if (child.getLastModified() > lastModified)
+                     if (child.lastModified() > lastModified)
                      {
                         if (log.isTraceEnabled())
                            log.trace("Metadata location modified: " + child);
@@ -96,5 +107,14 @@
       }
       return false;
    }
+   
+   protected static class ExcludeFilter implements FileFilter
+   {
+      public boolean accept(File pathname)
+      {
+         return pathname.getName().endsWith(".xml");
+      }
+   }
+   
 }
 

Modified: branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
===================================================================
--- branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -269,7 +269,7 @@
       attachment.setClassName(managedObject.getAttachment().getClass().getName());
       
       // Save the attachment
-      String attachmentPath = deploymentPath + attachment.getName();
+      String attachmentPath = deploymentPath + HashGenerator.createHash(attachment.getName());
       // Create the persistence information
       PersistenceRoot persistenceRoot = getSerializer().loadAttachment(attachmentPath, PersistenceRoot.class);
       //
@@ -327,8 +327,14 @@
       String deploymentPath = createRelativeDeploymentPath(deploymentCtx);
       
       // Load
-      String attachmentPath = deploymentPath + attachment.getName();
-      return getSerializer().loadAttachment(attachmentPath, PersistenceRoot.class);
+      String attachmentPath = deploymentPath + HashGenerator.createHash(attachment.getName());
+      PersistenceRoot root = getSerializer().loadAttachment(attachmentPath, PersistenceRoot.class);
+      if(root == null)
+      {
+         attachmentPath = deploymentPath + attachment.getName();
+         root = getSerializer().loadAttachment(attachmentPath, PersistenceRoot.class);
+      }
+      return root;
    }
    
    /**

Modified: branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/BasicDeploymentRepository.java
===================================================================
--- branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/BasicDeploymentRepository.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/system/src/main/org/jboss/system/server/profileservice/repository/BasicDeploymentRepository.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -207,7 +207,8 @@
                catch (IOException ignored)
                {
                }
-            }            
+            }
+            contentFile.setLastModified(System.currentTimeMillis());
          }
 
          // Get the vfs uri and add the VFS uri to the cached VFS uris

Modified: branches/JBPAPP_5_1/system-jmx/src/main/org/jboss/system/deployers/SARDeployer.java
===================================================================
--- branches/JBPAPP_5_1/system-jmx/src/main/org/jboss/system/deployers/SARDeployer.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/system-jmx/src/main/org/jboss/system/deployers/SARDeployer.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -24,11 +24,20 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
 
 import org.jboss.bootstrap.spi.ServerConfig;
 import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.managed.ManagedObjectCreator;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.spi.deployer.JAXPDeployer;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.managed.api.ManagedObject;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
+import org.jboss.managed.plugins.ManagedObjectImpl;
+import org.jboss.managed.plugins.factory.ManagedObjectFactoryBuilder;
 import org.jboss.system.metadata.ServiceDeployment;
 import org.jboss.system.metadata.ServiceDeploymentClassPath;
 import org.jboss.system.metadata.ServiceDeploymentParser;
@@ -55,8 +64,12 @@
  * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  * @version $Revision$
  */
-public class SARDeployer extends JAXPDeployer<ServiceDeployment>
+public class SARDeployer extends JAXPDeployer<ServiceDeployment> implements ManagedObjectCreator
 {
+   
+   /** The managed object factory. */
+   private static final ManagedObjectFactory factory = ManagedObjectFactoryBuilder.create();
+   
    /**
     * Create a new SARDeployer.
     *
@@ -185,4 +198,37 @@
       }
       return original;
    }
+   
+   /**
+    * {@inheritDoc}
+    * 
+    * handle multiple attachments
+    * 
+    */
+   public void build(DeploymentUnit unit, Set<String> attachmentNames, Map<String, ManagedObject> managedObjects)
+         throws DeploymentException
+   {
+      for(final Entry<String, Object> entry : unit.getAttachments().entrySet())
+      {
+         final String key = entry.getKey();
+         if(ServiceDeployment.class.isInstance(entry.getValue()))
+         {
+            ManagedObject mo = managedObjects.get(key);
+            if(mo == null)
+            {
+               // allowMultipleAttachments
+               mo = factory.initManagedObject(entry.getValue(), null, unit.getMetaData(), key, null);
+               if (mo != null)
+               {
+                  if (mo instanceof ManagedObjectImpl)
+                  {
+                     ManagedObjectImpl.class.cast(mo).setAttachmentName(key);
+                  }
+                  managedObjects.put(key, mo);
+               }
+            }
+         }
+      }
+   }
+   
 }

Modified: branches/JBPAPP_5_1/testsuite/imports/sections/profileservice.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/imports/sections/profileservice.xml	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/testsuite/imports/sections/profileservice.xml	2010-06-30 09:45:54 UTC (rev 106340)
@@ -94,7 +94,9 @@
          	<include name="testWarDeployment.war"/>
          </fileset>
       </jar>
+   	  <jar destfile="${build.lib}/profileservice-test.jar">
+		 <fileset dir="${build.resources}/profileservice/override/profileservice-test.jar" />
+   	  </jar>
 
-
    </target>
 </project>

Modified: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/JmsDestinationRestartUnitTestCase.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/JmsDestinationRestartUnitTestCase.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/JmsDestinationRestartUnitTestCase.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -41,7 +41,6 @@
 import org.jboss.metatype.api.values.SimpleValueSupport;
 import org.jboss.metatype.plugins.types.MutableCompositeMetaType;
 import org.jboss.test.profileservice.override.test.AbstractProfileServiceTest;
-import org.jboss.test.profileservice.override.test.JmsDestinationOverrideTestCase;
 import org.jboss.test.util.jms.JMSDestinationsUtil;
 
 /**
@@ -162,6 +161,26 @@
       }
    }
  
+   public void testSar() throws Exception
+   {
+      final String deploymentName = "profileservice-test.jar";
+      try
+      {
+         deployPackage(deploymentName);
+         ManagementView mgtView = getManagementView();
+
+         ManagedComponent queue = mgtView.getComponent("otherTestQueue", KnownComponentTypes.JMSDestination.Queue.getType());
+         assertNotNull(queue);
+         
+         ManagedComponent topic = mgtView.getComponent("otherTestTopic", KnownComponentTypes.JMSDestination.Topic.getType());
+         assertNotNull(topic);
+      }
+      finally
+      {
+         undeployPackage(new String[] { deploymentName });
+      }
+   }
+   
    protected CompositeValue createCompositeValue(Boolean read, Boolean write, Boolean create)
    {
       Map<String, MetaValue> map = new HashMap<String, MetaValue>();

Modified: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/test/JmsDestinationOverrideTestCase.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/test/JmsDestinationOverrideTestCase.java	2010-06-30 09:31:46 UTC (rev 106339)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/profileservice/override/test/JmsDestinationOverrideTestCase.java	2010-06-30 09:45:54 UTC (rev 106340)
@@ -239,6 +239,31 @@
       }      
    }
    
+   public void testSar() throws Exception
+   {
+      final String deploymentName = "profileservice-test.jar";
+      try
+      {
+         deployPackage(deploymentName);
+         ManagementView mgtView = getManagementView();
+
+         ManagedComponent queue = mgtView.getComponent("otherTestQueue", QueueType);
+         assertNotNull(queue);
+         queue.getProperty("downCacheSize").setValue(SimpleValueSupport.wrap(3000));
+         
+         ManagedComponent topic = mgtView.getComponent("otherTestTopic", TopicType);
+         assertNotNull(topic);
+         topic.getProperty("downCacheSize").setValue(SimpleValueSupport.wrap(3000));
+         
+         mgtView.updateComponent(queue);
+         mgtView.updateComponent(topic);
+      }
+      catch(Exception e)
+      {
+         throw e;
+      }
+   }
+   
    protected CompositeValue createCompositeValue(Boolean read, Boolean write, Boolean create)
    {
       Map<String, MetaValue> map = new HashMap<String, MetaValue>();

Added: branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testQueue-service.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testQueue-service.xml	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testQueue-service.xml	2010-06-30 09:45:54 UTC (rev 106340)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+    <mbean	xmbean-dd="xmdesc/Queue-xmbean.xml"
+    		name="jboss.messaging.destination:service=Queue,name=otherTestQueue"
+    		code="org.jboss.jms.server.destination.QueueService">
+    		
+        <attribute name="JNDIName">otherTestQueue</attribute>
+        <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+        <depends>jboss.messaging:service=PostOffice</depends>
+    </mbean>
+
+</server>

Added: branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testTopic-service.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testTopic-service.xml	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/resources/profileservice/override/profileservice-test.jar/META-INF/testTopic-service.xml	2010-06-30 09:45:54 UTC (rev 106340)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+    <mbean	xmbean-dd="xmdesc/Topic-xmbean.xml"
+    		name="jboss.messaging.destination:service=Topic,name=otherTestTopic"
+    		code="org.jboss.jms.server.destination.TopicService">
+
+        <attribute name="JNDIName">otherTestTopic</attribute>
+        <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+        <depends>jboss.messaging:service=PostOffice</depends>
+    </mbean>
+        
+</server>



More information about the jboss-cvs-commits mailing list