You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by am...@apache.org on 2003/09/29 18:00:13 UTC
cvs commit: incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment EjbJarLoader.java GeronimoEjbJarLoader.java
ammulder 2003/09/29 09:00:13
Modified: modules/core/src/java/org/apache/geronimo/xml/deployment
EjbJarLoader.java GeronimoEjbJarLoader.java
Log:
Do a better job of loading all the standard tags into the Geronimo
EJB POJO hierarchy
Revision Changes Path
1.8 +14 -10 incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/EjbJarLoader.java
Index: EjbJarLoader.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/EjbJarLoader.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- EjbJarLoader.java 29 Sep 2003 15:14:19 -0000 1.7
+++ EjbJarLoader.java 29 Sep 2003 16:00:13 -0000 1.8
@@ -115,11 +115,7 @@
Element ade = LoaderUtil.getChild(root, "assembly-descriptor");
if(ade != null) {
AssemblyDescriptor ad = new AssemblyDescriptor();
- ad.setContainerTransaction(loadContainerTransactions(ade));
- ad.setExcludeList(loadExcludeList(LoaderUtil.getChild(ade, "exclude-list")));
- ad.setMessageDestination(J2EELoader.loadMessageDestinations(ade));
- ad.setMethodPermission(loadMethodPermissions(ade));
- ad.setSecurityRole(J2EELoader.loadSecurityRoles(ade));
+ loadAssemblyDescriptor(ade, ad);
jar.setAssemblyDescriptor(ad);
}
EjbJarDocument result = new EjbJarDocument();
@@ -127,6 +123,14 @@
return result;
}
+ static void loadAssemblyDescriptor(Element root, AssemblyDescriptor ad) {
+ ad.setContainerTransaction(loadContainerTransactions(root));
+ ad.setExcludeList(loadExcludeList(LoaderUtil.getChild(root, "exclude-list")));
+ ad.setMessageDestination(J2EELoader.loadMessageDestinations(root));
+ ad.setMethodPermission(loadMethodPermissions(root));
+ ad.setSecurityRole(J2EELoader.loadSecurityRoles(root));
+ }
+
private static ExcludeList loadExcludeList(Element parent) {
if(parent == null) {
return null;
@@ -182,7 +186,7 @@
return meth;
}
- private static EjbRelation[] loadEjbRelations(Element parent) {
+ static EjbRelation[] loadEjbRelations(Element parent) {
Element[] roots = LoaderUtil.getChildren(parent, "ejb-relation");
EjbRelation[] rels = new EjbRelation[roots.length];
for(int i = 0; i < roots.length; i++) {
@@ -249,7 +253,7 @@
return mdbs;
}
- private static ActivationConfig loadActivationConfig(Element parent) {
+ static ActivationConfig loadActivationConfig(Element parent) {
if(parent == null) {
return null;
}
@@ -300,7 +304,7 @@
return entities;
}
- private static Query[] loadQueries(Element parent) {
+ static Query[] loadQueries(Element parent) {
Element[] roots = LoaderUtil.getChildren(parent, "query");
Query[] queries = new Query[roots.length];
for(int i = 0; i < roots.length; i++) {
@@ -322,7 +326,7 @@
return method;
}
- private static CmpField[] loadCmpFields(Element parent) {
+ static CmpField[] loadCmpFields(Element parent) {
Element[] roots = LoaderUtil.getChildren(parent, "cmp-field");
CmpField[] fields = new CmpField[roots.length];
for(int i = 0; i < roots.length; i++) {
1.5 +44 -1 incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoEjbJarLoader.java
Index: GeronimoEjbJarLoader.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoEjbJarLoader.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- GeronimoEjbJarLoader.java 29 Sep 2003 14:17:23 -0000 1.4
+++ GeronimoEjbJarLoader.java 29 Sep 2003 16:00:13 -0000 1.5
@@ -64,6 +64,8 @@
import org.apache.geronimo.deployment.model.geronimo.ejb.Entity;
import org.apache.geronimo.deployment.model.geronimo.ejb.Session;
import org.apache.geronimo.deployment.model.ejb.Ejb;
+import org.apache.geronimo.deployment.model.ejb.Relationships;
+import org.apache.geronimo.deployment.model.ejb.AssemblyDescriptor;
/**
* Loads a Geronimo ejb-jar.xml file into POJOs
@@ -77,6 +79,8 @@
throw new IllegalArgumentException("Document is not a Geronimo ejb-jar instance");
}
EjbJar jar = new EjbJar();
+ jar.setVersion(root.getAttribute("version"));
+ J2EELoader.loadDisplayable(root, jar);
Element ebe = LoaderUtil.getChild(root, "enterprise-beans");
if(ebe != null) {
EnterpriseBeans eb = new EnterpriseBeans();
@@ -85,6 +89,21 @@
eb.setEntity(loadEntities(ebe));
eb.setMessageDriven(loadMessageDrivens(ebe));
}
+ //todo: override any Geronimo-specific relationship content
+ Element re = LoaderUtil.getChild(root, "relationships");
+ if(re != null) {
+ Relationships rel = new Relationships();
+ J2EELoader.loadDescribable(re, rel);
+ rel.setEjbRelation(EjbJarLoader.loadEjbRelations(re));
+ jar.setRelationships(rel);
+ }
+ //todo: override any Geronimo-specific assembly-descriptor content
+ Element ade = LoaderUtil.getChild(root, "assembly-descriptor");
+ if(ade != null) {
+ AssemblyDescriptor ad = new AssemblyDescriptor();
+ EjbJarLoader.loadAssemblyDescriptor(ade, ad);
+ jar.setAssemblyDescriptor(ad);
+ }
GeronimoEjbJarDocument result = new GeronimoEjbJarDocument();
result.setEjbJar(jar);
return result;
@@ -97,6 +116,11 @@
Element root = roots[i];
mdbs[i] = new MessageDriven();
loadEjb(root, mdbs[i]);
+ mdbs[i].setMessageDestinationLink(LoaderUtil.getChildContent(root, "message-destination-link"));
+ mdbs[i].setMessageDestinationType(LoaderUtil.getChildContent(root, "message-destination-type"));
+ mdbs[i].setMessagingType(LoaderUtil.getChildContent(root, "messaging-type"));
+ mdbs[i].setTransactionType(LoaderUtil.getChildContent(root, "transaction-type"));
+ mdbs[i].setActivationConfig(EjbJarLoader.loadActivationConfig(root));
}
return mdbs;
}
@@ -108,7 +132,14 @@
Element root = roots[i];
sessions[i] = new Session();
loadEjb(root, sessions[i]);
+ sessions[i].setHome(LoaderUtil.getChildContent(root, "home"));
+ sessions[i].setLocal(LoaderUtil.getChildContent(root, "local"));
+ sessions[i].setLocalHome(LoaderUtil.getChildContent(root, "local-home"));
+ sessions[i].setRemote(LoaderUtil.getChildContent(root, "remote"));
sessions[i].setSecurityRoleRef(GeronimoJ2EELoader.loadSecurityRoleRefs(root));
+ sessions[i].setServiceEndpoint(LoaderUtil.getChildContent(root, "service-endpoint"));
+ sessions[i].setSessionType(LoaderUtil.getChildContent(root, "session-type"));
+ sessions[i].setTransactionType(LoaderUtil.getChildContent(root, "transaction-type"));
sessions[i].setJndiName(LoaderUtil.getChildContent(root, "jndi-name"));
}
return sessions;
@@ -121,7 +152,19 @@
Element root = roots[i];
entities[i] = new Entity();
loadEjb(root, entities[i]);
+ entities[i].setHome(LoaderUtil.getChildContent(root, "home"));
+ entities[i].setLocal(LoaderUtil.getChildContent(root, "local"));
+ entities[i].setLocalHome(LoaderUtil.getChildContent(root, "local-home"));
+ entities[i].setRemote(LoaderUtil.getChildContent(root, "remote"));
entities[i].setSecurityRoleRef(GeronimoJ2EELoader.loadSecurityRoleRefs(root));
+ entities[i].setPersistenceType(LoaderUtil.getChildContent(root, "persistence-type"));
+ entities[i].setPrimKeyClass(LoaderUtil.getChildContent(root, "prim-key-class"));
+ entities[i].setReentrant(LoaderUtil.getChildContent(root, "reentrant"));
+ entities[i].setCmpVersion(LoaderUtil.getChildContent(root, "cmp-version"));
+ entities[i].setAbstractSchemaName(LoaderUtil.getChildContent(root, "abstract-schema-name"));
+ entities[i].setPrimkeyField(LoaderUtil.getChildContent(root, "primkey-field"));
+ entities[i].setCmpField(EjbJarLoader.loadCmpFields(root));
+ entities[i].setQuery(EjbJarLoader.loadQueries(root));
entities[i].setJndiName(LoaderUtil.getChildContent(root, "jndi-name"));
}
return entities;