Title: [1150] trunk/qdox/src/test/java/com/thoughtworks/qdox/model: Add ModelBuilder.parameterList so it can be used for both methods and constructors

Diff

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/ModelBuilder.java (1149 => 1150)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/ModelBuilder.java	2011-04-06 18:59:42 UTC (rev 1149)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/ModelBuilder.java	2011-04-06 19:58:08 UTC (rev 1150)
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
@@ -35,6 +36,7 @@
 import com.thoughtworks.qdox.model.DefaultJavaSource;
 import com.thoughtworks.qdox.model.DocletTag;
 import com.thoughtworks.qdox.model.DocletTagFactory;
+import com.thoughtworks.qdox.model.JavaParameter;
 import com.thoughtworks.qdox.model.JavaSource;
 import com.thoughtworks.qdox.model.Type;
 import com.thoughtworks.qdox.model.TypeVariable;
@@ -55,6 +57,7 @@
 
     private final DefaultJavaSource source;
     private LinkedList<DefaultJavaClass> classStack = new LinkedList<DefaultJavaClass>();
+    private List<DefaultJavaParameter> parameterList = new LinkedList<DefaultJavaParameter>();
     private DefaultJavaConstructor currentConstructor;
     private DefaultJavaMethod currentMethod;
     private List<AnnoDef> currentAnnoDefs;
@@ -256,18 +259,20 @@
         }
 
         // modifiers
-//        currentConstructor.setModifiers(new LinkedList<String>( def.modifiers ));
+//        currentConstructor.setModifiers( new LinkedList<String>( def.modifiers ) );
         currentMethod.setModifiers(new LinkedList<String>(def.modifiers) );
+
+        if( !parameterList.isEmpty() ) 
+        {
+//            currentConstructor.setParameters( new ArrayList<JavaParameter>( parameterList ) );
+            currentMethod.setParameters( new ArrayList<JavaParameter>( parameterList ) );
+            parameterList.clear();
+        }
         
 //        currentConstructor.setSourceCode(def.body);
         currentMethod.setSourceCode( def.body );
     }
 
-    public void addMethod(MethodDef def) {
-    	beginMethod();
-    	endMethod(def);
-    }
-    
     public void beginMethod() {
     	currentMethod = new DefaultJavaMethod();
     	currentMethod.setParentClass(classStack.getFirst());
@@ -299,19 +304,20 @@
         }
         
         // exceptions
-        {
-            List<Type> exceptions = new LinkedList<Type>();
-            for (TypeDef type : def.exceptions) {
-                exceptions.add(createType(type, 0));
-            }
-            currentMethod.setExceptions(exceptions);
+        List<Type> exceptions = new LinkedList<Type>();
+        for (TypeDef type : def.exceptions) {
+            exceptions.add(createType(type, 0));
         }
+        currentMethod.setExceptions(exceptions);
 
         // modifiers
-        {
-            currentMethod.setModifiers(new LinkedList<String>( def.modifiers ));
+        currentMethod.setModifiers(new LinkedList<String>( def.modifiers ));
+        
+        if( !parameterList.isEmpty() ) {
+            currentMethod.setParameters( new ArrayList<JavaParameter>( parameterList ) );
+            parameterList.clear();
         }
-        
+
         currentMethod.setSourceCode(def.body);
     }
 
@@ -355,7 +361,7 @@
         jParam.setModelWriterFactory(modelWriterFactory);
         addJavaDoc( jParam );
         setAnnotations( jParam );
-        currentMethod.addParameter( jParam );
+        parameterList.add( jParam );
 	}
 
     private void setAnnotations( final AbstractBaseJavaEntity entity ) {

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/AbstractBaseMethod.java (1149 => 1150)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/AbstractBaseMethod.java	2011-04-06 18:59:42 UTC (rev 1149)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/AbstractBaseMethod.java	2011-04-06 19:58:08 UTC (rev 1150)
@@ -50,10 +50,10 @@
         return getParentClass();
     }
 
-    public void addParameter( JavaParameter javaParameter )
+    public void setParameters( List<JavaParameter> javaParameters )
     {
-        parameters.add( javaParameter );
-        this.varArgs = javaParameter.isVarArgs();
+        parameters.addAll( javaParameters );
+        this.varArgs = javaParameters.get( javaParameters.size() -1 ).isVarArgs();
     }
 
     public void setExceptions( List<Type> exceptions )

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/impl/BinaryClassParser.java (1149 => 1150)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/impl/BinaryClassParser.java	2011-04-06 18:59:42 UTC (rev 1149)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/impl/BinaryClassParser.java	2011-04-06 19:58:08 UTC (rev 1150)
@@ -159,7 +159,7 @@
             Class<?> exception = exceptions[j];
             methodDef.exceptions.add(getTypeDef(exception));
         }
-        binaryBuilder.addMethod(methodDef);
+        binaryBuilder.beginMethod();
         for (int j = 0; j < parameterTypes.length; j++) {
             FieldDef param = new FieldDef();
             Class<?> parameterType = parameterTypes[j];
@@ -168,6 +168,7 @@
             param.dimensions = getDimension(parameterType);
             binaryBuilder.addParameter( param );
         }
