]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/InstantiationManager.java
Can pass ref attributes as primitives
[gpl/argeo-slc.git] / runtime / org.argeo.slc.core / src / main / java / org / argeo / slc / core / execution / InstantiationManager.java
index 1f1ff73d21cae9642ab887cf9f044c4f599705c1..eb6ce53473407a258fb5f1a6af52401be5201eb8 100644 (file)
@@ -81,9 +81,14 @@ public class InstantiationManager {
                                .getExecutionSpec().getAttributes().get(key);\r
                if (attr instanceof RefSpecAttribute)\r
                        return ((RefSpecAttribute) attr).getTargetClass();\r
-               else if (attr instanceof PrimitiveSpecAttribute)\r
-                       return ((PrimitiveSpecAttribute) attr).getTypeAsClass();\r
-               else\r
+               else if (attr instanceof PrimitiveSpecAttribute) {\r
+                       String type = ((PrimitiveSpecAttribute) attr).getType();\r
+                       Class<?> clss = PrimitiveUtils.typeAsClass(type);\r
+                       if (clss == null)\r
+                               throw new SlcException("Cannot convert type " + type\r
+                                               + " to class.");\r
+                       return clss;\r
+               } else\r
                        return null;\r
        }\r
 \r