youseries пре 7 година
родитељ
комит
b61bc31fc8

+ 13 - 7
urule-core/src/main/java/com/bstek/urule/runtime/KnowledgeSessionImpl.java

@@ -113,6 +113,8 @@ public class KnowledgeSessionImpl implements KnowledgeSession{
 						initParameters.put(key, new ArrayList<Object>());
 					}else if(type.equals(Datatype.Set)){
 						initParameters.put(key, new HashSet<Object>());
+					}else if(type.equals(Datatype.Map)) {
+						initParameters.put(key, new HashMap<Object,Object>());
 					}
 				}
 			}
@@ -210,18 +212,22 @@ public class KnowledgeSessionImpl implements KnowledgeSession{
 		return resp;
 	}
 	
-	
-	@SuppressWarnings("rawtypes")
 	private void clearInitParameters(){
-		for(Object obj:initParameters.values()){
+		for(String key:initParameters.keySet()) {
+			Object obj=initParameters.get(key);
 			if(obj==null){
 				continue;
 			}
 			if(obj instanceof List){
-				((List)obj).clear();
-			}
-			if(obj instanceof Set){
-				((Set)obj).clear();
+				((List<?>)obj).clear();
+			}else if(obj instanceof Set){
+				((Set<?>)obj).clear();
+			}else if(obj instanceof Map) {
+				((Map<?,?>)obj).clear();
+			}else if(obj instanceof Number) {
+				initParameters.put(key, 0);
+			}else if(obj instanceof Boolean) {
+				initParameters.put(key, false);				
 			}
 		}
 	}