summaryrefslogtreecommitdiff
path: root/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
diff options
context:
space:
mode:
authorConor MacNeill <conor@apache.org>2001-08-18 14:59:40 +0000
committerConor MacNeill <conor@apache.org>2001-08-18 14:59:40 +0000
commitf66cab0ea7689df54fe51f64018cd3ef8b05cd3d (patch)
tree6bb56ba224a9406e15ffa222d98297ea2c53a9ba /src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
parent85344c438efab87f56ca5f4b179752852ec0aa86 (diff)
downloadant-f66cab0ea7689df54fe51f64018cd3ef8b05cd3d.tar.gz
Merge from ANT_145_BRANCH up to Beta 2
PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269587 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java')
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
index ed43acee2..ea8df9a6f 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
@@ -87,6 +87,7 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase {
* Bunch of constants used for storing entries in a hashtable, and for
* constructing the filenames of various parts of the ejb jar.
*/
+ private static final String EJB_REF = "ejb-ref";
private static final String HOME_INTERFACE = "home";
private static final String REMOTE_INTERFACE = "remote";
private static final String BEAN_CLASS = "ejb-class";
@@ -130,6 +131,8 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase {
private Hashtable resourceDTDs = new Hashtable();
+ private boolean inEJBRef = false;
+
private Hashtable urlDTDs = new Hashtable();
/**
@@ -244,6 +247,7 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase {
public void startDocument() throws SAXException {
this.ejbFiles = new Hashtable(10, 1);
this.currentElement = null;
+ inEJBRef = false;
}
@@ -258,7 +262,10 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase {
throws SAXException {
this.currentElement = name;
currentText = "";
- if (parseState == STATE_LOOKING_EJBJAR && name.equals(EJB_JAR)) {
+ if (name.equals(EJB_REF)) {
+ inEJBRef = true;
+ }
+ else if (parseState == STATE_LOOKING_EJBJAR && name.equals(EJB_JAR)) {
parseState = STATE_IN_EJBJAR;
}
else if (parseState == STATE_IN_EJBJAR && name.equals(ENTERPRISE_BEANS)) {
@@ -286,7 +293,10 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase {
processElement();
currentText = "";
this.currentElement = "";
- if (parseState == STATE_IN_ENTITY && name.equals(ENTITY_BEAN )) {
+ if (name.equals(EJB_REF)) {
+ inEJBRef = false;
+ }
+ else if (parseState == STATE_IN_ENTITY && name.equals(ENTITY_BEAN )) {
parseState = STATE_IN_BEANS;
}
else if (parseState == STATE_IN_SESSION && name.equals(SESSION_BEAN)) {
@@ -323,7 +333,8 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase {
protected void processElement() {
- if (parseState != STATE_IN_ENTITY && parseState != STATE_IN_SESSION) {
+ if (inEJBRef ||
+ (parseState != STATE_IN_ENTITY && parseState != STATE_IN_SESSION)) {
return;
}