[jboss-cvs] JBossAS SVN: r99180 - in projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal: impl and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Jan 9 09:44:30 EST 2010
Author: jesper.pedersen
Date: 2010-01-09 09:44:30 -0500 (Sat, 09 Jan 2010)
New Revision: 99180
Modified:
projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/deployment/ParameterType.java
projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java
Log:
Improve support for <parameter>
Modified: projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/deployment/ParameterType.java
===================================================================
--- projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/deployment/ParameterType.java 2010-01-09 14:27:40 UTC (rev 99179)
+++ projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/deployment/ParameterType.java 2010-01-09 14:44:30 UTC (rev 99180)
@@ -71,4 +71,16 @@
{
clazz = value;
}
+
+ /**
+ * String representation
+ * @return The value
+ */
+ public String toString()
+ {
+ if (clazz == null)
+ return "<Unknown>";
+
+ return clazz;
+ }
}
Modified: projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java
===================================================================
--- projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java 2010-01-09 14:27:40 UTC (rev 99179)
+++ projects/jboss-jca/trunk/fungal/src/main/java/org/jboss/jca/fungal/impl/DeploymentDeployer.java 2010-01-09 14:44:30 UTC (rev 99180)
@@ -337,13 +337,32 @@
}
ConstructorType ct = bt.getConstructor();
- if (ct != null && ct.getFactory() != null)
+ if (ct != null)
{
- if (result == null)
- result = new HashSet<String>();
+ if (ct.getFactory() != null)
+ {
+ if (result == null)
+ result = new HashSet<String>();
- result.add(ct.getFactory().getBean());
- kernel.addBeanDependants(bt.getName(), ct.getFactory().getBean());
+ result.add(ct.getFactory().getBean());
+ kernel.addBeanDependants(bt.getName(), ct.getFactory().getBean());
+ }
+ else if (ct.getParameter() != null && ct.getParameter().size() > 0)
+ {
+ for (ParameterType pt : ct.getParameter())
+ {
+ Object v = pt.getContent().get(0);
+ if (v instanceof InjectType)
+ {
+ if (result == null)
+ result = new HashSet<String>();
+
+ InjectType it = (InjectType)v;
+ result.add(it.getBean());
+ kernel.addBeanDependants(bt.getName(), it.getBean());
+ }
+ }
+ }
}
return result;
@@ -617,8 +636,9 @@
if (pt.getClazz() == null)
{
- if (!SUPPORTED_TYPES.contains(parameterClass))
- include = false;
+ if (!(pt.getContent().get(0) instanceof InjectType))
+ if (!SUPPORTED_TYPES.contains(parameterClass))
+ include = false;
}
else
{
@@ -674,8 +694,9 @@
if (pt.getClazz() == null)
{
- if (!SUPPORTED_TYPES.contains(parameterClass))
- include = false;
+ if (!(pt.getContent().get(0) instanceof InjectType))
+ if (!SUPPORTED_TYPES.contains(parameterClass))
+ include = false;
}
else
{
@@ -693,7 +714,7 @@
}
}
- throw new Exception("Unable to find method (" + name + ") in " + clz.getName());
+ throw new Exception("Unable to find method (" + name + "[" + parameters + "]) in " + clz.getName());
}
/**
More information about the jboss-cvs-commits
mailing list