diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-09-15 11:41:39 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-09-15 11:41:39 +0200 |
| commit | 3bb0aefa38c27221114a2db749d2eaa1a9df0336 (patch) | |
| tree | 022a172278d54a35ae464ecd3fc8a19ab6231bf9 /src/main/java/com/c2kernel/entity/agent | |
| parent | 95b8f12336bbc46f8d3e7cd407b89911aba8d2c5 (diff) | |
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.
Diffstat (limited to 'src/main/java/com/c2kernel/entity/agent')
| -rw-r--r-- | src/main/java/com/c2kernel/entity/agent/Job.java | 17 |
1 files changed, 9 insertions, 8 deletions
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);
}
|
