[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