diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/rest/AcquisitionEngine.java b/ch.psi.fda/src/main/java/ch/psi/fda/rest/ExecutionEngine.java similarity index 90% rename from ch.psi.fda/src/main/java/ch/psi/fda/rest/AcquisitionEngine.java rename to ch.psi.fda/src/main/java/ch/psi/fda/rest/ExecutionEngine.java index 9818473..8c829ca 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/rest/AcquisitionEngine.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/rest/ExecutionEngine.java @@ -37,9 +37,9 @@ import ch.psi.jcae.ChannelService; /** * Main engine for data acquisition. */ -public class AcquisitionEngine { +public class ExecutionEngine { - private static final Logger logger = Logger.getLogger(AcquisitionEngine.class.getName()); + private static final Logger logger = Logger.getLogger(ExecutionEngine.class.getName()); private final ChannelService cService; private final ZMQDataService zmqService; @@ -48,7 +48,7 @@ public class AcquisitionEngine { private final Map> erequests = new HashMap<>(); @Inject - public AcquisitionEngine(ChannelService cService, ZMQDataService zmqService) { + public ExecutionEngine(ChannelService cService, ZMQDataService zmqService) { this.zmqService = zmqService; this.cService = cService; } @@ -63,11 +63,11 @@ public class AcquisitionEngine { public void submit(String trackingId, EDescriptor edescriptor){ logger.info("Submitting new scan with trackingId " + trackingId); - if(erequests.keySet().contains(trackingId) && !erequests.get(trackingId).isDone()){ // Allow finished tracking ids to be reused for new scans + if(erequests.keySet().contains(trackingId) && !erequests.get(trackingId).isDone()){ // Allow finished tracking ids to be reused for new tasks throw new IllegalArgumentException("A request with tracking ID "+trackingId+" is already submitted"); } - AcquisitionJob job = new AcquisitionJob(cService, zmqService, trackingId, edescriptor); + ExecutionJob job = new ExecutionJob(cService, zmqService, trackingId, edescriptor); Future future = eservice.submit(job); erequests.put(trackingId, future); } @@ -91,17 +91,19 @@ public class AcquisitionEngine { /** * Terminate the request which is identified by its tracking id. If the request - * is still in the execution queue it gets removed there. + * is still in the execution queue it gets removed there. + * * @param trackingId */ public void terminate(String trackingId){ - logger.info("Terminate scan with trackingId "+trackingId); + logger.info("Terminate TrackingId: "+trackingId); final Future f = erequests.get(trackingId); if(f==null){ throw new IllegalArgumentException("There is no request running/pending with tracking id "+trackingId); } f.cancel(true); + try{ f.get(10, TimeUnit.SECONDS); } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/rest/AcquisitionJob.java b/ch.psi.fda/src/main/java/ch/psi/fda/rest/ExecutionJob.java similarity index 90% rename from ch.psi.fda/src/main/java/ch/psi/fda/rest/AcquisitionJob.java rename to ch.psi.fda/src/main/java/ch/psi/fda/rest/ExecutionJob.java index eea3d49..f88fc97 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/rest/AcquisitionJob.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/rest/ExecutionJob.java @@ -31,9 +31,9 @@ import com.google.common.eventbus.EventBus; import com.google.inject.Guice; import com.google.inject.Injector; -public class AcquisitionJob implements Runnable { +public class ExecutionJob implements Runnable { - private static final Logger logger = Logger.getLogger(AcquisitionJob.class.getName()); + private static final Logger logger = Logger.getLogger(ExecutionJob.class.getName()); private final ChannelService cService; private final ZMQDataService zmqService; @@ -41,7 +41,7 @@ public class AcquisitionJob implements Runnable { private final String trackingId; private final EDescriptor edescriptor; - public AcquisitionJob(ChannelService cService, ZMQDataService zmqService, String trackingId, EDescriptor edescriptor) { + public ExecutionJob(ChannelService cService, ZMQDataService zmqService, String trackingId, EDescriptor edescriptor) { this.zmqService = zmqService; this.cService = cService; this.trackingId = trackingId; diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/rest/ResourceBinder.java b/ch.psi.fda/src/main/java/ch/psi/fda/rest/ResourceBinder.java index 76be0d3..bcb83a7 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/rest/ResourceBinder.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/rest/ResourceBinder.java @@ -21,7 +21,7 @@ public class ResourceBinder extends AbstractBinder { bind(channelService).to(ChannelService.class); bind(AcquisitionConfiguration.class).to(AcquisitionConfiguration.class).in(Singleton.class); - bind(AcquisitionEngine.class).to(AcquisitionEngine.class).in(Singleton.class); + bind(ExecutionEngine.class).to(ExecutionEngine.class).in(Singleton.class); bind(zmqService).to(ZMQDataService.class); } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/rest/services/FDAService.java b/ch.psi.fda/src/main/java/ch/psi/fda/rest/services/ExecutionService.java similarity index 92% rename from ch.psi.fda/src/main/java/ch/psi/fda/rest/services/FDAService.java rename to ch.psi.fda/src/main/java/ch/psi/fda/rest/services/ExecutionService.java index 8e775b7..3bf52d9 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/rest/services/FDAService.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/rest/services/ExecutionService.java @@ -31,19 +31,18 @@ import javax.ws.rs.PathParam; import javax.ws.rs.core.MediaType; import ch.psi.fda.edescriptor.EDescriptor; -import ch.psi.fda.rest.AcquisitionEngine; +import ch.psi.fda.rest.ExecutionEngine; @Path("fda") -public class FDAService { +public class ExecutionService { @Inject - private AcquisitionEngine aengine; + private ExecutionEngine aengine; @PUT @Path("{trackingId}") @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public void execute(@PathParam("trackingId") String trackingId, EDescriptor edescriptor) throws InterruptedException{ - System.out.println("----- "+ trackingId); aengine.submit(trackingId, edescriptor); }