Author: jochen
Date: Fri Aug 19 12:22:07 2005
New Revision: 233543
URL: http://svn.apache.org/viewcvs?rev=233543&view=rev
Log:
Added a unit test for xs:pattern.
Modified:
webservices/jaxme/trunk/ant/jm.xml
webservices/jaxme/trunk/ant/macros.xml
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/impl/REFactory.java
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/BaseTestCase.java
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/MarshallerTest.java
webservices/jaxme/trunk/status.xml
Modified: webservices/jaxme/trunk/ant/jm.xml
URL:
http://svn.apache.org/viewcvs/webservices/jaxme/trunk/ant/jm.xml?rev=233543&r1=233542&r2=233543&view=diff
==============================================================================
--- webservices/jaxme/trunk/ant/jm.xml (original)
+++ webservices/jaxme/trunk/ant/jm.xml Fri Aug 19 12:22:07 2005
@@ -136,6 +136,8 @@
<exclude name="org/apache/ws/jaxme/impl/CharSetXMLWriter.java"
unless="have14"/>
<exclude name="org/apache/ws/jaxme/junit/*Test.java"/>
<exclude name="org/apache/ws/jaxme/examples/misc/address/*.java"/>
+ <exclude name="org/apache/ws/jaxme/impl/XercesREHandler.java"
unless="haveXercesRe"/>
+ <exclude name="org/apache/ws/jaxme/impl/Java5REHandler.java"
unless="haveJava5Re"/>
</javac>
<jar destfile="${dist}/jaxme2-rt-${version}.jar">
<fileset dir="${build.jm.classes}">
Modified: webservices/jaxme/trunk/ant/macros.xml
URL:
http://svn.apache.org/viewcvs/webservices/jaxme/trunk/ant/macros.xml?rev=233543&r1=233542&r2=233543&view=diff
==============================================================================
--- webservices/jaxme/trunk/ant/macros.xml (original)
+++ webservices/jaxme/trunk/ant/macros.xml Fri Aug 19 12:22:07 2005
@@ -44,6 +44,9 @@
</and>
</condition>
+ <available
classname="org.apache.xerces.impl.xpath.regex.RegularExpression"
property="haveXercesRe"/>
+ <available
classname="com.sun.org.apache.xerces.internal.impl.xpath.regex.RegularExpression"
property="haveJava5Re"/>
+
<macrodef name="jc">
<attribute name="srcdir"/>
<attribute name="destdir"/>
Modified:
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/impl/REFactory.java
URL:
http://svn.apache.org/viewcvs/webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/impl/REFactory.java?rev=233543&r1=233542&r2=233543&view=diff
==============================================================================
--- webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/impl/REFactory.java
(original)
+++ webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/impl/REFactory.java
Fri Aug 19 12:22:07 2005
@@ -70,8 +70,13 @@
* </ol>
*/
public static REHandler getREHandler() { return reHandler; }
-
- private static class DummyREHandler implements REHandler {
+
+ /** Dummy implementation of an [EMAIL PROTECTED] REHandler},
+ * which accepts any string as matching for any pattern.
+ * Used as a fallback, if no other implementations are
+ * available.
+ */
+ public static class DummyREHandler implements REHandler {
public Matcher getMatcher(final String pPattern) {
return new REHandler.Matcher() {
public String getPattern() { return pPattern; }
Modified:
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/BaseTestCase.java
URL:
http://svn.apache.org/viewcvs/webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/BaseTestCase.java?rev=233543&r1=233542&r2=233543&view=diff
==============================================================================
---
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/BaseTestCase.java
(original)
+++
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/BaseTestCase.java
Fri Aug 19 12:22:07 2005
@@ -23,9 +23,12 @@
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.ValidationEvent;
+import javax.xml.bind.ValidationEventHandler;
import org.apache.ws.jaxme.JMElement;
import org.apache.ws.jaxme.impl.JMMarshallerImpl;
+import org.apache.ws.jaxme.impl.ValidationEventImpl;
import org.xml.sax.InputSource;
import junit.framework.TestCase;
@@ -37,7 +40,19 @@
* @version $Id$
*/
public abstract class BaseTestCase extends TestCase {
- protected BaseTestCase() {
+ protected static class EventDetector implements ValidationEventHandler {
+ private ValidationEvent event;
+ public boolean handleEvent(ValidationEvent pEvent) {
+ if (event == null) {
+ event = pEvent;
+ }
+ return true;
+ }
+ boolean isSuccess() { return event == null; }
+ ValidationEventImpl getEvent() { return (ValidationEventImpl)
event; }
+ }
+
+ protected BaseTestCase() {
}
protected BaseTestCase(String pName) {
Modified:
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
URL:
http://svn.apache.org/viewcvs/webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java?rev=233543&r1=233542&r2=233543&view=diff
==============================================================================
--- webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
(original)
+++ webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
Fri Aug 19 12:22:07 2005
@@ -7,8 +7,6 @@
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.ValidationEvent;
-import javax.xml.bind.ValidationEventHandler;
import magoffin.matt.ieat.domain.impl.IngredientImpl;
import net.dspc.commons.activitymodel.TransmissionData;
@@ -23,7 +21,6 @@
import org.apache.ws.jaxme.generator.sg.SchemaSG;
import org.apache.ws.jaxme.generator.sg.impl.JAXBSchemaReader;
import org.apache.ws.jaxme.generator.util.JavaNamer;
-import org.apache.ws.jaxme.impl.ValidationEventImpl;
import org.apache.ws.jaxme.test.jira.jaxme58.AuthorType;
import org.apache.ws.jaxme.test.jira.jaxme58.BookType;
import org.apache.ws.jaxme.test.jira.jaxme58.Booklist;
@@ -178,18 +175,6 @@
runFacetTest(i, "c", i == 4);
}
}
-
- private static class EventDetector implements ValidationEventHandler {
- private ValidationEvent event;
- public boolean handleEvent(ValidationEvent pEvent) {
- if (event == null) {
- event = pEvent;
- }
- return true;
- }
- boolean isSuccess() { return event == null; }
- ValidationEventImpl getEvent() { return (ValidationEventImpl)
event; }
- };
private void runFacetTest(int i, String pAttrName, boolean pSuccess)
throws JAXBException {
JAXBContext ctx = super.getJAXBContext(Jira62.class);
Modified:
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/MarshallerTest.java
URL:
http://svn.apache.org/viewcvs/webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/MarshallerTest.java?rev=233543&r1=233542&r2=233543&view=diff
==============================================================================
---
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/MarshallerTest.java
(original)
+++
webservices/jaxme/trunk/src/jaxme/org/apache/ws/jaxme/junit/MarshallerTest.java
Fri Aug 19 12:22:07 2005
@@ -44,6 +44,7 @@
import org.apache.ws.jaxme.impl.DatatypeConverterImpl;
import org.apache.ws.jaxme.impl.JAXBContextImpl;
import org.apache.ws.jaxme.impl.JMMarshallerImpl;
+import org.apache.ws.jaxme.impl.REFactory;
import org.apache.ws.jaxme.test.misc.address.Address;
import org.apache.ws.jaxme.test.misc.address.AddressType;
import org.apache.ws.jaxme.test.misc.types.AllElement;
@@ -52,6 +53,7 @@
import org.apache.ws.jaxme.test.misc.types.Author;
import org.apache.ws.jaxme.test.misc.types.Html;
import org.apache.ws.jaxme.test.misc.types.ObjectFactory;
+import org.apache.ws.jaxme.test.misc.types.Patterns;
import org.apache.ws.jaxme.test.misc.types.impl.AllElementImpl;
import org.apache.ws.jaxme.test.misc.types.impl.AllSimpleTypesImpl;
import org.apache.ws.jaxme.test.misc.types.impl.AllTypesElementImpl;
@@ -638,5 +640,33 @@
m.marshal(htmlElem, sw);
String got = sw.toString();
assertEquals(html, got);
+ }
+
+ private void testPattern(boolean pSuccess, String pValue) throws
Exception {
+ boolean patternTestingAvailable = !(REFactory.getREHandler()
instanceof REFactory.DummyREHandler);
+ final String prefix = "<ex:patterns
xmlns:ex='http://ws.apache.org/jaxme/test/misc/types' foo='";
+ final String suffix = "'/>";
+ final String xml1 = prefix + pValue + suffix;
+ JAXBContext ctx = getJAXBContext(Patterns.class);
+ Unmarshaller u = ctx.createUnmarshaller();
+ EventDetector ed = new EventDetector();
+ u.setEventHandler(ed);
+ Patterns patterns = (Patterns) u.unmarshal(new InputSource(new
StringReader(xml1)));
+ if (pSuccess || !patternTestingAvailable) {
+ assertTrue(ed.isSuccess());
+ assertEquals(pValue, patterns.getFoo());
+ } else {
+ assertTrue(!ed.isSuccess());
+ assertNull(patterns.getFoo());
+ }
+ }
+
+ /** Tests, whether patterns are evaluated while unmarshalling.
+ */
+ public void testPatterns() throws Exception {
+ testPattern(true, "xY01");
+ testPattern(false, "xY");
+ testPattern(false, "xY0123");
+ testPattern(false, "x012");
}
}
Modified: webservices/jaxme/trunk/status.xml
URL:
http://svn.apache.org/viewcvs/webservices/jaxme/trunk/status.xml?rev=233543&r1=233542&r2=233543&view=diff
==============================================================================
--- webservices/jaxme/trunk/status.xml (original)
+++ webservices/jaxme/trunk/status.xml Fri Aug 19 12:22:07 2005
@@ -50,6 +50,9 @@
build scripts. (JAXME-67, Boris Gruschke,
<boris at gruschke.de>)
</action>
+ <action dev="JW" type="enhancement" context="generator">
+ Added support for xs:pattern.
+ </action>
</release>
<release version="0.5" date="2005-Aug-08">
<action dev="JW" type="enhancement" context="js">
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]