de.bsvrz.ars.ars.mgmt.tasks
Class DeleteSimVarTask
java.lang.Object
java.lang.Thread
de.bsvrz.ars.ars.mgmt.tasks.Task
de.bsvrz.ars.ars.mgmt.tasks.SingleTask
de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask
de.bsvrz.ars.ars.mgmt.tasks.DeleteSimVarTask
- All Implemented Interfaces:
- SuspendableTask, ClientSenderInterface, Runnable
public class DeleteSimVarTask
- extends SingleClientSenderTask
Task zum Loeschen von Simulationsdaten einer bestimmten Simulationsvariante. Der Task wird verwendet um von Clients und der Simulation SimulationAutomaton
eingehende Löschaufträge zu verarbeiten. Die Daten werden sowohl von dem Filesystem entfernt und die
betroffenen DataIdentNodes werden aus dem DIN-Tree genommen.
- Author:
- beck et al. projects GmbH, Alexander Schmidt
Method Summary |
private void |
deleteSimVarClient(ResultData resultData)
Führt Löschauftrag durch, der von einem Client gestellt wurde. |
private void |
deleteSimVarSimulation(SimulationResultData srd)
Führt Löschauftrag durch, der von einer Simulation gestellt wurde. |
private void |
executeDelete(short simVarToDelete)
Löscht die Daten einer Simulationsvariante. |
protected void |
work(ResultData resultData)
Diese Methode ist zu ueberschreiben, um die konkrete Aufgabe der Task zu implementieren. |
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask |
dataRequest, getObjectsFromDAV, init, isRequestSupported, parseArchiveDataSpec, sendErrorResponse, sendErrorResponse, sendSuccessResponse, sendSuccessResponse, subscribeSender, unsubscribeSender |
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleTask |
run |
Methods inherited from class java.lang.Thread |
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
DeleteSimVarTask
public DeleteSimVarTask(ArchiveManager archiveMgr,
RingOfDeathListener rodl,
RingBuffer<ResultData> inputData)
throws ConfigurationException
- Throws:
ConfigurationException
- See Also:
SingleClientSenderTask.SingleClientSenderTask(ArchiveManager,RingOfDeathListener,RingBuffer)
work
protected void work(ResultData resultData)
- Description copied from class:
SingleTask
- Diese Methode ist zu ueberschreiben, um die konkrete Aufgabe der Task zu implementieren. In der Methode soll keine weitere Warteschlangen-Synchronisation
stattfinden.
- Specified by:
work
in class SingleTask
- Parameters:
resultData
- Zu verarbeitender Datensatz aus der Eingangswarteschlange- See Also:
SingleTask.work(ResultData)
deleteSimVarSimulation
private void deleteSimVarSimulation(SimulationResultData srd)
throws IOException,
PersistenceException
- Führt Löschauftrag durch, der von einer Simulation gestellt wurde.
- Parameters:
srd
- Auftragsparameter.
- Throws:
PersistenceException
IOException
deleteSimVarClient
private void deleteSimVarClient(ResultData resultData)
throws IOException,
PersistenceException
- Führt Löschauftrag durch, der von einem Client gestellt wurde.
- Parameters:
resultData
- Auftragsdaten
- Throws:
PersistenceException
IOException
executeDelete
private void executeDelete(short simVarToDelete)
throws IOException,
PersistenceException
- Löscht die Daten einer Simulationsvariante. Entfernt die betroffenen DataIdentNodes aus dem Baum.
Vorgehen: Es müssen alle Verzeichnisse durchlaufen
werden, da es möglich ist, dass Verzeichnisse existieren, die nicht durch DataIdentNodes repräsentiert werden.
- Parameters:
simVarToDelete
- Simulationsvariante.
- Throws:
IOException
- Fehler beim Deserialisieren der Daten aus data
.
PersistenceException
- Fehler beim Löschen der Daten.