From 816369425177cedc696f93b6daeedc31e601dd52 Mon Sep 17 00:00:00 2001 From: Fabian Hueske Date: Fri, 17 Dec 2010 16:07:10 +0100 Subject: [PATCH] - Fixed webfrontend preview bug --- .../resources/web-docs/launch.html | 3 +-- .../pact/client/nephele/api/PactProgram.java | 7 ++++++- .../pact/client/web/PactJobJSONServlet.java | 16 +++++++------- .../example/datamining/KMeansIteration.java | 21 +++++++++++-------- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/pact/pact-clients/resources/web-docs/launch.html b/pact/pact-clients/resources/web-docs/launch.html index 3b8e86dddb5..e91de11495b 100755 --- a/pact/pact-clients/resources/web-docs/launch.html +++ b/pact/pact-clients/resources/web-docs/launch.html @@ -85,8 +85,7 @@ type: "GET", url: "pactPlan", data: { job: id }, - success: function(response) { showPreviewPlan(response); }, - error:function (xhr, ajaxOptions, thrownError) { alert(xhr.responseText); pactPlanRequested = 0; } + success: function(response) { showPreviewPlan(response); } }); } else { diff --git a/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/nephele/api/PactProgram.java b/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/nephele/api/PactProgram.java index 6bf47225fe9..6507adcaf12 100644 --- a/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/nephele/api/PactProgram.java +++ b/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/nephele/api/PactProgram.java @@ -121,7 +121,12 @@ public class PactProgram { * @throws ErrorInPlanAssemblerException */ public OptimizedPlan getPreOptimizedPlan() throws ProgramInvocationException, ErrorInPlanAssemblerException { - return getPreOptimizedPlan(getPlan()); + Plan plan = getPlan(); + if(plan != null) { + return getPreOptimizedPlan(plan); + } else { + return null; + } } /** diff --git a/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/web/PactJobJSONServlet.java b/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/web/PactJobJSONServlet.java index c50075e2e96..71bc43e7846 100644 --- a/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/web/PactJobJSONServlet.java +++ b/pact/pact-clients/src/main/java/eu/stratosphere/pact/client/web/PactJobJSONServlet.java @@ -73,17 +73,19 @@ public class PactJobJSONServlet extends HttpServlet { // create the pact plan try { - PactProgram pactProgram = new PactProgram(jarFile, (String[]) null); + PactProgram pactProgram = new PactProgram(jarFile, new String[0]); OptimizedPlan optPlan = pactProgram.getPreOptimizedPlan(); - String programDescription = pactProgram.getDescription(); - String json = new JSONGenerator().compilePlanToJSON(optPlan); - + String programDescription = pactProgram.getDescription(); + resp.setStatus(HttpServletResponse.SC_OK); PrintWriter wrt = resp.getWriter(); wrt.print("{ \"jobname\": \""); - wrt.print(jobName); - wrt.print("\", \"plan\": "); - wrt.println(json); + wrt.print(jobName); + if(optPlan != null) { + wrt.print("\", \"plan\": "); + String json = new JSONGenerator().compilePlanToJSON(optPlan); + wrt.println(json); + } if (programDescription != null) { wrt.print(", \"description\": \""); wrt.print(escapeString(programDescription)); diff --git a/pact/pact-examples/src/main/java/eu/stratosphere/pact/example/datamining/KMeansIteration.java b/pact/pact-examples/src/main/java/eu/stratosphere/pact/example/datamining/KMeansIteration.java index 6bba10511f5..9d738397ffd 100644 --- a/pact/pact-examples/src/main/java/eu/stratosphere/pact/example/datamining/KMeansIteration.java +++ b/pact/pact-examples/src/main/java/eu/stratosphere/pact/example/datamining/KMeansIteration.java @@ -631,17 +631,20 @@ public class KMeansIteration implements PlanAssembler, PlanAssemblerDescription @Override public Plan getPlan(String... args) { + int noSubTasks = 1; + String dataPointInput = ""; + String clusterInput = ""; + String output = ""; + // check for the correct number of job parameters - if (args.length != 4) { - return null; + if (args.length == 4) { + // parse job parameters + noSubTasks = Integer.parseInt(args[0]); + dataPointInput = args[1]; + clusterInput = args[2]; + output = args[3]; } - - // parse job parameters - int noSubTasks = Integer.parseInt(args[0]); - String dataPointInput = args[1]; - String clusterInput = args[2]; - String output = args[3]; - + // create DataSourceContract for data point input DataSourceContract dataPoints = new DataSourceContract( PointInFormat.class, dataPointInput, "Read Data Points"); -- GitLab