Index: src/main/java/org/exolab/castor/xml/UnmarshalHandler.java
===================================================================
--- src/main/java/org/exolab/castor/xml/UnmarshalHandler.java (Revision 6810)
+++ src/main/java/org/exolab/castor/xml/UnmarshalHandler.java (Arbeitskopie)
@@ -2678,16 +2678,14 @@
int index = atts.getIndex(name, namespace);
-
+ String attValue = null;
if (index >= 0) {
+ attValue = atts.getValue(index);
processedAtts[index] = true;
}
- //-- otherwise...for now just continue, this code needs to
- //-- change when we upgrade to new event API
- else continue;
try {
- processAttribute(name, namespace, atts.getValue(index), descriptor, classDesc, object);
+ processAttribute(name, namespace, attValue, descriptor, classDesc, object);
}
catch(java.lang.IllegalStateException ise) {
String err = "unable to add attribute \"" + name + "\" to '";
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-missing-attribute.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-missing-attribute.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-missing-attribute.xml (Revision 0)
@@ -0,0 +1,2 @@
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-missing-attributes.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-missing-attributes.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-missing-attributes.xml (Revision 0)
@@ -0,0 +1,2 @@
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/Dog.java
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/Dog.java (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/Dog.java (Revision 0)
@@ -0,0 +1,19 @@
+public class Dog {
+
+ private String colour = null;
+ private String bark = null;
+
+ public String getColour() {
+ return colour;
+ }
+ public void setColour(String colour) {
+ this.colour = colour;
+ }
+
+ public String getBark() {
+ return bark;
+ }
+ public void setBark(String bark) {
+ this.bark = bark;
+ }
+}
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/mapping.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/mapping.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/mapping.xml (Revision 0)
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/TestDescriptor.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/TestDescriptor.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/TestDescriptor.xml (Revision 0)
@@ -0,0 +1,38 @@
+
+
+ Test the required attribute in the field member
+ Werner Guttmann
+
+ The field element allows to specify if an element or an attribute is required
+ or not. The aim of this test is to check that the validation is correct, for
+ cases where there is more than one attribute.
+
+ basic capability
+
+
+ Dog
+
+
+ Valid document
+ mapping.xml
+ dog-complete.xml
+ dog-complete.xml
+
+
+
+ Missing attributes
+ mapping.xml
+ dog-missing-attributes.xml
+ true
+
+
+
+ Missing attribute
+ mapping.xml
+ dog-missing-attribute.xml
+ true
+
+
+
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-complete.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-complete.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributes/dog-complete.xml (Revision 0)
@@ -0,0 +1,2 @@
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/Required_Root.java
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/Required_Root.java (Revision 6810)
+++ xmlctf/tests/MasterTestSuite/mapping/required/Required_Root.java (Arbeitskopie)
@@ -1,28 +0,0 @@
-
-
-import org.exolab.castor.xml.*;
-import org.exolab.castor.mapping.*;
-
-public class Required_Root {
- private String _name;
- private String _item;
- public Required_Root() {
- }
-
- public String getName() {
- return _name;
- }
-
- public String getItem() {
- return _item;
- }
-
- public void setName(String name) {
- _name = name;
- }
-
- public void setItem(String item) {
- _item = item;
- }
-
-}
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/Required_Builder.java
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/Required_Builder.java (Revision 6810)
+++ xmlctf/tests/MasterTestSuite/mapping/required/Required_Builder.java (Arbeitskopie)
@@ -1,59 +0,0 @@
-/*
- * Redistribution and use of this software and associated documentation
- * ("Software"), with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * 1. Redistributions of source code must retain copyright
- * statements and notices. Redistributions must also contain a
- * copy of this document.
- *
- * 2. Redistributions in binary form must reproduce the
- * above copyright notice, this list of conditions and the
- * following disclaimer in the documentation and/or other
- * materials provided with the distribution.
- *
- * 3. The name "Exolab" must not be used to endorse or promote
- * products derived from this Software without prior written
- * permission of Intalio, Inc. For written permission,
- * please contact info@exolab.org.
- *
- * 4. Products derived from this Software may not be called "Exolab"
- * nor may "Exolab" appear in their names without prior written
- * permission of Intalio, Inc. Exolab is a registered
- * trademark of Intalio, Inc.
- *
- * 5. Due credit should be given to the Exolab Project
- * (http://www.exolab.org/).
- *
- * THIS SOFTWARE IS PROVIDED BY INTALIO, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
- * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * INTALIO, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Copyright 2002 (C) Intalio, Inc. All Rights Reserved.
- *
- */
-
-import org.castor.xmlctf.ObjectModelBuilder;
-
-public class Required_Builder implements ObjectModelBuilder {
-
- /**
- * Build the object we expect when we unmarshal 'input.xml'
- */
- public Object buildInstance() {
- Required_Root r = new Required_Root();
- r.setName("castor");
- r.setItem("beaver");
- return r;
- }
-
-}
Index: xmlctf/tests/MasterTestSuite/mapping/required/input_failure_attribute.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/input_failure_attribute.xml (Revision 6810)
+++ xmlctf/tests/MasterTestSuite/mapping/required/input_failure_attribute.xml (Arbeitskopie)
@@ -1,3 +0,0 @@
-
- beaver
-
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-missing-attribute.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-missing-attribute.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-missing-attribute.xml (Revision 0)
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-missing-attributes.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-missing-attributes.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-missing-attributes.xml (Revision 0)
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/Dog.java
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/Dog.java (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/Dog.java (Revision 0)
@@ -0,0 +1,19 @@
+public class Dog {
+
+ private String colour = null;
+ private String bark = null;
+
+ public String getColour() {
+ return colour;
+ }
+ public void setColour(String colour) {
+ this.colour = colour;
+ }
+
+ public String getBark() {
+ return bark;
+ }
+ public void setBark(String bark) {
+ this.bark = bark;
+ }
+}
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/mapping.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/mapping.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/mapping.xml (Revision 0)
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/Kennel.java
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/Kennel.java (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/Kennel.java (Revision 0)
@@ -0,0 +1,14 @@
+import java.util.ArrayList;
+import java.util.List;
+
+public class Kennel {
+
+ private List dogs = new ArrayList();
+
+ public List getDogs() {
+ return dogs;
+ }
+ public void setDogs(List dogs) {
+ this.dogs = dogs;
+ }
+}
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/TestDescriptor.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/TestDescriptor.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/TestDescriptor.xml (Revision 0)
@@ -0,0 +1,38 @@
+
+
+ Test the required attribute in the field member
+ Werner Guttmann
+
+ The field element allows to specify if an element or an attribute is required
+ or not. The aim of this test is to check that the validation is correct, for
+ cases where there is more than one attribute.
+
+ basic capability
+
+
+ Kennel
+
+
+ Valid document
+ mapping.xml
+ dog-complete.xml
+ dog-complete.xml
+
+
+
+ Missing attributes
+ mapping.xml
+ dog-missing-attributes.xml
+ true
+
+
+
+ Missing attribute
+ mapping.xml
+ dog-missing-attribute.xml
+ true
+
+
+
Index: xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-complete.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-complete.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/multipleAttributesWithinContainer/dog-complete.xml (Revision 0)
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/simple/Required_Root.java
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/simple/Required_Root.java (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/simple/Required_Root.java (Revision 0)
@@ -0,0 +1,28 @@
+
+
+import org.exolab.castor.xml.*;
+import org.exolab.castor.mapping.*;
+
+public class Required_Root {
+ private String _name;
+ private String _item;
+ public Required_Root() {
+ }
+
+ public String getName() {
+ return _name;
+ }
+
+ public String getItem() {
+ return _item;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public void setItem(String item) {
+ _item = item;
+ }
+
+}
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/simple/Required_Builder.java
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/simple/Required_Builder.java (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/simple/Required_Builder.java (Revision 0)
@@ -0,0 +1,59 @@
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ * statements and notices. Redistributions must also contain a
+ * copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ * above copyright notice, this list of conditions and the
+ * following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. The name "Exolab" must not be used to endorse or promote
+ * products derived from this Software without prior written
+ * permission of Intalio, Inc. For written permission,
+ * please contact info@exolab.org.
+ *
+ * 4. Products derived from this Software may not be called "Exolab"
+ * nor may "Exolab" appear in their names without prior written
+ * permission of Intalio, Inc. Exolab is a registered
+ * trademark of Intalio, Inc.
+ *
+ * 5. Due credit should be given to the Exolab Project
+ * (http://www.exolab.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY INTALIO, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * INTALIO, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2002 (C) Intalio, Inc. All Rights Reserved.
+ *
+ */
+
+import org.castor.xmlctf.ObjectModelBuilder;
+
+public class Required_Builder implements ObjectModelBuilder {
+
+ /**
+ * Build the object we expect when we unmarshal 'input.xml'
+ */
+ public Object buildInstance() {
+ Required_Root r = new Required_Root();
+ r.setName("castor");
+ r.setItem("beaver");
+ return r;
+ }
+
+}
Index: xmlctf/tests/MasterTestSuite/mapping/required/simple/input_failure_attribute.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/simple/input_failure_attribute.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/simple/input_failure_attribute.xml (Revision 0)
@@ -0,0 +1,3 @@
+
+ beaver
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/simple/mapping.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/simple/mapping.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/simple/mapping.xml (Revision 0)
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/simple/TestDescriptor.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/simple/TestDescriptor.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/simple/TestDescriptor.xml (Revision 0)
@@ -0,0 +1,37 @@
+
+
+ Test the required attribute in the field member
+ Arnaud Blandin
+
+ The field element allows to specify if an element or an attribute is required
+ or not. The aim of this test is to check that the validation is correct.
+
+ basic capability
+
+
+ Required_Root
+
+
+ Valid document
+ mapping.xml
+ required_input.xml
+ required_input.xml
+
+
+
+ Missing element
+ mapping.xml
+ input_failure_element.xml
+ true
+
+
+
+ Missing attribute
+ mapping.xml
+ input_failure_attribute.xml
+ true
+
+
+
Index: xmlctf/tests/MasterTestSuite/mapping/required/simple/input_failure_element.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/simple/input_failure_element.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/simple/input_failure_element.xml (Revision 0)
@@ -0,0 +1,2 @@
+
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/simple/required_input.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/simple/required_input.xml (Revision 0)
+++ xmlctf/tests/MasterTestSuite/mapping/required/simple/required_input.xml (Revision 0)
@@ -0,0 +1,3 @@
+
+ beaver
+
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/mapping.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/mapping.xml (Revision 6810)
+++ xmlctf/tests/MasterTestSuite/mapping/required/mapping.xml (Arbeitskopie)
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/TestDescriptor.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/TestDescriptor.xml (Revision 6810)
+++ xmlctf/tests/MasterTestSuite/mapping/required/TestDescriptor.xml (Arbeitskopie)
@@ -1,37 +0,0 @@
-
-
- Test the required attribute in the field member
- Arnaud Blandin
-
- The field element allows to specify if an element or an attribute is required
- or not. The aim of this test is to check that the validation is correct.
-
- basic capability
-
-
- Required_Root
-
-
- Valid document
- mapping.xml
- required_input.xml
- required_input.xml
-
-
-
- Missing element
- mapping.xml
- input_failure_element.xml
- true
-
-
-
- Missing attribute
- mapping.xml
- input_failure_attribute.xml
- true
-
-
-
Index: xmlctf/tests/MasterTestSuite/mapping/required/input_failure_element.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/input_failure_element.xml (Revision 6810)
+++ xmlctf/tests/MasterTestSuite/mapping/required/input_failure_element.xml (Arbeitskopie)
@@ -1,2 +0,0 @@
-
-
\ Kein Zeilenvorschub am Ende der Datei
Index: xmlctf/tests/MasterTestSuite/mapping/required/required_input.xml
===================================================================
--- xmlctf/tests/MasterTestSuite/mapping/required/required_input.xml (Revision 6810)
+++ xmlctf/tests/MasterTestSuite/mapping/required/required_input.xml (Arbeitskopie)
@@ -1,3 +0,0 @@
-
- beaver
-
\ Kein Zeilenvorschub am Ende der Datei