de.bsvrz.kex.kexdav.parameterloader
Class ParameterLoader

java.lang.Object
  extended by de.bsvrz.dav.dav.util.accessControl.DataLoader
      extended by de.bsvrz.kex.kexdav.parameterloader.ParameterLoader
All Implemented Interfaces:
ObjectCollectionChangeListener, ObjectCollectionParent, RegionManager

public class ParameterLoader
extends DataLoader
implements ObjectCollectionParent, ObjectCollectionChangeListener, RegionManager

Diese Klasse liest die Parameter von dem KExDaV-Objekt ein und gibt die Parameter weiter

Author:
Kappich Systemberatung

Field Summary
private  ClientDavInterface _connection
           
private  UnboundedQueue<Data> _dataQueue
           
private  KExDaV _kExDaV
           
private  long _lastTriggerTime
           
private static Object _lock
           
private  KExDaVManager _manager
           
private  Data _parameterData
           
private  KExDaVObject _parameterPublisher
           
private  Set<RemoteDaVParameter> _parameters
           
private  Map<SystemObject,Region> _regionMap
           
 
Fields inherited from class de.bsvrz.dav.dav.util.accessControl.DataLoader
_debug, _readLock, _writeLock
 
Constructor Summary
ParameterLoader(ClientDavInterface connection, SystemObject systemObject, KExDaVManager manager, KExDaV kExDaV)
          Erstellt ein neues Objekt für das Daten aktualisiert werden sollen.
 
Method Summary
 void blockChanged()
           
protected  void deactivateInvalidChild(DataLoader node)
           
private static List<CorrespondingAttributeGroup> getAtgs(Data.Array item)
           
protected  Collection<DataLoader> getChildObjects()
           
private static DataExchangeStrategy getOnlineDirection(int dir)
           
private static ParameterExchangeStrategy getParameterStrategy(int dir)
           
private static String getPid(Data data)
           
private static String getPid(Data data, String item)
           
 Region getRegion(SystemObject regionObject)
           
private static Direction getSetStrategy(int dir)
           
 Object getUpdateLock()
           
 boolean isDisabled(Region region)
           
 void objectChanged(DataLoader object)
           
private static AreaParameter parseAreaParameter(Data data)
           
private static Collection<AreaParameter> parseAreaParameters(Data.Array array)
           
private static DataExchangeIdentification parseDataIdentification(Data item)
           
private  ExchangeDataParameter parseDataParameter(Data data)
           
private  Collection<ExchangeDataParameter> parseDataParameters(Data.Array array)
           
private static ObjectCollectionFactory parseObjectParameter(Data data)
           
private static Collection<ObjectCollectionFactory> parseObjectParameters(Data.Array array)
           
private static ParameterExchangeIdentification parseParameterIdentification(Data item)
           
private  ExchangeParameterParameter parseParameterParameter(Data data)
           
private  Collection<ExchangeParameterParameter> parseParameterParameters(Data.Array array)
           
private  RemoteDaVParameter parseRemoteDaV(Data item)
           
private static ExchangeSetParameter parseSetParameter(Data data)
           
private static Collection<ExchangeSetParameter> parseSetParameters(Data.Array array)
           
private  void publishParameters(Data data)
          Veröffentlicht die aktuellen Parameter unter dem Aspekt ParameterIst
private  void startUpdateThread()
           
private  void triggerParameterExchange(KExDaVAttributeGroupData data, long dataTime)
           
protected  void update(Data data)
           
private  void updateFromQueue(Data data)
           
 
Methods inherited from class de.bsvrz.dav.dav.util.accessControl.DataLoader
getDataState, getNoDataTime, getSystemObject, isInitialized, startDataListener, stopDataListener, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_lock

private static final Object _lock

_connection

private final ClientDavInterface _connection

_manager

private final KExDaVManager _manager

_kExDaV

private final KExDaV _kExDaV

_regionMap

private final Map<SystemObject,Region> _regionMap

