package org.jactr.modules.pm.aural.delegate; /* * default logging */ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.chunk.IChunk; import org.jactr.core.logging.Logger; import org.jactr.core.module.asynch.delegate.AbstractAsynchronousModuleDelegate; import org.jactr.core.production.request.IRequest; import org.jactr.modules.pm.aural.AbstractAuralModule; import org.jactr.modules.pm.aural.buffer.IAuralActivationBuffer; import org.jactr.modules.pm.aural.buffer.IAuralLocationBuffer; import org.jactr.modules.pm.visual.AbstractVisualModule; import org.jactr.modules.pm.visual.buffer.IVisualActivationBuffer; import org.jactr.modules.pm.visual.buffer.IVisualLocationBuffer; import org.jactr.modules.pm.visual.event.VisualModuleEvent; public class AuralClearDelegate extends AbstractAsynchronousModuleDelegate<AbstractAuralModule, IChunk> { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(AuralClearDelegate.class); public AuralClearDelegate(AbstractAuralModule module, double minimumProcessingTime, IChunk cantProcessResult) { super(module, minimumProcessingTime, cantProcessResult); // TODO Auto-generated constructor stub } @Override protected double computeHarvestTime(IRequest request, IChunk result, double startTime, Object... parameters) { return 0.05; } @Override protected void finalizeProcessing(IRequest request, IChunk result, Object... parameters) { /* * actually clear the buffer */ AbstractAuralModule module = getModule(); IAuralActivationBuffer vBuffer = module.getAuralBuffer(); IAuralLocationBuffer lBuffer = module.getAuralLocationBuffer(); vBuffer.clear(); lBuffer.clear(); } @Override protected IChunk processInternal(IRequest request, Object... parameters) { AbstractAuralModule module = getModule(); module.getAudicon().clear(); return null; } @Override protected boolean shouldProcess(IRequest request, Object... parameters) { // AbstractAuralModule module = getModule(); // IAuralActivationBuffer vBuffer = module.getAuralBuffer(); // IAuralLocationBuffer lBuffer = module.getAuralLocationBuffer(); // // if (lBuffer.isStateBusy()) // { // String message = "Cannot clear aural module while aural-location state is busy"; // if (LOGGER.isDebugEnabled()) LOGGER.debug(message); // Logger.log(module.getModel(), Logger.Stream.AURAL, message); // return false; // } // // if (vBuffer.isStateBusy()) // { // String message = "Cannot clear aural module while aural state is busy"; // if (LOGGER.isDebugEnabled()) LOGGER.debug(message); // Logger.log(module.getModel(), Logger.Stream.AURAL, message); // return false; // } return true; } }