[jboss-cvs] JBossAS SVN: r78217 - in trunk/connector/src: main/org/jboss/resource/deployers/management and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Sep 8 18:41:07 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-09-08 18:41:07 -0400 (Mon, 08 Sep 2008)
New Revision: 78217

Modified:
   trunk/connector/src/main/org/jboss/resource/deployers/ManagedConnectionFactoryParserDeployer.java
   trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java
   trunk/connector/src/main/org/jboss/resource/deployers/management/InstanceClassFactoryUtils.java
   trunk/connector/src/main/org/jboss/resource/deployers/management/LocalDSInstanceClassFactory.java
   trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxCFInstanceClassFactory.java
   trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxInstanceClassFactory.java
   trunk/connector/src/main/org/jboss/resource/deployers/management/TxInstanceClassFactory.java
   trunk/connector/src/main/org/jboss/resource/deployers/management/XADSInstanceClassFactory.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/SecurityMetaData.java
   trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java
Log:
JBAS-5625, implement the security domain metadata management view correctly

Modified: trunk/connector/src/main/org/jboss/resource/deployers/ManagedConnectionFactoryParserDeployer.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/ManagedConnectionFactoryParserDeployer.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/ManagedConnectionFactoryParserDeployer.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -87,11 +87,11 @@
 
       moFactory = ManagedObjectFactoryBuilder.create();
       // Setup the ManagedObject builders and InstanceClassFactorys
