[jboss-cvs] JBossAS SVN: r65803 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/ejb and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Oct 3 11:42:55 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-03 11:42:55 -0400 (Wed, 03 Oct 2007)
New Revision: 65803
Added:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaDataWrapper.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/DescriptionsWrapper.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
projects/metadata/trunk/src/test/resources/log4j.xml
projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
Log:
Add support for jboss/standardjboss delegation.
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java 2007-10-03 15:22:54 UTC (rev 65802)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java 2007-10-03 15:42:55 UTC (rev 65803)
@@ -146,6 +146,13 @@
/** The depends */
private Set<String> depends;
+ // Flags for
+ private boolean commitOptionWasSet;
+ private boolean callLoggingWasSet;
+ private boolean ejbStoreOnCleanWasSet;
+ private boolean insertAfterEjbPostCreateWasSet;
+ private boolean storeNotFlushedWasSet;
+ private boolean syncOnCommitOnlyWasSet;
/**
* Get the containerName.
@@ -201,6 +208,11 @@
{
return callLogging;
}
+ @XmlTransient
+ public boolean callLoggingWasSet()
+ {
+ return callLoggingWasSet;
+ }
/**
* Set the callLogging.
@@ -210,6 +222,7 @@
public void setCallLogging(boolean callLogging)
{
this.callLogging = callLogging;
+ callLoggingWasSet = true;
}
/**
@@ -221,6 +234,11 @@
{
return syncOnCommitOnly;
}
+ @XmlTransient
+ public boolean syncOnCommitOnlyWasSet()
+ {
+ return syncOnCommitOnlyWasSet;
+ }
/**
* Set the syncOnCommitOnly.
@@ -230,6 +248,7 @@
public void setSyncOnCommitOnly(boolean syncOnCommitOnly)
{
this.syncOnCommitOnly = syncOnCommitOnly;
+ syncOnCommitOnlyWasSet = true;
}
/**
@@ -241,6 +260,11 @@
{
return insertAfterEjbPostCreate;
}
+ @XmlTransient
+ public boolean insertAfterEjbPostCreateWasSet()
+ {
+ return insertAfterEjbPostCreateWasSet;
+ }
/**
* Set the insertAfterEjbPostCreate.
@@ -250,6 +274,7 @@
public void setInsertAfterEjbPostCreate(boolean insertAfterEjbPostCreate)
{
this.insertAfterEjbPostCreate = insertAfterEjbPostCreate;
+ insertAfterEjbPostCreateWasSet = true;
}
/**
@@ -261,6 +286,11 @@
{
return ejbStoreOnClean;
}
+ @XmlTransient
+ public boolean ejbStoreOnCleanWasSet()
+ {
+ return ejbStoreOnCleanWasSet;
+ }
/**
* Set the ejbStoreOnClean.
@@ -271,6 +301,7 @@
public void setEjbStoreOnClean(boolean ejbStoreOnClean)
{
this.ejbStoreOnClean = ejbStoreOnClean;
+ ejbStoreOnCleanWasSet = true;
}
/**
@@ -282,6 +313,11 @@
{
return storeNotFlushed;
}
+ @XmlTransient
+ public boolean storeNotFlushedWasSet()
+ {
+ return storeNotFlushedWasSet;
+ }
/**
* Set the storeNotFlushed.
@@ -292,6 +328,7 @@
public void setStoreNotFlushed(boolean storeNotFlushed)
{
this.storeNotFlushed = storeNotFlushed;
+ storeNotFlushedWasSet = true;
}
/**
@@ -441,6 +478,11 @@
{
return commitOption;
}
+ @XmlTransient
+ boolean commitOptionWasSet()
+ {
+ return commitOptionWasSet;
+ }
/**
* Set the commitOption.
@@ -453,6 +495,7 @@
if (commitOption == null)
throw new IllegalArgumentException("Null commitOption");
this.commitOption = commitOption;
+ commitOptionWasSet = true;
}
/**
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaDataWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaDataWrapper.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaDataWrapper.java 2007-10-03 15:42:55 UTC (rev 65803)
@@ -0,0 +1,262 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.metadata.ejb.jboss;
+
+import java.util.Set;
+
+import org.jboss.annotation.javaee.Descriptions;
+import org.w3c.dom.Element;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class ContainerConfigurationMetaDataWrapper extends ContainerConfigurationMetaData
+{
+ private static final long serialVersionUID = 1;
+ private transient ContainerConfigurationMetaData primary;
+ private transient ContainerConfigurationMetaData defaults;
+
+ ContainerConfigurationMetaDataWrapper(ContainerConfigurationMetaData primary,
+ ContainerConfigurationMetaData defaults)
+ {
+ this.primary = primary;
+ this.defaults = defaults;
+ }
+
+ @Override
+ public Descriptions getDescriptions()
+ {
+ return primary.getDescriptions();
+ }
+
+ @Override
+ public String getKey()
+ {
+ return primary.getKey();
+ }
+
+ @Override
+ public String getName()
+ {
+ return primary.getName();
+ }
+
+ @Override
+ public String getId()
+ {
+ return primary.getId();
+ }
+
+ @Override
+ public ClusterConfigMetaData getClusterConfig()
+ {
+ ClusterConfigMetaData md = primary.getClusterConfig();
+ if (md == null)
+ md = defaults.getClusterConfig();
+ return md;
+ }
+
+ @Override
+ public CommitOption getCommitOption()
+ {
+ CommitOption co = defaults != null ? defaults.getCommitOption() : CommitOption.A;
+ if (primary.commitOptionWasSet())
+ co = primary.getCommitOption();
+ return co;
+ }
+
+ @Override
+ public Element getContainerCacheConf()
+ {
+ Element conf = primary.getContainerCacheConf();
+ if (conf == null && defaults != null)
+ conf = defaults.getContainerCacheConf();
+ return conf;
+ }
+
+ @Override
+ public Element getContainerInterceptors()
+ {
+ Element conf = primary.getContainerInterceptors();
+ if (conf == null && defaults != null)
+ conf = defaults.getContainerInterceptors();
+ return conf;
+ }
+
+ @Override
+ public String getContainerName()
+ {
+ return primary.getContainerName();
+ }
+
+ @Override
+ public Element getContainerPoolConf()
+ {
+ Element conf = primary.getContainerPoolConf();
+ if (conf == null && defaults != null)
+ conf = defaults.getContainerPoolConf();
+ return conf;
+ }
+
+ @Override
+ public String getDefaultInvokerName()
+ {
+ String name = primary.getDefaultInvokerName();
+ if (name == null && defaults != null)
+ name = defaults.getDefaultInvokerName();
+ return name;
+ }
+
+ @Override
+ public Set<String> getDepends()
+ {
+ return primary.getDepends();
+ }
+
+ @Override
+ public String getExtendsName()
+ {
+ return primary.getExtendsName();
+ }
+
+ @Override
+ public String getInstanceCache()
+ {
+ String name = primary.getInstanceCache();
+ if (name == null && defaults != null)
+ name = defaults.getInstanceCache();
+ return name;
+ }
+
+ @Override
+ public String getInstancePool()
+ {
+ String name = primary.getInstancePool();
+ if (name == null && defaults != null)
+ name = defaults.getInstancePool();
+ return name;
+ }
+
+ @Override
+ public Set<String> getInvokerProxyBindingNames()
+ {
+ Set<String> names = primary.getInvokerProxyBindingNames();
+ if (names == null || names.isEmpty() && defaults != null)
+ names = defaults.getInvokerProxyBindingNames();
+ return names;
+ }
+
+ @Override
+ public String getLockingPolicy()
+ {
+ String name = primary.getLockingPolicy();
+ if (name == null && defaults != null)
+ name = defaults.getLockingPolicy();
+ return name;
+ }
+
+ @Override
+ public int getOptiondRefreshRate()
+ {
+ return primary.getOptiondRefreshRate();
+ }
+
+ @Override
+ public long getOptiondRefreshRateMillis()
+ {
+ return primary.getOptiondRefreshRateMillis();
+ }
+
+ @Override
+ public String getPersistenceManager()
+ {
+ String name = primary.getPersistenceManager();
+ if (name == null && defaults != null)
+ name = defaults.getPersistenceManager();
+ return name;
+ }
+
+ @Override
+ public String getSecurityDomain()
+ {
+ String name = primary.getSecurityDomain();
+ if (name == null && defaults != null)
+ name = defaults.getSecurityDomain();
+ return name;
+ }
+
+ @Override
+ public String getWebClassLoader()
+ {
+ String name = primary.getWebClassLoader();
+ if (name == null && defaults != null)
+ name = defaults.getWebClassLoader();
+ return name;
+ }
+
+ @Override
+ public boolean isCallLogging()
+ {
+ boolean flag = defaults != null ? defaults.isCallLogging() : false;
+ if (primary.callLoggingWasSet())
+ flag = primary.isCallLogging();
+ return flag;
+ }
+
+ @Override
+ public boolean isEjbStoreOnClean()
+ {
+ boolean flag = defaults != null ? defaults.isEjbStoreOnClean() : false;
+ if (primary.ejbStoreOnCleanWasSet())
+ flag = primary.isEjbStoreOnClean();
+ return flag;
+ }
+
+ @Override
+ public boolean isInsertAfterEjbPostCreate()
+ {
+ boolean flag = defaults != null ? defaults.isInsertAfterEjbPostCreate() : false;
+ if (primary.insertAfterEjbPostCreateWasSet())
+ flag = primary.isInsertAfterEjbPostCreate();
+ return flag;
+ }
+
+ @Override
+ public boolean isStoreNotFlushed()
+ {
+ boolean flag = defaults != null ? defaults.isStoreNotFlushed() : false;
+ if (primary.storeNotFlushedWasSet())
+ flag = primary.isStoreNotFlushed();
+ return flag;
+ }
+
+ @Override
+ public boolean isSyncOnCommitOnly()
+ {
+ boolean flag = defaults != null ? defaults.isSyncOnCommitOnly() : false;
+ if (primary.syncOnCommitOnlyWasSet())
+ flag = primary.isSyncOnCommitOnly();
+ return flag;
+ }
+
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaDataWrapper.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java 2007-10-03 15:42:55 UTC (rev 65803)
@@ -0,0 +1,134 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.metadata.ejb.jboss;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.jboss.annotation.javaee.Descriptions;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationsMetaData;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class ContainerConfigurationsMetaDataWrapper extends ContainerConfigurationsMetaData
+{
+ private static final long serialVersionUID = 1;
+ private ContainerConfigurationsMetaData primary;
+ private ContainerConfigurationsMetaData defaults;
+ private HashMap<String, ContainerConfigurationMetaData> merged = new HashMap<String, ContainerConfigurationMetaData>();
+
+ ContainerConfigurationsMetaDataWrapper(ContainerConfigurationsMetaData primary,
+ ContainerConfigurationsMetaData defaults)
+ {
+ this.primary = primary;
+ this.defaults = defaults;
+ for(String key : defaults.keySet())
+ {
+ ContainerConfigurationMetaData md = defaults.get(key);
+ String extendsName = md.getExtendsName();
+ if (extendsName != null)
+ {
+ ContainerConfigurationMetaData parent = defaults.get(extendsName);
+ ContainerConfigurationMetaDataWrapper wrapper = new ContainerConfigurationMetaDataWrapper(md, parent);
+ md = wrapper;
+ }
+ merged.put(key, md);
+ }
+ for(String key : primary.keySet())
+ {
+ ContainerConfigurationMetaData md = primary.get(key);
+ String extendsName = md.getExtendsName();
+ if (extendsName != null)
+ {
+ ContainerConfigurationMetaData parent = primary.get(extendsName);
+ if (parent == null)
+ parent = defaults.get(extendsName);
+ ContainerConfigurationMetaDataWrapper wrapper = new ContainerConfigurationMetaDataWrapper(md, parent);
+ md = wrapper;
+ }
+ merged.put(key, md);
+ }
+ }
+
+ public boolean containsKey(String key)
+ {
+ return merged.containsKey(key);
+ }
+
+ public ContainerConfigurationMetaData get(String key)
+ {
+ ContainerConfigurationMetaData ccmd = merged.get(key);
+ return ccmd;
+ }
+
+ public Descriptions getDescriptions()
+ {
+ return new DescriptionsWrapper(primary.getDescriptions(), defaults.getDescriptions());
+ }
+
+ public String getId()
+ {
+ return primary.getId();
+ }
+
+ public boolean isEmpty()
+ {
+ boolean isEmpty = merged.isEmpty();
+ return isEmpty;
+ }
+
+ public Iterator<ContainerConfigurationMetaData> iterator()
+ {
+ return merged.values().iterator();
+ }
+
+ public Set<String> keySet()
+ {
+ return merged.keySet();
+ }
+
+
+ @Override
+ public int size()
+ {
+ return merged.size();
+ }
+
+ public Object[] toArray()
+ {
+ return merged.values().toArray();
+ }
+
+ public <X> X[] toArray(X[] a)
+ {
+ return merged.values().toArray(a);
+ }
+
+ public String toString()
+ {
+ return merged.toString();
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/DescriptionsWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/DescriptionsWrapper.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/DescriptionsWrapper.java 2007-10-03 15:42:55 UTC (rev 65803)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.metadata.ejb.jboss;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+
+import org.jboss.annotation.javaee.Description;
+import org.jboss.annotation.javaee.Descriptions;
+
+/**
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class DescriptionsWrapper
+ implements Descriptions
+{
+ private static final long serialVersionUID = 1;
+ private Description[] value;
+
+ DescriptionsWrapper(Descriptions primary, Descriptions defaults)
+ {
+ ArrayList<Description> tmp = new ArrayList<Description>();
+ Description[] d = primary != null ? primary.value() : null;
+ if (d != null)
+ {
+ for(Description desc : d)
+ tmp.add(desc);
+ }
+ d = defaults != null ? defaults.value() : null;
+ if (d != null)
+ {
+ for(Description desc : d)
+ tmp.add(desc);
+ }
+ value = new Description[tmp.size()];
+ tmp.toArray(value);
+ }
+
+ public Class<? extends Annotation> annotationType()
+ {
+ return Descriptions.class;
+ }
+
+ public Description[] value()
+ {
+ return value;
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/DescriptionsWrapper.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java 2007-10-03 15:42:55 UTC (rev 65803)
@@ -0,0 +1,221 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.metadata.ejb.jboss;
+
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationsMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.LoaderRepositoryMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
+import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.metadata.ejb.spec.EjbJarMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+
+/**
+ * Read only wrapper that combines a primary and standardjboss.xml defaults into
+ * a unified view.
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class JBossMetaDataWrapper extends JBossMetaData
+{
+ private static final long serialVersionUID = 1;
+ private JBossMetaData primary;
+ private JBossMetaData defaults;
+ private ContainerConfigurationsMetaData configurationsWrapper;
+
+ public JBossMetaDataWrapper(JBossMetaData primary, JBossMetaData defaults)
+ {
+ this.primary = primary;
+ this.defaults = defaults;
+ configurationsWrapper = new ContainerConfigurationsMetaDataWrapper(primary.getContainerConfigurations(),
+ defaults.getContainerConfigurations());
+ wireOverrides();
+ }
+
+ @Override
+ public JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
+ {
+ return primary.getAssemblyDescriptor();
+ }
+
+ @Override
+ public ContainerConfigurationMetaData getContainerConfiguration(String name)
+ {
+ ContainerConfigurationMetaData ccmd = configurationsWrapper.get(name);
+ return ccmd;
+ }
+
+ @Override
+ public ContainerConfigurationsMetaData getContainerConfigurations()
+ {
+ return configurationsWrapper;
+ }
+
+ @Override
+ public JBossEnterpriseBeanMetaData getEnterpriseBean(String name)
+ {
+ return primary.getEnterpriseBean(name);
+ }
+
+ @Override
+ public JBossEnterpriseBeansMetaData getEnterpriseBeans()
+ {
+ return primary.getEnterpriseBeans();
+ }
+
+ @Override
+ public InvokerProxyBindingMetaData getInvokerProxyBinding(String name)
+ {
+ return primary.getInvokerProxyBinding(name);
+ }
+
+ @Override
+ public InvokerProxyBindingsMetaData getInvokerProxyBindings()
+ {
+ return primary.getInvokerProxyBindings();
+ }
+
+ @Override
+ public String getJmxName()
+ {
+ return primary.getJmxName();
+ }
+
+ @Override
+ public LoaderRepositoryMetaData getLoaderRepository()
+ {
+ return primary.getLoaderRepository();
+ }
+
+ @Override
+ public JBossAssemblyDescriptorMetaData getMergedAssemblyDescriptor()
+ {
+ return primary.getMergedAssemblyDescriptor();
+ }
+
+ @Override
+ public JBossEnterpriseBeanMetaData getMergedEnterpriseBean(String name)
+ {
+ return primary.getMergedEnterpriseBean(name);
+ }
+
+ @Override
+ public JBossEnterpriseBeansMetaData getMergedEnterpriseBeans()
+ {
+ return primary.getMergedEnterpriseBeans();
+ }
+
+ @Override
+ public ResourceManagerMetaData getResourceManager(String name)
+ {
+ return primary.getResourceManager(name);
+ }
+
+ @Override
+ public ResourceManagersMetaData getResourceManagers()
+ {
+ return primary.getResourceManagers();
+ }
+
+ @Override
+ public String getSecurityDomain()
+ {
+ return primary.getSecurityDomain();
+ }
+
+ @Override
+ public String getUnauthenticatedPrincipal()
+ {
+ String unauthenticatedPrincipal = primary.getUnauthenticatedPrincipal();
+ if (unauthenticatedPrincipal == null)
+ unauthenticatedPrincipal = defaults.getUnauthenticatedPrincipal();
+ return unauthenticatedPrincipal;
+ }
+
+ @Override
+ public String getVersion()
+ {
+ return primary.getVersion();
+ }
+
+ @Override
+ public WebservicesMetaData getWebservices()
+ {
+ return primary.getWebservices();
+ }
+
+ @Override
+ public boolean isExceptionOnRollback()
+ {
+ return primary.isExceptionOnRollback();
+ }
+
+ @Override
+ public boolean isExcludeMissingMethods()
+ {
+ return primary.isExcludeMissingMethods();
+ }
+
+ @Override
+ public EjbJarMetaData getOverridenMetaData()
+ {
+ return primary.getOverridenMetaData();
+ }
+
+ @Override
+ public void setOverridenMetaData(EjbJarMetaData data)
+ {
+ primary.setOverridenMetaData(data);
+ }
+
+ @Override
+ public DescriptionGroupMetaData getDescriptionGroup()
+ {
+ return primary.getDescriptionGroup();
+ }
+
+ @Override
+ public String getId()
+ {
+ return primary.getId();
+ }
+
+ @Override
+ public String toString()
+ {
+ return primary.toString();
+ }
+
+ protected void wireOverrides()
+ {
+ JBossEnterpriseBeansMetaData beans = primary.getEnterpriseBeans();
+ beans.setJBossMetaData(this);
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java 2007-10-03 15:22:54 UTC (rev 65802)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java 2007-10-03 15:42:55 UTC (rev 65803)
@@ -48,6 +48,7 @@
import org.jboss.metadata.ejb.jboss.WebserviceDescriptionMetaData;
import org.jboss.metadata.ejb.jboss.WebserviceDescriptionsMetaData;
import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper;
import org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData;
import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
import org.jboss.metadata.ejb.spec.EjbJarMetaData;
@@ -82,6 +83,9 @@
*/
public class JBoss5xEverythingUnitTestCase extends AbstractEJBEverythingTest
{
+ /** Is there a standardjboss.xml default available */
+ private boolean hasStandardJBoss = false;
+
public static Test suite()
{
return suite(JBoss5xEverythingUnitTestCase.class);
@@ -135,7 +139,8 @@
{
//enableTrace("org.jboss.xb");
//enableTrace("org.jboss.xb.builder");
- JBoss50MetaData jbossMetaData = unmarshal();
+ JBoss50MetaData jbossMetaData = unmarshal();
+ hasStandardJBoss = false;
assertEverything(jbossMetaData);
}
public void testStandard() throws Exception
@@ -144,10 +149,12 @@
//enableTrace("org.jboss.xb.builder");
JBoss50MetaData stdMetaData = unmarshal();
JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
- assertEverything(stdMetaData);
+ JBossMetaDataWrapper wrapper = new JBossMetaDataWrapper(jbossMetaData, stdMetaData);
+ hasStandardJBoss = true;
+ assertEverything(wrapper);
}
- public void assertEverything(JBoss50MetaData jbossMetaData)
+ public void assertEverything(JBossMetaData jbossMetaData)
{
assertVersion(jbossMetaData);
assertId("jboss", jbossMetaData);
@@ -167,9 +174,11 @@
assertInvokerProxyBindings(jbossMetaData.getInvokerProxyBindings());
assertInvokerProxyBinding("invokerProxyBinding1", 1, jbossMetaData.getInvokerProxyBinding("invokerProxyBinding1Name"));
assertInvokerProxyBinding("invokerProxyBinding2", 2, jbossMetaData.getInvokerProxyBinding("invokerProxyBinding2Name"));
- fixUpContainerConfigurations(jbossMetaData);
+ int dummyConfigs = fixUpContainerConfigurations(jbossMetaData);
+ if (hasStandardJBoss)
+ assertEquals("There should be no dummy configs", 0, dummyConfigs);
assertContainerConfigurations(jbossMetaData);
-
+
fixUpEjbJar(jbossMetaData);
//ApplicationMetaData application = new ApplicationMetaData(jbossMetaData);
//assertEquals("jboss-jmx-name", application.getJmxName());
@@ -200,7 +209,7 @@
}
}
- private void assertVersion(JBoss50MetaData jbossMetaData)
+ private void assertVersion(JBossMetaData jbossMetaData)
{
assertEquals("5.0", jbossMetaData.getVersion());
}
@@ -445,10 +454,12 @@
assertEquals(prefix + "AOPDomain", session.getAopDomainName());
- // TODO DOM cache-config
-
- // TODO DOM pool-config
-
+ if (this.hasStandardJBoss)
+ {
+ ContainerConfigurationMetaData ccmd = session.determineContainerConfiguration();
+ this.assertContainerPoolConf(prefix, ccmd.getContainerPoolConf());
+ }
+
if (first)
assertTrue(session.isConcurrent());
else
@@ -801,36 +812,84 @@
assertNull(mdb.getJndiRefs());
}
- private void fixUpContainerConfigurations(JBossMetaData jbossMetaData)
+ /**
+ * Add dummy configurations refenced by the testEverything.xml descriptor
+ * @param jbossMetaData
+ * @return the number of dummy configs added
+ */
+ private int fixUpContainerConfigurations(JBossMetaData jbossMetaData)
{
ContainerConfigurationsMetaData configurations = jbossMetaData.getContainerConfigurations();
assertNotNull(configurations);
- fixUpContainerConfiguration(ContainerConfigurationMetaData.STATELESS, configurations);
- fixUpContainerConfiguration(ContainerConfigurationMetaData.CMP_2x, configurations);
- fixUpContainerConfiguration(ContainerConfigurationMetaData.MESSAGE_INFLOW_DRIVEN, configurations);
- fixUpContainerConfiguration("session1ConfigurationName", configurations);
- fixUpContainerConfiguration("session2ConfigurationName", configurations);
- fixUpContainerConfiguration("entity1ConfigurationName", configurations);
- fixUpContainerConfiguration("entity2ConfigurationName", configurations);
- fixUpContainerConfiguration("mdb1ConfigurationName", configurations);
- fixUpContainerConfiguration("mdb2ConfigurationName", configurations);
+ int fixCount = 0;
+
+ if (fixUpContainerConfiguration(ContainerConfigurationMetaData.STATELESS, configurations) )
+ {
+ getLog().debug("Added dummy config: "+ContainerConfigurationMetaData.STATELESS);
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration(ContainerConfigurationMetaData.CMP_2x, configurations) )
+ {
+ getLog().debug("Added dummy config: "+ContainerConfigurationMetaData.CMP_2x);
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration(ContainerConfigurationMetaData.MESSAGE_INFLOW_DRIVEN, configurations) )
+ {
+ getLog().debug("Added dummy config: "+ContainerConfigurationMetaData.MESSAGE_INFLOW_DRIVEN);
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration("session1ConfigurationName", configurations) )
+ {
+ getLog().debug("Added dummy config: "+"session1ConfigurationName");
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration("session2ConfigurationName", configurations) )
+ {
+ getLog().debug("Added dummy config: "+"session2ConfigurationName");
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration("entity1ConfigurationName", configurations) )
+ {
+ getLog().debug("Added dummy config: "+"entity1ConfigurationName");
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration("entity2ConfigurationName", configurations) )
+ {
+ getLog().debug("Added dummy config: "+"entity2ConfigurationName");
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration("mdb1ConfigurationName", configurations) )
+ {
+ getLog().debug("Added dummy config: "+"mdb1ConfigurationName");
+ fixCount ++;
+ }
+ if (fixUpContainerConfiguration("mdb2ConfigurationName", configurations) )
+ {
+ getLog().debug("Added dummy config: "+"mdb2ConfigurationName");
+ fixCount ++;
+ }
+ return fixCount;
}
-
- private void fixUpContainerConfiguration(String name, ContainerConfigurationsMetaData configurations)
+
+ private boolean fixUpContainerConfiguration(String name, ContainerConfigurationsMetaData configurations)
{
+ boolean added = false;
if (configurations.get(name) == null)
{
ContainerConfigurationMetaData configuration = new ContainerConfigurationMetaData();
configuration.setName(name);
configurations.add(configuration);
+ added = true;
}
+ return added;
}
private void assertContainerConfigurations(JBossMetaData jbossMetaData)
{
ContainerConfigurationsMetaData configurations = jbossMetaData.getContainerConfigurations();
assertNotNull(configurations);
- assertEquals(14, configurations.size());
+ int expectedSize = hasStandardJBoss ? 32 : 14;
+ assertEquals(expectedSize, configurations.size());
assertNullContainerConfiguration("containerConfiguration0", jbossMetaData);
assertFullContainerConfiguration("containerConfiguration1", jbossMetaData, true);
assertFullContainerConfiguration("containerConfiguration2", jbossMetaData, false);
@@ -984,11 +1043,18 @@
assertEquals("0.75", getElementText("cache-load-factor", policyConf));
}
+ /**
+ * Validate the container-configuration/container-pool-conf
+ * @param prefix
+ * @param config
+ */
private void assertContainerPoolConf(String prefix, Element config)
{
assertNotNull(prefix+" container-pool-conf", config);
String id = config.getAttribute("id");
- assertEquals(prefix+"-pool-conf", id);
+ // standardjboss.xml does not specify ids
+ if (hasStandardJBoss == false || id.length() > 0)
+ assertEquals(prefix+"-pool-conf", id);
assertEquals("100", getElementText("MaximumSize", config));
}
Modified: projects/metadata/trunk/src/test/resources/log4j.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/log4j.xml 2007-10-03 15:22:54 UTC (rev 65802)
+++ projects/metadata/trunk/src/test/resources/log4j.xml 2007-10-03 15:42:55 UTC (rev 65803)
@@ -60,7 +60,7 @@
<!-- ============================== -->
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <!--param name="Threshold" value="FATAL"/-->
+ <param name="Threshold" value="DEBUG"/>
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
@@ -70,52 +70,15 @@
</appender>
- <!-- ====================== -->
- <!-- More Appender examples -->
- <!-- ====================== -->
-
- <!-- Buffer events and log them asynchronously
- <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
- <appender-ref ref="FILE"/>
- <appender-ref ref="CONSOLE"/>
- </appender>
- -->
-
- <!-- EMail events to an administrator
- <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
- <param name="Threshold" value="ERROR"/>
- <param name="To" value="admin at myhost.domain.com"/>
- <param name="From" value="nobody at myhost.domain.com"/>
- <param name="Subject" value="JBoss Sever Errors"/>
- <param name="SMTPHost" value="localhost"/>
- <param name="BufferSize" value="10"/>
- </appender>
- -->
-
- <!-- Syslog events
- <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
- <param name="Facility" value="LOCAL7"/>
- <param name="FacilityPrinting" value="true"/>
- <param name="SyslogHost" value="localhost"/>
- </appender>
- -->
-
- <!-- Log events to JMS (requires a topic to be created)
- <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
- <param name="Threshold" value="ERROR"/>
- <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
- <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
- </appender>
- -->
-
<!-- ================ -->
<!-- Limit categories -->
<!-- ================ -->
- <!-- Limit JBoss categories to INFO -->
+ <!-- Limit JBoss categories to INFO
<category name="org.jboss">
<priority value="INFO" class="org.jboss.logging.XLevel"/>
</category>
+ -->
<!-- Increase the priority threshold for the DefaultDS category
<category name="DefaultDS">
Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml 2007-10-03 15:22:54 UTC (rev 65802)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml 2007-10-03 15:42:55 UTC (rev 65803)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-
+<!-- $Id:$ -->
<jboss xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:jee="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -2732,6 +2732,26 @@
<jee:description>en-container-configurations-desc</jee:description>
<jee:description xml:lang="fr">fr-container-configurations-desc</jee:description>
<jee:description xml:lang="de">de-container-configurations-desc</jee:description>
+
+ <container-configuration extends="Standard Stateless SessionBean">
+ <container-name>session1ConfigurationName</container-name>
+ </container-configuration>
+ <container-configuration extends="Standard Stateless SessionBean">
+ <container-name>session2ConfigurationName</container-name>
+ </container-configuration>
+ <container-configuration extends="Standard CMP 2.x EntityBean">
+ <container-name>entity1ConfigurationName</container-name>
+ </container-configuration>
+ <container-configuration extends="Standard CMP 2.x EntityBean">
+ <container-name>entity2ConfigurationName</container-name>
+ </container-configuration>
+ <container-configuration extends="Standard Message Inflow Driven Bean">
+ <container-name>mdb1ConfigurationName</container-name>
+ </container-configuration>
+ <container-configuration extends="Standard Message Inflow Driven Bean">
+ <container-name>mdb2ConfigurationName</container-name>
+ </container-configuration>
+
<container-configuration>
<container-name>containerConfiguration0Name</container-name>
</container-configuration>
More information about the jboss-cvs-commits
mailing list