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/02/08 14:11:29 UTC
svn commit: r1444002 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli:
DuccJobSubmit.java DuccServiceSubmit.java
Author: degenaro
Date: Fri Feb 8 13:11:29 2013
New Revision: 1444002
URL: http://svn.apache.org/r1444002
Log:
UIMA-2645 DUCC command line interface (CLI) should reject submission when <logs> directory is not writable
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java?rev=1444002&r1=1444001&r2=1444002&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java Fri Feb 8 13:11:29 2013
@@ -446,6 +446,25 @@ public class DuccJobSubmit extends DuccU
+", "
+JobRequestProperties.key_process_descriptor_CC
;
+
+ //**********
+
+ private boolean has_writable_log_directory(Properties properties) {
+ boolean retVal = true;
+ String log_directory = properties.getProperty(JobRequestProperties.key_log_directory);
+ File file = new File(log_directory);
+ if(!file.isDirectory()) {
+ duccMessageProcessor.err("not a directory: "+log_directory);
+ retVal = false;
+ }
+ else if(!file.canWrite()) {
+ duccMessageProcessor.err("not a writable directory: "+log_directory);
+ retVal = false;
+ }
+ return retVal;
+ }
+
+ //**********
private boolean has_at_least_one_of_options(Properties properties) {
boolean retVal = true;
@@ -841,6 +860,12 @@ public class DuccJobSubmit extends DuccU
return DuccUiConstants.ERROR;
}
/*
+ * check for writable log directory
+ */
+ if (!has_writable_log_directory(jobRequestProperties)) {
+ return DuccUiConstants.ERROR;
+ }
+ /*
* set DUCC_LD_LIBRARY_PATH in driver, process environment
*/
if (!DuccUiUtilities.ducc_environment(duccMessageProcessor, jobRequestProperties, JobRequestProperties.key_driver_environment)) {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java?rev=1444002&r1=1444001&r2=1444002&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java Fri Feb 8 13:11:29 2013
@@ -51,6 +51,7 @@ import org.apache.uima.ducc.transport.di
import org.apache.uima.ducc.transport.event.DuccEvent;
import org.apache.uima.ducc.transport.event.SubmitServiceDuccEvent;
import org.apache.uima.ducc.transport.event.SubmitServiceReplyDuccEvent;
+import org.apache.uima.ducc.transport.event.cli.JobRequestProperties;
import org.apache.uima.ducc.transport.event.cli.ServiceRequestProperties;
import org.apache.uima.ducc.transport.event.cli.ServiceSpecificationProperties;
import org.apache.uima.ducc.transport.event.cli.SpecificationProperties;
@@ -185,7 +186,24 @@ public class DuccServiceSubmit extends D
);
}
-
+
+ //**********
+
+ private boolean has_writable_log_directory(Properties properties) {
+ boolean retVal = true;
+ String log_directory = properties.getProperty(JobRequestProperties.key_log_directory);
+ File file = new File(log_directory);
+ if(!file.isDirectory()) {
+ duccMessageProcessor.err("not a directory: "+log_directory);
+ retVal = false;
+ }
+ else if(!file.canWrite()) {
+ duccMessageProcessor.err("not a writable directory: "+log_directory);
+ retVal = false;
+ }
+ return retVal;
+ }
+
//**********
private String[] required_options = { };
@@ -424,6 +442,14 @@ public class DuccServiceSubmit extends D
if (DuccUiUtilities.duplicate_options(duccMessageProcessor, commandLine)) {
return DuccUiConstants.ERROR;
}
+
+ /*
+ * check for writable log directory
+ */
+ if (!has_writable_log_directory(serviceRequestProperties)) {
+ return DuccUiConstants.ERROR;
+ }
+
/*
* marshal user
*/