public static Object[] getActionArgsArray(Action action) { Object[] myArray = new Object[action.getArgs().size()]; int i = 0; for (MyMapArgsEntryType entry : action.getArgs()) { myArray[i] = entry.getValue(); i++; } return myArray; }
public static Ref getActionReferences(Action action, QueryResults results) { if (results.size() == 0) { return null; } Map<String, Object> map = new HashMap<String, Object>(); org.drools.QueryResults inner = ((NativeQueryResults) results).getResults(); List<MyMapReferenceEntryType> pointers = action.getReferences(); Declaration[] params = inner.getParameters(); for (MyMapReferenceEntryType entry : pointers) { Declaration dec = params[entry.getKey()]; map.put(entry.getValue(), inner.get(0).get(dec.getIdentifier())); } Ref ref = new Ref(); ref.setReferences(MapArgsAdapterHelper.marshal(map)); return ref; }