conor 01/08/12 02:23:18
Modified: src/main/org/apache/tools/ant/taskdefs/optional/ejb Tag:
ANT_14_BRANCH DescriptorHandler.java
Log:
Add in the check for ejb-refs again. I removed it when I shouldn't have.
D'Oh
Reported by: Shamberger, Michael <[EMAIL PROTECTED]>
Revision Changes Path
No revision
No revision
1.11.2.1 +14 -3
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
Index: DescriptorHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -u -r1.11 -r1.11.2.1
--- DescriptorHandler.java 2001/08/08 11:43:35 1.11
+++ DescriptorHandler.java 2001/08/12 09:23:18 1.11.2.1
@@ -87,6 +87,7 @@
* 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 @@
private Hashtable resourceDTDs = new Hashtable();
+ private boolean inEJBRef = false;
+
private Hashtable urlDTDs = new Hashtable();
/**
@@ -244,6 +247,7 @@
public void startDocument() throws SAXException {
this.ejbFiles = new Hashtable(10, 1);
this.currentElement = null;
+ inEJBRef = false;
}
@@ -258,7 +262,10 @@
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 @@
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 @@
protected void processElement() {
- if (parseState != STATE_IN_ENTITY && parseState != STATE_IN_SESSION)
{
+ if (inEJBRef ||
+ (parseState != STATE_IN_ENTITY && parseState !=
STATE_IN_SESSION)) {
return;
}