package com.datascience.executor; import com.datascience.datastoring.adapters.kv.ISafeKVStorage; import com.datascience.serialization.ISerializer; import com.datascience.utils.IRandomUniqIDGenerator; /** * User: artur * Date: 6/26/13 */ public class KeyValueCommandStatusesContainer extends CommandStatusesContainerBase { private ISafeKVStorage<String> storage; private ISerializer serializer; public KeyValueCommandStatusesContainer (IRandomUniqIDGenerator idGenerator, ISafeKVStorage<String> storage, ISerializer serializer){ super(idGenerator); this.storage = storage; this.serializer = serializer; } @Override public void addCommandStatus(String id, CommandStatus result) { storage.put(id, serializer.serialize(result)); } @Override public CommandStatus getCommandResult(String id) { return serializer.parse(storage.get(id), CommandStatus.class); } }