svn commit: r1697426 - in /uima/ruta/trunk/ruta-core/src: main/java/org/apache/uima/ruta/engine/RutaEngine.java test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java

2015-08-24 Thread pkluegl
Author: pkluegl
Date: Mon Aug 24 15:01:28 2015
New Revision: 1697426

URL: http://svn.apache.org/r1697426
Log:
UIMA-4568
- added some debug logging for now (will be removed again)

Modified:

uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java

uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java

Modified: 
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java?rev=1697426r1=1697425r2=1697426view=diff
==
--- 
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
 (original)
+++ 
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
 Mon Aug 24 15:01:28 2015
@@ -70,6 +70,7 @@ import org.apache.uima.ruta.extensions.R
 import org.apache.uima.ruta.parser.RutaLexer;
 import org.apache.uima.ruta.parser.RutaParser;
 import org.apache.uima.ruta.seed.RutaAnnotationSeeder;
+import org.apache.uima.ruta.type.RutaBasic;
 import org.apache.uima.ruta.verbalize.RutaVerbalizer;
 import org.apache.uima.ruta.visitor.CreatedByVisitor;
 import org.apache.uima.ruta.visitor.DebugInfoCollectorVisitor;
@@ -91,16 +92,15 @@ public class RutaEngine extends JCasAnno
 
   public static final String FRAME_TYPE = 
org.apache.uima.ruta.type.RutaFrame;
 
-  
   /**
-   * A String parameter representing the rule that should be applied by the 
analysis engine.
-   * If set, it replaces the content of file specified by the {@code 
mainScript} parameter.
+   * A String parameter representing the rule that should be applied by the 
analysis engine. If set,
+   * it replaces the content of file specified by the {@code mainScript} 
parameter.
*/
   public static final String PARAM_RULES = rules;
 
   @ConfigurationParameter(name = PARAM_RULES, mandatory = false)
   private String rules;
-  
+
   /**
* Load script in Java notation, with {@code .} as package separator and 
no extension. File
* needs to be located in the path specified below with ending {@code .ruta}.
@@ -253,7 +253,7 @@ public class RutaEngine extends JCasAnno
*/
   public static final String PARAM_REMOVE_BASICS = removeBasics;
 
-  @ConfigurationParameter(name = PARAM_REMOVE_BASICS, mandatory = false, 
defaultValue = true)
+  @ConfigurationParameter(name = PARAM_REMOVE_BASICS, mandatory = false, 
defaultValue = false)
   private Boolean removeBasics;
 
   /**
@@ -269,8 +269,8 @@ public class RutaEngine extends JCasAnno
 
   /**
* This parameter specifies whether the memory consumption should be 
reduced. This parameter
-   * should be set to true for very large CAS documents (e.g., gt; 500k 
tokens), but it also reduces
-   * the performance. The default value is set to false.
+   * should be set to true for very large CAS documents (e.g., gt; 500k 
tokens), but it also
+   * reduces the performance. The default value is set to false.
*/
   public static final String PARAM_LOW_MEMORY_PROFILE = lowMemoryProfile;
 
@@ -386,7 +386,8 @@ public class RutaEngine extends JCasAnno
* string array specifies the variable of the n-th entry of the string array 
of the parameter
* varValues. If the variables is defined in the root of a script, then the 
name of the variable
* suffices. If the variable is defined in a BLOCK or imported script, then 
the the name must
-   * contain the namespaces of the blocks as a prefix, e.g., 
InnerBlock.varName or OtherScript.SomeBlock.varName
+   * contain the namespaces of the blocks as a prefix, e.g., 
InnerBlock.varName or
+   * OtherScript.SomeBlock.varName
*/
   public static final String PARAM_VAR_NAMES = varNames;
 
@@ -486,7 +487,7 @@ public class RutaEngine extends JCasAnno
   varValues = (String[]) 
aContext.getConfigParameterValue(PARAM_VAR_VALUES);
   dictRemoveWS = (Boolean) 
aContext.getConfigParameterValue(PARAM_DICT_REMOVE_WS);
   dictRemoveWS = dictRemoveWS == null ? false : dictRemoveWS;
