package net.codjo.control.server.plugin;
import net.codjo.imports.common.message.ImportJobAuditArgument;
import net.codjo.imports.server.plugin.ImportServerPlugin;
import net.codjo.workflow.common.message.JobRequest;
import net.codjo.workflow.common.message.ScheduleContract;
import net.codjo.workflow.server.api.ScheduleAgent;
import net.codjo.control.common.message.ControlJobRequest;
import net.codjo.control.common.message.SourceOfData;
/**
*
*/
class AfterImportScheduleAgent extends ScheduleAgent {
AfterImportScheduleAgent() {
super(new LaunchControlAfterImport());
}
private static class LaunchControlAfterImport extends ScheduleAgent.AbstractHandler
implements ImportJobAuditArgument {
public boolean acceptContract(ScheduleContract contract) {
return ImportServerPlugin.IMPORT_JOB_TYPE.equals(contract.getRequest().getType())
&& contract.getPostAudit().getArguments().get(FILLED_TABLE) != null;
}
public JobRequest createNextRequest(ScheduleContract contract) {
String quarantine = contract.getPostAudit().getArguments().get(FILLED_TABLE);
ControlJobRequest request = new ControlJobRequest(quarantine);
request.addPath(SourceOfData.IMPORT);
return request.toRequest();
}
}
}