[jboss-cvs] JBossAS SVN: r58195 - in trunk/server/src/main/org/jboss: deployment ejb metadata
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Nov 7 18:37:40 EST 2006
Author: alex.loubyansky at jboss.com
Date: 2006-11-07 18:37:37 -0500 (Tue, 07 Nov 2006)
New Revision: 58195
Modified:
trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
trunk/server/src/main/org/jboss/ejb/EjbModule.java
trunk/server/src/main/org/jboss/metadata/InvokerProxyBindingMetaData.java
Log:
support for proxy-factory-config, container-interceptors, container-cache-conf, container-pool-conf
Modified: trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java 2006-11-07 23:18:05 UTC (rev 58194)
+++ trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java 2006-11-07 23:37:37 UTC (rev 58195)
@@ -21,8 +21,10 @@
*/
package org.jboss.deployment;
-import java.util.ArrayList;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.ParserConfigurationException;
import org.jboss.logging.Logger;
import org.jboss.metadata.ApplicationMetaData;
import org.jboss.metadata.BeanMetaData;
@@ -35,15 +37,21 @@
import org.jboss.xb.binding.UnmarshallingContext;
import org.jboss.mx.util.ObjectNameFactory;
import org.xml.sax.Attributes;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
+import org.w3c.dom.Document;
/**
* ObjectFactory for translating jboss.xml into ApplicationMetaData instance
*
* @author Scott.Stark at jboss.org
+ * @author Alexey.Loubyansky at jboss.org
* @version $Revision:$
*/
public class JBossEjbObjectFactory extends DDObjectFactory
{
+ private static DocumentBuilder DOC_BUILDER;
+
private static Logger log = Logger.getLogger(JBossEjbObjectFactory.class);
private ApplicationMetaData appMetaData;
@@ -100,8 +108,12 @@
}
else if(localName.equals("invoker-proxy-bindings"))
{
- child = new ArrayList<InvokerProxyBindingMetaData>();
+ child = dd;
}
+ else if(localName.equals("invoker-proxy-binding"))
+ {
+ child = new InvokerProxyBindingMetaData();
+ }
else if(localName.equals("container-configurations"))
{
child = dd;
@@ -146,6 +158,7 @@
child = new BeanHolder();
return child;
}
+
public Object newChild(BeanHolder bean, UnmarshallingContext navigator,
String namespaceURI, String localName, Attributes attrs)
{
@@ -159,34 +172,17 @@
return child;
}
- public Object newChild(ArrayList<InvokerProxyBindingMetaData> bindings, UnmarshallingContext navigator,
+ public Object newChild(InvokerProxyBindingMetaData md, UnmarshallingContext navigator,
String namespaceURI, String localName, Attributes attrs)
{
Object child = null;
- if (localName.equals("invoker-proxy-binding"))
- child = new InvokerProxyBindingMetaData();
- // TODO
- else if (localName.equals("message-destination"))
+ if (localName.equals("proxy-factory-config"))
{
- child = new MessageDestinationMetaData();
+ child = new DomElement(newDomElement(localName, attrs));
}
- else if(localName.equals("invoker-proxy-bindings"))
- {
- child = new ArrayList<InvokerProxyBindingMetaData>();
- }
-
return child;
}
- public Object newChild(InvokerProxyBindingMetaData md, UnmarshallingContext navigator,
- String namespaceURI, String localName, Attributes attrs)
- {
- Object child = null;
- if (localName.equals("proxy-factory-config"))
- child = null; // TODO
- return child;
- }
-
public Object newChild(ConfigurationMetaData md, UnmarshallingContext navigator,
String namespaceURI, String localName, Attributes attrs)
{
@@ -195,16 +191,27 @@
{
child = new ClusterConfigMetaData();
}
+ else if(localName.equals("container-interceptors") ||
+ localName.equals("container-cache-conf") ||
+ localName.equals("container-pool-conf"))
+ {
+ child = new DomElement(newDomElement(localName, attrs));
+ }
return child;
}
- public void addChild(ApplicationMetaData parent, ArrayList<InvokerProxyBindingMetaData> bindings,
+ public Object newChild(DomElement dom, UnmarshallingContext navigator,
+ String namespaceURI, String localName, Attributes attrs)
+ {
+ Element child = dom.element.getOwnerDocument().createElement(localName);
+ addAttributes(child, attrs);
+ return new DomElement(child);
+ }
+
+ public void addChild(ApplicationMetaData parent, InvokerProxyBindingMetaData binding,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
- for(InvokerProxyBindingMetaData md : bindings)
- {
- parent.addInvokerProxyBinding(md);
- }
+ parent.addInvokerProxyBinding(binding);
}
public void addChild(ApplicationMetaData parent, ConfigurationMetaData container,
@@ -219,6 +226,38 @@
parent.setClusterConfig(child);
}
+ public void addChild(ConfigurationMetaData parent, DomElement child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ if(localName.equals("container-interceptors"))
+ {
+ parent.setContainerInterceptorsConf(child.element);
+ }
+ else if(localName.equals("container-cache-conf"))
+ {
+ parent.setContainerCacheConf(child.element);
+ }
+ else if(localName.equals("container-pool-conf"))
+ {
+ parent.setContainerPoolConf(child.element);
+ }
+ }
+
+ public void addChild(InvokerProxyBindingMetaData parent, DomElement domElement,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ if(localName.equals("proxy-factory-config"))
+ {
+ parent.setProxyFactoryConfig(domElement.element);
+ }
+ }
+
+ public void addChild(DomElement parent, DomElement child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.element.appendChild(child.element);
+ }
+
public void setValue(ApplicationMetaData amd,
UnmarshallingContext navigator, String namespaceURI, String localName,
String value)
@@ -240,15 +279,19 @@
{
amd.setUnauthenticatedPrincipal(value);
}
-
+
}
public void setValue(InvokerProxyBindingMetaData md,
UnmarshallingContext navigator, String namespaceURI, String localName,
String value)
{
- if (localName.equals("invoker-mbean"))
+ if(localName.equals("name"))
{
+ md.setName(value);
+ }
+ else if (localName.equals("invoker-mbean"))
+ {
md.setInvokerMBean(value);
}
else if (localName.equals("proxy-factory"))
@@ -374,4 +417,54 @@
config.setHaSessionStateName(value);
}
}
+
+ public void setValue(DomElement dom,
+ UnmarshallingContext navigator, String namespaceURI, String localName,
+ String value)
+ {
+ Document doc = dom.element.getOwnerDocument();
+ Text textNode = doc.createTextNode(value);
+ dom.element.appendChild(textNode);
+ }
+
+ // static
+
+ public static class DomElement
+ {
+ private final Element element;
+
+ public DomElement(Element element)
+ {
+ this.element = element;
+ }
+ }
+
+ private static Element newDomElement(String name, Attributes attrs)
+ {
+ if(DOC_BUILDER == null)
+ {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ try
+ {
+ DOC_BUILDER = factory.newDocumentBuilder();
+ }
+ catch(ParserConfigurationException e)
+ {
+ throw new IllegalStateException("Failed to create W3C DocumentBuilder", e);
+ }
+ }
+
+ Element element = DOC_BUILDER.newDocument().createElement(name);
+ addAttributes(element, attrs);
+
+ return element;
+ }
+
+ private static void addAttributes(Element e, Attributes attrs)
+ {
+ for(int i = 0; i < attrs.getLength(); ++i)
+ {
+ e.setAttribute(attrs.getQName(i), attrs.getValue(i));
+ }
+ }
}
Modified: trunk/server/src/main/org/jboss/ejb/EjbModule.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EjbModule.java 2006-11-07 23:18:05 UTC (rev 58194)
+++ trunk/server/src/main/org/jboss/ejb/EjbModule.java 2006-11-07 23:37:37 UTC (rev 58195)
@@ -24,8 +24,6 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.Policy;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -977,7 +975,8 @@
}
catch (Exception e)
{
- throw new DeploymentException("couldn't contace EJBDeployer!", e);
+ //throw new DeploymentException("couldn't contace EJBDeployer!", e);
+ log.warn("Couldn't get MetricsEnabled from EJBDeployer: " + e.getMessage());
} // end of try-catch
Modified: trunk/server/src/main/org/jboss/metadata/InvokerProxyBindingMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/InvokerProxyBindingMetaData.java 2006-11-07 23:18:05 UTC (rev 58194)
+++ trunk/server/src/main/org/jboss/metadata/InvokerProxyBindingMetaData.java 2006-11-07 23:37:37 UTC (rev 58195)
@@ -99,6 +99,11 @@
return proxyFactoryConfig;
}
+ public void setProxyFactoryConfig(Element child)
+ {
+ this.proxyFactoryConfig = child;
+ }
+
/** Import the jboss.xml jboss/invoker-proxy-bindings/invoker-proxy-binding
* child elements
* @param element jboss/invoker-proxy-bindings/invoker-proxy-binding
More information about the jboss-cvs-commits
mailing list