package com.datascience.executor; import com.datascience.utils.IRandomUniqIDGenerator; import com.datascience.serialization.ISerializer; import com.datascience.serialization.Serialized; public class SerializedCachedCommandStatusesContainer extends CachedCommandStatusesContainer { protected ISerializer serializer; public SerializedCachedCommandStatusesContainer(IRandomUniqIDGenerator idGenerator, ISerializer serializer, int cacheSize, int expirationTime) { super(idGenerator, cacheSize, expirationTime); this.serializer = serializer; } @Override public void addCommandStatus(String id, CommandStatus result){ if (result.getData() != null) { Object serializedData = serializer.getRaw(result.getData()); result = new CommandStatus(result.getStatus(), new Serialized(serializedData), result.getError(), result.getExecutionTime()); } super.addCommandStatus(id, result); } }