-      moFactory.setInstanceClassFactory(LocalDataSourceDeploymentMetaData.class, new LocalDSInstanceClassFactory());
-      moFactory.setInstanceClassFactory(XADataSourceDeploymentMetaData.class, new XADSInstanceClassFactory());
-      moFactory.setInstanceClassFactory(NoTxDataSourceDeploymentMetaData.class, new NoTxInstanceClassFactory());
-      moFactory.setInstanceClassFactory(TxConnectionFactoryDeploymentMetaData.class, new TxInstanceClassFactory());
-      moFactory.setInstanceClassFactory(NoTxConnectionFactoryDeploymentMetaData.class, new NoTxCFInstanceClassFactory());
+      moFactory.setInstanceClassFactory(LocalDataSourceDeploymentMetaData.class, new LocalDSInstanceClassFactory(moFactory));
+      moFactory.setInstanceClassFactory(XADataSourceDeploymentMetaData.class, new XADSInstanceClassFactory(moFactory));
+      moFactory.setInstanceClassFactory(NoTxDataSourceDeploymentMetaData.class, new NoTxInstanceClassFactory(moFactory));
+      moFactory.setInstanceClassFactory(TxConnectionFactoryDeploymentMetaData.class, new TxInstanceClassFactory(moFactory));
+      moFactory.setInstanceClassFactory(NoTxConnectionFactoryDeploymentMetaData.class, new NoTxCFInstanceClassFactory(moFactory));
    }
 
    /**

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -99,7 +99,7 @@
       if("local-tx-datasource".equals(cfType))
       {
          mcf = new LocalDataSourceDeploymentMetaData();
-         mof.setInstanceClassFactory(LocalDataSourceDeploymentMetaData.class, new LocalDSInstanceClassFactory());
+         mof.setInstanceClassFactory(LocalDataSourceDeploymentMetaData.class, new LocalDSInstanceClassFactory(mof));
          cfMO = mof.initManagedObject(mcf,
             KnownComponentTypes.DataSourceTypes.LocalTx.getType().getType(),
             KnownComponentTypes.DataSourceTypes.LocalTx.getType().getSubtype());
@@ -107,7 +107,7 @@
       else if("xa-datasource".equals(cfType))
       {
          mcf = new XADataSourceDeploymentMetaData();
-         mof.setInstanceClassFactory(XADataSourceDeploymentMetaData.class, new XADSInstanceClassFactory());
+         mof.setInstanceClassFactory(XADataSourceDeploymentMetaData.class, new XADSInstanceClassFactory(mof));
          cfMO = mof.initManagedObject(mcf,
             KnownComponentTypes.DataSourceTypes.XA.getType().getType(),
             KnownComponentTypes.DataSourceTypes.XA.getType().getSubtype());
@@ -116,7 +116,7 @@
       {
          rootElementName = "connection-factories";
          mcf = new TxConnectionFactoryDeploymentMetaData();
-         mof.setInstanceClassFactory(TxConnectionFactoryDeploymentMetaData.class, new TxInstanceClassFactory());
+         mof.setInstanceClassFactory(TxConnectionFactoryDeploymentMetaData.class, new TxInstanceClassFactory(mof));
          cfMO = mof.initManagedObject(mcf,
             KnownComponentTypes.ConnectionFactoryTypes.XA.getType().getType(),
             KnownComponentTypes.ConnectionFactoryTypes.XA.getType().getSubtype());
@@ -125,7 +125,7 @@
       {
          rootElementName = "connection-factories";
          mcf = new NoTxConnectionFactoryDeploymentMetaData();
-         mof.setInstanceClassFactory(NoTxConnectionFactoryDeploymentMetaData.class, new NoTxCFInstanceClassFactory());
+         mof.setInstanceClassFactory(NoTxConnectionFactoryDeploymentMetaData.class, new NoTxCFInstanceClassFactory(mof));
          cfMO = mof.initManagedObject(mcf,
             KnownComponentTypes.ConnectionFactoryTypes.NoTx.getType().getType(),
             KnownComponentTypes.ConnectionFactoryTypes.NoTx.getType().getSubtype());
@@ -133,7 +133,7 @@
       else if("no-tx-datasource".equals(cfType))
       {
          mcf = new NoTxDataSourceDeploymentMetaData();
-         mof.setInstanceClassFactory(NoTxDataSourceDeploymentMetaData.class, new NoTxInstanceClassFactory());
+         mof.setInstanceClassFactory(NoTxDataSourceDeploymentMetaData.class, new NoTxInstanceClassFactory(mof));
          cfMO = mof.initManagedObject(mcf,
             KnownComponentTypes.DataSourceTypes.NoTx.getType().getType(),
             KnownComponentTypes.DataSourceTypes.NoTx.getType().getSubtype());

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/InstanceClassFactoryUtils.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/InstanceClassFactoryUtils.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/InstanceClassFactoryUtils.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -25,14 +25,23 @@
 import java.util.List;
 
 import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.managed.api.ManagedObject;
 import org.jboss.managed.api.ManagedProperty;
 import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.EnumValue;
+import org.jboss.metatype.api.values.GenericValue;
 import org.jboss.metatype.api.values.MapCompositeValueSupport;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.metatype.api.values.MetaValueFactory;
+import org.jboss.metatype.api.values.SimpleValue;
 import org.jboss.metatype.api.values.SimpleValueSupport;
+import org.jboss.resource.metadata.mcf.ApplicationManagedSecurityMetaData;
 import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData;
 import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryPropertyMetaData;
+import org.jboss.resource.metadata.mcf.SecurityDeploymentType;
+import org.jboss.resource.metadata.mcf.SecurityDomainApplicationManagedMetaData;
+import org.jboss.resource.metadata.mcf.SecurityDomainMetaData;
+import org.jboss.resource.metadata.mcf.SecurityMetaData;
 import org.jboss.resource.metadata.mcf.XADataSourceDeploymentMetaData;
 
 /**
@@ -100,4 +109,41 @@
       }
       return list;
    }
+
+   /**
+    * Handle the mapping of SecurityMetaData managed object values
+    * @param beanInfo
+    * @param property
+    * @param attachment
+    * @param value
+    */
+   static void setValue(ManagedConnectionFactoryDeploymentMetaData attachment, ManagedObject mo)
+   {
+      // Create the correct type of SecurityMetaData
+      ManagedProperty type = mo.getProperty("securityDeploymentType");
+      ManagedProperty domain = mo.getProperty("domain");
+      String domainName = ((SimpleValue) domain.getValue()).getValue().toString();
+      EnumValue typeValue = (EnumValue) type.getValue();
+      String typeString = typeValue.getValue();
+      SecurityDeploymentType stype = SecurityDeploymentType.valueOf(typeString);
+      SecurityMetaData domainMD = null;
+      switch(stype)
+      {
+         case APPLICATION:
+            domainMD = new ApplicationManagedSecurityMetaData();
+            break;
+         case DOMAIN:
+            domainMD = new SecurityDomainMetaData();
+            break;
+         case DOMAIN_AND_APPLICATION:
+            domainMD = new SecurityDomainApplicationManagedMetaData();
+            break;
+         default:
+         case NONE:
+            domainMD = new SecurityMetaData();
+            break;
+      }
+      domainMD.setDomain(domainName);
+      attachment.setSecurityMetaData(domainMD);
+   }
 }

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/LocalDSInstanceClassFactory.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/LocalDSInstanceClassFactory.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/LocalDSInstanceClassFactory.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -26,7 +26,10 @@
 import java.util.List;
 
 import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.info.spi.PropertyInfo;
