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 2009/02/11 14:49:09 UTC
svn commit: r743338 - in /webservices/jaxme/trunk/ws-jaxme: ./
jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/
jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/
jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/ jaxme...
Author: jochen
Date: Wed Feb 11 13:49:08 2009
New Revision: 743338
URL: http://svn.apache.org/viewvc?rev=743338&view=rev
Log:
Fixed several bugs in the handling of patterns.
Modified:
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/SimpleTypeSG.java
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/HandlerSGImpl.java
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/SimpleTypeSGImpl.java
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/Java5REHandler.java
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/REHandler.java
webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/XercesREHandler.java
webservices/jaxme/trunk/ws-jaxme/status.xml
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/SimpleTypeSG.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/SimpleTypeSG.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/SimpleTypeSG.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/SimpleTypeSG.java Wed Feb 11 13:49:08 2009
@@ -159,7 +159,7 @@
/** Adds code for validating the value <code>pValue</code> within the
* handler.
*/
- public void addHandlerValidation(JavaMethod pJm, TypedValue pValue) throws SAXException;
+ public void addHandlerValidation(JavaMethod pJm, TypedValue pValue, Object pStringValue) throws SAXException;
/** Returns, whether the simple type is an instance of
* <code>xs:id</code>.
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/HandlerSGImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/HandlerSGImpl.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/HandlerSGImpl.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/HandlerSGImpl.java Wed Feb 11 13:49:08 2009
@@ -285,7 +285,7 @@
pJm.addTry();
}
Object s = new Object[]{"(", StringSG.STRING_TYPE, ") ", pValue};
- pType.getSimpleTypeSG().addHandlerValidation(pJm, pValue);
+ pType.getSimpleTypeSG().addHandlerValidation(pJm, pValue, s);
TypedValue result = new TypedValueImpl(pType.getSimpleTypeSG().getCastFromString(pJm, s, "getHandler()"),
pType.getSimpleTypeSG().getRuntimeType());
pPropertySG.addValue(pJm, pElement, result, null);
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java Wed Feb 11 13:49:08 2009
@@ -199,7 +199,7 @@
return itemType.getSimpleTypeSG().isCausingParseConversionEvent();
}
- public void addHandlerValidation(SimpleTypeSG pController, JavaMethod pJm, TypedValue pValue) throws SAXException {
- itemType.getSimpleTypeSG().addHandlerValidation(pJm, pValue);
+ public void addHandlerValidation(SimpleTypeSG pController, JavaMethod pJm, TypedValue pValue, Object pStringValue) throws SAXException {
+ itemType.getSimpleTypeSG().addHandlerValidation(pJm, pValue, pStringValue);
}
}
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/SimpleTypeSGImpl.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/SimpleTypeSGImpl.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/SimpleTypeSGImpl.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/SimpleTypeSGImpl.java Wed Feb 11 13:49:08 2009
@@ -130,7 +130,7 @@
public void addValidation(SimpleTypeSG pController, JavaMethod pMethod, DirectAccessible pValue) throws SAXException {
}
- public void addHandlerValidation(SimpleTypeSG pController, JavaMethod pJm, TypedValue pValue)
+ public void addHandlerValidation(SimpleTypeSG pController, JavaMethod pJm, TypedValue pValue, Object pStringValue)
throws SAXException {
}
}
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java Wed Feb 11 13:49:08 2009
@@ -31,6 +31,7 @@
import org.apache.ws.jaxme.js.JavaSource;
import org.apache.ws.jaxme.js.LocalJavaField;
import org.apache.ws.jaxme.js.TypedValue;
+import org.apache.ws.jaxme.js.JavaSource.Protection;
import org.apache.ws.jaxme.js.impl.TypedValueImpl;
import org.apache.ws.jaxme.xs.XSType;
import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
@@ -86,27 +87,32 @@
|| atomicType.getPatterns() != null;
}
- public void addHandlerValidation(SimpleTypeSG pController, JavaMethod pJm, TypedValue pValue)
+ private String newReFieldName(JavaSource pJs) {
+ for (int i = 0; ; i++) {
+ String name = "_re_" + i;
+ JavaField jf = pJs.getField(name);
+ if (jf == null) {
+ return name;
+ }
+ }
+ }
+
+ public void addHandlerValidation(SimpleTypeSG pController, JavaMethod pJm, TypedValue pValue, Object pStringValue)
throws SAXException {
String[] patterns = pController.getAtomicType().getPatterns();
- if (patterns == null) {
+ if (patterns == null || patterns.length == 0) {
return;
}
JavaSource js = pJm.getJavaSource();
- int i = 0;
- for (;;) {
- String name = "_re_" + i;
- JavaField jf = js.getField(name);
- if (jf == null) {
- break;
- }
- }
+
for (int j = 0; j < patterns.length; j++) {
- String name = "_re_" + i++;
- JavaField jf = js.newJavaField(name, REHandler.Matcher.class);
+ String name = newReFieldName(js);
+ JavaField jf = js.newJavaField(name, REHandler.Matcher.class, JavaSource.PRIVATE);
+ jf.setStatic(true);
+ jf.setFinal(true);
jf.addLine(REFactory.class, ".getREHandler().getMatcher(",
JavaSource.getQuoted(patterns[j]), ")");
- pJm.addIf("!", jf, ".matches(", pValue, ")");
+ pJm.addIf("!", jf, ".matches(", pStringValue, ")");
pJm.addThrowNew(IllegalArgumentException.class,
JavaSource.getQuoted("Value doesn't match pattern "),
" + ", jf, ".getPattern()");
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/Java5REHandler.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/Java5REHandler.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/Java5REHandler.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/Java5REHandler.java Wed Feb 11 13:49:08 2009
@@ -26,7 +26,7 @@
final RegularExpression re = new RegularExpression(pPattern, "X");
return new Matcher(){
public String getPattern() { return pPattern; }
- public synchronized boolean matches(String pValue) {
+ public boolean matches(String pValue) {
return re.matches(pValue);
}
};
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/REHandler.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/REHandler.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/REHandler.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/REHandler.java Wed Feb 11 13:49:08 2009
@@ -23,8 +23,9 @@
* Upon startup, an attempt is made to load an RE implementation.
*/
public interface REHandler {
- /** An RE matcher is a compiled regular expression.
- * Its method
+ /** An RE matcher is a thread safe, compiled regular expression.
+ * Its method "matches" is used to determine, whether a given
+ * string matches the pattern.
*/
public interface Matcher {
/** Returns the regular expressions pattern.
Modified: webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/XercesREHandler.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/XercesREHandler.java?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/XercesREHandler.java (original)
+++ webservices/jaxme/trunk/ws-jaxme/jaxme-jm/src/main/java/org/apache/ws/jaxme/impl/XercesREHandler.java Wed Feb 11 13:49:08 2009
@@ -26,7 +26,7 @@
final RegularExpression re = new RegularExpression(pPattern, "X");
return new Matcher(){
public String getPattern() { return pPattern; }
- public synchronized boolean matches(String pValue) {
+ public boolean matches(String pValue) {
return re.matches(pValue);
}
};
Modified: webservices/jaxme/trunk/ws-jaxme/status.xml
URL: http://svn.apache.org/viewvc/webservices/jaxme/trunk/ws-jaxme/status.xml?rev=743338&r1=743337&r2=743338&view=diff
==============================================================================
--- webservices/jaxme/trunk/ws-jaxme/status.xml (original)
+++ webservices/jaxme/trunk/ws-jaxme/status.xml Wed Feb 11 13:49:08 2009
@@ -45,6 +45,15 @@
<action dev="JW" type="fix" context="js">
Upgrade to the latest version of java15.g.
</action>
+ <action dev="JW" type="enhancement" context="all">
+ Upgrade from Maven 1 to Maven 2.
+ </action>
+ <action dev="JW" type="enhancement" context="api">
+ Upgraded the API to JAXB 2.1, so that Java 6 can be supported.
+ </action>
+ <action dev="JW" type="fix">
+ Fixed an endless loop when handling patterns.
+ </action>
</release>
<release version="0.5.3" date="Unpublished">
<action dev="JW" type="fix" context="runtime">
---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org