1.1 --- a/json/src/main/java/org/apidesign/html/json/impl/ModelProcessor.java Tue Apr 23 14:10:01 2013 +0200
1.2 +++ b/json/src/main/java/org/apidesign/html/json/impl/ModelProcessor.java Tue Apr 23 14:17:06 2013 +0200
1.3 @@ -52,6 +52,7 @@
1.4 import javax.lang.model.element.TypeElement;
1.5 import javax.lang.model.element.VariableElement;
1.6 import javax.lang.model.type.ArrayType;
1.7 +import javax.lang.model.type.DeclaredType;
1.8 import javax.lang.model.type.MirroredTypeException;
1.9 import javax.lang.model.type.TypeKind;
1.10 import javax.lang.model.type.TypeMirror;
1.11 @@ -715,7 +716,14 @@
1.12 {
1.13 for (VariableElement ve : e.getParameters()) {
1.14 TypeMirror modelType = null;
1.15 - if (ve.asType().toString().equals(className)) {
1.16 + final TypeMirror type = ve.asType();
1.17 + CharSequence simpleName;
1.18 + if (type.getKind() == TypeKind.DECLARED) {
1.19 + simpleName = ((DeclaredType)type).asElement().getSimpleName();
1.20 + } else {
1.21 + simpleName = type.toString();
1.22 + }
1.23 + if (simpleName.toString().equals(className)) {
1.24 args.add(className + ".this");
1.25 } else if (isModel(ve.asType())) {
1.26 modelType = ve.asType();