You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2005/08/19 21:22:20 UTC
svn commit: r233543 - in /webservices/jaxme/trunk: ./ ant/
src/jaxme/org/apache/ws/jaxme/impl/ src/jaxme/org/apache/ws/jaxme/junit/
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 {@link 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: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org