You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2016/11/04 14:30:32 UTC
svn commit: r1768040 -
/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
Author: burn
Date: Fri Nov 4 14:30:31 2016
New Revision: 1768040
URL: http://svn.apache.org/viewvc?rev=1768040&view=rev
Log:
UIMA-5170 Note that no data may mean not logged in; combine job & ap props & show/hide ap args
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=1768040&r1=1768039&r2=1768040&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 Fri Nov 4 14:30:31 2016
@@ -30,6 +30,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.Enumeration;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
@@ -39,12 +40,14 @@ import java.util.Properties;
import java.util.Set;
import java.util.TimeZone;
import java.util.TreeMap;
+import java.util.TreeSet;
import java.util.concurrent.ConcurrentSkipListMap;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.uima.ducc.cli.DuccUiConstants;
import org.apache.uima.ducc.cli.ws.json.MachineFacts;
import org.apache.uima.ducc.cli.ws.json.MachineFactsList;
import org.apache.uima.ducc.common.CancelReasons.CancelReason;
@@ -133,6 +136,9 @@ public class DuccHandler extends DuccAbs
private static Messages messages = Messages.getInstance();
private static DuccId jobid = null;
+ private final String[] n = {"classpath", "process_executable_args"};
+ private final Set<String> hideableKeys = new HashSet<String>(Arrays.asList(n));
+
private enum DetailsType { Job, Reservation, Service };
private enum AllocationType { JD, MR, SPC, SPU, UIMA };
private enum LogType { POP, UIMA };
@@ -1735,7 +1741,7 @@ public class DuccHandler extends DuccAbs
AlienWorkItemStateReader workItemStateReader = new AlienWorkItemStateReader(eu, component, directory, wiVersion);
ConcurrentSkipListMap<Long,IWorkItemState> map = workItemStateReader.getMap();
if( (map == null) || (map.size() == 0) ) {
- sb.append("no accessible data (map empty?)");
+ sb.append("no accessible data (not logged in?)");
}
else {
ConcurrentSkipListMap<IWorkItemState,IWorkItemState> sortedMap = new ConcurrentSkipListMap<IWorkItemState,IWorkItemState>();
@@ -1871,8 +1877,8 @@ public class DuccHandler extends DuccAbs
catch(Exception e) {
duccLogger.warn(methodName, null, e.getMessage());
duccLogger.debug(methodName, null, e);
- sb = new StringBuffer();
- sb.append("no accessible data");
+ //sb = new StringBuffer();
+ sb.append("no accessible data ("+e+")");
}
}
else {
@@ -1897,7 +1903,7 @@ public class DuccHandler extends DuccAbs
PerformanceSummary performanceSummary = new PerformanceSummary(job.getLogDirectory()+jobNo);
PerformanceMetricsSummaryMap performanceMetricsSummaryMap = performanceSummary.readSummary(eu.get());
if( (performanceMetricsSummaryMap == null) || (performanceMetricsSummaryMap.size() == 0) ) {
- sb.append("no accessible data (map empty?)");
+ sb.append("no accessible data (not logged in?)");
}
else {
int casCount = performanceMetricsSummaryMap.casCount();
@@ -2004,8 +2010,8 @@ public class DuccHandler extends DuccAbs
}
catch(Exception e) {
duccLogger.warn(methodName, null, e);
- sb = new StringBuffer();
- sb.append("no accessible data");
+ //sb = new StringBuffer();
+ sb.append("no accessible data ("+e+")");
}
}
else {
@@ -2066,6 +2072,52 @@ public class DuccHandler extends DuccAbs
}
}
+ /*
+ * Format both job & reservation specification files
+ */
+ private void processSpecificationData(DuccWorkJob work, String specFile, HttpServletRequest request,
+ HttpServletResponse response) throws IOException {
+ String methodName = "ProcessSpecificationData";
+ StringBuffer sb = new StringBuffer();
+ if (work != null) {
+ try {
+ EffectiveUser eu = EffectiveUser.create(request);
+ Properties usProperties = DuccFile.getUserSpecifiedProperties(eu, work);
+ String path = work.getUserLogsDir() + work.getDuccId().getFriendly() + File.separator + specFile;
+ Properties properties = DuccFile.getProperties(eu, path);
+ if (properties == null) {
+ sb.append("no accessible data (not logged in?)");
+ } else {
+ int i = 0;
+ int counter = 0;
+ // Process a sorted list of property names
+ TreeSet<String> list = new TreeSet<String>(properties.stringPropertyNames());
+ for (String key : list) {
+ String value = properties.getProperty(key);
+ String provider = getProvider(key, usProperties, null);
+ if (hideableKeys.contains(key)) {
+ if (key.equals("classpath")) {
+ value = formatClasspath(value);
+ } // Could try to format the cp part of the executable args?
+ String show = "<div class=\"hidedata\"><input type=\"submit\" name=\"showcp\" value=\"Show\" id=\"showbutton"
+ + i + "\"/></div>";
+ String hide = "<div class=\"showdata\"><input type=\"submit\" name=\"hidecp\" value=\"Hide\" id=\"hidebutton"
+ + i + "\"/>" + " " + value + "</div>";
+ value = show + hide;
+ i++;
+ }
+ putJobSpecEntry(properties, provider, key, value, sb, counter++);
+ }
+ }
+ } catch (Throwable t) {
+ duccLogger.warn(methodName, null, t);
+ sb.append("no accessible data (" + t + ")");
+ }
+ }
+ response.getWriter().println(sb);
+ duccLogger.trace(methodName, null, messages.fetch("exit"));
+ }
+
private void handleDuccServletJobSpecificationData(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
@@ -2074,42 +2126,7 @@ public class DuccHandler extends DuccAbs
StringBuffer sb = new StringBuffer();
String jobNo = request.getParameter("id");
DuccWorkJob job = getJob(jobNo);
- if(job != null) {
- try {
- EffectiveUser eu = EffectiveUser.create(request);
- Properties usProperties = DuccFile.getUserSpecifiedProperties(eu, job);
- Properties fsProperties = DuccFile.getFileSpecifiedProperties(eu, job);
- Properties properties = DuccFile.getJobProperties(eu, job);
- TreeMap<String,String> map = new TreeMap<String,String>();
- Enumeration<?> enumeration = properties.keys();
- while(enumeration.hasMoreElements()) {
- String key = (String)enumeration.nextElement();
- map.put(key, key);
- }
- Iterator<String> iterator = map.keySet().iterator();
- int i = 0;
- int counter = 0;
- while(iterator.hasNext()) {
- String key = iterator.next();
- String value = properties.getProperty(key);
- String provider = getProvider(key, usProperties, fsProperties);
- if(key.endsWith("classpath")) {
- value = formatClasspath(value);
- String show = "<div class=\"hidedata\"><input type=\"submit\" name=\"showcp\" value=\"Show\" id=\"showbutton"+i+"\"/></div>";
- String hide = "<div class=\"showdata\"><input type=\"submit\" name=\"hidecp\" value=\"Hide\" id=\"hidebutton"+i+"\"/>"+" "+value+"</div>";
- value = show+hide;
- i++;
- }
- putJobSpecEntry(properties, provider, key, value, sb, counter++);
- }
- }
- catch(Throwable t) {
- duccLogger.warn(methodName, null, t);
- sb = new StringBuffer();
- sb.append("no accessible data");
- }
- }
- response.getWriter().println(sb);
+ processSpecificationData(job, DuccUiConstants.job_specification_properties, request, response);
duccLogger.trace(methodName, null, messages.fetch("exit"));
}
@@ -2159,11 +2176,14 @@ public class DuccHandler extends DuccAbs
sb.append(row);
counter++;
}
+ if (counter == 0) {
+ sb.append("no files found (not logged in?)");
+ }
}
catch(Throwable t) {
duccLogger.warn(methodName, null, t);
- sb = new StringBuffer();
- sb.append("no accessible data");
+ //sb = new StringBuffer();
+ sb.append("no accessible data ("+t+")");
}
}
response.getWriter().println(sb);
@@ -2216,11 +2236,14 @@ public class DuccHandler extends DuccAbs
sb.append(row);
counter++;
}
+ if (counter == 0) {
+ sb.append("no files found (not logged in?)");
+ }
}
catch(Throwable t) {
duccLogger.warn(methodName, null, t);
- sb = new StringBuffer();
- sb.append("no accessible data");
+ //sb = new StringBuffer();
+ sb.append("no accessible data ("+t+")");
}
}
response.getWriter().println(sb);
@@ -2432,7 +2455,7 @@ public class DuccHandler extends DuccAbs
private void handleDuccServletJobInitializationFailData(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
- String methodName = "handleDuccServletJobSpecificationData";
+ String methodName = "handleDuccServletJobInitializationFailData";
duccLogger.trace(methodName, null, messages.fetch("enter"));
EffectiveUser eu = EffectiveUser.create(request);
StringBuffer sb = new StringBuffer();
@@ -2501,7 +2524,7 @@ public class DuccHandler extends DuccAbs
private void handleDuccServletJobRuntimeFailData(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
- String methodName = "handleDuccServletJobSpecificationData";
+ String methodName = "handleDuccServletJobRuntimeFailData";
duccLogger.trace(methodName, null, messages.fetch("enter"));
EffectiveUser eu = EffectiveUser.create(request);
StringBuffer sb = new StringBuffer();
@@ -2604,47 +2627,9 @@ public class DuccHandler extends DuccAbs
{
String methodName = "handleDuccServletReservationSpecificationData";
duccLogger.trace(methodName, null, messages.fetch("enter"));
- StringBuffer sb = new StringBuffer();
String reservationNo = request.getParameter("id");
-
DuccWorkJob managedReservation = getManagedReservation(reservationNo);
- if(managedReservation != null) {
- try {
- EffectiveUser eu = EffectiveUser.create(request);
- Properties usProperties = DuccFile.getUserSpecifiedProperties(eu, managedReservation);
- Properties fsProperties = DuccFile.getFileSpecifiedProperties(eu, managedReservation);
- Properties properties = DuccFile.getManagedReservationProperties(eu, managedReservation);
- TreeMap<String,String> map = new TreeMap<String,String>();
- Enumeration<?> enumeration = properties.keys();
- while(enumeration.hasMoreElements()) {
- String key = (String)enumeration.nextElement();
- map.put(key, key);
- }
- Iterator<String> iterator = map.keySet().iterator();
- int i = 0;
- int counter = 0;
- while(iterator.hasNext()) {
- String key = iterator.next();
- String value = properties.getProperty(key);
- if(key.endsWith("classpath")) {
- value = formatClasspath(value);
- String show = "<div class=\"hidedata\"><input type=\"submit\" name=\"showcp\" value=\"Show\" id=\"showbutton"+i+"\"/></div>";
- String hide = "<div class=\"showdata\"><input type=\"submit\" name=\"hidecp\" value=\"Hide\" id=\"hidebutton"+i+"\"/>"+" "+value+"</div>";
- value = show+hide;
- i++;
- }
- String provider = getProvider(key, usProperties, fsProperties);
- putJobSpecEntry(properties, provider, key, value, sb, counter++);
- }
- }
- catch(Throwable t) {
- duccLogger.warn(methodName, null, t);
- sb = new StringBuffer();
- sb.append("no accessible data");
- }
- }
-
- response.getWriter().println(sb);
+ processSpecificationData(managedReservation, DuccUiConstants.managed_reservation_properties, request, response);
duccLogger.trace(methodName, null, messages.fetch("exit"));
}
@@ -2897,8 +2882,7 @@ public class DuccHandler extends DuccAbs
}
catch(Exception e) {
duccLogger.warn(methodName, null, e);
- sb = new StringBuffer();
- sb.append("no accessible data");
+ sb.append("no accessible data ("+e+")");
}
response.getWriter().println(sb);
@@ -4223,7 +4207,7 @@ public class DuccHandler extends DuccAbs
}
if(sb.length() == 0) {
sb.append("<tr>");
- sb.append("<td>"+"no accessible data");
+ sb.append("<td>"+"no accessible data (not logged in?)");
sb.append("<td>");
sb.append("<td>");
}