You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/10/01 15:37:13 UTC

svn commit: r1528086 - /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java

Author: degenaro
Date: Tue Oct  1 13:37:12 2013
New Revision: 1528086

URL: http://svn.apache.org/r1528086
Log:
UIMA-3324 DUCC webserver (WS) NPE when no services are registered

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

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=1528086&r1=1528085&r2=1528086&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 Tue Oct  1 13:37:12 2013
@@ -1690,41 +1690,46 @@ public class DuccHandler extends DuccAbs
 		duccLogger.trace(methodName, null, messages.fetch("enter"));
 		StringBuffer sb = new StringBuffer();
 		
-		String name = request.getParameter("name");
-		ServicesRegistry servicesRegistry = new ServicesRegistry();
-		ServicesRegistryMapPayload payload = servicesRegistry.findService(name);
-		Properties properties;
-		properties = payload.meta;
-		
-		ArrayList<String> implementors = servicesRegistry.getArrayList(properties.getProperty(IServicesRegistry.implementors));
-		
-		DuccWorkJob service = null;
-		DuccWorkMap duccWorkMap = DuccData.getInstance().get();
-		if(duccWorkMap.getServiceKeySet().size()> 0) {
-			Iterator<DuccId> iterator = null;
-			iterator = duccWorkMap.getServiceKeySet().iterator();
-			int counter = 0;
-			String type = "SPU";
-			String service_type = properties.getProperty(IServicesRegistry.service_type);
-			if(service_type != null) {
-				if(service_type.equalsIgnoreCase(IServicesRegistry.service_type_CUSTOM)) {
-					type = "SPC";
+		try {
+			String name = request.getParameter("name");
+			ServicesRegistry servicesRegistry = new ServicesRegistry();
+			ServicesRegistryMapPayload payload = servicesRegistry.findService(name);
+			Properties properties;
+			properties = payload.meta;
+			
+			ArrayList<String> implementors = servicesRegistry.getArrayList(properties.getProperty(IServicesRegistry.implementors));
+			
+			DuccWorkJob service = null;
+			DuccWorkMap duccWorkMap = DuccData.getInstance().get();
+			if(duccWorkMap.getServiceKeySet().size()> 0) {
+				Iterator<DuccId> iterator = null;
+				iterator = duccWorkMap.getServiceKeySet().iterator();
+				int counter = 0;
+				String type = "SPU";
+				String service_type = properties.getProperty(IServicesRegistry.service_type);
+				if(service_type != null) {
+					if(service_type.equalsIgnoreCase(IServicesRegistry.service_type_CUSTOM)) {
+						type = "SPC";
+					}
 				}
-			}
-			while(iterator.hasNext()) {
-				DuccId serviceId = iterator.next();
-				String fid = ""+serviceId.getFriendly();
-				if(implementors.contains(fid)) {
-					service = (DuccWorkJob) duccWorkMap.findDuccWork(serviceId);
-					IDuccProcessMap map = service.getProcessMap();
-					for(DuccId key : map.keySet()) {
-						IDuccProcess process = map.get(key);
-						buildServiceFilesListEntry(baseRequest,request,sb, service, process, type, ++counter);
+				while(iterator.hasNext()) {
+					DuccId serviceId = iterator.next();
+					String fid = ""+serviceId.getFriendly();
+					if(implementors.contains(fid)) {
+						service = (DuccWorkJob) duccWorkMap.findDuccWork(serviceId);
+						IDuccProcessMap map = service.getProcessMap();
+						for(DuccId key : map.keySet()) {
+							IDuccProcess process = map.get(key);
+							buildServiceFilesListEntry(baseRequest,request,sb, service, process, type, ++counter);
+						}
 					}
 				}
 			}
 		}
-		
+		catch(Throwable t) {
+			// no worries
+		}
+
 		if(sb.length() == 0) {
 			sb.append("<tr>");
 			sb.append("<td>");
@@ -1969,40 +1974,45 @@ public class DuccHandler extends DuccAbs
 		duccLogger.trace(methodName, null, messages.fetch("enter"));
 		StringBuffer sb = new StringBuffer();
 		
-		String name = request.getParameter("name");
-		ServicesRegistry servicesRegistry = new ServicesRegistry();
-		ServicesRegistryMapPayload payload = servicesRegistry.findService(name);
-		Properties properties;
-		properties = payload.meta;
-		
-		ArrayList<String> implementors = servicesRegistry.getArrayList(properties.getProperty(IServicesRegistry.implementors));
-		
-		DuccWorkJob service = null;
-		DuccWorkMap duccWorkMap = DuccData.getInstance().get();
-		if(duccWorkMap.getServiceKeySet().size()> 0) {
-			Iterator<DuccId> iterator = null;
-			iterator = duccWorkMap.getServiceKeySet().iterator();
-			int counter = 0;
-			String type = "SPU";
-			String service_type = properties.getProperty(IServicesRegistry.service_type);
-			if(service_type != null) {
-				if(service_type.equalsIgnoreCase(IServicesRegistry.service_type_CUSTOM)) {
-					type = "SPC";
+		try {
+			String name = request.getParameter("name");
+			ServicesRegistry servicesRegistry = new ServicesRegistry();
+			ServicesRegistryMapPayload payload = servicesRegistry.findService(name);
+			Properties properties;
+			properties = payload.meta;
+			
+			ArrayList<String> implementors = servicesRegistry.getArrayList(properties.getProperty(IServicesRegistry.implementors));
+			
+			DuccWorkJob service = null;
+			DuccWorkMap duccWorkMap = DuccData.getInstance().get();
+			if(duccWorkMap.getServiceKeySet().size()> 0) {
+				Iterator<DuccId> iterator = null;
+				iterator = duccWorkMap.getServiceKeySet().iterator();
+				int counter = 0;
+				String type = "SPU";
+				String service_type = properties.getProperty(IServicesRegistry.service_type);
+				if(service_type != null) {
+					if(service_type.equalsIgnoreCase(IServicesRegistry.service_type_CUSTOM)) {
+						type = "SPC";
+					}
 				}
-			}
-			while(iterator.hasNext()) {
-				DuccId serviceId = iterator.next();
-				String fid = ""+serviceId.getFriendly();
-				if(implementors.contains(fid)) {
-					service = (DuccWorkJob) duccWorkMap.findDuccWork(serviceId);
-					IDuccProcessMap map = service.getProcessMap();
-					for(DuccId key : map.keySet()) {
-						IDuccProcess process = map.get(key);
-						buildServiceProcessListEntry(sb, service, process, type, ++counter);
+				while(iterator.hasNext()) {
+					DuccId serviceId = iterator.next();
+					String fid = ""+serviceId.getFriendly();
+					if(implementors.contains(fid)) {
+						service = (DuccWorkJob) duccWorkMap.findDuccWork(serviceId);
+						IDuccProcessMap map = service.getProcessMap();
+						for(DuccId key : map.keySet()) {
+							IDuccProcess process = map.get(key);
+							buildServiceProcessListEntry(sb, service, process, type, ++counter);
+						}
 					}
 				}
 			}
 		}
+		catch(Throwable t) {
+			// no worries
+		}
 		
 		if(sb.length() == 0) {
 			sb.append("<tr>");