X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.castor%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcastor%2Fexecution%2FPrimitiveFieldHandler.java;fp=runtime%2Forg.argeo.slc.support.castor%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcastor%2Fexecution%2FPrimitiveFieldHandler.java;h=bee2acb66ca2c7f762660f6bbd8fcf2bfeb28afa;hb=34e590f37109dd9ff9aa4e12af04ee98779aa9e1;hp=e27a3af79cb6f8502d8dfba0314434b9d79dce57;hpb=5aa18045bcdd46992b9417f7864fec455e9fc979;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/castor/execution/PrimitiveFieldHandler.java b/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/castor/execution/PrimitiveFieldHandler.java index e27a3af79..bee2acb66 100644 --- a/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/castor/execution/PrimitiveFieldHandler.java +++ b/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/castor/execution/PrimitiveFieldHandler.java @@ -1,7 +1,7 @@ package org.argeo.slc.castor.execution; +import org.argeo.slc.core.execution.PrimitiveAccessor; import org.argeo.slc.core.execution.PrimitiveSpecAttribute; -import org.argeo.slc.core.execution.PrimitiveValue; import org.exolab.castor.mapping.AbstractFieldHandler; public class PrimitiveFieldHandler extends AbstractFieldHandler { @@ -11,53 +11,32 @@ public class PrimitiveFieldHandler extends AbstractFieldHandler { if (object == null) return null; - Object value = null; - if (object instanceof PrimitiveSpecAttribute) - value = ((PrimitiveSpecAttribute) object).getValue(); - else if (object instanceof PrimitiveValue) - value = ((PrimitiveValue) object).getValue(); - else - throw new IllegalStateException("Unkown type " + object.getClass()); - - return value != null ? value.toString() : null; + return ((PrimitiveAccessor) object).getValue().toString(); } @Override public Object newInstance(Object parent, Object[] args) throws IllegalStateException { - // TODO Auto-generated method stub return null; } @Override public Object newInstance(Object parent) throws IllegalStateException { - // TODO Auto-generated method stub return null; } @Override public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException { - // TODO Auto-generated method stub - } @Override public void setValue(Object object, Object value) throws IllegalStateException, IllegalArgumentException { - // TODO: could probably be more generic - - PrimitiveSpecAttribute attr = (PrimitiveSpecAttribute) object; - String type = attr.getType(); + PrimitiveAccessor primitiveAccessor = (PrimitiveAccessor) object; + String type = primitiveAccessor.getType(); String str = value.toString(); - - // FIXME: generalize - if (object instanceof PrimitiveSpecAttribute) - ((PrimitiveSpecAttribute) object).setValue(convert(type, str)); - else if (object instanceof PrimitiveValue) - ((PrimitiveValue) object).setValue(convert(type, str)); - else - throw new IllegalStateException("Unkown type " + object.getClass()); + primitiveAccessor.setValue(convert(type, str)); } protected Object convert(String type, String str) {