-  
+
   this.context = aContext;
 
   factory = new RutaExternalFactory();
@@ -524,7 +525,12 @@ public class RutaEngine extends JCasAnno
 
   @Override
   public void process(JCas jcas) throws AnalysisEngineProcessException {
+
 CAS cas = jcas.getCas();
+
+// TODO: added logging method calls temporarily for UIMA-4568
+logInfoForFirstBasic(begin of process, cas);
+
 if (reloadScript || (!initialized  
!cas.getViewName().equals(CAS.NAME_DEFAULT_SOFA))) {
   initializeScript(cas.getViewName());
 } else {
@@ -684,9 +690,38 @@ public class RutaEngine extends JCasAnno
 simpleGreedyForComposed, crowd);
 
 stream.initalizeBasics();
+// TODO: added logging method calls temporarily for UIMA-4568
+logInfoForFirstBasic(after initBasics, cas);
 return stream;
   }
 
+  private void 

svn commit: r1697340 - /uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java

2015-08-24 Thread pkluegl
Author: pkluegl
Date: Mon Aug 24 09:29:13 2015
New Revision: 1697340

URL: http://svn.apache.org/r1697340
Log:
UIMA-4568
- simple unit test as test bed

Added:

uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
   (with props)

Added: 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java?rev=1697340view=auto
==
--- 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
 (added)
+++ 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
 Mon Aug 24 09:29:13 2015