_parameters

private Set<RemoteDaVParameter> _parameters

_parameterPublisher

private final KExDaVObject _parameterPublisher

_parameterData

private Data _parameterData

_lastTriggerTime

private long _lastTriggerTime

_dataQueue

private final UnboundedQueue<Data> _dataQueue
Constructor Detail

ParameterLoader

public ParameterLoader(ClientDavInterface connection,
                       SystemObject systemObject,
                       KExDaVManager manager,
                       KExDaV kExDaV)
Erstellt ein neues Objekt für das Daten aktualisiert werden sollen.

Parameters:
connection - Verbindung zum Datenverteiler
systemObject - KExDaV-SystemObjekt, für das Parameter geladen werden sollen
manager - Manager-Klasse an die Benachrichtigungen und Warnungen geschickt werden können
kExDaV - Hauptklasse KExDaV, wird über neue Parameter benachrichtigt
Method Detail

startUpdateThread

private void startUpdateThread()

triggerParameterExchange

private void triggerParameterExchange(KExDaVAttributeGroupData data,
                                      long dataTime)

update

protected void update(Data data)
Specified by:
update in class DataLoader

updateFromQueue

private void updateFromQueue(Data data)

publishParameters

private void publishParameters(Data data)
Veröffentlicht die aktuellen Parameter unter dem Aspekt ParameterIst

Parameters:
data - Aktuelle Daten

parseRemoteDaV

private RemoteDaVParameter parseRemoteDaV(Data item)

parseAreaParameters

private static Collection<AreaParameter> parseAreaParameters(Data.Array array)

parseAreaParameter

private static AreaParameter parseAreaParameter(Data data)

getPid

private static String getPid(Data data,
                             String item)

getPid

private static String getPid(Data data)

parseDataParameters

private Collection<ExchangeDataParameter> parseDataParameters(Data.Array array)

parseDataParameter

private ExchangeDataParameter parseDataParameter(Data data)

parseDataIdentification

private static DataExchangeIdentification parseDataIdentification(Data item)

getOnlineDirection

private static DataExchangeStrategy getOnlineDirection(int dir)

getParameterStrategy

private static ParameterExchangeStrategy getParameterStrategy(int dir)

getSetStrategy

private static Direction getSetStrategy(int dir)

parseParameterParameters

private Collection<ExchangeParameterParameter> parseParameterParameters(Data.Array array)

parseParameterParameter

private ExchangeParameterParameter parseParameterParameter(Data data)

parseParameterIdentification

private static ParameterExchangeIdentification parseParameterIdentification(Data item)

getAtgs

private static List<CorrespondingAttributeGroup> getAtgs(Data.Array item)

parseObjectParameters

private static Collection<ObjectCollectionFactory> parseObjectParameters(Data.Array array)

parseObjectParameter

private static ObjectCollectionFactory parseObjectParameter(Data data)

parseSetParameters

private static Collection<ExchangeSetParameter> parseSetParameters(Data.Array array)

parseSetParameter

private static ExchangeSetParameter parseSetParameter(Data data)

getChildObjects

protected Collection<DataLoader> getChildObjects()
Specified by:
getChildObjects in class DataLoader

deactivateInvalidChild

protected void deactivateInvalidChild(DataLoader node)
Specified by:
deactivateInvalidChild in class DataLoader

isDisabled

public boolean isDisabled(Region region)
Specified by:
isDisabled in interface ObjectCollectionParent

getRegion

public Region getRegion(SystemObject regionObject)
Specified by:
getRegion in interface ObjectCollectionParent
Specified by:
getRegion in interface RegionManager

objectChanged

public void objectChanged(DataLoader object)
Specified by:
objectChanged in interface RegionManager

getUpdateLock

public Object getUpdateLock()
Specified by:
getUpdateLock in interface RegionManager

blockChanged

public void blockChanged()
Specified by:
blockChanged in interface ObjectCollectionChangeListener