diff --git a/src/main/java/fr/soleil/actiongroup/collectiveaction/components/tangowrapping/DeviceAttributeWrapper.java b/src/main/java/fr/soleil/actiongroup/collectiveaction/components/tangowrapping/DeviceAttributeWrapper.java index 9b3fc57a4ff9bb52a721d620389b4b282ba86125..e345b297775e9c1bff4f829cb5168cbb2712fbc4 100644 --- a/src/main/java/fr/soleil/actiongroup/collectiveaction/components/tangowrapping/DeviceAttributeWrapper.java +++ b/src/main/java/fr/soleil/actiongroup/collectiveaction/components/tangowrapping/DeviceAttributeWrapper.java @@ -122,7 +122,7 @@ public class DeviceAttributeWrapper { return this.attribute.getQuality(); } - public DevState extractState() throws DevFailed { - return attribute.extractState(); + public DevState[] extractDevStateArray() throws DevFailed { + return attribute.extractDevStateArray(); } } diff --git a/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/PersistencePlugin.java b/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/PersistencePlugin.java index dbefa24040aaef608ec7182501298237b604feff..89e53f8dd6f3bda15df9c71d35f1691d7cf47c8b 100644 --- a/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/PersistencePlugin.java +++ b/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/PersistencePlugin.java @@ -1,27 +1,3 @@ -/* Synchrotron Soleil - * - * File : PersistencePluginAction.java - * - * Project : TangoParser - * - * Description : - * - * Author : CLAISSE - * - * Original : 25 janv. 07 - * - * Revision: Author: - * Date: State: - * - * Log: PersistencePluginAction.java,v - * - */ - /* - * Created on 25 janv. 07 - * - * To change the template for this generated file go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ package fr.soleil.actiongroup.collectiveaction.onattributes.plugin; import fr.soleil.actiongroup.collectiveaction.components.tangowrapping.DeviceAttributeWrapper; @@ -32,26 +8,20 @@ import fr.soleil.actiongroup.collectiveaction.onattributes.plugin.persistance.Pe /** * An implementation of IPluginAction where the action consists of: - * <UL> + * <UL> * <LI> extracting the attribute's type and value * <LI> storing the attribute * </UL> * The persistence management is delegated to the chosen IPersistenceManager implementation - * @author CLAISSE + * + * @author CLAISSE */ -public class PersistencePlugin implements Plugin -{ - public PersistencePlugin () - { +public class PersistencePlugin implements Plugin { - } - - public void execute ( PluginContext context, String deviceName, DeviceAttributeWrapper attribute ) throws Exception - { - AnyAttribute anyAttribute = new AnyAttribute ( deviceName , attribute ); - - PersistenceContext persistenceContext = context.getPersistenceContext (); + public void execute(PluginContext context, String deviceName, DeviceAttributeWrapper attribute) throws Exception { + AnyAttribute anyAttribute = new AnyAttribute(deviceName, attribute); + PersistenceContext persistenceContext = context.getPersistenceContext(); PersistenceManager manager = persistenceContext.getManager(); - manager.store ( anyAttribute , persistenceContext ); + manager.store(anyAttribute, persistenceContext); } } diff --git a/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/persistance/AnyAttribute.java b/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/persistance/AnyAttribute.java index 240cc8d55b063633a39852303a42210437d8937e..aae5838113ddc47b42648ee0187d0c5d20ba4a3e 100644 --- a/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/persistance/AnyAttribute.java +++ b/src/main/java/fr/soleil/actiongroup/collectiveaction/onattributes/plugin/persistance/AnyAttribute.java @@ -111,7 +111,7 @@ public class AnyAttribute { /** * The attribute's State value */ - private DevState rawValueState; + private DevState[] rawValueState; private final int numberOfComponents; @@ -199,8 +199,8 @@ public class AnyAttribute { break; case TangoConst.Tango_DEV_STATE: - rawValueState = attribute.extractState(); - _numberOfComponents = 1; + rawValueState = attribute.extractDevStateArray(); + _numberOfComponents = rawValueState == null ? 0 : rawValueState.length; break; case TangoConst.Tango_DEV_STRING: @@ -270,8 +270,8 @@ public class AnyAttribute { break; case TangoConst.Tango_DEV_STATE: - convertedNumericValuesTable[i] = rawValueState.value(); - convertedStringValuesTable[i] = TangoConst.Tango_DevStateName[rawValueState.value()]; + convertedNumericValuesTable[i] = rawValueState[i].value(); + convertedStringValuesTable[i] = rawValueState[i].value()+""; break; case TangoConst.Tango_DEV_STRING: