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>


Reply via email to