Author: degenaro
Date: Tue Jan 22 19:49:50 2019
New Revision: 1851857

URL: http://svn.apache.org/viewvc?rev=1851857&view=rev
Log:
UIMA-5742 Reliable DUCC

> provide WS servlet to return ducc hostname

Modified:
    
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java

Modified: 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1851857&r1=1851856&r2=1851857&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
 Tue Jan 22 19:49:50 2019
@@ -140,6 +140,7 @@ public class DuccHandler extends DuccAbs
 
        private String duccVersion                                              
= duccContext+"/version";
        private String duccHome                                                 
= duccContext+"/home";
+       private String duccHostname                                             
= duccContext+"/hostname";
 
        private String duccLoginLink                                    = 
duccContext+"/login-link";
        private String duccLogoutLink                                   = 
duccContext+"/logout-link";
@@ -304,6 +305,27 @@ public class DuccHandler extends DuccAbs
                response.getWriter().println(sb);
                duccLogger.trace(methodName, null, messages.fetch("exit"));
        }
+       
+       private void handleDuccServletHostname(String target,Request 
baseRequest,HttpServletRequest request,HttpServletResponse response)
+       throws IOException, ServletException
+       {
+               String methodName = "handleDuccServletHostname";
+               duccLogger.trace(methodName, null, messages.fetch("enter"));
+               StringBuffer sb = new StringBuffer();
+               try {
+                       Process p = Runtime.getRuntime().exec("hostname");
+                       BufferedReader stdInput = new BufferedReader(new 
InputStreamReader(p.getInputStream()));
+                       String hostname = "";
+                       while ((hostname = stdInput.readLine()) != null) {
+                               sb.append(hostname);
+                       }
+               }
+               catch(Exception e) {
+                       duccLogger.error(methodName, null, e);
+               }
+               response.getWriter().println(sb);
+               duccLogger.trace(methodName, null, messages.fetch("exit"));
+       }
 
        private void handleDuccServletAuthenticationStatus(String 
target,Request baseRequest,HttpServletRequest request,HttpServletResponse 
response)
        throws IOException, ServletException
@@ -4459,6 +4481,10 @@ public class DuccHandler extends DuccAbs
                                handleDuccServletHome(target, baseRequest, 
request, response);
                                //DuccWebUtil.noCache(response);
                        }
+                       else if(reqURI.startsWith(duccHostname)) {
+                               handleDuccServletHostname(target, baseRequest, 
request, response);
+                               //DuccWebUtil.noCache(response);
+                       }
                        else if(reqURI.startsWith(duccAuthenticationStatus)) {
                                handleDuccServletAuthenticationStatus(target, 
baseRequest, request, response);
                                DuccWebUtil.noCache(response);


Reply via email to