Skip to content

Commit 7588386

Browse files
committed
Revert "Move concrete list and map handling logic."
This reverts commit 44aa747.
1 parent 44aa747 commit 7588386

File tree

1 file changed

+37
-39
lines changed

1 file changed

+37
-39
lines changed

httprpc-server/src/main/java/org/httprpc/WebService.java

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,9 @@ private void describeResource(String path, Resource resource, XMLStreamWriter xm
773773
}
774774

775775
private String describe(Type type) {
776-
if (type instanceof WildcardType) {
776+
if (type instanceof Class<?>) {
777+
return describe((Class<?>)type);
778+
} else if (type instanceof WildcardType) {
777779
return describe(((WildcardType)type).getUpperBounds()[0]);
778780
} else if (type instanceof ParameterizedType) {
779781
ParameterizedType parameterizedType = (ParameterizedType)type;
@@ -789,44 +791,6 @@ private String describe(Type type) {
789791
} else {
790792
throw new IllegalArgumentException();
791793
}
792-
} else if (type instanceof Class<?>) {
793-
if (Iterable.class.isAssignableFrom((Class<?>)type)) {
794-
return describe(new ParameterizedType() {
795-
@Override
796-
public Type[] getActualTypeArguments() {
797-
return new Type[] {Object.class};
798-
}
799-
800-
@Override
801-
public Type getRawType() {
802-
return Iterable.class;
803-
}
804-
805-
@Override
806-
public Type getOwnerType() {
807-
return null;
808-
}
809-
});
810-
} else if (Map.class.isAssignableFrom((Class<?>)type)) {
811-
return describe(new ParameterizedType() {
812-
@Override
813-
public Type[] getActualTypeArguments() {
814-
return new Type[] {Object.class, Object.class};
815-
}
816-
817-
@Override
818-
public Type getRawType() {
819-
return Map.class;
820-
}
821-
822-
@Override
823-
public Type getOwnerType() {
824-
return null;
825-
}
826-
});
827-
} else {
828-
return describe((Class<?>)type);
829-
}
830794
} else {
831795
throw new IllegalArgumentException();
832796
}
@@ -873,6 +837,40 @@ private String describe(Class<?> type) {
873837
return "datetime-local";
874838
} else if (type == URL.class) {
875839
return "url";
840+
} else if (Iterable.class.isAssignableFrom(type)) {
841+
return describe(new ParameterizedType() {
842+
@Override
843+
public Type[] getActualTypeArguments() {
844+
return new Type[] {Object.class};
845+
}
846+
847+
@Override
848+
public Type getRawType() {
849+
return Iterable.class;
850+
}
851+
852+
@Override
853+
public Type getOwnerType() {
854+
return null;
855+
}
856+
});
857+
} else if (Map.class.isAssignableFrom(type)) {
858+
return describe(new ParameterizedType() {
859+
@Override
860+
public Type[] getActualTypeArguments() {
861+
return new Type[] {Object.class, Object.class};
862+
}
863+
864+
@Override
865+
public Type getRawType() {
866+
return Map.class;
867+
}
868+
869+
@Override
870+
public Type getOwnerType() {
871+
return null;
872+
}
873+
});
876874
} else {
877875
if (!structures.containsKey(type)) {
878876
Map<String, Method> accessors = BeanAdapter.getAccessors(type);

0 commit comments

Comments
 (0)