Skip to content

Commit 0899997

Browse files
committed
Merge pull request #506 from porqpine/master
Added handling of java.util.Collection in TypeUtil.scala
2 parents 974c961 + a82805a commit 0899997

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

modules/swagger-core/src/main/scala/com/wordnik/swagger/converter/ModelPropertyParser.scala

+4
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,10 @@ class ModelPropertyParser(cls: Class[_], t: Map[String, String] = Map.empty) (im
349349
val parameterizedType = genericReturnType.asInstanceOf[java.lang.reflect.ParameterizedType]
350350
val valueType = parameterizedType.getActualTypeArguments.head
351351
"Set[" + getDataType(valueType, valueType, isSimple) + "]"
352+
} else if (TypeUtil.isParameterizedCollection(genericReturnType)) {
353+
val parameterizedType = genericReturnType.asInstanceOf[java.lang.reflect.ParameterizedType]
354+
val valueType = parameterizedType.getActualTypeArguments.head
355+
"Array[" + getDataType(valueType, valueType, isSimple) + "]"
352356
} else if (TypeUtil.isParameterizedMap(genericReturnType)) {
353357
val parameterizedType = genericReturnType.asInstanceOf[java.lang.reflect.ParameterizedType]
354358
val typeArgs = parameterizedType.getActualTypeArguments

modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala

+9-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,15 @@ object TypeUtil {
6262
def isParameterizedList(gt: Type): Boolean = {
6363
if (classOf[ParameterizedType].isAssignableFrom(gt.getClass)) {
6464
val tp = gt.asInstanceOf[ParameterizedType].getRawType
65-
(tp == classOf[java.util.List[_]] || tp == classOf[scala.List[_]] || tp == classOf[Seq[_]])
65+
(tp == classOf[java.util.List[_]] || tp == classOf[scala.List[_]] || tp == classOf[Seq[_]])
66+
}
67+
else false
68+
}
69+
70+
def isParameterizedCollection(gt: Type): Boolean = {
71+
if (classOf[ParameterizedType].isAssignableFrom(gt.getClass)) {
72+
val tp = gt.asInstanceOf[ParameterizedType].getRawType
73+
(tp == classOf[java.util.Collection[_]])
6674
}
6775
else false
6876
}

0 commit comments

Comments
 (0)