Author: degenaro Date: Wed Jan 30 19:17:05 2013 New Revision: 1440593 URL: http://svn.apache.org/viewvc?rev=1440593&view=rev Log: UIMA-2625 DUCC webserver (WS) should provide "wait for result" option for Request Reservation dialog
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/submit.reservation.jsp Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java?rev=1440593&r1=1440592&r2=1440593&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAsUser.java Wed Jan 30 19:17:05 2013 @@ -26,6 +26,7 @@ import java.util.Map; import org.apache.uima.ducc.common.internationalization.Messages; import org.apache.uima.ducc.common.utils.DuccLogger; import org.apache.uima.ducc.common.utils.DuccLoggerComponents; +import org.apache.uima.ducc.common.utils.DuccPropertiesResolver; import org.apache.uima.ducc.common.utils.Utils; @@ -36,7 +37,7 @@ public class DuccAsUser { public static String magicString = "1001 Command launching..."; - public static String duckling(String[] args) { + public static String duckling(String user, String[] args) { String methodName = "duckling"; @@ -79,6 +80,13 @@ public class DuccAsUser { env.put("JobId", "webserver"); + String runmode = DuccPropertiesResolver.getInstance().getProperty(DuccPropertiesResolver.ducc_runmode); + if(runmode != null) { + if(runmode.equals("Test")) { + env.put("USER", user); + } + } + try { Process process = pb.start(); String line; @@ -89,7 +97,7 @@ public class DuccAsUser { while ((line = bri.readLine()) != null) { duccLogger.info(methodName, null, "stdout: "+line); if(trigger) { - retVal.append(line); + retVal.append(line+"\n"); } if(line.startsWith(magicString)) { duccLogger.trace(methodName, null, "magic!"); Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1440593&r1=1440592&r2=1440593&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Wed Jan 30 19:17:05 2013 @@ -2131,7 +2131,7 @@ public class DuccHandler extends DuccAbs if(isAuthenticated(request,response)) { disabled = ""; } - String button = "<input type=\"button\" onclick=\"ducc_submit_reservation()\" value=\"Submit\" "+disabled+"/>"; + String button = "<input id=\"submit_button\" type=\"button\" onclick=\"ducc_submit_reservation()\" value=\"Submit\" "+disabled+"/>"; sb.append(button); response.getWriter().println(sb); duccLogger.trace(methodName, null, messages.fetch("exit")); @@ -2277,13 +2277,13 @@ public class DuccHandler extends DuccAbs case Administrator: String arg3 = "--"+SpecificationProperties.key_role_administrator; String[] arglistAdministrator = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2, arg3 }; - result = DuccAsUser.duckling(arglistAdministrator); + result = DuccAsUser.duckling(userId, arglistAdministrator); response.getWriter().println(result); break; case User: default: String[] arglistUser = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2 }; - result = DuccAsUser.duckling(arglistUser); + result = DuccAsUser.duckling(userId, arglistUser); response.getWriter().println(result); break; } @@ -2352,7 +2352,8 @@ public class DuccHandler extends DuccAbs String jclass = "org.apache.uima.ducc.cli.DuccReservationSubmit"; String jhome = System.getProperty("java.home"); String[] arglist = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 }; - DuccAsUser.duckling(arglist); + String result = DuccAsUser.duckling(userId, arglist); + response.getWriter().println(result); } catch (Exception e) { duccLogger.error(methodName, null, e); } @@ -2392,13 +2393,13 @@ public class DuccHandler extends DuccAbs case Administrator: String arg3 = "--"+SpecificationProperties.key_role_administrator; String[] arglistAdministrator = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2, arg3 }; - result = DuccAsUser.duckling(arglistAdministrator); + result = DuccAsUser.duckling(userId, arglistAdministrator); response.getWriter().println(result); break; case User: default: String[] arglistUser = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2 }; - result = DuccAsUser.duckling(arglistUser); + result = DuccAsUser.duckling(userId, arglistUser); response.getWriter().println(result); break; } @@ -2459,13 +2460,13 @@ public class DuccHandler extends DuccAbs case Administrator: String arg3 = "--"+SpecificationProperties.key_role_administrator; String[] arglistAdministrator = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2, arg3 }; - result = DuccAsUser.duckling(arglistAdministrator); + result = DuccAsUser.duckling(userId, arglistAdministrator); response.getWriter().println(result); break; case User: default: String[] arglistUser = { "-u", userId, "--", jhome+java, "-cp", cp, jclass, arg1, arg2 }; - result = DuccAsUser.duckling(arglistUser); + result = DuccAsUser.duckling(userId, arglistUser); response.getWriter().println(result); break; } Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js?rev=1440593&r1=1440592&r2=1440593&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js Wed Jan 30 19:17:05 2013 @@ -2109,18 +2109,42 @@ function ducc_submit_reservation() var number_of_instances = e.options[e.selectedIndex].value; var e = document.getElementById("description"); var description = e.value; - $.jGrowl(" Pending allocation..."); - $.ajax( - { - type: 'POST', - url : "/ducc-servlet/reservation-submit-request", - data: {'scheduling_class':scheduling_class,'instance_memory_size':instance_memory_size,'instance_memory_units':instance_memory_units,'number_of_instances':number_of_instances,'description':description}, - success : function (data) + var e = document.getElementById("wait_for_result_yes"); + var wait_for_result = e.checked; + if (wait_for_result) { + document.getElementById("working_area").style.display = 'block'; + document.getElementById("submit_button").disabled = 'disabled'; + + $.ajax( { - setTimeout(function(){window.close();}, 5000); - } - }); - setTimeout(function(){window.close();}, 5000); + type: 'POST', + async: false, + url : "/ducc-servlet/reservation-submit-request", + data: {'scheduling_class':scheduling_class,'instance_memory_size':instance_memory_size,'instance_memory_units':instance_memory_units,'number_of_instances':number_of_instances,'description':description}, + success : function (data) + { + $.jGrowl(data, { life: 15000 }); + setTimeout(function(){window.close();}, 15000); + } + }); + setTimeout(function(){window.close();}, 15000); + + document.getElementById("working_area").style.display = 'none'; + } + else { + $.jGrowl(" Pending allocation..."); + $.ajax( + { + type: 'POST', + url : "/ducc-servlet/reservation-submit-request", + data: {'scheduling_class':scheduling_class,'instance_memory_size':instance_memory_size,'instance_memory_units':instance_memory_units,'number_of_instances':number_of_instances,'description':description}, + success : function (data) + { + setTimeout(function(){window.close();}, 5000); + } + }); + setTimeout(function(){window.close();}, 5000); + } } catch(err) { ducc_error("ducc_submit_reservation",err); Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/submit.reservation.jsp URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/submit.reservation.jsp?rev=1440593&r1=1440592&r2=1440593&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/submit.reservation.jsp (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/submit.reservation.jsp Wed Jan 30 19:17:05 2013 @@ -122,6 +122,16 @@ under the License. <td align="left" ><span id="number_of_instances_area"> </span> <tr> + <td align="right">wait for result + <td align="right"> + <td align="left" ><span id="wait_for_result_area"> + <table> + <tr> + <td align="left"><input type="radio" id="wait_for_result_yes" name="wait_for_result" value="yes" checked /> Yes + <td align="left"><input type="radio" id="wait_for_result_no" name="wait_for_result" value="no" /> No + </table> + </span> + <tr> <td align="right"> <td align="right"> <td align="left"> @@ -131,6 +141,12 @@ under the License. </span> <td align="left" ><input type="button" onclick="ducc_cancel_submit_reservation()" value="Cancel" /> </table> + <tr> + <td align="right"><span id="working_area" style="display:none;"> + <input type="image" title="Working..." alt="Working..." src="opensources/images/indicator.gif"> + </span> + <td align="right"> + <td align="left" > </table> </div> </div>