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]