[jboss-cvs] JBossAS SVN: r66765 - projects/metadata/trunk/src/main/java/org/jboss/metadata.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Nov 6 08:15:58 EST 2007
Author: alex.loubyansky at jboss.com
Date: 2007-11-06 08:15:58 -0500 (Tue, 06 Nov 2007)
New Revision: 66765
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaDataIterator.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java
Log:
make sure all the old-style beans in a module get the same application metadata instance (which also serves as a registry for 'plugin' data, e.g. cmp metadata)
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java 2007-11-06 13:10:43 UTC (rev 66764)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java 2007-11-06 13:15:58 UTC (rev 66765)
@@ -174,7 +174,7 @@
public Iterator<BeanMetaData> getEnterpriseBeans()
{
JBossEnterpriseBeansMetaData beans = (JBossEnterpriseBeansMetaData) getDelegate().getEnterpriseBeans();
- return new BeanMetaDataIterator(beans);
+ return new BeanMetaDataIterator(this, beans);
}
/**
@@ -191,7 +191,7 @@
JBossEnterpriseBeanMetaData bean = (JBossEnterpriseBeanMetaData) beans.get(ejbName);
if (bean == null)
return null;
- return BeanMetaData.create(bean);
+ return BeanMetaData.create(this, bean);
}
/**
@@ -569,6 +569,7 @@
public void addPluginData(String pluginName, Object pluginData)
{
plugins.put(pluginName, pluginData);
+ System.out.println("addPluginData: " + plugins + " " + hashCode());
}
/**
@@ -580,6 +581,7 @@
*/
public Object getPluginData(String pluginName)
{
+ System.out.println("getPluginData: " + plugins + " " + hashCode());
return plugins.get(pluginName);
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java 2007-11-06 13:10:43 UTC (rev 66764)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java 2007-11-06 13:15:58 UTC (rev 66765)
@@ -90,6 +90,9 @@
/** The transaction type cache */
private ConcurrentHashMap<Method, Byte> methodTx = new ConcurrentHashMap<Method, Byte>();
+ /** application metadata as a field rather than a local variable to hold plugin data (e.g. for cmp)*/
+ private ApplicationMetaData applicationMetaData;
+
/**
* Create a new BeanMetaData.
*
@@ -97,16 +100,16 @@
* @return the metadata
* @throws IllegalArgumentException for a null delegate or an unknown delegate
*/
- public static BeanMetaData create(JBossEnterpriseBeanMetaData delegate)
+ public static BeanMetaData create(ApplicationMetaData app, JBossEnterpriseBeanMetaData delegate)
{
if (delegate == null)
throw new IllegalArgumentException("Null delegate");
if (delegate.isSession())
- return new SessionMetaData(delegate);
+ return new SessionMetaData(app, delegate);
if (delegate.isMessageDriven())
- return new MessageDrivenMetaData(delegate);
+ return new MessageDrivenMetaData(app, delegate);
if (delegate.isEntity())
- return new EntityMetaData(delegate);
+ return new EntityMetaData(app, delegate);
throw new IllegalArgumentException("Unknown delegate: " + delegate);
}
@@ -116,9 +119,10 @@
* @param delegate the delegate
* @throws IllegalArgumentException for a null delegate
*/
- protected BeanMetaData(JBossEnterpriseBeanMetaData delegate)
+ protected BeanMetaData(ApplicationMetaData app, JBossEnterpriseBeanMetaData delegate)
{
super(delegate);
+ this.applicationMetaData = app;
}
/**
@@ -496,7 +500,9 @@
*/
public ApplicationMetaData getApplicationMetaData()
{
- return new ApplicationMetaData(getDelegate().getJBossMetaDataWithCheck());
+ if(applicationMetaData == null)
+ throw new IllegalStateException("ApplicationMetaData has not been initialized.");
+ return applicationMetaData;
}
/**
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaDataIterator.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaDataIterator.java 2007-11-06 13:10:43 UTC (rev 66764)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaDataIterator.java 2007-11-06 13:15:58 UTC (rev 66765)
@@ -34,10 +34,13 @@
public class BeanMetaDataIterator
implements Iterator<BeanMetaData>
{
- Iterator iter;
- BeanMetaDataIterator(JBossEnterpriseBeansMetaData beans)
+ private final Iterator iter;
+ private final ApplicationMetaData app;
+
+ BeanMetaDataIterator(ApplicationMetaData app, JBossEnterpriseBeansMetaData beans)
{
iter = beans.iterator();
+ this.app = app;
}
public boolean hasNext()
@@ -48,7 +51,7 @@
public BeanMetaData next()
{
JBossEnterpriseBeanMetaData bean = (JBossEnterpriseBeanMetaData) iter.next();
- BeanMetaData bmd = BeanMetaData.create(bean);
+ BeanMetaData bmd = BeanMetaData.create(app, bean);
return bmd;
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java 2007-11-06 13:10:43 UTC (rev 66764)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java 2007-11-06 13:15:58 UTC (rev 66765)
@@ -65,9 +65,9 @@
* @param delegate the delegate
* @throws IllegalArgumentException for a null delegate
*/
- protected EntityMetaData(JBossEnterpriseBeanMetaData delegate)
+ protected EntityMetaData(ApplicationMetaData app, JBossEnterpriseBeanMetaData delegate)
{
- super(delegate);
+ super(app, delegate);
}
/**
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java 2007-11-06 13:10:43 UTC (rev 66764)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java 2007-11-06 13:15:58 UTC (rev 66765)
@@ -85,9 +85,9 @@
* @param delegate the delegate
* @throws IllegalArgumentException for a null delegate
*/
- protected MessageDrivenMetaData(JBossEnterpriseBeanMetaData delegate)
+ protected MessageDrivenMetaData(ApplicationMetaData app, JBossEnterpriseBeanMetaData delegate)
{
- super(delegate);
+ super(app, delegate);
}
/**
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java 2007-11-06 13:10:43 UTC (rev 66764)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java 2007-11-06 13:15:58 UTC (rev 66765)
@@ -60,9 +60,9 @@
* @param delegate the delegate
* @throws IllegalArgumentException for a null delegate
*/
- protected SessionMetaData(JBossEnterpriseBeanMetaData delegate)
+ protected SessionMetaData(ApplicationMetaData app, JBossEnterpriseBeanMetaData delegate)
{
- super(delegate);
+ super(app, delegate);
}
/**
More information about the jboss-cvs-commits
mailing list