From f30aa6495fdce551913be2b1dafd6abbb77f02d6 Mon Sep 17 00:00:00 2001 From: Simon Ebner Date: Wed, 30 Apr 2014 07:17:06 +0200 Subject: [PATCH] refactored classes --- .../ch/psi/fda/RemoteAcquisitionMain.java | 26 +++++++++---------- .../{ControlClient.java => RestClient.java} | 11 +++++--- 2 files changed, 21 insertions(+), 16 deletions(-) rename ch.psi.fda/src/main/java/ch/psi/fda/{ControlClient.java => RestClient.java} (84%) diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/RemoteAcquisitionMain.java b/ch.psi.fda/src/main/java/ch/psi/fda/RemoteAcquisitionMain.java index 239694a..88f8a76 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/RemoteAcquisitionMain.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/RemoteAcquisitionMain.java @@ -79,22 +79,22 @@ public class RemoteAcquisitionMain { */ public static void main(String[] args) { - String scriptname = "fda_scan"; + String scriptname = "scan"; - Integer iterations = null; + String server = null; boolean nogui = false; List files = new ArrayList<>(); OptionBuilder.hasArg(); - OptionBuilder.withArgName("iterations"); - OptionBuilder.withDescription("Number of iterations"); - OptionBuilder.withType(new Integer(1)); - Option o_iterations = OptionBuilder.create("iterations"); + OptionBuilder.withArgName("hostname"); + OptionBuilder.withDescription("Hostname server"); + OptionBuilder.withType(new String()); + Option o_server = OptionBuilder.create("server"); Option o_nogui = new Option("nogui", "Do not show scan GUI"); Options options = new Options(); - options.addOption(o_iterations); + options.addOption(o_server); options.addOption(o_nogui); CommandLineParser parser = new GnuParser(); @@ -105,8 +105,8 @@ public class RemoteAcquisitionMain { throw new ParseException("One argument is required"); } - if (line.hasOption(o_iterations.getOpt())) { - iterations = Integer.parseInt(line.getOptionValue(o_iterations.getOpt())); + if (line.hasOption(o_server.getOpt())) { + server = line.getOptionValue(o_server.getOpt()); } if (line.hasOption(o_nogui.getOpt())) { @@ -131,7 +131,7 @@ public class RemoteAcquisitionMain { try { for (File file : files) { RemoteAcquisitionMain m = new RemoteAcquisitionMain(); - m.execute(file, iterations, nogui); + m.execute(server, file, nogui); } } catch (Exception ee) { logger.log(Level.SEVERE, "Acquisition failed due to: ", ee); @@ -146,7 +146,7 @@ public class RemoteAcquisitionMain { * @param iterations * @param nogui */ - public void execute(File file, Integer iterations, boolean nogui) { + public void execute(final String server, File file, boolean nogui) { trackingId = UUID.randomUUID().toString(); logger.info("TrackingID of job: " + trackingId); @@ -169,7 +169,7 @@ public class RemoteAcquisitionMain { EventBus b = new AsyncEventBus(Executors.newSingleThreadExecutor()); - final ControlClient client = new ControlClient(); + final RestClient client = new RestClient(server, 8080); // TODO hardcoded server port @@ -278,7 +278,7 @@ public class RemoteAcquisitionMain { Executors.newSingleThreadExecutor().execute(new Runnable() { @Override public void run() { - streamClient.listen("tcp://emac:10000"); + streamClient.listen("tcp://"+server+":10000"); } }); } diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/ControlClient.java b/ch.psi.fda/src/main/java/ch/psi/fda/RestClient.java similarity index 84% rename from ch.psi.fda/src/main/java/ch/psi/fda/ControlClient.java rename to ch.psi.fda/src/main/java/ch/psi/fda/RestClient.java index 3527f0b..ee7a8f3 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/ControlClient.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/RestClient.java @@ -28,10 +28,15 @@ import org.glassfish.jersey.jackson.JacksonFeature; import ch.psi.fda.edescriptor.EDescriptor; -public class ControlClient { +public class RestClient { - private Client client = ClientBuilder.newClient().register(JacksonFeature.class); - private WebTarget target = client.target("http://emac:8080").path("fda"); + private final Client client; + private final WebTarget target; + + public RestClient(String servername, int port){ + client = ClientBuilder.newClient().register(JacksonFeature.class); + target = client.target("http://"+servername+":"+port).path("fda"); + } public String acquire(String trackingId, EDescriptor edescriptor){ return target.path(trackingId).request().put(Entity.entity(edescriptor, MediaType.APPLICATION_XML), String.class);