jochen 2005/05/18 15:09:10
Modified: src/js/org/apache/ws/jaxme/js/pattern
CompiledClassReflector.java Ant.java
ChainGenerator.java
src/js/org/apache/ws/jaxme/js JavaSource.java
AbstractJavaMethod.java JavaSourceObject.java
src/jaxme/org/apache/ws/jaxme/generator/sg/impl
ParsePrintSG.java
src/xs/org/apache/ws/jaxme/xs/impl XSTypeImpl.java
src/jaxme/org/apache/ws/jaxme/junit ParserTest.java
Log:
Fixed that the chain generator didn't handle imports properly.
Revision Changes Path
1.2 +1 -1
ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/CompiledClassReflector.java
Index: CompiledClassReflector.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/CompiledClassReflector.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CompiledClassReflector.java 6 Sep 2004 14:51:57 -0000 1.1
+++ CompiledClassReflector.java 18 May 2005 22:09:09 -0000 1.2
@@ -59,7 +59,7 @@
*/
public JavaSource getJavaSource(JavaSourceFactory pFactory) {
Class c = getCompiledClass();
- JavaSource js = new
JavaSourceFactory().newJavaSource(JavaQNameImpl.getInstance(c.getName()));
+ JavaSource js = new
JavaSourceFactory().newJavaSource(JavaQNameImpl.getInstance(c.getName(), true));
Method[] methods = c.getMethods();
for (int i = 0; i < methods.length; i++) {
Method m = methods[i];
1.10 +2 -8 ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/Ant.java
Index: Ant.java
===================================================================
RCS file: /home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/Ant.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Ant.java 12 Sep 2004 04:25:50 -0000 1.9
+++ Ant.java 18 May 2005 22:09:09 -0000 1.10
@@ -209,13 +209,7 @@
}
protected static JavaQName getJavaQName(String pName) {
- int offset = pName.lastIndexOf('.');
- if (offset == -1) {
- return JavaQNameImpl.getInstance(pName);
- } else {
- return JavaQNameImpl.getInstance(pName.substring(0, offset),
- pName.substring(offset+1));
- }
+ return JavaQNameImpl.getInstance(pName, true);
}
/** The <code>AntProxyGenerator</code> is an Ant task
1.8 +13 -1
ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/ChainGenerator.java
Index: ChainGenerator.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/ChainGenerator.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ChainGenerator.java 9 Sep 2004 00:41:46 -0000 1.7
+++ ChainGenerator.java 18 May 2005 22:09:09 -0000 1.8
@@ -16,6 +16,7 @@
*/
package org.apache.ws.jaxme.js.pattern;
+import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
@@ -104,7 +105,7 @@
JavaSourceFactory jsf = new JavaSourceFactory();
List sources = new ArrayList();
Set names = new HashSet();
- loadSources(pClassLoader, JavaQNameImpl.getInstance(pName),
+ loadSources(pClassLoader, JavaQNameImpl.getInstance(pName, true),
jsf, sources, names);
if (sources.isEmpty()) {
return null;
@@ -374,4 +375,15 @@
return new JavaSource[]{controllerImplementation, proxyInterface,
proxyImplementation};
}
+
+ public static void main(String[] args) throws Exception {
+ ChainGenerator cg = new ChainGenerator();
+
cg.setChainInterfaceName("org.apache.ws.jaxme.generator.sg.ComplexTypeSGChain");
+
cg.setControllerInterfaceName("org.apache.ws.jaxme.generator.sg.ComplexTypeSG");
+
cg.setImplementationClassName("org.apache.ws.jaxme.generator.sg.ComplexTypeSGImpl");
+
cg.setProxyClassName("org.apache.ws.jaxme.generator.sg.ComplexTypeSGChainImpl");
+ JavaSourceFactory f = new JavaSourceFactory();
+ cg.generate(f);
+ f.write(new File("/tmp/qName"));
+ }
}
1.10 +6 -6 ws-jaxme/src/js/org/apache/ws/jaxme/js/JavaSource.java
Index: JavaSource.java
===================================================================
RCS file: /home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/JavaSource.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- JavaSource.java 6 Mar 2005 02:32:27 -0000 1.9
+++ JavaSource.java 18 May 2005 22:09:10 -0000 1.10
@@ -988,21 +988,21 @@
* type and default protection.
*/
public JavaMethod newJavaMethod(String pName, String pType) {
- return newJavaMethod(pName, JavaQNameImpl.getInstance(pType),
(Protection) null);
+ return newJavaMethod(pName, JavaQNameImpl.getInstance(pType, true),
(Protection) null);
}
/** Creates a new JavaMethod with the given name, return
* type and protection.
*/
public JavaMethod newJavaMethod(String pName, String pType, Protection
pProtection) {
- return newJavaMethod(pName, JavaQNameImpl.getInstance(pType),
pProtection);
+ return newJavaMethod(pName, JavaQNameImpl.getInstance(pType, true),
pProtection);
}
/** Creates a new JavaMethod with the given name, return
* type and protection.
*/
public JavaMethod newJavaMethod(String pName, String pType, String
pProtection) {
- return newJavaMethod(pName, JavaQNameImpl.getInstance(pType),
+ return newJavaMethod(pName, JavaQNameImpl.getInstance(pType, true),
Protection.valueOf(pProtection));
}
@@ -1138,14 +1138,14 @@
* protection.
*/
public JavaField newJavaField(String pName, String pType, Protection
pProtection) {
- return newJavaField(pName, JavaQNameImpl.getInstance(pType),
pProtection);
+ return newJavaField(pName, JavaQNameImpl.getInstance(pType, true),
pProtection);
}
/** Creates a new JavaField with the given name, type and
* protection.
*/
public JavaField newJavaField(String pName, String pType, String
pProtection) {
- return newJavaField(pName, JavaQNameImpl.getInstance(pType),
+ return newJavaField(pName, JavaQNameImpl.getInstance(pType, true),
Protection.valueOf(pProtection));
}
@@ -1153,7 +1153,7 @@
* default protection.
*/
public JavaField newJavaField(String pName, String pType) {
- return newJavaField(pName, JavaQNameImpl.getInstance(pType),
(Protection) null);
+ return newJavaField(pName, JavaQNameImpl.getInstance(pType, true),
(Protection) null);
}
/** Creates a new JavaField with the given name, type and
1.4 +2 -8
ws-jaxme/src/js/org/apache/ws/jaxme/js/AbstractJavaMethod.java
Index: AbstractJavaMethod.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/AbstractJavaMethod.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractJavaMethod.java 16 Feb 2004 23:39:55 -0000 1.3
+++ AbstractJavaMethod.java 18 May 2005 22:09:10 -0000 1.4
@@ -95,7 +95,7 @@
* @deprecated Use [EMAIL PROTECTED] #addThrows(JavaQName)}
*/
public void addThrows(String e) {
- exceptions.add(JavaQNameImpl.getInstance(e));
+ exceptions.add(JavaQNameImpl.getInstance(e, true));
if (e == null) {
throw new NullPointerException("The exception argument must not be
null.");
}
@@ -136,13 +136,7 @@
throw new NullPointerException("param argument must not be null");
}
p = p.trim();
- int offset = p.indexOf('.');
- if (offset == -1) {
- addParam(JavaQNameImpl.getInstance(p), v);
- } else {
- addParam(JavaQNameImpl.getInstance(p.substring(0, offset),
- p.substring(offset+1)), v);
- }
+ addParam(JavaQNameImpl.getInstance(p, true), v);
}
/** <p>Adds a parameter that this method takes.</p>
1.4 +1 -6
ws-jaxme/src/js/org/apache/ws/jaxme/js/JavaSourceObject.java
Index: JavaSourceObject.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/JavaSourceObject.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JavaSourceObject.java 7 Oct 2004 22:12:13 -0000 1.3
+++ JavaSourceObject.java 18 May 2005 22:09:10 -0000 1.4
@@ -34,12 +34,7 @@
if (pType == null) {
throw new NullPointerException("Type must not be null");
}
- int offset = pType.indexOf('.');
- if (offset == -1) {
- setType(JavaQNameImpl.getInstance(pType));
- } else {
- setType(JavaQNameImpl.getInstance(pType.substring(0, offset),
pType.substring(offset+1)));
- }
+ setType(JavaQNameImpl.getInstance(pType, true));
setProtection(pProtection);
}
1.8 +1 -1
ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ParsePrintSG.java
Index: ParsePrintSG.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ParsePrintSG.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ParsePrintSG.java 28 Apr 2005 23:57:53 -0000 1.7
+++ ParsePrintSG.java 18 May 2005 22:09:10 -0000 1.8
@@ -91,7 +91,7 @@
if (parseMethod.startsWith("new")
&& parseMethod.length() > 3
&& Character.isWhitespace(parseMethod.charAt(3))) {
- JavaQName qName =
JavaQNameImpl.getInstance(parseMethod.substring(3).trim());
+ JavaQName qName =
JavaQNameImpl.getInstance(parseMethod.substring(3).trim(), true);
list.add("new ");
list.add(qName);
} else {
1.17 +13 -8
ws-jaxme/src/xs/org/apache/ws/jaxme/xs/impl/XSTypeImpl.java
Index: XSTypeImpl.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/xs/org/apache/ws/jaxme/xs/impl/XSTypeImpl.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- XSTypeImpl.java 22 Oct 2004 21:35:06 -0000 1.16
+++ XSTypeImpl.java 18 May 2005 22:09:10 -0000 1.17
@@ -29,6 +29,7 @@
import org.apache.ws.jaxme.xs.XSSimpleType;
import org.apache.ws.jaxme.xs.XSType;
import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
+import org.apache.ws.jaxme.xs.types.XSAnyType;
import org.apache.ws.jaxme.xs.xml.*;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -311,29 +312,33 @@
if (type.isSimple()) {
throw new LocSAXException("Invalid 'extension': The base type " +
base + " is simple.", getLocator());
}
- XSComplexType myComplexType = type.getComplexType();
- if (myComplexType.hasSimpleContent()) {
+ XSComplexType extendedComplexType = type.getComplexType();
+ if (extendedComplexType.hasSimpleContent()) {
throw new LocSAXException("Invalid 'extension': The base type " +
base + " has simple content.",
getLocator());
}
XsTTypeDefParticle particle = extension.getTypeDefParticle();
-
XSGroup group = getGroupByParticle(particle);
XsComplexContentType groupType = getContentTypeByParticle(particle,
group);
if (XsComplexContentType.EMPTY.equals(groupType)) {
- complexContentType = myComplexType.getComplexContentType();
- complexContentParticle = myComplexType.getParticle();
- } else if (myComplexType.isEmpty()) {
+ if (type == XSAnyType.getInstance()) {
+ complexContentType = null;
+ complexContentParticle = null;
+ } else {
+ complexContentType =
extendedComplexType.getComplexContentType();
+ complexContentParticle =
extendedComplexType.getParticle();
+ }
+ } else if (extendedComplexType.isEmpty()) {
complexContentType = groupType;
complexContentParticle = new XSParticleImpl(group);
} else {
- XSGroup sequenceGroup = new ExtensionGroup(pOwner, new
XSParticle[]{myComplexType.getParticle(), new XSParticleImpl(group)});
+ XSGroup sequenceGroup = new ExtensionGroup(pOwner, new
XSParticle[]{extendedComplexType.getParticle(), new XSParticleImpl(group)});
complexContentParticle = new XSParticleImpl(sequenceGroup);
complexContentType = groupType;
}
- XSAttributable[] inheritedAttributes = myComplexType.getAttributes();
+ XSAttributable[] inheritedAttributes =
extendedComplexType.getAttributes();
XSAttributable[] myAttributes =
XSAttributeGroupImpl.getAttributes(XSTypeImpl.this, extension);
attributes = new XSAttributable[inheritedAttributes.length +
myAttributes.length];
System.arraycopy(inheritedAttributes, 0, attributes, 0,
inheritedAttributes.length);
1.8 +2 -2
ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/ParserTest.java
Index: ParserTest.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/ParserTest.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ParserTest.java 31 Dec 2004 00:41:06 -0000 1.7
+++ ParserTest.java 18 May 2005 22:09:10 -0000 1.8
@@ -348,7 +348,7 @@
assertEquals(new XsQName((String) null, "d"), child2.getName());
assertTrue(!child2.getTypeSG().isComplex());
SimpleTypeSG st4 = child2.getTypeSG().getSimpleTypeSG();
- assertEquals(JavaQNameImpl.getInstance(double.class.getName()),
st4.getRuntimeType());
+ assertEquals(JavaQNameImpl.getInstance(double.class),
st4.getRuntimeType());
AttributeSG[] attributes = ct3.getAttributes();
assertEquals(1, attributes.length);
assertEquals(new XsQName((String) null, "e"), attributes[0].getName());
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]