@@ -0,0 +1,58 @@
+/*
+ * 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.ruta.engine;
+
+import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine;
+
+import java.io.IOException;
+
+import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.cas.CAS;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.util.InvalidXMLException;
+import org.junit.Test;
+
+public class StackedScriptsTest {
+
+  @Test
+  public void test() throws ResourceInitializationException, 
InvalidXMLException, IOException, AnalysisEngineProcessException {
+String rules1 = CW{-T1};;
+String rules2 = T1 W{-T2} W{-T3};;
+String rules3 = W{PARTOF({T1,T2,T3})-T4};;
+
+AnalysisEngine rutaAE1 = createEngine(RutaEngine.class, 
RutaEngine.PARAM_RULES, rules1);
+AnalysisEngine rutaAE2 = createEngine(RutaEngine.class, 
RutaEngine.PARAM_RULES, rules2);
+AnalysisEngine rutaAE3 = createEngine(RutaEngine.class, 
RutaEngine.PARAM_RULES, rules3);
+
+CAS cas = RutaTestUtils.getCAS(This is a simple test.);
+
+rutaAE1.process(cas);
+rutaAE2.process(cas);
+rutaAE3.process(cas);
+
+RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, This);
+RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, is);
+RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, a);
+RutaTestUtils.assertAnnotationsEquals(cas, 4, 3, This, is, a);
+
+
+  }
+
+}

Propchange: 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
--
svn:eol-style = native




svn commit: r1697489 - /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js

2015-08-24 Thread degenaro
Author: degenaro
Date: Mon Aug 24 19:39:32 2015
New Revision: 1697489

URL: http://svn.apache.org/r1697489
Log:
UIMA-4539 DUCC Web Server (WS) DUCC's home should be more easily found from WS

Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js?rev=1697489r1=1697488r2=1697489view=diff
==
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js 
(original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/js/ducc.js 
Mon Aug 24 19:39:32 2015
@@ -210,6 +210,37 @@ function ducc_version() {
 }
 }
 
+var wip_home = false;
+
+function ducc_home() {
+var fname = ducc_home;
+var data = null;
+if(wip_home) {
+ducc_console_warn(fname+ already in progress...)
+return;
+}
+wip_home = true;
+try {
+var servlet = /ducc-servlet/home;
+var tomsecs = ms_timeout;
+$.ajax({
+url: servlet,
+timeout: tomsecs
+}).done(function(data) {
+wip_home = false;
+$(#home).html(data);
+data = null;
+ducc_console_success(fname);
+}).fail(function(jqXHR, textStatus) {
+wip_home = false;
+ducc_console_fail(fname, textStatus);
+});
+} catch (err) {
+wip_home = false;
+ducc_error(fname, err);
+}
+}
+
 var wip_password_checked = false;
 
 function ducc_password_checked() {
@@ -2474,6 +2505,7 @@ function ducc_init(type) {
 try {
 ducc_identity();
 ducc_version();
+ducc_home();
 ducc_links();
 ducc_cookies();
 if (type == viz) {




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

2015-08-24 Thread degenaro
Author: degenaro
Date: Mon Aug 24 19:31:25 2015
New Revision: 1697487

URL: http://svn.apache.org/r1697487
Log:
UIMA-4539 DUCC Web Server (WS) DUCC's home should be more easily found from WS

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=1697487r1=1697486r2=1697487view=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
 Mon Aug 24 19:31:25 2015
@@ -132,6 +132,7 @@ public class DuccHandler extends DuccAbs
private DuccAuthenticator duccAuthenticator = 
DuccAuthenticator.getInstance();

private String duccVersion  
= duccContext+/version;
+   private String duccHome 
= duccContext+/home;

private String duccLoginLink= 
duccContext+/login-link;
private String duccLogoutLink   = 
duccContext+/logout-link;
@@ -281,6 +282,17 @@ public class DuccHandler extends DuccAbs
duccLogger.trace(methodName, null, messages.fetch(exit));
}   

+   private void handleDuccServletHome(String target,Request 
baseRequest,HttpServletRequest request,HttpServletResponse response) 
+   throws IOException, ServletException
+   {
+   String methodName = handleDuccServletHome;
+   duccLogger.trace(methodName, null, messages.fetch(enter));
+   StringBuffer sb = new StringBuffer();
+   sb.append(dir_home);
+   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
{
@@ -3630,7 +3642,7 @@ public class DuccHandler extends DuccAbs
StringBuffer sb = new StringBuffer();
IDuccWorkMap duccWorkMap = DuccData.getInstance().get();
if(duccWorkMap.size() 0) {
-   sb.append(span title=\home=+dir_home+\);
+   sb.append(span);
sb.append(getDuccWebServer().getClusterName());
sb.append(/span);
}
@@ -4668,6 +4680,10 @@ public class DuccHandler extends DuccAbs
handleDuccServletVersion(target, baseRequest, 
request, response);
//DuccWebUtil.noCache(response);
}
+   else if(reqURI.startsWith(duccHome)) {
+   handleDuccServletHome(target, baseRequest, 
request, response);
+   //DuccWebUtil.noCache(response);
+   }
else if(reqURI.startsWith(duccAuthenticationStatus)) {
handleDuccServletAuthenticationStatus(target, 
baseRequest, request, response);
DuccWebUtil.noCache(response);




svn commit: r1697485 - in /uima/sandbox/uima-ducc/trunk: uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/ uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ uima-ducc-transport/src/main/

2015-08-24 Thread challngr
Author: challngr
Date: Mon Aug 24 19:25:05 2015
New Revision: 1697485

URL: http://svn.apache.org/r1697485
Log:
UIMA-4569 RM should report allocations in GB instead of shares.

Modified:

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/IRmJob.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ISchedulerMain.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Machine.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodePool.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ResourceClass.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/RmJob.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Share.java

uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/User.java

uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/RmStateDuccEvent.java

uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/rm/IRmJobState.java

uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/rm/Resource.java

uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/rm/RmJobState.java

uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/JobFragment.java

uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/Markup.java

uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/NodeViz.java

uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/VisualizedHost.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java?rev=1697485r1=1697484r2=1697485view=diff
==
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
 Mon Aug 24 19:25:05 2015
@@ -124,7 +124,6 @@ public class JobManagerConverter
 {
String methodName = blacklistJob;
 
-int order = scheduler.calcShareOrder(memory);
 MapDuccId, IResource all_shares  = null; 
 MapDuccId, IResource shrunken_shares = null;
 MapDuccId, IResource expanded_shares = null;
@@ -137,16 +136,18 @@ public class JobManagerConverter
 
 // first time - everything must go
 IDuccProcessMap pm = ((IDuccWorkExecutable)job).getProcessMap();   
   
+int quantum = 0;
 for ( IDuccProcess proc : pm.values() ) {  // build up Shares 
from the incoming state
 NodeIdentity ni = proc.getNodeIdentity();
 Machine m = scheduler.getMachine(ni);
 int share_order = 1;
+quantum = m.getQuantum();
 
 if ( m != null ) {
 if ( proc.isActive() || (proc.getProcessState() == 
ProcessState.Undefined) ) {
 logger.info(methodName, job.getDuccId(), blacklist, 
proc.getDuccId(), 
 state, proc.getProcessState(), isActive, 
proc.isActive(), isComplete, proc.isComplete());
-m.blacklist(job.getDuccId(), proc.getDuccId(), order);
+m.blacklist(job.getDuccId(), proc.getDuccId(), memory);
 if ( evict ) {
 share_order = m.getShareOrder(); // best guess
 Resource r = new Resource(proc.getDuccId(), 
proc.getNode(), false, share_order, 0);
@@ -162,7 +163,7 @@ public class JobManagerConverter
 }
 
 if ( evict  (shrunken_shares.size()  0) ) {
-RmJobState rjs = new RmJobState(job.getDuccId(), all_shares, 
shrunken_shares, expanded_shares);
+RmJobState rjs = new RmJobState(job.getDuccId(), quantum, 
all_shares, shrunken_shares, expanded_shares);
 rjs.setDuccType(job.getDuccType());

svn commit: r1697488 - /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp

2015-08-24 Thread degenaro
Author: degenaro
Date: Mon Aug 24 19:38:57 2015
New Revision: 1697488

URL: http://svn.apache.org/r1697488
Log:
UIMA-4539 DUCC Web Server (WS) DUCC's home should be more easily found from WS

Modified:

uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/%24banner/c4-ducc-mon.jsp?rev=1697488r1=1697487r2=1697488view=diff
==
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/$banner/c4-ducc-mon.jsp
 Mon Aug 24 19:38:57 2015
@@ -24,16 +24,21 @@ under the License.
 tr
 td valign=middle align=center
 div
-bbigspan class=titleducc-mon/span/big/b
-br
+table
+tr
+tdbspan class=titleducc-mon/span/b
+tdtdiVersion: bspan class=version id=version/b/span/i
+/table
 span class=title_acronymD/spanspan class=titleistributed/span
 span class=title_acronymU/spanspan class=titleIMA/span
 span class=title_acronymC/spanspan class=titleluster/span
 span class=title_acronymC/spanspan class=titleomputing/span
 span class=title_acronymMon/spanspan class=titleitor/span
 br
-iVersion: span class=version id=version/span/i
-br
+table
+tr
+tdiHome: bspan class=home id=home/span/b/i
+/table
 table
 tr
 td valign=middle align=center




svn commit: r1697497 - /uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java

2015-08-24 Thread challngr
Author: challngr
Date: Mon Aug 24 20:23:32 2015
New Revision: 1697497

URL: http://svn.apache.org/r1697497
Log:
UIMA-4569 RM should report allocations in GB instead of shares.

Modified:

uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java?rev=1697497r1=1697496r2=1697497view=diff
==
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java
 Mon Aug 24 20:23:32 2015
@@ -144,6 +144,7 @@ public class NodeConfiguration
 defaultNodepool.put(name, optional);
 defaultNodepool.put(nodefile, optional);
 defaultNodepool.put(parent, optional);
+defaultNodepool.put(share-quantum, optional);
 defaultNodepool.put(domain, optional);
 defaultNodepool.put(search-order, 100);// temporary.  UIMA-4324
 
@@ -641,6 +642,37 @@ public class NodeConfiguration
 }
 
 /**
+ * Look at all top-level nodepools and insure the scheduling quantum is 
set.  If not, inherit it from
+ * ducc.properties.
+ */
+void setShareQuantum()
+   throws IllegalConfigurationException
+{
+for (DuccProperties props : independentNodepools ) {
+String q = props.getProperty(share-quantum);
+if ( q == null ) {
+props.setProperty(share-quantum, 
+SystemPropertyResolver.getIntProperty(ducc.rm.share.quantum, 15));
+} else {
+try {
+int quantum = Integer.parseInt(q);
+} catch (NumberFormatException e) {
+throw new IllegalConfigurationException(Value for 
\share-quantum\ in nodepool  + props.getProperty(name) +  is not a 
number.);
+}
+}
+}
+}
+
+/**
+ * (Recursively) walk up parental chain to find the top-level np for this 
guy.
+ */
+DuccProperties getTopLevel(DuccProperties child)
+{
+String parent = child.getStringProperty(parent, null);
+if ( parent == null ) return child;
+return getTopLevel(nodepools.get(parent));
+}
+
+/**
  * Find all the top-level nodepools.
  * Make sure every parent nodepool exists.
  * Set the names of the child nodepools into each parent.
@@ -650,12 +682,26 @@ public class NodeConfiguration
 throws IllegalConfigurationException
 {
 
-// map the child nodepools into their parents
+// Insure default is set right
+setShareQuantum();
+
+// Map the child nodepools into their parents
 for ( DuccProperties p : nodepools.values() ) {
 String parent = p.getStringProperty(parent, null);
 String name   = p.getStringProperty(name);
 
 if ( parent != null ) {
+
+// Insure no scheduling quantum is set
+if ( p.getProperty(share-quantum) != null ) {
+throw new IllegalConfigurationException(Nodepool  + name 
+ : \share-quantum\ is legal only for top-level nodepools.);
+}
+
+// Now pull down the parent's scheduling quantum
+DuccProperties tl = getTopLevel(p);
+p.setProperty(share-quantum, 
tl.getProperty(share-quantum));  // (guaranteed non-null by 
setSchedulingQuantum)
+
+// And now connect children and parents
 DuccProperties par_pool = nodepools.get(parent);
 if ( par_pool == null ) {
 throw new IllegalConfigurationException(Nodepool  + 
name+  parent pool  + parent +  cannot be found.);
@@ -952,6 +998,23 @@ public class NodeConfiguration
 return reserveDefault;
 }
 
+public int getShareQuantum(String classname)
+throws IllegalConfigurationException
+{
+// to find the quantum for a class - 
+// -- look up the class to get the nodepool name
+// -- look in the nodepool for the quantum
+// must throw on invalid classname which could be a tupo on the part 
of whoever calls this
+DuccProperties props = clmap.get(classname);
+if ( props == null ) {
+throw new IllegalConfigurationException(Class  + classname +  
is not configured.);
+}
+
+String npname = props.getProperty(nodepool);
+DuccProperties np = nodepools.get(npname);
+return Integer.parseInt(np.getProperty(share-quantum));
+}
+
 public DuccProperties[] getToplevelNodepools()
 

svn commit: r1697512 - /uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java

2015-08-24 Thread burn
Author: burn
Date: Mon Aug 24 22:53:48 2015
New Revision: 1697512

URL: http://svn.apache.org/r1697512
Log:
UIMA-4564 Only if a reservation request should a state of Assigned terminate 
the monitor

Modified:

uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java?rev=1697512r1=1697511r2=1697512view=diff
==
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccMonitor.java
 Mon Aug 24 22:53:48 2015
@@ -391,7 +391,7 @@ public abstract class DuccMonitor {
flag_cancel_on_interrupt.set(false);
message.append(details(monitorInfo));
}
-   else if (state.equals(StateAssigned)) {   
// A reservation has completed
+   else if (context == DuccContext.Reservation  
state.equals(StateAssigned)) {   // A reservation has completed
flag_cancel_on_interrupt.set(false);
message.append(details(monitorInfo));
}
@@ -427,7 +427,7 @@ public abstract class DuccMonitor {
}
}
}
-   if (state.equals(StateAssigned)) {
+   if (context == DuccContext.Reservation  
state.equals(StateAssigned)) {
if(monitorInfo.nodes != null) {
if(monitorInfo.nodes.size()  
0) {
StringBuffer sb = new 
StringBuffer();