+        binaryBuilder.endMethod(methodDef);
     }
 
     private static final int getDimension(Class<?> c) {

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/builder/ModelBuilderTest.java (1149 => 1150)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/builder/ModelBuilderTest.java	2011-04-06 18:59:42 UTC (rev 1149)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/builder/ModelBuilderTest.java	2011-04-06 19:58:08 UTC (rev 1150)
@@ -260,18 +260,24 @@
 
     public void testAddMethodsToCorrectClass() throws Exception {
         builder.beginClass(new ClassDef());
-        builder.addMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
         builder.endClass();
 
         builder.beginClass(new ClassDef());
-        builder.addMethod(new MethodDef());
-        builder.addMethod(new MethodDef());
-        builder.addMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
         builder.endClass();
 
         builder.beginClass(new ClassDef());
-        builder.addMethod(new MethodDef());
-        builder.addMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -293,12 +299,14 @@
 
         MethodDef fooDef = new MethodDef();
         fooDef.name = "foo";
-        builder.addMethod(fooDef);
+        builder.beginMethod();
+        builder.endMethod(fooDef);
         builder.endClass();
 
         MethodDef barDef = new MethodDef();
         barDef.name = "bar";
-        builder.addMethod(barDef);
+        builder.beginMethod();
+        builder.endMethod(barDef);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -319,7 +327,8 @@
         MethodDef mth = new MethodDef();
         mth.name = "doSomething";
         mth.returnType = new TypeDef("void");
-        builder.addMethod(mth);
+        builder.beginMethod();
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -339,7 +348,8 @@
         mth.name = "doSomething";
         mth.returnType = new TypeDef("void");
         mth.dimensions = 0;
-        builder.addMethod(mth);
+        builder.beginMethod();
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -353,7 +363,8 @@
         mth.name = "doSomething";
         mth.returnType = new TypeDef("void");
         mth.dimensions = 1;
-        builder.addMethod(mth);
+        builder.beginMethod();
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -367,7 +378,8 @@
         mth.name = "doSomething";
         mth.returnType = new TypeDef("void");
         mth.dimensions = 2;
-        builder.addMethod(mth);
+        builder.beginMethod();
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -377,10 +389,10 @@
 
     public void testMethodParameters() throws Exception {
         builder.beginClass(new ClassDef());
+        builder.beginMethod();
+
         MethodDef mth = new MethodDef();
 
-        builder.addMethod(mth);
-
         FieldDef f1 = new FieldDef();
         f1.name = "count";
         f1.type = new TypeDef("int");
@@ -392,6 +404,7 @@
         f2.type = new TypeDef("String");
         builder.addParameter( f2 );
 
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -405,8 +418,8 @@
 
     public void testMethodParametersWithArrays() throws Exception {
         builder.beginClass(new ClassDef());
+        builder.beginMethod();
         MethodDef mth = new MethodDef();
-        builder.addMethod(mth);
 
         FieldDef f1 = new FieldDef();
         f1.name = "count";
@@ -422,6 +435,7 @@
         f2.dimensions = 2;
         builder.addParameter( f2 );
 
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -437,7 +451,8 @@
         mth.exceptions.add(new TypeDef("RuntimeException"));
         mth.exceptions.add(new TypeDef("java.io.IOException"));
 
-        builder.addMethod(mth);
+        builder.beginMethod();
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -457,7 +472,8 @@
         mth.modifiers.add("final");
         mth.modifiers.add("synchronized");
 
-        builder.addMethod(mth);
+        builder.beginMethod();
+        builder.endMethod(mth);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -564,12 +580,14 @@
         MethodDef mth = new MethodDef();
         mth.name = "MyClass";
         mth.constructor = true;
-        builder.addMethod(mth);
+        builder.beginMethod();
+        builder.endMethod(mth);
 
         MethodDef mth2 = new MethodDef();
         mth2.name = "method";
         mth2.returnType = new TypeDef("void");
-        builder.addMethod(mth2);
+        builder.beginMethod();
+        builder.endMethod(mth2);
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -616,7 +634,8 @@
         builder.beginClass(new ClassDef());
 
         builder.addJavaDoc("Hello");
-        builder.addMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
         builder.endClass();
 
         JavaSource source = builder.getSource();
@@ -645,15 +664,18 @@
         builder.addField(new FieldDef());// f0
 
         builder.addJavaDoc("Hello");
-        builder.addMethod(new MethodDef());//m0
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());//m0
 
         builder.addJavaDoc("Hello field");
         builder.addField(new FieldDef());//f1
 
-        builder.addMethod(new MethodDef());//m1
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());//m1
 
         builder.addJavaDoc("World");
-        builder.addMethod(new MethodDef());//m2
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());//m2
 
         builder.endClass();
 
@@ -725,7 +747,8 @@
 
         builder.addJavaDoc("");
         builder.addJavaDocTag(new TagDef("food", "is great"));
-        builder.addMethod(new MethodDef());
+        builder.beginMethod();
+        builder.endMethod(new MethodDef());
 
         builder.addJavaDoc("");
         builder.addJavaDocTag(new TagDef("chairs", "are boring"));

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaConstructorTest.java (1149 => 1150)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaConstructorTest.java	2011-04-06 18:59:42 UTC (rev 1149)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaConstructorTest.java	2011-04-06 19:58:08 UTC (rev 1150)
@@ -25,11 +25,7 @@
     @Override
     protected void setParameters( DefaultJavaConstructor constructor, List<JavaParameter> parameters )
     {
-        for ( JavaParameter javaParameter : parameters )
-        {
-            constructor.addParameter( javaParameter );
-        }
-        
+        constructor.setParameters( parameters );
     }
     
     @Override

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java (1149 => 1150)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java	2011-04-06 18:59:42 UTC (rev 1149)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java	2011-04-06 19:58:08 UTC (rev 1150)
@@ -79,10 +79,7 @@
     @Override
     public void setParameters( DefaultJavaMethod method, List<JavaParameter> parameters )
     {
-        for ( JavaParameter javaParameter : parameters )
-        {
-            method.addParameter( javaParameter );
-        }
+        method.setParameters( parameters );
     }
 
     public void setSourceCode( DefaultJavaMethod method, String code )


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to