From 3bb0aefa38c27221114a2db749d2eaa1a9df0336 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 15 Sep 2014 11:41:39 +0200 Subject: Add trim calls to ObjectProperties.getString() to discard any extra whitespace around the values. Fixes #165 Remove old Gateway.getProperty methods - there should be no deprecated methods in the 3.0 release Move all getProperty() calls to getString or other so they will be trimmed. Introduce ObjectProperties.getInstances to create ArrayLists of objects from comma-separated class name lists. --- src/main/java/com/c2kernel/entity/agent/Job.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/main/java/com/c2kernel/entity') diff --git a/src/main/java/com/c2kernel/entity/agent/Job.java b/src/main/java/com/c2kernel/entity/agent/Job.java index fe2084d..13bd268 100644 --- a/src/main/java/com/c2kernel/entity/agent/Job.java +++ b/src/main/java/com/c2kernel/entity/agent/Job.java @@ -349,15 +349,16 @@ public class Job implements C2KLocalObject synchronized (ocInitCache) { ocInit = ocInitCache.get(ocPropName); if (ocInit == null) { - Object ocInitObj = Gateway.getProperties().get(ocPropName); - if (ocInitObj instanceof String) { - try { - ocInitObj = Class.forName((String)ocInitObj).newInstance(); - } catch (Exception e) { - Logger.error(e); - throw new InvalidDataException("Could not instantiate OutcomeInstantiator "+ocInitObj+" for "+ocPropName); - } + Object ocInitObj; + if (!Gateway.getProperties().containsKey(ocPropName)) { + throw new InvalidDataException("Outcome instantiator "+ocPropName+" isn't defined", ""); } + try { + ocInitObj = Gateway.getProperties().getInstance(ocPropName); + } catch (Exception e) { + Logger.error(e); + throw new InvalidDataException("Outcome instantiator "+ocPropName+" couldn't be instantiated", ""); + } ocInit = (OutcomeInitiator)ocInitObj; // throw runtime class cast if it isn't one ocInitCache.put(ocPropName, ocInit); } -- cgit v1.2.3