+import org.jboss.managed.api.ManagedObject;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
 import org.jboss.managed.plugins.factory.AbstractInstanceClassFactory;
 import org.jboss.metatype.api.types.SimpleMetaType;
 import org.jboss.metatype.api.values.MapCompositeValueSupport;
@@ -36,6 +39,8 @@
 import org.jboss.resource.metadata.mcf.LocalDataSourceDeploymentMetaData;
 
 /**
+ * An InstanceClassFactory for LocalDataSourceDeploymentMetaData that handles
+ * connection-properties property as a MapCompositeValueSupport.
  * 
  * @author Scott.Stark at jboss.org
  * @version $Revision$
@@ -43,6 +48,14 @@
 public class LocalDSInstanceClassFactory
    extends AbstractInstanceClassFactory<LocalDataSourceDeploymentMetaData>
 {
+   public LocalDSInstanceClassFactory()
+   {
+      super();
+   }
+   public LocalDSInstanceClassFactory(ManagedObjectFactory mof)
+   {
+      super(mof);
+   }
 
    public Class<? extends Serializable> getManagedObjectClass(
          LocalDataSourceDeploymentMetaData attachment)
@@ -77,6 +90,15 @@
    }
 
    @Override
+   protected void setManagedObject(BeanInfo beanInfo,
+         PropertyInfo propertyInfo, LocalDataSourceDeploymentMetaData object,
+         ManagedObject mo)
+   {
+      if(propertyInfo.getName().equals("security-domain"))
+         InstanceClassFactoryUtils.setValue(object, mo);
+   }
+
+   @Override
    protected Object unwrapValue(BeanInfo beanInfo, ManagedProperty property,
          MetaValue value)
    {

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxCFInstanceClassFactory.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxCFInstanceClassFactory.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxCFInstanceClassFactory.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -23,12 +23,15 @@
 
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
 import org.jboss.managed.plugins.factory.AbstractInstanceClassFactory;
 import org.jboss.metatype.api.values.MapCompositeValueSupport;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.resource.metadata.mcf.NoTxConnectionFactoryDeploymentMetaData;
 
 /**
+ * An InstanceClassFactory implementation that handles the NoTxConnectionFactoryDeploymentMetaData
+ * config-property property.
  * 
  * @author Scott.Stark at jboss.org
  * @version $Revision$
@@ -36,6 +39,15 @@
 public class NoTxCFInstanceClassFactory
    extends AbstractInstanceClassFactory<NoTxConnectionFactoryDeploymentMetaData>
 {
+   public NoTxCFInstanceClassFactory()
+   {
+      super();
+   }
+   public NoTxCFInstanceClassFactory(ManagedObjectFactory mof)
+   {
+      super(mof);
+   }
+
    public MetaValue getValue(BeanInfo beanInfo, ManagedProperty property,
          NoTxConnectionFactoryDeploymentMetaData attachment)
    {

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxInstanceClassFactory.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxInstanceClassFactory.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/NoTxInstanceClassFactory.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -21,23 +21,32 @@
  */
 package org.jboss.resource.deployers.management;
 
