[jboss-cvs] JBossAS SVN: r58244 - in trunk/server/src/main/org/jboss: deployment metadata
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 9 17:53:53 EST 2006
Author: alex.loubyansky at jboss.com
Date: 2006-11-09 17:53:49 -0500 (Thu, 09 Nov 2006)
New Revision: 58244
Modified:
trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java
trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
trunk/server/src/main/org/jboss/metadata/ApplicationMetaData.java
trunk/server/src/main/org/jboss/metadata/BeanMetaData.java
Log:
ref metadata and other
Modified: trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java 2006-11-09 22:52:37 UTC (rev 58243)
+++ trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java 2006-11-09 22:53:49 UTC (rev 58244)
@@ -37,8 +37,15 @@
import org.jboss.metadata.SessionMetaData;
import org.jboss.metadata.BeanMetaData;
import org.jboss.metadata.ActivationConfigPropertyMetaData;
+import org.jboss.metadata.EjbLocalRefMetaData;
+import org.jboss.metadata.EjbRefMetaData;
+import org.jboss.metadata.ResourceRefMetaData;
+import org.jboss.metadata.ResourceEnvRefMetaData;
+import org.jboss.metadata.EnvEntryMetaData;
+import org.jboss.metadata.MessageDestinationRefMetaData;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.UnmarshallingContext;
+import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
import org.xml.sax.Attributes;
@@ -315,6 +322,12 @@
parent.addRelationship(relation);
}
+ public void addChild(EntityMetaData parent, SecurityIdentityMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.setSecurityIdentity(child);
+ }
+
public void addChild(EntityMetaData parent, CMPFieldMetaData field,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
@@ -327,6 +340,96 @@
parent.addQuery(query);
}
+ public void addChild(EntityMetaData parent, EjbLocalRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEjbLocalReference(child);
+ }
+
+ public void addChild(EntityMetaData parent, EjbRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEjbReference(child);
+ }
+
+ public void addChild(EntityMetaData parent, ResourceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addResourceReference(child);
+ }
+
+ public void addChild(EntityMetaData parent, ResourceEnvRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addResourceEnvReference(child);
+ }
+
+ public void addChild(EntityMetaData parent, EnvEntryMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEnvironmentEntry(child);
+ }
+
+ public void addChild(EntityMetaData parent, MessageDestinationRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addMessageDestinationReference(child);
+ }
+
+ public void addChild(EntityMetaData parent, ServiceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addServiceReference(child);
+ }
+
+ public void addChild(SessionMetaData parent, SecurityIdentityMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.setSecurityIdentity(child);
+ }
+
+ public void addChild(SessionMetaData parent, EjbLocalRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEjbLocalReference(child);
+ }
+
+ public void addChild(SessionMetaData parent, EjbRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEjbReference(child);
+ }
+
+ public void addChild(SessionMetaData parent, ResourceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addResourceReference(child);
+ }
+
+ public void addChild(SessionMetaData parent, ResourceEnvRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addResourceEnvReference(child);
+ }
+
+ public void addChild(SessionMetaData parent, EnvEntryMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEnvironmentEntry(child);
+ }
+
+ public void addChild(SessionMetaData parent, MessageDestinationRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addMessageDestinationReference(child);
+ }
+
+ public void addChild(SessionMetaData parent, ServiceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addServiceReference(child);
+ }
+
public void addChild(RelationMetaData relation, RelationshipRoleMetaData role,
UnmarshallingContext ctx, String namespaceURI, String localName)
{
@@ -375,12 +478,60 @@
}
}
+ public void addChild(MessageDrivenMetaData parent, SecurityIdentityMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.setSecurityIdentity(child);
+ }
+
public void addChild(MessageDrivenMetaData mdb, ActivationConfigPropertyMetaData child,
UnmarshallingContext ctx, String namespaceURI, String localName)
{
mdb.getActivationConfigProperties().put(child.getName(), child);
}
+ public void addChild(MessageDrivenMetaData parent, EjbLocalRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEjbLocalReference(child);
+ }
+
+ public void addChild(MessageDrivenMetaData parent, EjbRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEjbReference(child);
+ }
+
+ public void addChild(MessageDrivenMetaData parent, ResourceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addResourceReference(child);
+ }
+
+ public void addChild(MessageDrivenMetaData parent, ResourceEnvRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addResourceEnvReference(child);
+ }
+
+ public void addChild(MessageDrivenMetaData parent, EnvEntryMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addEnvironmentEntry(child);
+ }
+
+ public void addChild(MessageDrivenMetaData parent, MessageDestinationRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addMessageDestinationReference(child);
+ }
+
+ public void addChild(MessageDrivenMetaData parent, ServiceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.addServiceReference(child);
+ }
+
/**
* Set text values of ejb-jar/* children
* @param dd
@@ -737,6 +888,20 @@
}
}
+ public void setValue(SecurityIdentityMetaData parent,
+ UnmarshallingContext navigator, String namespaceURI, String localName,
+ String value)
+ {
+ if(localName.equals("use-caller-identity"))
+ {
+ parent.setUseCallerIdentity(Boolean.parseBoolean(value));
+ }
+ else if(localName.equals("run-as"))
+ {
+ parent.setRunAsRoleName(value);
+ }
+ }
+
// inner
public static class CMPFieldMetaData
Modified: trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java 2006-11-09 22:52:37 UTC (rev 58243)
+++ trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java 2006-11-09 22:53:49 UTC (rev 58244)
@@ -44,8 +44,13 @@
import org.jboss.metadata.AssemblyDescriptorMetaData;
import org.jboss.metadata.SecurityRoleMetaData;
import org.jboss.metadata.MessageDestinationMetaData;
+import org.jboss.metadata.EjbLocalRefMetaData;
+import org.jboss.metadata.ResourceRefMetaData;
+import org.jboss.metadata.ResourceEnvRefMetaData;
+import org.jboss.metadata.MessageDestinationRefMetaData;
import org.jboss.xb.binding.UnmarshallingContext;
import org.jboss.mx.util.ObjectNameFactory;
+import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
import org.xml.sax.Attributes;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
@@ -92,6 +97,11 @@
public Object completeRoot(Object root, UnmarshallingContext ctx,
String uri, String name)
{
+ ApplicationMetaData app = (ApplicationMetaData)root;
+ if(app.getUnauthenticatedPrincipal() == null)
+ {
+ app.setDefaultUnauthenticatedPrincipal();
+ }
return root;
}
@@ -104,7 +114,7 @@
Object child = null;
if(localName.equals("loader-repository"))
{
- // todo
+ // todo load-repository (it wasn't parsed in the ApplicationMetaData neither)
}
else if(localName.equals("invoker-proxy-bindings"))
{
@@ -178,7 +188,6 @@
Object child = null;
if ((child = newEnvRefGroupChild(localName)) != null)
{
- // TODO: how is being associated with the bean metadata
return child;
}
else if(localName.equals("invoker-bindings"))
@@ -453,6 +462,75 @@
((MessageDrivenMetaData)parent.metaData).getActivationConfigProperties().put(child.getName(), child);
}
+ public void addChild(BeanHolder parent, EjbLocalRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ EjbLocalRefMetaData ref = parent.metaData.getEjbLocalRefByName(child.getName());
+ if(ref == null)
+ {
+ throw new IllegalStateException("ejb-local-ref " + child.getName() +
+ " found in jboss.xml in ejb " + parent.metaData.getEjbName() + " could not be found in the ejb-jar.xml");
+ }
+ ref.setJndiName(child.getJndiName());
+ }
+
+ public void addChild(BeanHolder parent, EjbRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ EjbRefMetaData ref = parent.metaData.getEjbRefByName(child.getName());
+ if(ref == null)
+ {
+ throw new IllegalStateException("ejb-ref " + child.getName() +
+ " found in jboss.xml in ejb " + parent.metaData.getEjbName() + " could not be found in the ejb-jar.xml");
+ }
+ ref.setJndiName(child.getJndiName());
+ }
+
+ public void addChild(BeanHolder parent, ResourceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ ResourceRefMetaData ref = parent.metaData.getResourceReference(child.getRefName());
+ if(ref == null)
+ {
+ throw new IllegalStateException("resource-ref " + child.getRefName() +
+ " found in jboss.xml in ejb " + parent.metaData.getEjbName() + " could not be found in the ejb-jar.xml");
+ }
+
+ ref.setName(child.getName());
+ ref.setJndiName(child.getJndiName());
+ ref.setResURL(child.getResURL());
+ }
+
+ public void addChild(BeanHolder parent, ResourceEnvRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ ResourceEnvRefMetaData ref = parent.metaData.getResourceEnvReference(child.getRefName());
+ if(ref == null)
+ {
+ throw new IllegalStateException("resource-env-ref " + child.getRefName() +
+ " found in jboss.xml in ejb " + parent.metaData.getEjbName() + " could not be found in the ejb-jar.xml");
+ }
+ ref.setJndiName(child.getJndiName());
+ }
+
+ public void addChild(BeanHolder parent, MessageDestinationRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ MessageDestinationRefMetaData ref = parent.metaData.getMessageDestinationReference(child.getRefName());
+ if(ref == null)
+ {
+ throw new IllegalStateException("message-destination-ref " + child.getRefName() +
+ " found in jboss.xml in ejb " + parent.metaData.getEjbName() + " could not be found in the ejb-jar.xml");
+ }
+ ref.setJndiName(child.getJndiName());
+ }
+
+ public void addChild(BeanHolder parent, ServiceRefMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ // TODO merge/add service-ref
+ }
+
public void addChild(InvokerMetaData parent, InvokerMetaData.EjbRef child,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
@@ -692,7 +770,18 @@
else if(localName.equals("invoker-proxy-binding-name"))
{
// TODO: according to the DTD there could only be one
- container.setInvokerNames(new String[]{value});
+ String[] invokers = container.getInvokers();
+ if(invokers == null)
+ {
+ container.setInvokerNames(new String[]{value});
+ }
+ else
+ {
+ String[] newInvokers = new String[invokers.length + 1];
+ System.arraycopy(invokers, 0, newInvokers, 0, invokers.length);
+ newInvokers[invokers.length] = value;
+ container.setInvokerNames(newInvokers);
+ }
}
else if(localName.equals("sync-on-commit-only"))
{
Modified: trunk/server/src/main/org/jboss/metadata/ApplicationMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/ApplicationMetaData.java 2006-11-09 22:52:37 UTC (rev 58243)
+++ trunk/server/src/main/org/jboss/metadata/ApplicationMetaData.java 2006-11-09 22:53:49 UTC (rev 58244)
@@ -835,16 +835,7 @@
}
else
{
- try
- {
- MBeanServer server = MBeanServerLocator.locateJBoss();
- ObjectName oname = new ObjectName("jboss.security:service=JaasSecurityManager");
- unauthenticatedPrincipal = (String)server.getAttribute(oname, "DefaultUnauthenticatedPrincipal");
- }
- catch (Exception e)
- {
- log.error("Cannot obtain unauthenticated principal");
- }
+ setDefaultUnauthenticatedPrincipal();
}
// find the invoker configurations
@@ -1118,6 +1109,20 @@
}
}
+ public void setDefaultUnauthenticatedPrincipal()
+ {
+ try
+ {
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ ObjectName oname = new ObjectName("jboss.security:service=JaasSecurityManager");
+ unauthenticatedPrincipal = (String)server.getAttribute(oname, "DefaultUnauthenticatedPrincipal");
+ }
+ catch (Exception e)
+ {
+ log.error("Cannot obtain unauthenticated principal");
+ }
+ }
+
public void addContainerConfiguration(ConfigurationMetaData container)
{
String name = container.getName();
Modified: trunk/server/src/main/org/jboss/metadata/BeanMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/BeanMetaData.java 2006-11-09 22:52:37 UTC (rev 58243)
+++ trunk/server/src/main/org/jboss/metadata/BeanMetaData.java 2006-11-09 22:53:49 UTC (rev 58244)
@@ -283,11 +283,21 @@
return ejbReferences.values().iterator();
}
+ public void addEjbReference(EjbRefMetaData ref)
+ {
+ ejbReferences.put(ref.getName(), ref);
+ }
+
public Iterator getEjbLocalReferences()
{
return ejbLocalReferences.values().iterator();
}
+ public void addEjbLocalReference(EjbLocalRefMetaData ref)
+ {
+ ejbLocalReferences.put(ref.getName(), ref);
+ }
+
protected abstract void defaultInvokerBindings();
public Iterator getInvokerBindings()
@@ -348,6 +358,11 @@
return environmentEntries.iterator();
}
+ public void addEnvironmentEntry(EnvEntryMetaData envEntry)
+ {
+ environmentEntries.add(envEntry);
+ }
+
public Iterator getSecurityRoleReferences()
{
return securityRoleReferences.iterator();
@@ -358,16 +373,46 @@
return resourceReferences.values().iterator();
}
+ public void addResourceReference(ResourceRefMetaData resRef)
+ {
+ resourceReferences.put(resRef.getRefName(), resRef);
+ }
+
+ public ResourceRefMetaData getResourceReference(String refName)
+ {
+ return (ResourceRefMetaData)resourceReferences.get(refName);
+ }
+
public Iterator getResourceEnvReferences()
{
return resourceEnvReferences.values().iterator();
}
+ public void addResourceEnvReference(ResourceEnvRefMetaData resEnvRef)
+ {
+ resourceEnvReferences.put(resEnvRef.getRefName(), resEnvRef);
+ }
+
+ public ResourceEnvRefMetaData getResourceEnvReference(String refName)
+ {
+ return (ResourceEnvRefMetaData)resourceEnvReferences.get(refName);
+ }
+
public Iterator getMessageDestinationReferences()
{
return messageDestinationReferences.values().iterator();
}
+ public void addMessageDestinationReference(MessageDestinationRefMetaData ref)
+ {
+ messageDestinationReferences.put(ref.getRefName(), ref);
+ }
+
+ public MessageDestinationRefMetaData getMessageDestinationReference(String refName)
+ {
+ return (MessageDestinationRefMetaData)messageDestinationReferences.get(refName);
+ }
+
/**
* @return HashMap<ServiceRefMetaData>
*/
@@ -376,6 +421,11 @@
return serviceReferences;
}
+ public void addServiceReference(ServiceRefMetaData ref)
+ {
+ serviceReferences.put(ref.getServiceRefName(), ref);
+ }
+
public String getJndiName()
{
// jndiName may be set in jboss.xml
More information about the jboss-cvs-commits
mailing list