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]

Reply via email to