-import java.io.Serializable;
-
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
 import org.jboss.managed.plugins.factory.AbstractInstanceClassFactory;
 import org.jboss.metatype.api.values.MapCompositeValueSupport;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.resource.metadata.mcf.NoTxDataSourceDeploymentMetaData;
 
 /**
- * 
+ * An InstanceClassFactory implementation for NoTxDataSourceDeploymentMetaData
+ * that handles the config-property property.
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
 public class NoTxInstanceClassFactory
    extends AbstractInstanceClassFactory<NoTxDataSourceDeploymentMetaData>
 {
+   public NoTxInstanceClassFactory()
+   {
+      super();
+   }
+   public NoTxInstanceClassFactory(ManagedObjectFactory mof)
+   {
+      super(mof);
+   }
+
    public MetaValue getValue(BeanInfo beanInfo, ManagedProperty property,
          NoTxDataSourceDeploymentMetaData attachment)
    {

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/TxInstanceClassFactory.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/TxInstanceClassFactory.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/TxInstanceClassFactory.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -21,16 +21,17 @@
  */
 package org.jboss.resource.deployers.management;
 
-import java.io.Serializable;
-
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
 import org.jboss.managed.plugins.factory.AbstractInstanceClassFactory;
 import org.jboss.metatype.api.values.MapCompositeValueSupport;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.resource.metadata.mcf.TxConnectionFactoryDeploymentMetaData;
 
 /**
+ * An InstanceClassFactory implementation for TxConnectionFactoryDeploymentMetaData
+ * that handles the config-property property.
  * 
  * @author Scott.Stark at jboss.org
  * @version $Revision$
@@ -38,6 +39,16 @@
 public class TxInstanceClassFactory
    extends AbstractInstanceClassFactory<TxConnectionFactoryDeploymentMetaData>
 {
+   
+   public TxInstanceClassFactory()
+   {
+      super();
+   }
+   public TxInstanceClassFactory(ManagedObjectFactory mof)
+   {
+      super(mof);
+   }
+
    public MetaValue getValue(BeanInfo beanInfo, ManagedProperty property,
          TxConnectionFactoryDeploymentMetaData attachment)
    {

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/XADSInstanceClassFactory.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/XADSInstanceClassFactory.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/XADSInstanceClassFactory.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -21,13 +21,13 @@
  */
 package org.jboss.resource.deployers.management;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.logging.Logger;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
 import org.jboss.managed.plugins.factory.AbstractInstanceClassFactory;
 import org.jboss.metatype.api.types.SimpleMetaType;
 import org.jboss.metatype.api.values.MapCompositeValueSupport;
@@ -37,7 +37,9 @@
 import org.jboss.resource.metadata.mcf.XADataSourceDeploymentMetaData;
 
 /**
- * InstanceClassFactory for XADataSourceDeploymentMetaData
+ * An InstanceClassFactory for XADataSourceDeploymentMetaData that handles
+ * the xa-datasource-properties property as a MapCompositeValueSupport
+ * 
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
@@ -46,6 +48,15 @@
 {
    private static final Logger log = Logger.getLogger(XADSInstanceClassFactory.class);
 
+   public XADSInstanceClassFactory()
+   {
+      super();
+   }
+   public XADSInstanceClassFactory(ManagedObjectFactory mof)
+   {
+      super(mof);
+   }
+
    public MetaValue getValue(BeanInfo beanInfo, ManagedProperty property,
          XADataSourceDeploymentMetaData attachment)
    {

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/SecurityMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/SecurityMetaData.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/SecurityMetaData.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -37,7 +37,7 @@
  * @version $Revision: 1.1 $
  */
 @XmlAccessorType(XmlAccessType.NONE)
- at ManagementObject
+ at ManagementObject(description="The security domain, type information")
 public class SecurityMetaData implements Serializable, SecurityMetaDataSupport
 {
    /** The serialVersionUID */

Modified: trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java
===================================================================
--- trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java	2008-09-08 22:40:09 UTC (rev 78216)
+++ trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java	2008-09-08 22:41:07 UTC (rev 78217)
@@ -230,7 +230,8 @@
    {
       enableTrace("org.jboss.managed.plugins.factory");
       ManagedObjectFactory mof = ManagedObjectFactory.getInstance();
-      LocalDSInstanceClassFactory icf = new LocalDSInstanceClassFactory();
+      LocalDSInstanceClassFactory icf = new LocalDSInstanceClassFactory(mof);
+      icf.setMof(mof);
       mof.setInstanceClassFactory(LocalDataSourceDeploymentMetaData.class, icf);
       LocalDataSourceDeploymentMetaData lds = new LocalDataSourceDeploymentMetaData();
       // Set a SecurityMetaData to validate its MO




More information about the jboss-cvs-commits mailing list