diff --git a/build.gradle b/build.gradle index c84f95a..eac32fe 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ apply plugin: 'eclipse' apply plugin: 'idea' group = 'cc.catalysts' -version = '2.1.3' +version = '2.1.4' sourceCompatibility = '1.6' targetCompatibility = '1.6' diff --git a/src/main/java/cc/catalysts/cdoclet/generator/AsGenerator.java b/src/main/java/cc/catalysts/cdoclet/generator/AsGenerator.java index 670ee27..f4ccd58 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/AsGenerator.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/AsGenerator.java @@ -16,6 +16,8 @@ import java.lang.reflect.Modifier; import java.text.MessageFormat; import java.util.Collection; +import java.util.HashMap; +import java.util.Map; import java.util.TreeSet; import static cc.catalysts.cdoclet.generator.Languages.ACTIONSCRIPT; @@ -37,6 +39,7 @@ public class AsGenerator implements Generator { private ASMethod method; private ASMethod proxyMethod; + private final Map classMap = new HashMap(); private final TypeMap annotationMap; private final TypeMap annotationTypeMap; private final TypeMap packageMap; @@ -119,9 +122,9 @@ public TypeMap getTypeMap() { public void addAnnotation(Type tag) { if (method != null) { - method.newMetaTag(tag.getName()); + method.newMetaTag(tag.getQualifiedTypeName()); } else { - type.newMetaTag(tag.getName()); + type.newMetaTag(tag.getQualifiedTypeName()); } } @@ -135,7 +138,7 @@ public void addBody(String body) { public void addConstant(Type classType, Type constantType, String name, String initializer, String comment) { if (type instanceof ASClassType) { // actionscript/metaas doesn't support constants in interfaces - createConst((ASClassType) type, name, initializer, constantType.getName(), comment); + createConst((ASClassType) type, name, initializer, constantType.getQualifiedTypeName(), comment); } } @@ -152,44 +155,48 @@ public void addField(Type classType, int modifier, Type fieldType, String fieldN ASClassType asClassType = (ASClassType) type; if (asClassType.getField(fieldName) == null) - asClassType.newField(fieldName, getVisibility(modifier), fieldType.getName()); + asClassType.newField(fieldName, getVisibility(modifier), fieldType.getQualifiedTypeName()); } public void addInterface(Type name) { if (type instanceof ASInterfaceType) { ASInterfaceType interfaceType = (ASInterfaceType) type; - interfaceType.addSuperInterface(name.getName()); + interfaceType.addSuperInterface(name.getQualifiedTypeName()); } else { ASClassType classType = (ASClassType) type; - classType.addImplementedInterface(name.getName()); + classType.addImplementedInterface(name.getQualifiedTypeName()); } - addImport(name.getName()); + addImport(name.getQualifiedTypeName()); } public void addParameter(Type classType, Type methodType, Type type, String name) { type = resolveTypeArguments(classType, methodType, type); - if (method != null) method.addParam(name, type.getName()); - if (proxyMethod != null) proxyMethod.addParam(name, type.getName()); + if (method != null) method.addParam(name, type.getQualifiedTypeName()); + if (proxyMethod != null) proxyMethod.addParam(name, type.getQualifiedTypeName()); - addImport(type.getName()); + addImport(type.getQualifiedTypeName()); } public void beginClass(Type classType) { logger.info("Creating ActionScript class {}", classType); - newClass(classType.getName() + suffix, false); - addAnnotation(GeneratorUtils.getType("RemoteClass(alias=\"" + classType.getName() + "\")", this)); + if (suffix != null) { + getClassMap().put(classType.getName(), classType.getName() + suffix); + } + + newClass(classType.getQualifiedTypeName(), false); + addAnnotation(GeneratorUtils.getType("RemoteClass(alias=\"" + classType.getQualifiedTypeName() + "\")", this)); } public void beginEnum(Type name) { logger.info("Creating ActionScript enumeration {}", name); - newClass(name.getName(), true); + newClass(name.getQualifiedTypeName(), true); } @@ -211,7 +218,7 @@ public void beginGetter(Type classType, Type methodType, int modifier, Type fiel public void beginInterface(Type name) { logger.info("Creating ActionScript interface {}", name); - unit = project.newInterface(name.getName()); + unit = project.newInterface(name.getQualifiedTypeName()); type = unit.getType(); imports = new TreeSet(); } @@ -225,7 +232,7 @@ public void beginMethod(Type classType, Type methodType, int modifier, Type retu returnType = resolveTypeArguments(classType, methodType, returnType); if (unit != null) { - method = type.newMethod(methodName, getVisibility(modifier), returnType.getName()); + method = type.newMethod(methodName, getVisibility(modifier), returnType.getQualifiedTypeName()); method.setOverride(override); } @@ -243,31 +250,31 @@ public void beginMethod(Type classType, Type methodType, int modifier, Type retu if (!hasField) { createConst(eventType, proxyMethodName, MessageFormat.format("\"{0}\"", methodName), "String", null); - proxyMethod = proxyType.newMethod(methodName, Visibility.PUBLIC, returnType.getName()); + proxyMethod = proxyType.newMethod(methodName, Visibility.PUBLIC, returnType.getQualifiedTypeName()); } } - addImport(returnType.getName()); + addImport(returnType.getQualifiedTypeName()); } public void beginProxy(Type proxy, Type baseType, Type interfaceType) { - logger.info("Creating ActionScript proxy {}", proxy.getName()); + logger.info("Creating ActionScript proxy {}", proxy.getQualifiedTypeName()); - ASCompilationUnit eventUnit = project.newClass(proxy.getName() + "Events"); - proxyUnit = project.newClass(proxy.getName()); + ASCompilationUnit eventUnit = project.newClass(proxy.getQualifiedTypeName() + "Events"); + proxyUnit = project.newClass(proxy.getQualifiedTypeName()); eventType = (ASClassType) eventUnit.getType(); proxyType = (ASClassType) proxyUnit.getType(); - proxyType.addImplementedInterface(interfaceType.getName()); + proxyType.addImplementedInterface(interfaceType.getQualifiedTypeName()); proxyImports = new TreeSet(); - proxyImports.add(interfaceType.getName()); + proxyImports.add(interfaceType.getQualifiedTypeName()); if (baseType != Type.NULL) { - proxyType.setSuperclass(baseType.getName()); - proxyImports.add(baseType.getName()); + proxyType.setSuperclass(baseType.getQualifiedTypeName()); + proxyImports.add(baseType.getQualifiedTypeName()); } ASMethod callMethod = proxyType.newMethod(Constants.METHOD_CALL, Visibility.PROTECTED, "Object"); @@ -275,10 +282,10 @@ public void beginProxy(Type proxy, Type baseType, Type interfaceType) { callMethod.addParam("...args", null); callMethod.addStmt("throw new Error(\"Not Implemented\");"); - ASMethod resultMethod = proxyType.newMethod(Constants.METHOD_ON_RESULT, Visibility.PROTECTED, Type.VOID.getName()); + ASMethod resultMethod = proxyType.newMethod(Constants.METHOD_ON_RESULT, Visibility.PROTECTED, Type.VOID.getQualifiedTypeName()); resultMethod.addParam("result", "Object"); - ASMethod statusMethod = proxyType.newMethod(Constants.METHOD_ON_STATUS, Visibility.PROTECTED, Type.VOID.getName()); + ASMethod statusMethod = proxyType.newMethod(Constants.METHOD_ON_STATUS, Visibility.PROTECTED, Type.VOID.getQualifiedTypeName()); statusMethod.addParam("status", "Object"); } @@ -289,11 +296,11 @@ public void beginSetter(Type classType, Type methodType, int modifier, Type fiel if (type instanceof ASClassType) { addField(classType, Modifier.PRIVATE, fieldType, "_" + propertyName, null, null); beginMethod(classType, Type.EMPTY, modifier, Type.VOID, "set " + propertyName, false, override); - method.addParam("value", fieldType.getName()); + method.addParam("value", fieldType.getQualifiedTypeName()); method.addStmt("_" + propertyName + "=value;"); } else { beginMethod(classType, Type.EMPTY, modifier, Type.VOID, "set " + propertyName, false, override); - method.addParam("value", fieldType.getName()); + method.addParam("value", fieldType.getQualifiedTypeName()); } setMethodDescription(comment); @@ -359,6 +366,11 @@ public void generate() throws IOException { project.writeAll(); } + @Override + public Map getClassMap() { + return classMap; + } + public String getName() { return ACTIONSCRIPT; @@ -382,8 +394,8 @@ public void setMethodDescription(String description) { public void setSuperclass(Type name, boolean exception) { - ((ASClassType) type).setSuperclass(name.getName()); - addImport(name.getName()); + ((ASClassType) type).setSuperclass(name.getQualifiedTypeName()); + addImport(name.getQualifiedTypeName()); } @@ -448,20 +460,20 @@ private void newClass(String name, boolean isFinal) { private Type resolveTypeArguments(Type classType, Type methodType, Type type) { if (!type.isGeneric()) return type; - String name = type.getName(); + String name = type.getQualifiedTypeName(); if (methodType != null && methodType.getBounds() != null && methodType.getBounds().containsKey(name)) { - Type returnType = methodType.getBounds().get(type.getName()); + Type returnType = methodType.getBounds().get(type.getQualifiedTypeName()); if (returnType != null) { - name = type.getName(); + name = type.getQualifiedTypeName(); addImport(name); return returnType; } } if (classType != null && classType.getBounds() != null && classType.getBounds().containsKey(name)) { - Type returnType = classType.getBounds().get(type.getName()); + Type returnType = classType.getBounds().get(type.getQualifiedTypeName()); if (returnType != null) { - name = type.getName(); + name = type.getQualifiedTypeName(); addImport(name); return returnType; } diff --git a/src/main/java/cc/catalysts/cdoclet/generator/Generator.java b/src/main/java/cc/catalysts/cdoclet/generator/Generator.java index eba946c..97b5851 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/Generator.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/Generator.java @@ -4,6 +4,7 @@ import com.sun.javadoc.ClassDoc; import java.lang.annotation.Annotation; +import java.util.Map; public interface Generator { void addAnnotation(Type annotation); @@ -54,6 +55,8 @@ public interface Generator { void generate() throws Exception; + Map getClassMap(); + TypeMap getAnnotationMap(); TypeMap getAnnotationTypeMap(); diff --git a/src/main/java/cc/catalysts/cdoclet/generator/TemplateGenerator.java b/src/main/java/cc/catalysts/cdoclet/generator/TemplateGenerator.java index f501ae6..7525074 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/TemplateGenerator.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/TemplateGenerator.java @@ -16,8 +16,11 @@ import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; +import java.util.Map; public class TemplateGenerator implements Generator { + private static final Map classMap = new HashMap(); private Collection typeDescriptors = new ArrayList(); @@ -118,6 +121,10 @@ private void initCsTypeMap() { typeMap.addGenericTypeMapping("java.util.Set", "System.Collections.Generic.ICollection"); } + public Map getClassMap() { + return classMap; + } + public TypeMap getAnnotationMap() { return annotationMap; } @@ -180,7 +187,7 @@ public void addEnumField(Type classType, Type fieldType, String name, Object val public void addField(Type classType, int modifier, Type fieldType, String propertyName, Object value, String comment) { - fieldDescriptor = new FieldDescriptor(modifier, fieldType, propertyName, value); + fieldDescriptor = new FieldDescriptor(modifier, fieldType, propertyName, value, getClassMap()); setFieldDescription(comment); typeDescriptor.addFieldDescriptor(fieldDescriptor); @@ -194,16 +201,13 @@ public void addInterface(Type name) { public void addParameter(Type classType, Type methodType, Type type, String name) { if (methodDescriptor != null) { - ParameterDescriptor parameterDescriptor = new ParameterDescriptor(type, name); + ParameterDescriptor parameterDescriptor = new ParameterDescriptor(type, name, getClassMap()); methodDescriptor.addParameterDescriptor(parameterDescriptor); } if (proxyMethodDescriptor != null) { - - type = replaceType(type); - - ParameterDescriptor parameterDescriptor = new ParameterDescriptor(type, name); + ParameterDescriptor parameterDescriptor = new ParameterDescriptor(type, name, getClassMap()); proxyMethodDescriptor.addParameterDescriptor(parameterDescriptor); } } @@ -219,22 +223,24 @@ private Type replaceType(Type type) { } } - return new Type(type.getName(), arguments, type.getBounds(), type.getDimensions(), type.isGeneric()); + return new Type(type.getName(), arguments, type.getBounds(), type.getDimensions(), type.isGeneric(), getClassMap()); } public void beginClass(Type type) { - beginType(new ClassDescriptor(type, type.getName() + suffix)); + getClassMap().put(type.getName(), type.getName() + suffix); + + beginType(new ClassDescriptor(type, getClassMap())); } public void beginEnum(Type type) { - beginType(new EnumDescriptor(type)); + beginType(new EnumDescriptor(type, getClassMap())); } public void beginGetter(Type classType, Type methodType, int modifier, Type returnType, String propertyName, String description, boolean override) { - propertyDescriptor = new PropertyDescriptor(modifier, returnType, methodType, propertyName); + propertyDescriptor = new PropertyDescriptor(modifier, returnType, methodType, propertyName, getClassMap()); propertyDescriptor.setGetter(true); propertyDescriptor.setOverride(override); propertyDescriptor.setDescription(description); @@ -247,7 +253,7 @@ public void beginGetter(Type classType, Type methodType, int modifier, Type retu public void beginInterface(Type type) { - beginType(new InterfaceDescriptor(type)); + beginType(new InterfaceDescriptor(type, getClassMap())); } @@ -257,19 +263,19 @@ public void beginMethod(Type classType, Type methodType, int modifier, Type retu public void beginMethod(Type classType, Type methodType, int modifier, Type returnType, String methodName, boolean asnyc, boolean override, String verb) { if (typeDescriptor != null) { - methodDescriptor = new MethodDescriptor(modifier, returnType, methodType, methodName, asnyc); + methodDescriptor = new MethodDescriptor(modifier, returnType, methodType, methodName, asnyc, this); methodDescriptor.setOverride(override); typeDescriptor.addMethodDescriptor(methodDescriptor); } if (proxyTypeDescriptor != null) { - proxyMethodDescriptor = new MethodDescriptor(modifier, returnType, methodType, methodName, asnyc, verb); + proxyMethodDescriptor = new MethodDescriptor(modifier, returnType, methodType, methodName, asnyc, this, verb); proxyTypeDescriptor.addMethodDescriptor(proxyMethodDescriptor); } } public void beginProxy(Type proxy, Type baseType, Type interfaceType) { - proxyTypeDescriptor = new ProxyDescriptor(proxy); + proxyTypeDescriptor = new ProxyDescriptor(proxy, getClassMap()); proxyTypeDescriptor.addInterface(interfaceType); if (baseType != Type.NULL) proxyTypeDescriptor.setSuperclass(baseType); @@ -279,7 +285,7 @@ public void beginProxy(Type proxy, Type baseType, Type interfaceType) { public void beginSetter(Type classType, Type methodType, int modifier, Type returnType, String propertyName, String description, boolean override) { - propertyDescriptor = new PropertyDescriptor(modifier, returnType, methodType, propertyName); + propertyDescriptor = new PropertyDescriptor(modifier, returnType, methodType, propertyName, getClassMap()); propertyDescriptor.setSetter(true); propertyDescriptor.setOverride(override); propertyDescriptor.setDescription(description); diff --git a/src/main/java/cc/catalysts/cdoclet/generator/Type.java b/src/main/java/cc/catalysts/cdoclet/generator/Type.java index 20be91c..0f258dd 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/Type.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/Type.java @@ -1,110 +1,119 @@ package cc.catalysts.cdoclet.generator; +import org.apache.commons.lang.ClassUtils; + import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.TreeSet; -import org.apache.commons.lang.ClassUtils; - public class Type { - public static final Type EMPTY = new Type("", null, null, 0, false); - public static final Type NULL = new Type("null", null, null, 0, false); - public static final Type VOID = new Type("void", null, null, 0, false); - - private String name; - private Collection arguments; - private Map bounds; - private int dimensions; - private boolean generic; - private Map typeMap; - - public Type(String name, Collection arguments, Map bounds, int dimensions, boolean generic) { - if (name == null) throw new IllegalArgumentException("name"); - - this.name = name; - this.arguments = arguments; - this.bounds = bounds; - this.dimensions = dimensions; - this.generic = generic; - } - - public int getDimensions() { - return dimensions; - } - - public Collection getImports() { - Collection imports = getImportsInternal(); - imports.remove(getName()); - // todo remove imports from same package - return imports; - } - - protected Collection getImportsInternal() { - Collection set = new TreeSet(); - - addImports(set, getArguments()); - if (getBounds() != null) addImports(set, getBounds().values()); - - return set; - } - - public Collection getArguments() { - return (arguments == null) || arguments.isEmpty() ? null : arguments; - } - - public Map getBounds() { - return (bounds == null) || bounds.isEmpty() ? null : bounds; - } - - protected Collection addImports(Collection set, Collection types) { - if (types != null) for (Type arg : types) { - set.addAll(arg.getImports()); - if (arg.getName().indexOf('.') > -1) set.add(arg.getName()); - } - return set; - } - - public String getName() { - return name; - } - - public Map getTypeMap() { - if (typeMap == null) typeMap = new HashMap(); - return typeMap; - } - - public void setTypeMap(Map typeMap) { - this.typeMap = typeMap; - } - - public boolean isGeneric() { - return generic; - } - - @Override - public String toString() { - return getName(); - } - - public Collection getPackageImports() { - Collection set = new TreeSet(); - for (String imp : getImports()) { - set.add(ClassUtils.getPackageName(imp)); - } - set.remove(getNameSpace()); - return set; - } - - public String getNameSpace() { - return ClassUtils.getPackageName(getName()); - } - - public String getQualifiedTypeName() { - return getName(); - } - - public String getTypeName() { - return ClassUtils.getShortClassName(getName()); - } + public static final Type EMPTY = new Type("", null, null, 0, false, null); + public static final Type NULL = new Type("null", null, null, 0, false, null); + public static final Type VOID = new Type("void", null, null, 0, false, null); + + private final String name; + private final Collection arguments; + private final Map bounds; + private final int dimensions; + private final boolean generic; + private final Map classMap; + + private Map typeMap; + + public Type(String name, Collection arguments, Map bounds, int dimensions, boolean generic, Map classMap) { + if (name == null) throw new IllegalArgumentException("name"); + + this.name = name; + this.arguments = arguments; + this.bounds = bounds; + this.dimensions = dimensions; + this.generic = generic; + this.classMap = classMap; + } + + public int getDimensions() { + return dimensions; + } + + public Collection getImports() { + Collection imports = getImportsInternal(); + imports.remove(getName()); + // todo remove imports from same package + return imports; + } + + protected Collection getImportsInternal() { + Collection set = new TreeSet(); + + addImports(set, getArguments()); + if (getBounds() != null) addImports(set, getBounds().values()); + + return set; + } + + public Collection getArguments() { + return (arguments == null) || arguments.isEmpty() ? null : arguments; + } + + public Map getBounds() { + return (bounds == null) || bounds.isEmpty() ? null : bounds; + } + + protected Collection addImports(Collection set, Collection types) { + if (types != null) for (Type arg : types) { + set.addAll(arg.getImports()); + if (arg.getName().indexOf('.') > -1) set.add(arg.getName()); + } + return set; + } + + public String getName() { + return name; + } + + public Map getTypeMap() { + if (typeMap == null) typeMap = new HashMap(); + return typeMap; + } + + public void setTypeMap(Map typeMap) { + this.typeMap = typeMap; + } + + public boolean isGeneric() { + return generic; + } + + @Override + public String toString() { + return getName(); + } + + public Collection getPackageImports() { + Collection set = new TreeSet(); + for (String imp : getImports()) { + set.add(ClassUtils.getPackageName(imp)); + } + set.remove(getNameSpace()); + return set; + } + + public String getNameSpace() { + return ClassUtils.getPackageName(getQualifiedTypeName()); + } + + public String getQualifiedTypeName() { + String typeName = getName(); + + if (classMap != null && classMap.containsKey(typeName)) { + return classMap.get(typeName); + } + + return typeName; + } + + public String getTypeName() { + return ClassUtils.getShortClassName(getQualifiedTypeName()); + } } diff --git a/src/main/java/cc/catalysts/cdoclet/generator/utils/GeneratorUtils.java b/src/main/java/cc/catalysts/cdoclet/generator/utils/GeneratorUtils.java index cdeaf95..1d5eaac 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/utils/GeneratorUtils.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/utils/GeneratorUtils.java @@ -32,7 +32,7 @@ public static cc.catalysts.cdoclet.generator.Type getType(MethodDoc doc, Generat name = generator.getPackageMap().getType(name, !arguments.isEmpty(), false); if ("null".equals(name)) return cc.catalysts.cdoclet.generator.Type.NULL; - return generator.postProcessType(new cc.catalysts.cdoclet.generator.Type(name, arguments, bounds, 0, true)); + return generator.postProcessType(new cc.catalysts.cdoclet.generator.Type(name, arguments, bounds, 0, true, generator.getClassMap())); } private static void processArgument(Type argument, Generator generator, Collection arguments, Map bounds, Collection ignore, Collection visited) { @@ -50,8 +50,8 @@ private static cc.catalysts.cdoclet.generator.Type getType(Type type, Generator if (ignore.contains(type.qualifiedTypeName())) return cc.catalysts.cdoclet.generator.Type.NULL; - if (visited.contains(type.toString())) return getType(type.qualifiedTypeName(), generator); - visited.add(type.toString()); + if (visited.contains(type.qualifiedTypeName())) return getType(type.qualifiedTypeName(), generator); + visited.add(type.qualifiedTypeName()); cc.catalysts.cdoclet.generator.Type enumerationType = getEnumerationType(type, generator); if (enumerationType != cc.catalysts.cdoclet.generator.Type.EMPTY) return enumerationType; @@ -82,7 +82,7 @@ private static cc.catalysts.cdoclet.generator.Type getType(Type type, Generator bounds.clear(); name = name.substring(0, name.length() - 2); } - return generator.postProcessType(new cc.catalysts.cdoclet.generator.Type(name, arguments, bounds, getDimensions(type), type instanceof TypeVariable)); + return generator.postProcessType(new cc.catalysts.cdoclet.generator.Type(name, arguments, bounds, getDimensions(type), type instanceof TypeVariable, generator.getClassMap())); } private static cc.catalysts.cdoclet.generator.Type getEnumerationType(Type enumerationType, Generator generator) { @@ -149,7 +149,7 @@ private static cc.catalysts.cdoclet.generator.Type getType(String name, Generato if (type == null) return null; if ("null".equals(type)) return cc.catalysts.cdoclet.generator.Type.NULL; type = generator.getPackageMap().getType(type, false, false); - return generator.postProcessType(new cc.catalysts.cdoclet.generator.Type(type, null, null, 0, false)); + return generator.postProcessType(new cc.catalysts.cdoclet.generator.Type(type, null, null, 0, false, generator.getClassMap())); } public static cc.catalysts.cdoclet.generator.Type getType(String name, Generator generator) { diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/ClassDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/ClassDescriptor.java index c6d16e2..ad68ce8 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/ClassDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/ClassDescriptor.java @@ -3,36 +3,37 @@ import cc.catalysts.cdoclet.generator.Type; import java.util.Collection; +import java.util.Map; /** * @author Catalysts Gmbh */ public class ClassDescriptor extends TypeDescriptor { - private Type superClass; - - public ClassDescriptor(Type type, String name) { - super(type, name); - } - - public Type getSuperClass() { - return superClass; - } - - @Override - public Collection getImportsInternal() { - Collection imports = super.getImportsInternal(); - if (superClass != null) { - imports.add(superClass.getName()); - imports.addAll(superClass.getImports()); - } - return imports; - } - - public String getTemplate() { - return "class.vm"; - } - - public void setSuperclass(Type superClass) { - this.superClass = superClass; - } + private Type superClass; + + public ClassDescriptor(Type type, Map classMap) { + super(type, classMap); + } + + public Type getSuperClass() { + return superClass; + } + + @Override + public Collection getImportsInternal() { + Collection imports = super.getImportsInternal(); + if (superClass != null) { + imports.add(superClass.getQualifiedTypeName()); + imports.addAll(superClass.getImports()); + } + return imports; + } + + public String getTemplate() { + return "class.vm"; + } + + public void setSuperclass(Type superClass) { + this.superClass = superClass; + } } diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/Descriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/Descriptor.java index bc5a06e..11a5a03 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/Descriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/Descriptor.java @@ -4,45 +4,46 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Map; /** * @author Catalysts Gmbh */ public class Descriptor extends Type { - private String description; - private Collection annotations = new ArrayList(); - private Collection superclass = new ArrayList(); - - public Descriptor(Type type, String name) { - super(name, type.getArguments(), type.getBounds(), type.getDimensions(), type.isGeneric()); - } - - public Collection getAnnotations() { - return annotations; - } - - public Collection getSuperclass() { - return superclass; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public void addAnnotation(Type annotation) { - annotations.add(annotation); - } - - public void addSuperclass(Type tag) { - superclass.add(tag); - } - - @Override - public Collection getImportsInternal() { - return addImports(super.getImportsInternal(), annotations); - } + private String description; + private Collection annotations = new ArrayList(); + private Collection superclass = new ArrayList(); + + public Descriptor(Type type, Map classMap) { + super(type.getName(), type.getArguments(), type.getBounds(), type.getDimensions(), type.isGeneric(), classMap); + } + + public Collection getAnnotations() { + return annotations; + } + + public Collection getSuperclass() { + return superclass; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public void addAnnotation(Type annotation) { + annotations.add(annotation); + } + + public void addSuperclass(Type tag) { + superclass.add(tag); + } + + @Override + public Collection getImportsInternal() { + return addImports(super.getImportsInternal(), annotations); + } } diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/EnumDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/EnumDescriptor.java index dd8d539..3689547 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/EnumDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/EnumDescriptor.java @@ -2,12 +2,14 @@ import cc.catalysts.cdoclet.generator.Type; +import java.util.Map; + /** * @author Catalysts Gmbh */ public class EnumDescriptor extends TypeDescriptor { - public EnumDescriptor(Type typeName) { - super(typeName, typeName.getName()); + public EnumDescriptor(Type typeName, Map classMap) { + super(typeName, classMap); } public String getTemplate() { diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/FieldDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/FieldDescriptor.java index 59abf0f..b4ed7f4 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/FieldDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/FieldDescriptor.java @@ -3,6 +3,7 @@ import cc.catalysts.cdoclet.generator.Type; import java.lang.reflect.Modifier; +import java.util.Map; /** * @author Catalysts Gmbh @@ -12,8 +13,8 @@ public class FieldDescriptor extends Descriptor { private Object value; private int modifier; - public FieldDescriptor(int modifier, Type type, String fieldName, Object value) { - super(type, type.getName()); + public FieldDescriptor(int modifier, Type type, String fieldName, Object value, Map classMap) { + super(type, classMap); this.fieldName = fieldName; this.value = value; diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/InterfaceDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/InterfaceDescriptor.java index 1b6f992..1e7bef5 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/InterfaceDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/InterfaceDescriptor.java @@ -2,15 +2,17 @@ import cc.catalysts.cdoclet.generator.Type; +import java.util.Map; + /** * @author Catalysts Gmbh */ public class InterfaceDescriptor extends TypeDescriptor { - public InterfaceDescriptor(Type type) { - super(type, type.getName()); - } + public InterfaceDescriptor(Type type, Map classMap) { + super(type, classMap); + } - public String getTemplate() { - return "interface.vm"; - } + public String getTemplate() { + return "interface.vm"; + } } diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/MethodDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/MethodDescriptor.java index 0946b41..e9bed02 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/MethodDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/MethodDescriptor.java @@ -1,5 +1,6 @@ package cc.catalysts.cdoclet.generator.velocity; +import cc.catalysts.cdoclet.generator.Generator; import cc.catalysts.cdoclet.generator.Type; import java.util.ArrayList; @@ -17,12 +18,12 @@ public class MethodDescriptor extends FieldDescriptor { private Type genericType; private Type callbackType; - public MethodDescriptor(int modifier, Type type, Type genericType, String methodName, boolean async) { - this(modifier, type, genericType, methodName, async, null); + public MethodDescriptor(int modifier, Type type, Type genericType, String methodName, boolean async, Generator generator) { + this(modifier, type, genericType, methodName, async, generator, null); } - public MethodDescriptor(int modifier, Type type, Type genericType, String methodName, boolean async, String verb) { - super(modifier, type, methodName, null); + public MethodDescriptor(int modifier, Type type, Type genericType, String methodName, boolean async, Generator generator, String verb) { + super(modifier, type, methodName, null, generator.getClassMap()); this.genericType = genericType; this.async = async; this.verb = verb; diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/ParameterDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/ParameterDescriptor.java index f983146..cddf75b 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/ParameterDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/ParameterDescriptor.java @@ -2,14 +2,16 @@ import cc.catalysts.cdoclet.generator.Type; +import java.util.Map; + /** * @author Catalysts Gmbh */ public class ParameterDescriptor extends Descriptor { private String parameterName; - public ParameterDescriptor(Type parameterType, String parameterName) { - super(parameterType, parameterType.getName()); + public ParameterDescriptor(Type parameterType, String parameterName, Map classMap) { + super(parameterType, classMap); this.parameterName = parameterName; } diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/PropertyDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/PropertyDescriptor.java index e0e27fc..6d8c389 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/PropertyDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/PropertyDescriptor.java @@ -3,6 +3,7 @@ import cc.catalysts.cdoclet.generator.Type; import java.lang.reflect.Modifier; +import java.util.Map; /** * @author Catalysts Gmbh @@ -15,8 +16,8 @@ public class PropertyDescriptor extends Descriptor { private boolean override; private Type genericType; - public PropertyDescriptor(int modifier, Type type, Type genericType, String fieldName) { - super(type, type.getName()); + public PropertyDescriptor(int modifier, Type type, Type genericType, String fieldName, Map classMap) { + super(type, classMap); this.modifier = modifier; this.genericType = genericType; diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/ProxyDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/ProxyDescriptor.java index 7a4ffbd..b71fa1f 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/ProxyDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/ProxyDescriptor.java @@ -2,13 +2,15 @@ import cc.catalysts.cdoclet.generator.Type; +import java.util.Map; + public class ProxyDescriptor extends ClassDescriptor { - public ProxyDescriptor(Type type) { - super(type, type.getName()); - } - - @Override - public String getTemplate() { - return "proxy.vm"; - } + public ProxyDescriptor(Type type, Map classMap) { + super(type, classMap); + } + + @Override + public String getTemplate() { + return "proxy.vm"; + } } diff --git a/src/main/java/cc/catalysts/cdoclet/generator/velocity/TypeDescriptor.java b/src/main/java/cc/catalysts/cdoclet/generator/velocity/TypeDescriptor.java index 5633151..387eeed 100644 --- a/src/main/java/cc/catalysts/cdoclet/generator/velocity/TypeDescriptor.java +++ b/src/main/java/cc/catalysts/cdoclet/generator/velocity/TypeDescriptor.java @@ -8,64 +8,64 @@ import java.util.Map; public abstract class TypeDescriptor extends Descriptor { - private Map propertyDescriptors = new LinkedHashMap(); - private Map fieldDescriptors = new LinkedHashMap(); - private Collection methodDescriptors = new ArrayList(); - private Collection interfaces = new ArrayList(); - - public TypeDescriptor(Type type, String name) { - super(type, name); - } - - @Override - public Collection getImportsInternal() { - Collection imports = super.getImportsInternal(); - - addImports(imports, propertyDescriptors.values()); - addImports(imports, fieldDescriptors.values()); - addImports(imports, methodDescriptors); - addImports(imports, interfaces); - - return imports; - } - - public Collection getInterfaces() { - return interfaces; - } - - public Collection getMethodDescriptors() { - return methodDescriptors; - } - - public void addFieldDescriptor(FieldDescriptor fieldDescriptor) { - fieldDescriptors.put(fieldDescriptor.getFieldName(), fieldDescriptor); - } - - public void addInterface(Type interfaceName) { - interfaces.add(interfaceName); - } - - public void addMethodDescriptor(MethodDescriptor methodDescriptor) { - methodDescriptors.add(methodDescriptor); - } - - public void addPropertyDescriptor(PropertyDescriptor propertyDescriptor) { - PropertyDescriptor pd = propertyDescriptors.get(propertyDescriptor.getPropertyName()); - if (pd != null) { - pd.setGetter(pd.isGetter() || propertyDescriptor.isGetter()); - pd.setSetter(pd.isSetter() || propertyDescriptor.isSetter()); - } else { - propertyDescriptors.put(propertyDescriptor.getPropertyName(), propertyDescriptor); - } - } - - public Collection getFieldDescriptors() { - return fieldDescriptors.values(); - } - - public Collection getPropertyDescriptors() { - return propertyDescriptors.values(); - } - - public abstract String getTemplate(); + private Map propertyDescriptors = new LinkedHashMap(); + private Map fieldDescriptors = new LinkedHashMap(); + private Collection methodDescriptors = new ArrayList(); + private Collection interfaces = new ArrayList(); + + public TypeDescriptor(Type type, Map classMap) { + super(type, classMap); + } + + @Override + public Collection getImportsInternal() { + Collection imports = super.getImportsInternal(); + + addImports(imports, propertyDescriptors.values()); + addImports(imports, fieldDescriptors.values()); + addImports(imports, methodDescriptors); + addImports(imports, interfaces); + + return imports; + } + + public Collection getInterfaces() { + return interfaces; + } + + public Collection getMethodDescriptors() { + return methodDescriptors; + } + + public void addFieldDescriptor(FieldDescriptor fieldDescriptor) { + fieldDescriptors.put(fieldDescriptor.getFieldName(), fieldDescriptor); + } + + public void addInterface(Type interfaceName) { + interfaces.add(interfaceName); + } + + public void addMethodDescriptor(MethodDescriptor methodDescriptor) { + methodDescriptors.add(methodDescriptor); + } + + public void addPropertyDescriptor(PropertyDescriptor propertyDescriptor) { + PropertyDescriptor pd = propertyDescriptors.get(propertyDescriptor.getPropertyName()); + if (pd != null) { + pd.setGetter(pd.isGetter() || propertyDescriptor.isGetter()); + pd.setSetter(pd.isSetter() || propertyDescriptor.isSetter()); + } else { + propertyDescriptors.put(propertyDescriptor.getPropertyName(), propertyDescriptor); + } + } + + public Collection getFieldDescriptors() { + return fieldDescriptors.values(); + } + + public Collection getPropertyDescriptors() { + return propertyDescriptors.values(); + } + + public abstract String getTemplate(); } diff --git a/src/main/java/cc/catalysts/cdoclet/handler/EnumHandler.java b/src/main/java/cc/catalysts/cdoclet/handler/EnumHandler.java index d3521fb..8acd473 100644 --- a/src/main/java/cc/catalysts/cdoclet/handler/EnumHandler.java +++ b/src/main/java/cc/catalysts/cdoclet/handler/EnumHandler.java @@ -1,81 +1,78 @@ package cc.catalysts.cdoclet.handler; -import java.lang.annotation.Annotation; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.HashSet; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import cc.catalysts.cdoclet.CDoclet; import cc.catalysts.cdoclet.generator.Generator; import cc.catalysts.cdoclet.generator.Type; import cc.catalysts.cdoclet.generator.utils.GeneratorUtils; - import com.sun.javadoc.ClassDoc; import com.sun.javadoc.FieldDoc; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.annotation.Annotation; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.HashSet; public class EnumHandler extends AbstractHandler { - private final Logger logger = LoggerFactory.getLogger(EnumHandler.class); + private final Logger logger = LoggerFactory.getLogger(EnumHandler.class); - public EnumHandler(Generator generator) { - super(generator); - } + public EnumHandler(Generator generator) { + super(generator); + } // --------------------- Interface Handler --------------------- - public void process(ClassDoc classDoc) throws ClassNotFoundException, InvocationTargetException, IllegalAccessException { - Type type = GeneratorUtils.getType(classDoc.qualifiedName(), getGenerator()); - - getGenerator().beginEnum(type); - processClassComment(classDoc); - processEnumConstants(type, classDoc); - - getGenerator().endEnum(); - } - - private void processEnumConstants(Type type, ClassDoc classDoc) throws InvocationTargetException, IllegalAccessException, ClassNotFoundException { - Method getter = findGetter(classDoc); - Type valueType = GeneratorUtils.getType(classDoc, getGenerator(), new HashSet()); - - for (FieldDoc fieldDoc : classDoc.enumConstants()) { - Object value = null; - - if (getter != null) { - @SuppressWarnings({"unchecked", "RawUseOfParameterizedType"}) - Enum enuum = Enum.valueOf((Class) getter.getDeclaringClass(), fieldDoc.name()); - value = getter.invoke(enuum); - } - - getGenerator().addEnumField(type, valueType, fieldDoc.name(), value, fieldDoc.commentText()); - } - } - - private Method findGetter(ClassDoc classDoc) throws ClassNotFoundException { - Class annotation = getGenerator().getEnumAnnotation(); - - Method getter = null; - if (annotation != null) { - try { - Class clazz = Class.forName(classDoc.qualifiedName()); - - boolean present = false; - for (Method method : clazz.getMethods()) { - if (method.isAnnotationPresent(annotation)) { - if (present) { - throw new RuntimeException("enumeration " + classDoc + " has multiple annotations"); - } - - getter = method; - present = true; - } - } - } catch (ClassNotFoundException e) { - logger.error(e.getMessage(), e); - } - } - - return getter; - } + public void process(ClassDoc classDoc) throws ClassNotFoundException, InvocationTargetException, IllegalAccessException { + Type type = GeneratorUtils.getType(classDoc.qualifiedName(), getGenerator()); + + getGenerator().beginEnum(type); + processClassComment(classDoc); + processEnumConstants(type, classDoc); + + getGenerator().endEnum(); + } + + private void processEnumConstants(Type type, ClassDoc classDoc) throws InvocationTargetException, IllegalAccessException, ClassNotFoundException { + Method getter = findGetter(classDoc); + Type valueType = GeneratorUtils.getType(classDoc, getGenerator(), new HashSet()); + + for (FieldDoc fieldDoc : classDoc.enumConstants()) { + Object value = null; + + if (getter != null) { + @SuppressWarnings({"unchecked", "RawUseOfParameterizedType"}) + Enum enuum = Enum.valueOf((Class) getter.getDeclaringClass(), fieldDoc.name()); + value = getter.invoke(enuum); + } + + getGenerator().addEnumField(type, valueType, fieldDoc.name(), value, fieldDoc.commentText()); + } + } + + private Method findGetter(ClassDoc classDoc) throws ClassNotFoundException { + Class annotation = getGenerator().getEnumAnnotation(); + + Method getter = null; + if (annotation != null) { + try { + Class clazz = Class.forName(classDoc.qualifiedName()); + + boolean present = false; + for (Method method : clazz.getMethods()) { + if (method.isAnnotationPresent(annotation)) { + if (present) { + throw new RuntimeException("enumeration " + classDoc + " has multiple annotations"); + } + + getter = method; + present = true; + } + } + } catch (ClassNotFoundException e) { + logger.error(e.getMessage(), e); + } + } + + return getter; + } } diff --git a/src/main/java/cc/catalysts/cdoclet/handler/InterfaceHandler.java b/src/main/java/cc/catalysts/cdoclet/handler/InterfaceHandler.java index a969f80..28a48f2 100644 --- a/src/main/java/cc/catalysts/cdoclet/handler/InterfaceHandler.java +++ b/src/main/java/cc/catalysts/cdoclet/handler/InterfaceHandler.java @@ -105,9 +105,9 @@ private void processMethod(ClassDoc classDoc, cc.catalysts.cdoclet.generator.Typ if (!cc.catalysts.cdoclet.generator.Type.VOID.getQualifiedTypeName().equals(returnType.getQualifiedTypeName())) arguments.add(returnType); - asyncType = new cc.catalysts.cdoclet.generator.Type(callbackType.substring(0, callbackType.length() - 8), arguments, null, 0, false); + asyncType = new cc.catalysts.cdoclet.generator.Type(callbackType.substring(0, callbackType.length() - 8), arguments, null, 0, false, getGenerator().getClassMap()); } else { - asyncType = new cc.catalysts.cdoclet.generator.Type(callbackType, null, null, 0, false); + asyncType = new cc.catalysts.cdoclet.generator.Type(callbackType, null, null, 0, false, getGenerator().getClassMap()); } asyncType.setTypeMap(typeMap); diff --git a/src/main/resources/templates/cs/class.vm b/src/main/resources/templates/cs/class.vm index 3fc2b7a..02a8410 100644 --- a/src/main/resources/templates/cs/class.vm +++ b/src/main/resources/templates/cs/class.vm @@ -11,7 +11,7 @@ namespace $typeDescriptor.nameSpace { * */ #end -#foreach($annotation in $typeDescriptor.annotations) [$annotation.name] +#foreach($annotation in $typeDescriptor.annotations) [$annotation.qualifiedTypeName] #end public class $typeDescriptor.typeName#cs_generics($typeDescriptor)#cs_implements($typeDescriptor)#cs_bounds($typeDescriptor) { #foreach($fieldDescriptor in $typeDescriptor.fieldDescriptors) @@ -39,4 +39,4 @@ namespace $typeDescriptor.nameSpace { #end } #endregion -} \ No newline at end of file +} diff --git a/src/main/resources/templates/cs/cs_macros.vm b/src/main/resources/templates/cs/cs_macros.vm index 7ab9338..9ace900 100644 --- a/src/main/resources/templates/cs/cs_macros.vm +++ b/src/main/resources/templates/cs/cs_macros.vm @@ -6,10 +6,10 @@ #foreach($arg in $descriptor.bounds.keySet()) where $arg : #cs_type($descriptor.bounds.get($arg))#end #end #macro(cs_generics $type) -#if($type.arguments)<#foreach($argument in $type.arguments)#if($velocityCount>1), #end#if($argument.name == "?")#cs_type($type.bounds.get("?"))#else#cs_type($argument)#end#end>#end +#if($type.arguments)<#foreach($argument in $type.arguments)#if($velocityCount>1), #end#if($argument.qualifiedTypeName == "?")#cs_type($type.bounds.get("?"))#else#cs_type($argument)#end#end>#end #end #macro(cs_type $type) -$type.name#cs_generics($type)#cs_dimensions($type.dimensions) +$type.qualifiedTypeName#cs_generics($type)#cs_dimensions($type.dimensions) #end #macro(cs_implements $descriptor) #if($descriptor.superClass) : #cs_type($descriptor.superClass)#foreach($interface in $descriptor.interfaces), #cs_type($interface)#end#else#foreach($interface in $descriptor.interfaces)#if($velocityCount == 1) : #{else}, #end#cs_type($interface)#end#end @@ -24,7 +24,7 @@ $type.name#cs_generics($type)#cs_dimensions($type.dimensions) #cs_type($descriptor) ${descriptor.propertyName}#cs_generics($descriptor.genericType)#cs_bounds($descriptor.genericType) #end #macro(cs_modifiers $descriptor $default) -#foreach($annotation in $descriptor.annotations)[$annotation.name] +#foreach($annotation in $descriptor.annotations)[$annotation.qualifiedTypeName] #end #if($descriptor.modifier != "")$descriptor.modifier #end#if($descriptor.override)override #elseif($default != "")$default #end -#end \ No newline at end of file +#end diff --git a/src/main/resources/templates/cs/enum.vm b/src/main/resources/templates/cs/enum.vm index 1c733cb..5b1160d 100644 --- a/src/main/resources/templates/cs/enum.vm +++ b/src/main/resources/templates/cs/enum.vm @@ -11,7 +11,7 @@ namespace $typeDescriptor.nameSpace { * */ #end -#foreach($annotation in $typeDescriptor.annotations) [$annotation.name] +#foreach($annotation in $typeDescriptor.annotations) [$annotation.qualifiedTypeName] #end public enum $typeDescriptor.typeName#cs_generics($typeDescriptor)#cs_bounds($typeDescriptor) {#foreach($fieldDescriptor in $typeDescriptor.fieldDescriptors)#if($velocityCount>1), #end @@ -19,4 +19,4 @@ namespace $typeDescriptor.nameSpace { } #endregion -} \ No newline at end of file +} diff --git a/src/main/resources/templates/cs/interface.vm b/src/main/resources/templates/cs/interface.vm index 585fa11..79023f3 100644 --- a/src/main/resources/templates/cs/interface.vm +++ b/src/main/resources/templates/cs/interface.vm @@ -11,7 +11,7 @@ namespace $typeDescriptor.nameSpace { * */ #end -#foreach($annotation in $typeDescriptor.annotations) [$annotation.name] +#foreach($annotation in $typeDescriptor.annotations) [$annotation.qualifiedTypeName] #end public interface $typeDescriptor.typeName#cs_generics($typeDescriptor)#cs_implements($typeDescriptor)#cs_bounds($typeDescriptor) { #foreach($propertyDescriptor in $typeDescriptor.propertyDescriptors) @@ -27,10 +27,10 @@ namespace $typeDescriptor.nameSpace { * */ #end -#foreach($annotation in $methodDescriptor.annotations) [$annotation.name] +#foreach($annotation in $methodDescriptor.annotations) [$annotation.qualifiedTypeName] #end #if($methodDescriptor.modifier != "")$methodDescriptor.modifier #end#cs_method($methodDescriptor); #end } #endregion -} \ No newline at end of file +} diff --git a/src/main/resources/templates/cs/proxy.vm b/src/main/resources/templates/cs/proxy.vm index ad9dd5a..b769c50 100644 --- a/src/main/resources/templates/cs/proxy.vm +++ b/src/main/resources/templates/cs/proxy.vm @@ -11,7 +11,7 @@ namespace $typeDescriptor.nameSpace { * */ #end -#foreach($annotation in $typeDescriptor.annotations) [$annotation.name] +#foreach($annotation in $typeDescriptor.annotations) [$annotation.qualifiedTypeName] #end public class $typeDescriptor.typeName#cs_generics($typeDescriptor)#cs_implements($typeDescriptor)#cs_bounds($typeDescriptor) { protected virtual object DispatchCall(System.Type type, string methodName, params object[] args) { @@ -42,4 +42,4 @@ namespace $typeDescriptor.nameSpace { #end } #endregion -} \ No newline at end of file +} diff --git a/src/main/resources/templates/java/class.vm b/src/main/resources/templates/java/class.vm index 8f8c920..71f8a0c 100644 --- a/src/main/resources/templates/java/class.vm +++ b/src/main/resources/templates/java/class.vm @@ -8,7 +8,7 @@ package $typeDescriptor.nameSpace; * $typeDescriptor.description */ #end -#foreach($annotation in $typeDescriptor.annotations)@$annotation.name +#foreach($annotation in $typeDescriptor.annotations)@$annotation.qualifiedTypeName #end public class $typeDescriptor.typeName#java_generics($typeDescriptor)#java_implements($typeDescriptor) { #foreach($fieldDescriptor in $typeDescriptor.fieldDescriptors) @@ -36,7 +36,7 @@ public class $typeDescriptor.typeName#java_generics($typeDescriptor)#java_implem } #end #if(!$propertyDescriptor.getter && !$propertyDescriptor.setter) - + #java_modifiers($propertyDescriptor)#java_property($propertyDescriptor, "")() { } #end diff --git a/src/main/resources/templates/java/enum.vm b/src/main/resources/templates/java/enum.vm index 2569a39..43634d4 100644 --- a/src/main/resources/templates/java/enum.vm +++ b/src/main/resources/templates/java/enum.vm @@ -8,10 +8,10 @@ package $typeDescriptor.nameSpace; * $typeDescriptor.description */ #end -#foreach($annotation in $typeDescriptor.annotations)@$annotation.name +#foreach($annotation in $typeDescriptor.annotations)@$annotation.qualifiedTypeName #end public enum $typeDescriptor.typeName#java_generics($typeDescriptor)#java_bounds($typeDescriptor) {#foreach($fieldDescriptor in $typeDescriptor.fieldDescriptors)#if($velocityCount>1),#end $fieldDescriptor.fieldName#if($fieldDescriptor.value) = $fieldDescriptor.value#end#end -} \ No newline at end of file +} diff --git a/src/main/resources/templates/java/interface.vm b/src/main/resources/templates/java/interface.vm index bc208e5..924c778 100644 --- a/src/main/resources/templates/java/interface.vm +++ b/src/main/resources/templates/java/interface.vm @@ -8,7 +8,7 @@ package $typeDescriptor.nameSpace; * $typeDescriptor.description */ #end -#foreach($annotation in $typeDescriptor.annotations)@$annotation.name +#foreach($annotation in $typeDescriptor.annotations)@$annotation.qualifiedTypeName #end public interface $typeDescriptor.typeName#java_genericclass($typeDescriptor)#java_extends($typeDescriptor) { #foreach($fieldDescriptor in $typeDescriptor.fieldDescriptors) @@ -33,7 +33,7 @@ public interface $typeDescriptor.typeName#java_genericclass($typeDescriptor)#jav * $methodDescriptor.description */ #end -#foreach($annotation in $methodDescriptor.annotations) @$annotation.name +#foreach($annotation in $methodDescriptor.annotations) @$annotation.qualifiedTypeName #end #if($methodDescriptor.modifier != "")$methodDescriptor.modifier #end#java_method($methodDescriptor); #end diff --git a/src/main/resources/templates/java/java_macros.vm b/src/main/resources/templates/java/java_macros.vm index c2366f3..853ac70 100644 --- a/src/main/resources/templates/java/java_macros.vm +++ b/src/main/resources/templates/java/java_macros.vm @@ -6,13 +6,13 @@ #foreach($arg in $descriptor.bounds.keySet()) where $arg : #java_type($descriptor.bounds.get($arg))#end #end #macro(java_generics $type) -#if($type.arguments)<#foreach($argument in $type.arguments)#if($velocityCount>1), #end#if($argument.name == "?")#java_type($type.bounds.get("?"))#else#java_type($argument)#end#foreach($arg in $type.bounds.keySet())#end#end>#end +#if($type.arguments)<#foreach($argument in $type.arguments)#if($velocityCount>1), #end#if($argument.qualifiedTypeName == "?")#java_type($type.bounds.get("?"))#else#java_type($argument)#end#foreach($arg in $type.bounds.keySet())#end#end>#end #end #macro(java_genericclass $type) -#if($type.arguments)<#foreach($argument in $type.arguments)#if($velocityCount>1), #end#if($argument.name == "?")#java_type($type.bounds.get("?"))#else#java_type($argument)#end#foreach($arg in $type.bounds.keySet())#if($arg == $argument) extends #java_type($type.bounds.get($arg))#end#end#end>#end +#if($type.arguments)<#foreach($argument in $type.arguments)#if($velocityCount>1), #end#if($argument.qualifiedTypeName == "?")#java_type($type.bounds.get("?"))#else#java_type($argument)#end#foreach($arg in $type.bounds.keySet())#if($arg == $argument) extends #java_type($type.bounds.get($arg))#end#end#end>#end #end #macro(java_type $type) -$type.name#java_generics($type)#java_dimensions($type.dimensions) +$type.qualifiedTypeName#java_generics($type)#java_dimensions($type.dimensions) #end #macro(java_implements $descriptor) #if($descriptor.superClass) extends #java_type($descriptor.superClass)#foreach($interface in $descriptor.interfaces), #java_type($interface)#end#else#foreach($interface in $descriptor.interfaces)#if($velocityCount == 1) implements #{else}, #end#java_type($interface)#end#if(($descriptor.interfaces.size() == 0) && ($descriptor.superclass.size() > 0)) implements #end#foreach($super in $descriptor.superclass)#if($velocityCount != 1), #end#java_type($super)#end#end @@ -24,7 +24,7 @@ $type.name#java_generics($type)#java_dimensions($type.dimensions) #foreach($parameterDescriptor in $descriptor.parameterDescriptors)#if($velocityCount>1), #end#java_type($parameterDescriptor) $parameterDescriptor.parameterName#end #end #macro(java_method $descriptor) -#java_type($descriptor)#if($descriptor.name != "") #end${descriptor.methodName}#java_generics($descriptor.genericType)(#java_params($descriptor))#java_bounds($descriptor.genericType) +#java_type($descriptor)#if($descriptor.qualifiedTypename != "") #end${descriptor.methodName}#java_generics($descriptor.genericType)(#java_params($descriptor))#java_bounds($descriptor.genericType) #end #macro(java_property $descriptor $preamble) #java_type($descriptor) #java_getset($descriptor, $preamble)#java_generics($descriptor.genericType)#java_bounds($descriptor.genericType) @@ -36,15 +36,15 @@ $type.name#java_generics($type)#java_dimensions($type.dimensions) void #java_getset($descriptor, "set")#java_generics($descriptor.genericType)#java_bounds($descriptor.genericType) #end #macro(java_getset $descriptor $preamble) -#if($descriptor.name == "boolean" && $preamble == "get")is${descriptor.propertyName}#else$preamble${descriptor.propertyName}#end +#if($descriptor.qualifiedTypeName == "boolean" && $preamble == "get")is${descriptor.propertyName}#else$preamble${descriptor.propertyName}#end #end #macro(java_modifiers $descriptor) #foreach($annotation in $descriptor.annotations) - @$annotation.name#end + @$annotation.qualifiedTypeName#end #if($descriptor.override) @Override#end #if($descriptor.modifier != "")$descriptor.modifier #end -#end \ No newline at end of file +#end diff --git a/src/main/resources/templates/java/proxy.vm b/src/main/resources/templates/java/proxy.vm index e93eb56..104f419 100644 --- a/src/main/resources/templates/java/proxy.vm +++ b/src/main/resources/templates/java/proxy.vm @@ -10,7 +10,7 @@ package $typeDescriptor.nameSpace; * */ #end -#foreach($annotation in $typeDescriptor.annotations)@$annotation.name +#foreach($annotation in $typeDescriptor.annotations)@$annotation.qualifiedTypeName #end public class $typeDescriptor.typeName#java_generics($typeDescriptor)#java_implements($typeDescriptor)#java_bounds($typeDescriptor) { protected virtual object DispatchCall(System.Type type, string methodName, params object[] args) { @@ -40,4 +40,4 @@ package $typeDescriptor.nameSpace; } #end } -} \ No newline at end of file +} diff --git a/src/test/java/cc/catalysts/cdoclet/AbstractGeneratorTest.java b/src/test/java/cc/catalysts/cdoclet/AbstractGeneratorTest.java index 80ff66f..22f183e 100644 --- a/src/test/java/cc/catalysts/cdoclet/AbstractGeneratorTest.java +++ b/src/test/java/cc/catalysts/cdoclet/AbstractGeneratorTest.java @@ -54,7 +54,7 @@ public void testGeneration() throws IOException { File output = new File(getOutputDir() + fileWithoutExt + "." + fileExt); - File expected = new File("src/test/resources/expectations/" + fileExt + "/test/" + fileWithoutExt + "." + fileExt); + File expected = new File("src/test/resources/expectations/" + fileExt + "/test" + fileExt + "/" + fileWithoutExt + "." + fileExt); if (!expected.exists()) { System.err.println("file " + expected.getAbsolutePath() + " does not exist\nSkipping Test!"); diff --git a/src/test/java/cc/catalysts/cdoclet/AsGeneratorTest.java b/src/test/java/cc/catalysts/cdoclet/AsGeneratorTest.java index d0ff082..d3c5c1a 100644 --- a/src/test/java/cc/catalysts/cdoclet/AsGeneratorTest.java +++ b/src/test/java/cc/catalysts/cdoclet/AsGeneratorTest.java @@ -27,6 +27,6 @@ protected String getLanguage() { @Override protected String getOutputDir() { - return "test/results/as/test/"; + return "test/results/as/testactionscript/"; } } diff --git a/src/test/java/cc/catalysts/cdoclet/CSharpGeneratorTest.java b/src/test/java/cc/catalysts/cdoclet/CSharpGeneratorTest.java index df1fc3c..7fe1c6f 100644 --- a/src/test/java/cc/catalysts/cdoclet/CSharpGeneratorTest.java +++ b/src/test/java/cc/catalysts/cdoclet/CSharpGeneratorTest.java @@ -1,14 +1,13 @@ package cc.catalysts.cdoclet; -import java.io.File; -import java.io.IOException; - +import cc.catalysts.cdoclet.generator.Languages; import org.apache.commons.io.FileUtils; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; -import cc.catalysts.cdoclet.generator.Languages; +import java.io.File; +import java.io.IOException; @RunWith(Parameterized.class) public class CSharpGeneratorTest extends AbstractGeneratorTest { @@ -28,6 +27,6 @@ protected String getLanguage() { @Override protected String getOutputDir() { - return "test/results/cs/test/"; + return "test/results/cs/testcs/"; } } diff --git a/src/test/java/cc/catalysts/cdoclet/JSGeneratorTest.java b/src/test/java/cc/catalysts/cdoclet/JSGeneratorTest.java index ed25234..969c650 100644 --- a/src/test/java/cc/catalysts/cdoclet/JSGeneratorTest.java +++ b/src/test/java/cc/catalysts/cdoclet/JSGeneratorTest.java @@ -27,6 +27,6 @@ protected String getLanguage() { @Override protected String getOutputDir() { - return "test/results/js/test/"; + return "test/results/js/testjs/"; } } diff --git a/src/test/java/cc/catalysts/cdoclet/JavaGeneratorTest.java b/src/test/java/cc/catalysts/cdoclet/JavaGeneratorTest.java index 7c21b9a..ae24ddf 100644 --- a/src/test/java/cc/catalysts/cdoclet/JavaGeneratorTest.java +++ b/src/test/java/cc/catalysts/cdoclet/JavaGeneratorTest.java @@ -1,14 +1,13 @@ package cc.catalysts.cdoclet; -import java.io.File; -import java.io.IOException; - +import cc.catalysts.cdoclet.generator.Languages; import org.apache.commons.io.FileUtils; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; -import cc.catalysts.cdoclet.generator.Languages; +import java.io.File; +import java.io.IOException; @RunWith(Parameterized.class) public class JavaGeneratorTest extends AbstractGeneratorTest { @@ -28,6 +27,6 @@ protected String getLanguage() { @Override protected String getOutputDir() { - return "test/results/java/test/"; + return "test/results/java/testjava/"; } } diff --git a/src/test/resources/expectations/as/testactionscript/TestClassAnnotationsDto.as b/src/test/resources/expectations/as/testactionscript/TestClassAnnotationsDto.as index 5b44d8d..4cf3f07 100644 --- a/src/test/resources/expectations/as/testactionscript/TestClassAnnotationsDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestClassAnnotationsDto.as @@ -2,7 +2,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestClassAnnotations. Do not edit. */ - [RemoteClass(alias="testactionscript.TestClassAnnotations")] + [RemoteClass(alias="testactionscript.TestClassAnnotationsDto")] [Deprecated] [Bindable] public class TestClassAnnotationsDto { diff --git a/src/test/resources/expectations/as/testactionscript/TestExceptionDto.as b/src/test/resources/expectations/as/testactionscript/TestExceptionDto.as index 07dea11..e429b30 100644 --- a/src/test/resources/expectations/as/testactionscript/TestExceptionDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestExceptionDto.as @@ -2,7 +2,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestException. Do not edit. */ - [RemoteClass(alias="testactionscript.TestException")] + [RemoteClass(alias="testactionscript.TestExceptionDto")] public class TestExceptionDto { private var _message:String; public function get message():String { diff --git a/src/test/resources/expectations/as/testactionscript/TestIgnoreClassDto.as b/src/test/resources/expectations/as/testactionscript/TestIgnoreClassDto.as index 8657cdd..3aaaf14 100644 --- a/src/test/resources/expectations/as/testactionscript/TestIgnoreClassDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestIgnoreClassDto.as @@ -3,7 +3,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestIgnoreClass. Do not edit. */ - [RemoteClass(alias="testactionscript.TestIgnoreClass")] + [RemoteClass(alias="testactionscript.TestIgnoreClassDto")] public class TestIgnoreClassDto extends testactionscript.TestOverrideClassBase { private var _test:Object; public override function get test():Object { diff --git a/src/test/resources/expectations/as/testactionscript/TestIgnoreGenericDto.as b/src/test/resources/expectations/as/testactionscript/TestIgnoreGenericDto.as index c7b8914..9d29b88 100644 --- a/src/test/resources/expectations/as/testactionscript/TestIgnoreGenericDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestIgnoreGenericDto.as @@ -3,7 +3,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestIgnoreGeneric. Do not edit. */ - [RemoteClass(alias="testactionscript.TestIgnoreGeneric")] + [RemoteClass(alias="testactionscript.TestIgnoreGenericDto")] public class TestIgnoreGenericDto extends testactionscript.TestOverrideClass { } } \ No newline at end of file diff --git a/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassBaseDto.as b/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassBaseDto.as index 5b73d2d..38573fc 100644 --- a/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassBaseDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassBaseDto.as @@ -3,7 +3,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestIgnoreInClassBase. Do not edit. */ - [RemoteClass(alias="testactionscript.TestIgnoreInClassBase")] + [RemoteClass(alias="testactionscript.TestIgnoreInClassBaseDto")] public class TestIgnoreInClassBaseDto extends testactionscript.TestOverrideClassBase { private var _test:Object; public override function get test():Object { diff --git a/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassDto.as b/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassDto.as index 2fafb1b..bc1a3a5 100644 --- a/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestIgnoreInClassDto.as @@ -3,7 +3,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestIgnoreInClass. Do not edit. */ - [RemoteClass(alias="testactionscript.TestIgnoreInClass")] + [RemoteClass(alias="testactionscript.TestIgnoreInClassDto")] public class TestIgnoreInClassDto extends testactionscript.TestIgnoreInClassBase { private var _test:Object; public override function get test():Object { diff --git a/src/test/resources/expectations/as/testactionscript/TestOverrideClassBaseDto.as b/src/test/resources/expectations/as/testactionscript/TestOverrideClassBaseDto.as index 208839b..abdce75 100644 --- a/src/test/resources/expectations/as/testactionscript/TestOverrideClassBaseDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestOverrideClassBaseDto.as @@ -3,7 +3,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestOverrideClassBase. Do not edit. */ - [RemoteClass(alias="testactionscript.TestOverrideClassBase")] + [RemoteClass(alias="testactionscript.TestOverrideClassBaseDto")] public class TestOverrideClassBaseDto implements testactionscript.TestOverrideInterface { private var _test:Object; public function get test():Object { diff --git a/src/test/resources/expectations/as/testactionscript/TestOverrideClassDto.as b/src/test/resources/expectations/as/testactionscript/TestOverrideClassDto.as index bba3683..e8e9130 100644 --- a/src/test/resources/expectations/as/testactionscript/TestOverrideClassDto.as +++ b/src/test/resources/expectations/as/testactionscript/TestOverrideClassDto.as @@ -3,7 +3,7 @@ package testactionscript{ /** * Generated by CDoclet from test.TestOverrideClass. Do not edit. */ - [RemoteClass(alias="testactionscript.TestOverrideClass")] + [RemoteClass(alias="testactionscript.TestOverrideClassDto")] public class TestOverrideClassDto extends testactionscript.TestOverrideClassBase { private var _test:Object; public override function get test():Object { diff --git a/src/test/resources/expectations/as/testactionscript/TestProxyInterface.as b/src/test/resources/expectations/as/testactionscript/TestProxyInterface.as index 4f70870..9d7a90b 100644 --- a/src/test/resources/expectations/as/testactionscript/TestProxyInterface.as +++ b/src/test/resources/expectations/as/testactionscript/TestProxyInterface.as @@ -1,9 +1,10 @@ package testactionscript{ + import testactionscript.TestBean; import testactionscript.TestProxyInterfaceBase; /** * Generated by CDoclet from test.TestProxyInterface. Do not edit. */ public interface TestProxyInterface extends testactionscript.TestProxyInterfaceBase { - function baz(ago:Number):void; + function baz(ago:Number):testactionscript.TestBean; } } \ No newline at end of file diff --git a/src/test/resources/expectations/as/testactionscript/TestProxyInterfaceProxy.as b/src/test/resources/expectations/as/testactionscript/TestProxyInterfaceProxy.as index b6c1ed9..76fc8c5 100644 --- a/src/test/resources/expectations/as/testactionscript/TestProxyInterfaceProxy.as +++ b/src/test/resources/expectations/as/testactionscript/TestProxyInterfaceProxy.as @@ -1,4 +1,5 @@ package testactionscript{ + import testactionscript.TestBean; import testactionscript.TestProxyInterface; import testactionscript.TestProxyInterfaceBase; public class TestProxyInterfaceProxy implements testactionscript.TestProxyInterface { @@ -9,8 +10,8 @@ package testactionscript{ } protected function onStatus(status:Object):void { } - public function baz(ago:Number):void { - dispatchCall(TestProxyInterfaceProxyEvents.Baz, ago); + public function baz(ago:Number):testactionscript.TestBean { + return dispatchCall(TestProxyInterfaceProxyEvents.Baz, ago) as testactionscript.TestBean; } public function foo(bar:Date):Array { return dispatchCall(TestProxyInterfaceProxyEvents.Foo, bar) as Array; diff --git a/src/test/resources/expectations/cs/testcs/TestBeanDto.cs b/src/test/resources/expectations/cs/testcs/TestBeanDto.cs new file mode 100644 index 0000000..3628c84 --- /dev/null +++ b/src/test/resources/expectations/cs/testcs/TestBeanDto.cs @@ -0,0 +1,19 @@ + + +namespace testcs { +#region CDoclet generated code + /** + * + * Generated by CDoclet from test.TestBean. Do not edit. + * + */ + public class TestBeanDto { + private int value; + private string name; + private testcs.TestBeanDto self; + public virtual int Value { get { return this.value; } set { this.value = value; } } + public virtual string Name { get { return this.name; } set { this.name = value; } } + public virtual testcs.TestBeanDto Self { get { return this.self; } set { this.self = value; } } + } +#endregion +} diff --git a/src/test/resources/expectations/cs/testcs/TestClassAnnotationsDto.cs b/src/test/resources/expectations/cs/testcs/TestClassAnnotationsDto.cs index 39c90ee..2d06857 100644 --- a/src/test/resources/expectations/cs/testcs/TestClassAnnotationsDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestClassAnnotationsDto.cs @@ -18,4 +18,4 @@ public class TestClassAnnotationsDto { public virtual string NotAnnotatedProperty { get { return this.notAnnotatedProperty; } set { this.notAnnotatedProperty = value; } } } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestEnum.cs b/src/test/resources/expectations/cs/testcs/TestEnum.cs index efa0a49..e01e28b 100644 --- a/src/test/resources/expectations/cs/testcs/TestEnum.cs +++ b/src/test/resources/expectations/cs/testcs/TestEnum.cs @@ -13,4 +13,4 @@ public enum TestEnum { Left } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestExceptionDto.cs b/src/test/resources/expectations/cs/testcs/TestExceptionDto.cs index 7cd7a46..3ea00f9 100644 --- a/src/test/resources/expectations/cs/testcs/TestExceptionDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestExceptionDto.cs @@ -13,4 +13,4 @@ public class TestExceptionDto : System.Exception { public TestExceptionDto(string message, System.Exception exception) : base(message, exception) {} } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestIgnoreClassDto.cs b/src/test/resources/expectations/cs/testcs/TestIgnoreClassDto.cs index 5f9e67f..e963f2c 100644 --- a/src/test/resources/expectations/cs/testcs/TestIgnoreClassDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestIgnoreClassDto.cs @@ -11,4 +11,4 @@ public class TestIgnoreClassDto : testcs.TestOverrideClassBase { public override T Test { get { return this.test; } set { this.test = value; } } } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestIgnoreGenericDto.cs b/src/test/resources/expectations/cs/testcs/TestIgnoreGenericDto.cs index ef2cf08..078706c 100644 --- a/src/test/resources/expectations/cs/testcs/TestIgnoreGenericDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestIgnoreGenericDto.cs @@ -7,7 +7,7 @@ namespace testcs { * Generated by CDoclet from test.TestIgnoreGeneric. Do not edit. * */ - public class TestIgnoreGenericDto : testcs.TestOverrideClass { + public class TestIgnoreGenericDto : testcs.TestOverrideClass { } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestIgnoreInClassBaseDto.cs b/src/test/resources/expectations/cs/testcs/TestIgnoreInClassBaseDto.cs index 7a30ac8..70e5267 100644 --- a/src/test/resources/expectations/cs/testcs/TestIgnoreInClassBaseDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestIgnoreInClassBaseDto.cs @@ -11,4 +11,4 @@ public class TestIgnoreInClassBaseDto : testcs.TestOverrideClassBase { public override T Test { get { return this.test; } set { this.test = value; } } } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestIgnoreInClassDto.cs b/src/test/resources/expectations/cs/testcs/TestIgnoreInClassDto.cs index 26b4cf4..637f1b6 100644 --- a/src/test/resources/expectations/cs/testcs/TestIgnoreInClassDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestIgnoreInClassDto.cs @@ -11,4 +11,4 @@ public class TestIgnoreInClassDto : testcs.TestIgnoreInClassBase { public override T Test { get { return this.test; } set { this.test = value; } } } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestIgnoreInInterface.cs b/src/test/resources/expectations/cs/testcs/TestIgnoreInInterface.cs index f590a03..5af9c44 100644 --- a/src/test/resources/expectations/cs/testcs/TestIgnoreInInterface.cs +++ b/src/test/resources/expectations/cs/testcs/TestIgnoreInInterface.cs @@ -12,4 +12,4 @@ public interface TestIgnoreInInterface : testcs.TestIgnoreInInterfaceBase void TestMethod(); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestIgnoreInInterfaceBase.cs b/src/test/resources/expectations/cs/testcs/TestIgnoreInInterfaceBase.cs index 26c37c3..0b7333f 100644 --- a/src/test/resources/expectations/cs/testcs/TestIgnoreInInterfaceBase.cs +++ b/src/test/resources/expectations/cs/testcs/TestIgnoreInInterfaceBase.cs @@ -10,4 +10,4 @@ namespace testcs { public interface TestIgnoreInInterfaceBase : testcs.TestOverrideInterfaceBase { } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestIgnoreInterface.cs b/src/test/resources/expectations/cs/testcs/TestIgnoreInterface.cs index c17f4b9..dd71ae2 100644 --- a/src/test/resources/expectations/cs/testcs/TestIgnoreInterface.cs +++ b/src/test/resources/expectations/cs/testcs/TestIgnoreInterface.cs @@ -12,4 +12,4 @@ public interface TestIgnoreInterface : testcs.TestOverrideInterfaceBase { void TestMethod(); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestInterfaceAnnotations.cs b/src/test/resources/expectations/cs/testcs/TestInterfaceAnnotations.cs index d41dd3d..eab703c 100644 --- a/src/test/resources/expectations/cs/testcs/TestInterfaceAnnotations.cs +++ b/src/test/resources/expectations/cs/testcs/TestInterfaceAnnotations.cs @@ -16,4 +16,4 @@ public interface TestInterfaceAnnotations { void NotAnnotatedMethod(); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestInterfaceGeneric.cs b/src/test/resources/expectations/cs/testcs/TestInterfaceGeneric.cs index 28f8091..eea47c0 100644 --- a/src/test/resources/expectations/cs/testcs/TestInterfaceGeneric.cs +++ b/src/test/resources/expectations/cs/testcs/TestInterfaceGeneric.cs @@ -11,4 +11,4 @@ public interface TestInterfaceGeneric where A : System.DateTime? { void Foo(A bar, B baz); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestOverrideClassBaseDto.cs b/src/test/resources/expectations/cs/testcs/TestOverrideClassBaseDto.cs index c74ea60..34593c2 100644 --- a/src/test/resources/expectations/cs/testcs/TestOverrideClassBaseDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestOverrideClassBaseDto.cs @@ -12,4 +12,4 @@ public class TestOverrideClassBaseDto : testcs.TestOverrideInterface { public virtual T Test { get { return this.test; } set { this.test = value; } } } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestOverrideClassDto.cs b/src/test/resources/expectations/cs/testcs/TestOverrideClassDto.cs index 89682c2..1be82e4 100644 --- a/src/test/resources/expectations/cs/testcs/TestOverrideClassDto.cs +++ b/src/test/resources/expectations/cs/testcs/TestOverrideClassDto.cs @@ -11,4 +11,4 @@ public class TestOverrideClassDto : testcs.TestOverrideClassBase { public override T Test { get { return this.test; } set { this.test = value; } } } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestOverrideInterface.cs b/src/test/resources/expectations/cs/testcs/TestOverrideInterface.cs index 315d128..283be6a 100644 --- a/src/test/resources/expectations/cs/testcs/TestOverrideInterface.cs +++ b/src/test/resources/expectations/cs/testcs/TestOverrideInterface.cs @@ -12,4 +12,4 @@ public interface TestOverrideInterface : testcs.TestOverrideInterfaceBase void TestMethod(); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestOverrideInterfaceBase.cs b/src/test/resources/expectations/cs/testcs/TestOverrideInterfaceBase.cs index 660c12e..f284ce3 100644 --- a/src/test/resources/expectations/cs/testcs/TestOverrideInterfaceBase.cs +++ b/src/test/resources/expectations/cs/testcs/TestOverrideInterfaceBase.cs @@ -12,4 +12,4 @@ public interface TestOverrideInterfaceBase { void TestMethod(); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestProxyInterface.cs b/src/test/resources/expectations/cs/testcs/TestProxyInterface.cs index d804c86..f9f1382 100644 --- a/src/test/resources/expectations/cs/testcs/TestProxyInterface.cs +++ b/src/test/resources/expectations/cs/testcs/TestProxyInterface.cs @@ -8,7 +8,7 @@ namespace testcs { * */ public interface TestProxyInterface : testcs.TestProxyInterfaceBase { - void Baz(AsyncCallback async, long ago); + void Baz(AsyncCallback async, long ago); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestProxyInterfaceBase.cs b/src/test/resources/expectations/cs/testcs/TestProxyInterfaceBase.cs index ec922ad..bdf6840 100644 --- a/src/test/resources/expectations/cs/testcs/TestProxyInterfaceBase.cs +++ b/src/test/resources/expectations/cs/testcs/TestProxyInterfaceBase.cs @@ -11,4 +11,4 @@ public interface TestProxyInterfaceBase : testcs.TestProxyInterfaceGeneric wh System.Collections.Generic.ICollection Foo(T bar); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestProxyInterfaceGeneric.cs b/src/test/resources/expectations/cs/testcs/TestProxyInterfaceGeneric.cs index e8fe95e..5b3a177 100644 --- a/src/test/resources/expectations/cs/testcs/TestProxyInterfaceGeneric.cs +++ b/src/test/resources/expectations/cs/testcs/TestProxyInterfaceGeneric.cs @@ -11,4 +11,4 @@ public interface TestProxyInterfaceGeneric { void Foo(string bar); } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/cs/testcs/TestProxyInterfaceProxy.cs b/src/test/resources/expectations/cs/testcs/TestProxyInterfaceProxy.cs index fa04ce8..8bd3a76 100644 --- a/src/test/resources/expectations/cs/testcs/TestProxyInterfaceProxy.cs +++ b/src/test/resources/expectations/cs/testcs/TestProxyInterfaceProxy.cs @@ -10,9 +10,9 @@ public class TestProxyInterfaceProxy : testcs.TestProxyInterface { protected virtual void BeginDispatchCall(System.Type type, string methodName, object async, params object[] args) { } - virtual public void Baz(AsyncCallback async, long ago) { - BeginDispatchCall(typeof(object), "baz", async, ago); + virtual public void Baz(AsyncCallback async, long ago) { + BeginDispatchCall(typeof(testcs.TestBeanDto), "baz", async, ago); } } #endregion -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/java/testjava/TestBeanDto.java b/src/test/resources/expectations/java/testjava/TestBeanDto.java index fb50359..375252b 100644 --- a/src/test/resources/expectations/java/testjava/TestBeanDto.java +++ b/src/test/resources/expectations/java/testjava/TestBeanDto.java @@ -7,6 +7,7 @@ public class TestBeanDto { private int value; private String name; + private testjava.TestBeanDto self; public int getValue() { return this.value; @@ -23,4 +24,12 @@ public String getName() { public void setName(String value) { this.name = value; } + + public testjava.TestBeanDto getSelf() { + return this.self; + } + + public void setSelf(testjava.TestBeanDto value) { + this.self = value; + } } diff --git a/src/test/resources/expectations/java/testjava/TestEnum.java b/src/test/resources/expectations/java/testjava/TestEnum.java index 2716359..02a379c 100644 --- a/src/test/resources/expectations/java/testjava/TestEnum.java +++ b/src/test/resources/expectations/java/testjava/TestEnum.java @@ -8,4 +8,4 @@ public enum TestEnum { Right, Middle, Left -} \ No newline at end of file +} diff --git a/src/test/resources/expectations/java/testjava/TestExceptionDto.java b/src/test/resources/expectations/java/testjava/TestExceptionDto.java index f714709..d187503 100644 --- a/src/test/resources/expectations/java/testjava/TestExceptionDto.java +++ b/src/test/resources/expectations/java/testjava/TestExceptionDto.java @@ -6,18 +6,18 @@ */ public class TestExceptionDto extends Exception { - public TestExceptionDto() { + public TestExceptionDto() { } - public TestExceptionDto(String message) { + public TestExceptionDto(String message) { super(message); } - public TestExceptionDto(Throwable cause) { + public TestExceptionDto(Throwable cause) { super(cause); } - public TestExceptionDto(String message, Throwable cause) { + public TestExceptionDto(String message, Throwable cause) { super(message, cause); } } diff --git a/src/test/resources/expectations/java/testjava/TestIgnoreGenericDto.java b/src/test/resources/expectations/java/testjava/TestIgnoreGenericDto.java index 981b0bb..07df38a 100644 --- a/src/test/resources/expectations/java/testjava/TestIgnoreGenericDto.java +++ b/src/test/resources/expectations/java/testjava/TestIgnoreGenericDto.java @@ -4,5 +4,5 @@ /** * Generated by CDoclet from test.TestIgnoreGeneric. Do not edit. */ -public class TestIgnoreGenericDto extends testjava.TestOverrideClass { +public class TestIgnoreGenericDto extends testjava.TestOverrideClass { } diff --git a/src/test/resources/expectations/java/testjava/TestOverrideBeanDto.java b/src/test/resources/expectations/java/testjava/TestOverrideBeanDto.java index 31e9bc5..29081c7 100644 --- a/src/test/resources/expectations/java/testjava/TestOverrideBeanDto.java +++ b/src/test/resources/expectations/java/testjava/TestOverrideBeanDto.java @@ -4,7 +4,7 @@ /** * Generated by CDoclet from test.TestOverrideBean. Do not edit. */ -public class TestOverrideBeanDto extends testjava.TestBean { +public class TestOverrideBeanDto extends testjava.TestBeanDto { private long count; public long getCount() { diff --git a/src/test/resources/expectations/java/testjava/TestProxyInterface.java b/src/test/resources/expectations/java/testjava/TestProxyInterface.java index 86d6261..5e6b634 100644 --- a/src/test/resources/expectations/java/testjava/TestProxyInterface.java +++ b/src/test/resources/expectations/java/testjava/TestProxyInterface.java @@ -7,5 +7,5 @@ public interface TestProxyInterface extends testjava.TestProxyInterfaceBase { String NAME = "test"; - void baz(long ago); + testjava.TestBeanDto baz(long ago); } diff --git a/src/test/resources/expectations/java/testjava/TestProxyInterfaceProxy.java b/src/test/resources/expectations/java/testjava/TestProxyInterfaceProxy.java index bab309a..d234116 100644 --- a/src/test/resources/expectations/java/testjava/TestProxyInterfaceProxy.java +++ b/src/test/resources/expectations/java/testjava/TestProxyInterfaceProxy.java @@ -10,8 +10,8 @@ protected virtual void BeginDispatchCall(System.Type type, string methodName, ob } - public void baz(long ago) { - DispatchCall(typeof(object), "baz", ago); + public testjava.TestBeanDto baz(long ago) { + return () DispatchCall(typeof { /** * @js.method verb=POST */ - void baz(long ago); + TestBean baz(long ago); }