User: mulder
Date: 00/07/28 07:00:51
Modified: src/main/org/jboss/metadata/jboss JBossContainer.java
JBossXMLReader.java
Log:
Change metadata to use Strings instead of Classes.
Prevents icky ClassNotFoundExceptions and NoClassDefFoundErrors.
Added convenience methods that take Classes and convert them to Strings.
Revision Changes Path
1.2 +6 -6 jboss/src/main/org/jboss/metadata/jboss/JBossContainer.java
Index: JBossContainer.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/metadata/jboss/JBossContainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JBossContainer.java 2000/07/04 00:10:09 1.1
+++ JBossContainer.java 2000/07/28 14:00:51 1.2
@@ -5,17 +5,17 @@
public class JBossContainer extends AbstractContainer {
public boolean secure;
- public Class configurationClass;
+ public String configurationClass;
public String name;
public boolean callLogging;
- public Class containerInvoker;
+ public String containerInvokerClass;
public boolean invokerOptimized;
- public Class instancePool;
+ public String instancePoolClass;
public int poolMinimum;
public int poolMaximum;
- public Class instanceCache;
- public Class persistenceManager;
- public Class transactionManager;
+ public String instanceCacheClass;
+ public String persistenceManagerClass;
+ public String transactionManagerClass;
public char commitOption;
public JBossContainer() {
1.2 +15 -51 jboss/src/main/org/jboss/metadata/jboss/JBossXMLReader.java
Index: JBossXMLReader.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/metadata/jboss/JBossXMLReader.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JBossXMLReader.java 2000/07/04 00:10:10 1.1
+++ JBossXMLReader.java 2000/07/28 14:00:51 1.2
@@ -16,16 +16,11 @@
private String currentElement;
private String contents;
private Vector containers;
- private ClassLoader loader;
public JBossXMLReader() {
containers = new Vector();
}
- public void setClassLoader(ClassLoader loader) {
- this.loader = loader;
- }
-
public String getFileName() {
return "jboss.xml";
}
@@ -58,11 +53,7 @@
server = new JBossServer();
} else if(name.equals("container-configuration")) {
container = new JBossContainer();
- try {
- container.configurationClass =
loadClass(atts.getValue("configuration-class"));
- } catch(ClassNotFoundException e) {
- throw new SAXException("Unable to load class
'"+atts.getValue("configuration-class")+"'.");
- }
+ container.configurationClass = atts.getValue("configuration-class");
} else if(name.equals("entity") || name.equals("session"))
bean = new JBossBean();
}
@@ -95,42 +86,22 @@
container.name = contents;
else if(name.equals("call-logging"))
container.callLogging = new Boolean(contents).booleanValue();
- else if(name.equals("container-invoker"))
- try {
- if(contents != null && contents.length() > 0)
- container.containerInvoker = loadClass(contents);
- } catch(ClassNotFoundException e) {
- throw new SAXException("Unable to load class '"+contents+"'.");
- }
- else if(name.equals("instance-pool"))
- try {
- if(contents != null && contents.length() > 0)
- container.instancePool = loadClass(contents);
- } catch(ClassNotFoundException e) {
- throw new SAXException("Unable to load class '"+contents+"'.");
- }
- else if(name.equals("instance-cache"))
- try {
+ else if(name.equals("container-invoker")) {
if(contents != null && contents.length() > 0)
- container.instanceCache = loadClass(contents);
- } catch(ClassNotFoundException e) {
- throw new SAXException("Unable to load class '"+contents+"'.");
- }
- else if(name.equals("persistence-manager"))
- try {
- if(contents != null && contents.length() > 0)
- container.persistenceManager = loadClass(contents);
- } catch(ClassNotFoundException e) {
- throw new SAXException("Unable to load class '"+contents+"'.");
- }
- else if(name.equals("transaction-manager"))
- try {
+ container.containerInvokerClass = contents;
+ } else if(name.equals("instance-pool")) {
+ if(contents != null && contents.length() > 0)
+ container.instancePoolClass = contents;
+ } else if(name.equals("instance-cache")) {
+ if(contents != null && contents.length() > 0)
+ container.instanceCacheClass = contents;
+ } else if(name.equals("persistence-manager")) {
+ if(contents != null && contents.length() > 0)
+ container.persistenceManagerClass = contents;
+ } else if(name.equals("transaction-manager")) {
if(contents != null && contents.length() > 0)
- container.transactionManager = loadClass(contents);
- } catch(ClassNotFoundException e) {
- throw new SAXException("Unable to load class '"+contents+"'.");
- }
- else if(name.equals("Optmized"))
+ container.transactionManagerClass = contents;
+ } else if(name.equals("Optmized"))
container.invokerOptimized = new Boolean(contents).booleanValue();
else if(name.equals("MaximumSize"))
container.poolMaximum = Integer.parseInt(contents);
@@ -138,12 +109,5 @@
container.poolMinimum = Integer.parseInt(contents);
else if(name.equals("commit-option"))
container.commitOption = contents.charAt(0);
- }
-
- private Class loadClass(String name) throws ClassNotFoundException {
- if(loader == null)
- return Class.forName(name);
- else
- return loader.loadClass(name);
}
}