Author: pkluegl Date: Thu Jul 11 10:48:58 2013 New Revision: 1502183 URL: http://svn.apache.org/r1502183 Log: UIMA-3068 - fixed circular imports
Modified: uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java Modified: uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java?rev=1502183&r1=1502182&r2=1502183&view=diff ============================================================================== --- uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java (original) +++ uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java Thu Jul 11 10:48:58 2013 @@ -81,7 +81,7 @@ public class RutaEngine extends JCasAnno public static final String BASIC_TYPE = "org.apache.uima.ruta.type.RutaBasic"; public static final String OPTIONAL_TYPE = "org.apache.uima.ruta.type.RutaOptional"; - + public static final String SEEDERS = "seeders"; public static final String REMOVE_BASICS = "removeBasics"; @@ -128,8 +128,6 @@ public class RutaEngine extends JCasAnno public static final String SIMPLE_GREEDY_FOR_COMPOSED = "simpleGreedyForComposed"; - - private String[] seeders; private Boolean createDebugInfo; @@ -327,17 +325,21 @@ public class RutaEngine extends JCasAnno mainRootBlock.getEnvironment().initializeTypes(cas); Collection<RutaModule> values = script.getScripts().values(); for (RutaModule eachModule : values) { - relinkEnvironments(eachModule, mainRootBlock); + relinkEnvironments(eachModule, mainRootBlock, new ArrayList<RutaModule>()); // initializeTypes(eachModule, cas); } } - private void relinkEnvironments(RutaModule script, RutaBlock mainRootBlock) { - RutaBlock block = script.getBlock(null); - block.setParent(mainRootBlock); - Collection<RutaModule> innerScripts = script.getScripts().values(); - for (RutaModule module : innerScripts) { - relinkEnvironments(module, mainRootBlock); + private void relinkEnvironments(RutaModule script, RutaBlock mainRootBlock, + Collection<RutaModule> processed) { + if (!processed.contains(script)) { + processed.add(script); + RutaBlock block = script.getBlock(null); + block.setParent(mainRootBlock); + Collection<RutaModule> innerScripts = script.getScripts().values(); + for (RutaModule module : innerScripts) { + relinkEnvironments(module, mainRootBlock, processed); + } } } @@ -709,7 +711,7 @@ public class RutaEngine extends JCasAnno private String collectionToString(Object[] collection) { return collectionToString(Arrays.asList(collection)); } - + public void batchProcessComplete() throws AnalysisEngineProcessException { super.batchProcessComplete(); Collection<AnalysisEngine> values = script.getEngines().values(); @@ -725,7 +727,5 @@ public class RutaEngine extends JCasAnno each.collectionProcessComplete(); } } - - - + }