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 2014/04/11 23:18:23 UTC
svn commit: r1586777 - in /uima/sandbox/uima-ducc/trunk:
uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/
uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/
uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/
uima-ducc-orchest...
Author: burn
Date: Fri Apr 11 21:18:22 2014
New Revision: 1586777
URL: http://svn.apache.org/r1586777
Log:
UIMA-3741 - Allow CLI requests to be sent to another runtime if the CLI versions match
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliVersion.java (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/utilities/CliVersion.java (with props)
uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/CliVersion.java (with props)
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobCancel.java
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/DuccManagedReservationCancel.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationCancel.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceCancel.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Utils.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Version.java
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/Validate.java
uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/dispatcher/DuccEventHttpDispatcher.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AServiceRequest.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelJobDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelReservationDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceModifyEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceRegisterEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStartEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStopEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceUnregisterEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitJobDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitReservationDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitServiceDuccEvent.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java Fri Apr 11 21:18:22 2014
@@ -23,7 +23,6 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
-import java.lang.management.ManagementFactory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@@ -336,8 +335,6 @@ public abstract class CliBase
setDefaults(uiOpts, suppress_console_log);
}
- cli_props.setProperty(UiOption.SubmitPid.pname(), ManagementFactory.getRuntimeMXBean().getName());
-
if ( load_defaults && (getLogDirectory() == null) ) {
throw new IllegalArgumentException("Cannot access log directory.");
}
@@ -435,7 +432,7 @@ public abstract class CliBase
} else {
Option opt = cliOptions.getOption(key);
if (opt == null) {
- throw new IllegalArgumentException("Invalid option " + key + " in specification file");
+ throw new IllegalArgumentException("Invalid option '" + key + "' in specification file");
}
if (!opt.hasArg()) {
String val = props.getProperty(key);
@@ -807,28 +804,4 @@ public abstract class CliBase
return args;
}
- /*
- * Get specified class path (or the default) and remove any DUCC jars (except examples)
- * so they cannot accidentally replace any in the user's class path.
- * But if it has only DUCC jars return null as this must be an error.
- */
- protected String fixupClasspath(String key_cp) {
- String classpath = cli_props.getStringProperty(key_cp,
- System.getProperty("java.class.path"));
- StringBuilder sb = new StringBuilder();
- String duccPrefix = ducc_home + "/lib";
- for (String jar : classpath.split(":")) {
- if (!jar.startsWith(duccPrefix) || jar.contains("examples")) {
- sb.append(":").append(jar);
- }
- }
- if (sb.length() > 0) {
- classpath = sb.substring(1);
- cli_props.setProperty(key_cp, classpath);
- return classpath;
- } else {
- return null;
- }
- }
-
}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliVersion.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliVersion.java?rev=1586777&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliVersion.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliVersion.java Fri Apr 11 21:18:22 2014
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+
+package org.apache.uima.ducc.cli;
+
+import org.apache.uima.ducc.common.utils.Version;
+
+public class CliVersion {
+
+ static private final int cliVersion = Version.cliVersion;
+
+ /*
+ * Return copy of the current CLI version number
+ */
+ static public int getVersion() {
+ return cliVersion;
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliVersion.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobCancel.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobCancel.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobCancel.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobCancel.java Fri Apr 11 21:18:22 2014
@@ -112,7 +112,7 @@ public class DuccJobCancel
throws Exception
{
- CancelJobDuccEvent cancelJobDuccEvent = new CancelJobDuccEvent(jobRequestProperties);
+ CancelJobDuccEvent cancelJobDuccEvent = new CancelJobDuccEvent(jobRequestProperties, CliVersion.getVersion());
CancelJobReplyDuccEvent cancelJobReplyDuccEvent = null;
try {
cancelJobReplyDuccEvent = (CancelJobReplyDuccEvent) dispatcher.dispatchAndWaitForDuccReply(cancelJobDuccEvent);
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=1586777&r1=1586776&r2=1586777&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 Apr 11 21:18:22 2014
@@ -18,7 +18,6 @@
*/
package org.apache.uima.ducc.cli;
-import java.lang.management.ManagementFactory;
import java.util.ArrayList;
import java.util.Properties;
@@ -278,11 +277,11 @@ public class DuccJobSubmit
}
/*
- * Set default classpath if not specified & remove DUCC jars
+ * Set default classpath if not specified
*/
- if (fixupClasspath(UiOption.Classpath.pname()) == null){
- message("Classpath contains only DUCC jars");
- return false;
+ String key_cp = UiOption.Classpath.pname();
+ if (!jobRequestProperties.containsKey(key_cp)) {
+ jobRequestProperties.setProperty(key_cp, System.getProperty("java.class.path"));
}
if (jobRequestProperties.containsKey(UiOption.Debug.pname())) {
@@ -290,18 +289,13 @@ public class DuccJobSubmit
}
/*
- * identify invoker
- */
- jobRequestProperties.setProperty(UiOption.SubmitPid.pname(), ManagementFactory.getRuntimeMXBean().getName());
-
- /*
* resolve ${defaultBrokerURL} in service dependencies - must fail if resolution needed but can't resolve
*/
if ( ! check_service_dependencies(null) ) {
return false;
}
- SubmitJobDuccEvent submitJobDuccEvent = new SubmitJobDuccEvent(jobRequestProperties);
+ SubmitJobDuccEvent submitJobDuccEvent = new SubmitJobDuccEvent(jobRequestProperties, CliVersion.getVersion());
SubmitJobReplyDuccEvent submitJobReplyDuccEvent = null;
try {
submitJobReplyDuccEvent = (SubmitJobReplyDuccEvent) dispatcher.dispatchAndWaitForDuccReply(submitJobDuccEvent);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationCancel.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationCancel.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationCancel.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationCancel.java Fri Apr 11 21:18:22 2014
@@ -88,15 +88,16 @@ public class DuccManagedReservationCance
}
/**
- * Execute collects the parameters for job cancelation and sends them to the DUCC Orchestrator
- * to effect the cancelation.
+ * Execute collects the parameters for job cancellation and sends them to the DUCC Orchestrator
+ * to effect the cancellation.
*
- * @return True if the orchestrator accepts the job cancelation.
+ * @return True if the orchestrator accepts the job cancellation.
*/
public boolean execute()
throws Exception
{
- CancelServiceDuccEvent cancelServiceDuccEvent = new CancelServiceDuccEvent(requestProperties, DuccContext.ManagedReservation);
+ CancelServiceDuccEvent cancelServiceDuccEvent = new CancelServiceDuccEvent(
+ requestProperties, DuccContext.ManagedReservation, CliVersion.getVersion());
CancelServiceReplyDuccEvent cancelServiceReplyDuccEvent = null;
try {
cancelServiceReplyDuccEvent = (CancelServiceReplyDuccEvent) dispatcher.dispatchAndWaitForDuccReply(cancelServiceDuccEvent);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java Fri Apr 11 21:18:22 2014
@@ -152,7 +152,7 @@ public class DuccManagedReservationSubmi
serviceRequestProperties.setProperty(UiOption.ProcessDeploymentsMax.pname(), "1");
serviceRequestProperties.setProperty(UiOption.ServiceTypeOther.pname(), "");
- SubmitServiceDuccEvent ev = new SubmitServiceDuccEvent(serviceRequestProperties);
+ SubmitServiceDuccEvent ev = new SubmitServiceDuccEvent(serviceRequestProperties, CliVersion.getVersion());
SubmitServiceReplyDuccEvent reply = null;
try {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationCancel.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationCancel.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationCancel.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationCancel.java Fri Apr 11 21:18:22 2014
@@ -98,7 +98,7 @@ public class DuccReservationCancel
throws Exception
{
- CancelReservationDuccEvent cancelReservationDuccEvent = new CancelReservationDuccEvent(requestProperties);
+ CancelReservationDuccEvent cancelReservationDuccEvent = new CancelReservationDuccEvent(requestProperties, CliVersion.getVersion());
CancelReservationReplyDuccEvent cancelReservationReplyDuccEvent = null;
try {
cancelReservationReplyDuccEvent = (CancelReservationReplyDuccEvent) dispatcher.dispatchAndWaitForDuccReply(cancelReservationDuccEvent);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java Fri Apr 11 21:18:22 2014
@@ -92,7 +92,7 @@ public class DuccReservationSubmit
*/
public boolean execute()
{
- SubmitReservationDuccEvent ev = new SubmitReservationDuccEvent(requestProperties);
+ SubmitReservationDuccEvent ev = new SubmitReservationDuccEvent(requestProperties, CliVersion.getVersion());
SubmitReservationReplyDuccEvent reply = null;
try {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java Fri Apr 11 21:18:22 2014
@@ -343,10 +343,10 @@ public class DuccServiceApi
if (customCmd != null) {
message("WARN", "--process_executable is ignored for UIMA-AS services");
}
- // Infer the classpath (DuccProperties will return the default if the value isn't found.)
- // Note: only used for UIMA-AS services
- if (fixupClasspath(UiOption.Classpath.pname()) == null) {
- throw new IllegalArgumentException("Specified classpath contains only DUCC jars");
+ // Set default classpath if not specified - only used for UIMA-AS services
+ String key_cp = UiOption.Classpath.pname();
+ if (!cli_props.containsKey(key_cp)) {
+ cli_props.setProperty(key_cp, System.getProperty("java.class.path"));
}
// Given ep must match inferred ep. Use case: an application is wrapping DuccServiceApi and has to construct
@@ -376,7 +376,10 @@ public class DuccServiceApi
if ( ! cli_props.containsKey(UiOption.ServicePingClass.pname()) ) {
throw new IllegalArgumentException("Custom service is missing ping class name.");
}
- fixupClasspath(UiOption.ServicePingClasspath.pname());
+ String key_cp = UiOption.ServicePingClasspath.pname();
+ if (!cli_props.containsKey(key_cp)) {
+ cli_props.setProperty(key_cp, System.getProperty("java.class.path"));
+ }
} else {
throw new IllegalArgumentException("Invalid service endpoint: " + endpoint);
@@ -406,7 +409,7 @@ public class DuccServiceApi
cli_props.remove(UiOption.Instances.pname());
cli_props.remove(UiOption.Autostart.pname());
- ServiceRegisterEvent ev = new ServiceRegisterEvent(user, instances, autostart, endpoint, cli_props, auth_block);
+ ServiceRegisterEvent ev = new ServiceRegisterEvent(user, instances, autostart, endpoint, cli_props, auth_block, CliVersion.getVersion());
try {
return (IServiceReply) dispatcher.dispatchAndWaitForDuccReply(ev);
@@ -433,7 +436,7 @@ public class DuccServiceApi
String user = dp.getProperty(UiOption.User.pname());
byte[] auth_block = (byte[]) dp.get(UiOption.Signature.pname());
- ServiceUnregisterEvent ev = new ServiceUnregisterEvent(user, id.first(), id.second(), auth_block);
+ ServiceUnregisterEvent ev = new ServiceUnregisterEvent(user, id.first(), id.second(), auth_block, CliVersion.getVersion());
try {
return (IServiceReply) dispatcher.dispatchAndWaitForDuccReply(ev);
@@ -459,7 +462,7 @@ public class DuccServiceApi
String user = dp.getProperty(UiOption.User.pname());
byte[] auth_block = (byte[]) dp.get(UiOption.Signature.pname());
- ServiceStartEvent ev = new ServiceStartEvent(user, id.first(), id.second(), auth_block);
+ ServiceStartEvent ev = new ServiceStartEvent(user, id.first(), id.second(), auth_block, CliVersion.getVersion());
int instances = getInstances(-1);
boolean update = getUpdate();
@@ -491,7 +494,7 @@ public class DuccServiceApi
String user = dp.getProperty(UiOption.User.pname());
byte[] auth_block = (byte[]) dp.get(UiOption.Signature.pname());
- ServiceStopEvent ev = new ServiceStopEvent(user, id.first(), id.second(), auth_block);
+ ServiceStopEvent ev = new ServiceStopEvent(user, id.first(), id.second(), auth_block, CliVersion.getVersion());
int instances = getInstances(-1);
boolean update = getUpdate();
@@ -527,7 +530,7 @@ public class DuccServiceApi
String user = dp.getProperty(UiOption.User.pname());
byte[] auth_block = (byte[]) dp.get(UiOption.Signature.pname());
- ServiceModifyEvent ev = new ServiceModifyEvent(user, id.first(), id.second(), dp, auth_block);
+ ServiceModifyEvent ev = new ServiceModifyEvent(user, id.first(), id.second(), dp, auth_block, CliVersion.getVersion());
try {
return (IServiceReply) dispatcher.dispatchAndWaitForDuccReply(ev);
@@ -555,7 +558,7 @@ public class DuccServiceApi
byte[] auth_block = (byte[]) dp.get(UiOption.Signature.pname());
DuccProperties mods = new DuccProperties();
- ServiceModifyEvent ev = new ServiceModifyEvent(user, id.first(), id.second(), mods, auth_block);
+ ServiceModifyEvent ev = new ServiceModifyEvent(user, id.first(), id.second(), mods, auth_block, CliVersion.getVersion());
int instances = getInstances(-1);
Trinary autostart = getAutostart();
boolean activate = getActivate();
@@ -616,7 +619,7 @@ public class DuccServiceApi
String user = dp.getProperty(UiOption.User.pname());
byte[] auth_block = (byte[]) dp.get(UiOption.Signature.pname());
- ServiceQueryEvent ev = new ServiceQueryEvent(user, id.first(), id.second(), auth_block);
+ ServiceQueryEvent ev = new ServiceQueryEvent(user, id.first(), id.second(), auth_block, CliVersion.getVersion());
try {
return (IServiceReply) dispatcher.dispatchAndWaitForDuccReply(ev);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceCancel.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceCancel.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceCancel.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceCancel.java Fri Apr 11 21:18:22 2014
@@ -100,7 +100,8 @@ public class DuccServiceCancel
throws Exception
{
- CancelServiceDuccEvent cancelServiceDuccEvent = new CancelServiceDuccEvent(requestProperties, DuccContext.Service);
+ CancelServiceDuccEvent cancelServiceDuccEvent = new CancelServiceDuccEvent(
+ requestProperties, DuccContext.Service, CliVersion.getVersion());
CancelServiceReplyDuccEvent cancelServiceReplyDuccEvent = null;
try {
cancelServiceReplyDuccEvent = (CancelServiceReplyDuccEvent) dispatcher.dispatchAndWaitForDuccReply(cancelServiceDuccEvent);
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=1586777&r1=1586776&r2=1586777&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 Apr 11 21:18:22 2014
@@ -187,9 +187,9 @@ public class DuccServiceSubmit
}
// This should have already been done when registered, but perhaps not in old services.
- if (fixupClasspath(UiOption.Classpath.pname()) == null){
- message("Classpath contains only DUCC jars");
- return false;
+ String key_cp = UiOption.Classpath.pname();
+ if (!cli_props.containsKey(key_cp)) {
+ cli_props.setProperty(key_cp, System.getProperty("java.class.path"));
}
//
@@ -243,7 +243,7 @@ public class DuccServiceSubmit
requestProperties.put(UiOption.ProcessThreadCount.pname(), "1"); // enforce this - OR will complain if it's missing
- SubmitServiceDuccEvent ev = new SubmitServiceDuccEvent(requestProperties);
+ SubmitServiceDuccEvent ev = new SubmitServiceDuccEvent(requestProperties, CliVersion.getVersion());
SubmitServiceReplyDuccEvent reply = null;
try {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java Fri Apr 11 21:18:22 2014
@@ -309,9 +309,9 @@ public class AllInOneLauncher extends Cl
String mid = "examine_classpath";
mh.frameworkTrace(cid, mid, enter);
String pname = UiOption.Classpath.pname();
- classpath = fixupClasspath(pname);
+ classpath = jobRequestProperties.getProperty(pname);
if (classpath == null) {
- throw new IllegalArgumentException("Specified classpath contains only DUCC jars");
+ classpath = System.getProperty("java.class.path");
}
used(pname);
String message = classpath;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Utils.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Utils.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Utils.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Utils.java Fri Apr 11 21:18:22 2014
@@ -350,54 +350,71 @@ public class Utils {
static String DUCC_HOME = null;
+ /*
+ * Return the value of DUCC_HOME
+ */
public static String findDuccHome() {
if ( DUCC_HOME != null ) {
return DUCC_HOME;
}
- String sys_ducc_home = System.getProperty("DUCC_HOME");
+ // Infer DUCC_HOME from location of this class
+ // but let system property override, and warn when different.
- // Always assume that DUCC_HOME is where this code resides
- // Locate the jar (or class file) that holds this class
+ String jar_ducc_home = inferDuccHome();
+ DUCC_HOME = System.getProperty("DUCC_HOME");
+ if (DUCC_HOME != null) {
+ if (jar_ducc_home != null) {
+ // Resolve any symbolic links, e.g. /users -> /users1
+ try {
+ DUCC_HOME = (new File((DUCC_HOME))).getCanonicalPath();
+ } catch (IOException e) {
+ }
+ if (!jar_ducc_home.equals(DUCC_HOME)) {
+ System.out.println("WARNING: Setting DUCC_HOME = " + DUCC_HOME + " but the CLI request is from " + jar_ducc_home);
+ }
+ }
+ } else {
+ DUCC_HOME = jar_ducc_home;
+ if (DUCC_HOME != null) {
+ System.setProperty("DUCC_HOME", DUCC_HOME);
+ } else {
+ throw new IllegalArgumentException("Cannot infer DUCC_HOME and no system property provided");
+ }
+ }
+
+ return DUCC_HOME;
+ }
+
+ /*
+ * Locate the jar file that holds this class and deduce DUCC_HOME
+ */
+ private static String inferDuccHome() {
// (Theoretically could get a null from the first 2 gets)
URL res = Utils.class.getProtectionDomain().getCodeSource().getLocation();
- String p = res.getFile();
+ String p = res.getPath();
if ( !p.endsWith(".jar") ) {
- System.out.println("Class file: " + p);
- if (sys_ducc_home == null) {
- throw new IllegalArgumentException("Cannot infer DUCC_HOME --- must be invoked from a DUCC jar.");
- } else {
- System.out.println("WARNING: Cannot infer DUCC_HOME as not in a jar, so using the system property value: " + sys_ducc_home);
- DUCC_HOME = sys_ducc_home;
- return DUCC_HOME;
- }
+ System.out.println("WARNING: Cannot infer DUCC_HOME as not running from a jar");
+ return null;
}
- // File name should be: <ducc-home>/lib/uima-ducc/uima-ducc-common-<vesrion>.jar
+ // File name should be: <ducc-home>/lib/uima-ducc/uima-ducc-common-<version>.jar
// Strip off the jar file and the 2 directories above
int ndx = p.lastIndexOf("/");
ndx = p.lastIndexOf("/", ndx-1);
ndx = p.lastIndexOf("/", ndx-1);
p = p.substring(0, ndx);
- ndx = p.indexOf(':');
- DUCC_HOME = p.substring(ndx+1);
- File props = new File(DUCC_HOME + "/resources/ducc.properties");
+ File props = new File(p + "/resources/ducc.properties");
if ( ! props.exists() ) {
- System.out.println("Class resource: " + res);
- throw new IllegalArgumentException("Cannot infer DUCC_HOME - " + DUCC_HOME + " is invalid.");
- }
-
- // Fail if system property specifies a different DUCC_HOME
- if ( sys_ducc_home != null && !sys_ducc_home.equals(DUCC_HOME)) {
- throw new IllegalArgumentException("The inferred DUCC_HOME = " + DUCC_HOME + " but the system property = " + sys_ducc_home);
+ System.out.println("WARNING: Cannot infer DUCC_HOME as running from " + res + " that is not part of a valid DUCC installation");
+ return null;
}
-
- System.setProperty("DUCC_HOME", DUCC_HOME);
- return DUCC_HOME;
+ return p;
}
-
+
+
public static void main(String[] args) {
try {
if ( Utils.isThisNode("192.168.3.3", "192.168.3.3") ) {
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Version.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Version.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Version.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/Version.java Fri Apr 11 21:18:22 2014
@@ -62,6 +62,12 @@ public class Version
return sb.toString();
}
+
+ /*
+ * This version number is included on each CLI request and checked by DUCC.
+ * Change the value when requests are changed in an incompatible way.
+ */
+ public final static int cliVersion = 1;
public static void main(String[] args)
{
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/Validate.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/Validate.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/Validate.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/Validate.java Fri Apr 11 21:18:22 2014
@@ -26,6 +26,8 @@ import org.apache.uima.ducc.common.utils
import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
import org.apache.uima.ducc.orchestrator.authentication.DuccWebAdministrators;
import org.apache.uima.ducc.orchestrator.utilities.MemorySpecification;
+import org.apache.uima.ducc.orchestrator.utilities.CliVersion;
+import org.apache.uima.ducc.transport.event.AbstractDuccOrchestratorEvent;
import org.apache.uima.ducc.transport.event.CancelJobDuccEvent;
import org.apache.uima.ducc.transport.event.CancelReservationDuccEvent;
import org.apache.uima.ducc.transport.event.CancelServiceDuccEvent;
@@ -110,6 +112,9 @@ public class Validate {
}
public static boolean request(SubmitJobDuccEvent duccEvent) {
boolean retVal = true;
+ if (!validate_cli_version(duccEvent)) {
+ return false;
+ }
JobRequestProperties properties = (JobRequestProperties) duccEvent.getProperties();
String key;
String value;
@@ -132,6 +137,9 @@ public class Validate {
}
public static boolean request(CancelJobDuccEvent duccEvent) {
+ if (!validate_cli_version(duccEvent)) {
+ return false;
+ }
boolean retVal = true;
//TODO
return retVal;
@@ -145,6 +153,9 @@ public class Validate {
public static boolean request(SubmitReservationDuccEvent duccEvent) {
boolean retVal = true;
+ if (!validate_cli_version(duccEvent)) {
+ return false;
+ }
ReservationRequestProperties properties = (ReservationRequestProperties) duccEvent.getProperties();
String key;
String value;
@@ -180,6 +191,9 @@ public class Validate {
public static boolean request(CancelReservationDuccEvent duccEvent, DuccWorkReservation duccWorkReservation) {
String location = "request";
boolean retVal = false;
+ if (!validate_cli_version(duccEvent)) {
+ return false;
+ }
Properties properties = duccEvent.getProperties();
String userid = properties.getProperty(JobSpecificationProperties.key_user);
String ownerid = duccWorkReservation.getStandardInfo().getUser();
@@ -205,6 +219,9 @@ public class Validate {
public static boolean request(SubmitServiceDuccEvent duccEvent) {
boolean retVal = true;
+ if (!validate_cli_version(duccEvent)) {
+ return false;
+ }
JobRequestProperties properties = (JobRequestProperties) duccEvent.getProperties();
String key;
String value;
@@ -228,7 +245,20 @@ public class Validate {
public static boolean request(CancelServiceDuccEvent duccEvent) {
boolean retVal = true;
+ if (!validate_cli_version(duccEvent)) {
+ return false;
+ }
//TODO
return retVal;
}
+
+ private static boolean validate_cli_version(AbstractDuccOrchestratorEvent ev) {
+ if (ev.getCliVersion() == CliVersion.getVersion()) {
+ return true;
+ }
+ String reason = ev.getEventType() + " rejected. Incompatible CLI request using version " + ev.getCliVersion() + " while DUCC expects version " + CliVersion.getVersion() ;
+ addError(ev.getProperties(),reason);
+ logger.warn("validate_cli_request", null, reason);
+ return false;
+ }
}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/utilities/CliVersion.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/utilities/CliVersion.java?rev=1586777&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/utilities/CliVersion.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/utilities/CliVersion.java Fri Apr 11 21:18:22 2014
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+
+package org.apache.uima.ducc.orchestrator.utilities;
+
+import org.apache.uima.ducc.common.utils.Version;
+
+public class CliVersion {
+
+ static private final int cliVersion = Version.cliVersion;
+
+ /*
+ * Return copy of the current CLI version number
+ */
+ static public int getVersion() {
+ return cliVersion;
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/utilities/CliVersion.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/CliVersion.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/CliVersion.java?rev=1586777&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/CliVersion.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/CliVersion.java Fri Apr 11 21:18:22 2014
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+
+package org.apache.uima.ducc.sm;
+
+import org.apache.uima.ducc.common.utils.Version;
+
+public class CliVersion {
+
+ static private final int cliVersion = Version.cliVersion;
+
+ /*
+ * Return copy of the current CLI version number
+ */
+ static public int getVersion() {
+ return cliVersion;
+ }
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/CliVersion.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java Fri Apr 11 21:18:22 2014
@@ -674,7 +674,7 @@ public class ServiceHandler
String userout = sset.getUser();
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Owned by " + userout, url, id);
+ return new ServiceReplyEvent(false, "Owned by " + userout, url, sset.getId().getFriendly());
}
int running = sset.countImplementors();
@@ -772,7 +772,7 @@ public class ServiceHandler
String userout = sset.getUser();
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Owned by " + userout, url, id);
+ return new ServiceReplyEvent(false, "Owned by " + userout, url, sset.getId().getFriendly());
}
if ( sset.isStopped() ) {
@@ -820,7 +820,7 @@ public class ServiceHandler
ServiceSet sset = serviceStateHandler.getServiceByUrl(url);
if (sset != null ) {
error = "Duplicate registered by " + sset.getUser();
- return new ServiceReplyEvent(false, error, url, id.getFriendly());
+ return new ServiceReplyEvent(false, error, url, sset.getId().getFriendly());
}
try {
@@ -886,7 +886,7 @@ public class ServiceHandler
String userout = sset.getUser();
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Owned by " + userout, url, id);
+ return new ServiceReplyEvent(false, "Owned by " + userout, url, sset.getId().getFriendly());
}
pendingRequests.add(new ApiHandler(ev, this));
@@ -1120,7 +1120,7 @@ public class ServiceHandler
logger.info(methodName, sset.getId(), "Unregister received from", userin);
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Owned by " + userout, url, id);
+ return new ServiceReplyEvent(false, "Owned by " + userout, url, sset.getId().getFriendly());
}
serviceStateHandler.unregister(sset);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java Fri Apr 11 21:18:22 2014
@@ -633,6 +633,16 @@ public class ServiceManagerComponent
private boolean validate_user(String action, AServiceRequest req)
{
String methodName = "validate_user";
+
+ // First check that request is from a compatible cli
+ if (req.getCliVersion() != CliVersion.getVersion()) {
+ String reason = "Incompatible CLI request using version " + req.getCliVersion()
+ + " while DUCC expects version " + CliVersion.getVersion();
+ logger.warn(methodName, null, action + " rejected. " + reason);
+ req.setReply(new ServiceReplyEvent(false, reason, action, -1));
+ return false;
+ }
+
String user = req.getUser();
byte[] auth_block= req.getAuth();
boolean validated = false;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/dispatcher/DuccEventHttpDispatcher.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/dispatcher/DuccEventHttpDispatcher.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/dispatcher/DuccEventHttpDispatcher.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/dispatcher/DuccEventHttpDispatcher.java Fri Apr 11 21:18:22 2014
@@ -105,7 +105,7 @@ public class DuccEventHttpDispatcher {
try {
DuccEventHttpDispatcher dispatcher =
new DuccEventHttpDispatcher("http://"+args[0]+":19988/or",1000*4);
- SubmitJobDuccEvent duccEvent = new SubmitJobDuccEvent(null);
+ SubmitJobDuccEvent duccEvent = new SubmitJobDuccEvent(null, 1);
DuccEvent event = dispatcher.dispatchAndWaitForDuccReply(duccEvent);
if ( event instanceof SubmitJobReplyDuccEvent ) {
System.out.println("Client received SubmitJobReplyDuccEvent");
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AServiceRequest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AServiceRequest.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AServiceRequest.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AServiceRequest.java Fri Apr 11 21:18:22 2014
@@ -31,12 +31,15 @@ public abstract class AServiceRequest
byte[] auth_block;
ServiceReplyEvent reply;
- public AServiceRequest(EventType eventType, String user, byte[] auth_block)
- {
- super(eventType);
+ private int cli_version;
+
+ public AServiceRequest(EventType eventType, String user, byte[] auth_block, int cli_version)
+ {
+ super(eventType);
this.user = user;
this.auth_block = auth_block;
- }
+ this.cli_version = cli_version;
+ }
public ServiceReplyEvent getReply()
{
@@ -58,8 +61,13 @@ public abstract class AServiceRequest
return auth_block;
}
- @Override
- public String toString() {
- return "AServiceRequest [reply=" + reply + "]";
- }
+ public int getCliVersion()
+ {
+ return cli_version;
+ }
+
+ @Override
+ public String toString() {
+ return "AServiceRequest [reply=" + reply + "]";
+ }
};
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccEvent.java Fri Apr 11 21:18:22 2014
@@ -28,6 +28,8 @@ implements DuccEvent {
private Long eventSize = new Long(0);
private EventType eventType;
+ private int cliVersion;
+
public AbstractDuccEvent(EventType eventType) {
this.eventType = eventType;
}
@@ -48,5 +50,12 @@ implements DuccEvent {
public void setSequence(long sequence) {
this.sequence = sequence;
}
+
+ public int getCliVersion() {
+ return cliVersion;
+ }
+ public void setCliVersion(int version) {
+ cliVersion = version;
+ }
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelJobDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelJobDuccEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelJobDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelJobDuccEvent.java Fri Apr 11 21:18:22 2014
@@ -23,8 +23,9 @@ import org.apache.uima.ducc.common.utils
@SuppressWarnings("serial")
public class CancelJobDuccEvent extends AbstractDuccJobEvent {
- public CancelJobDuccEvent(DuccProperties props) {
+ public CancelJobDuccEvent(DuccProperties props, int cli_version) {
super(EventType.CANCEL_JOB);
setProperties(props);
+ setCliVersion(cli_version);
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelReservationDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelReservationDuccEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelReservationDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelReservationDuccEvent.java Fri Apr 11 21:18:22 2014
@@ -23,8 +23,9 @@ import org.apache.uima.ducc.common.utils
@SuppressWarnings("serial")
public class CancelReservationDuccEvent extends AbstractDuccReservationEvent {
- public CancelReservationDuccEvent(DuccProperties props) {
+ public CancelReservationDuccEvent(DuccProperties props, int cli_version) {
super(EventType.CANCEL_RESERVATION);
setProperties(props);
+ setCliVersion(cli_version);
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java Fri Apr 11 21:18:22 2014
@@ -31,9 +31,10 @@ public class CancelServiceDuccEvent exte
}
*/
- public CancelServiceDuccEvent(DuccProperties props, DuccContext context) {
+ public CancelServiceDuccEvent(DuccProperties props, DuccContext context, int cli_version) {
super(EventType.CANCEL_SERVICE);
setProperties(props);
setContext(context);
+ setCliVersion(cli_version);
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceModifyEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceModifyEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceModifyEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceModifyEvent.java Fri Apr 11 21:18:22 2014
@@ -33,9 +33,9 @@ public class ServiceModifyEvent
private DuccProperties props;
- public ServiceModifyEvent(String user, long friendly, String epname, DuccProperties props, byte[] auth_block)
+ public ServiceModifyEvent(String user, long friendly, String epname, DuccProperties props, byte[] auth_block, int cli_version)
{
- super(EventType.SERVICE_STOP, user, auth_block);
+ super(EventType.SERVICE_STOP, user, auth_block, cli_version);
this.friendly = friendly;
this.epname = epname;
this.props = props;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryEvent.java Fri Apr 11 21:18:22 2014
@@ -25,9 +25,9 @@ public class ServiceQueryEvent
long friendly;
String epname;
- public ServiceQueryEvent(String user, long friendly, String epname, byte[] auth_block)
+ public ServiceQueryEvent(String user, long friendly, String epname, byte[] auth_block, int cli_version)
{
- super(EventType.SERVICE_QUERY, user, auth_block);
+ super(EventType.SERVICE_QUERY, user, auth_block, cli_version);
this.friendly = friendly;
this.epname = epname;
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceRegisterEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceRegisterEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceRegisterEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceRegisterEvent.java Fri Apr 11 21:18:22 2014
@@ -31,9 +31,10 @@ public class ServiceRegisterEvent
private String endpoint;
private DuccProperties descriptor;
- public ServiceRegisterEvent(String user, int ninstances, Trinary autostart, String endpoint, DuccProperties descriptor, byte[] auth_block)
+ public ServiceRegisterEvent(String user, int ninstances, Trinary autostart, String endpoint, DuccProperties descriptor, byte[] auth_block,
+ int cli_version)
{
- super(EventType.SERVICE_REGISTER, user, auth_block);
+ super(EventType.SERVICE_REGISTER, user, auth_block, cli_version);
this.ninstances = ninstances;
this.autostart = autostart;
this.endpoint = endpoint;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStartEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStartEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStartEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStartEvent.java Fri Apr 11 21:18:22 2014
@@ -27,9 +27,9 @@ public class ServiceStartEvent
private int instances;
private boolean update;
- public ServiceStartEvent(String user, int friendly, String epname, byte[] auth_block)
+ public ServiceStartEvent(String user, int friendly, String epname, byte[] auth_block, int cli_version)
{
- super(EventType.SERVICE_START, user, auth_block);
+ super(EventType.SERVICE_START, user, auth_block, cli_version);
this.friendly = friendly;
this.epname = epname;
this.instances = -1; // default, don't change number of instances
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStopEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStopEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStopEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceStopEvent.java Fri Apr 11 21:18:22 2014
@@ -28,9 +28,9 @@ public class ServiceStopEvent
private int instances;
private boolean update;
- public ServiceStopEvent(String user, long friendly, String epname, byte[] auth_block)
+ public ServiceStopEvent(String user, long friendly, String epname, byte[] auth_block, int cli_version)
{
- super(EventType.SERVICE_STOP, user, auth_block);
+ super(EventType.SERVICE_STOP, user, auth_block, cli_version);
this.friendly = friendly;
this.epname = epname;
this.instances = -1;
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceUnregisterEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceUnregisterEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceUnregisterEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceUnregisterEvent.java Fri Apr 11 21:18:22 2014
@@ -26,9 +26,9 @@ public class ServiceUnregisterEvent
private long friendly;
private String epname;
- public ServiceUnregisterEvent(String user, long friendly, String epname, byte[] auth_block)
+ public ServiceUnregisterEvent(String user, long friendly, String epname, byte[] auth_block, int cli_version)
{
- super(EventType.SERVICE_UNREGISTER, user, auth_block);
+ super(EventType.SERVICE_UNREGISTER, user, auth_block, cli_version);
this.friendly = friendly;
this.epname = epname;
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitJobDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitJobDuccEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitJobDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitJobDuccEvent.java Fri Apr 11 21:18:22 2014
@@ -23,8 +23,9 @@ import org.apache.uima.ducc.common.utils
@SuppressWarnings("serial")
public class SubmitJobDuccEvent extends AbstractDuccJobEvent {
- public SubmitJobDuccEvent(DuccProperties props) {
+ public SubmitJobDuccEvent(DuccProperties props, int cli_version) {
super(EventType.SUBMIT_JOB);
setProperties(props);
+ setCliVersion(cli_version);
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitReservationDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitReservationDuccEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitReservationDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitReservationDuccEvent.java Fri Apr 11 21:18:22 2014
@@ -23,8 +23,9 @@ import org.apache.uima.ducc.common.utils
@SuppressWarnings("serial")
public class SubmitReservationDuccEvent extends AbstractDuccReservationEvent {
- public SubmitReservationDuccEvent(DuccProperties props) {
+ public SubmitReservationDuccEvent(DuccProperties props, int cli_version) {
super(EventType.SUBMIT_RESERVATION);
setProperties(props);
+ setCliVersion(cli_version);
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitServiceDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitServiceDuccEvent.java?rev=1586777&r1=1586776&r2=1586777&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitServiceDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SubmitServiceDuccEvent.java Fri Apr 11 21:18:22 2014
@@ -27,9 +27,10 @@ public class SubmitServiceDuccEvent exte
super(EventType.SUBMIT_SERVICE);
}
- public SubmitServiceDuccEvent(DuccProperties props)
+ public SubmitServiceDuccEvent(DuccProperties props, int cli_version)
{
super(EventType.SUBMIT_SERVICE);
setProperties(props);
+ setCliVersion(cli_version);
}
}