@Test public void testChangeJCas() { settings.set("key", "value"); assertEquals("value", settings.get("key").get()); JobSettings settings2 = new JobSettings(jCas); assertEquals("value", settings2.get("key").get()); } }
@Override public final void getNext(final JCas jCas) throws IOException, CollectionException { getMonitor().startFunction("getNext"); MetricsFactory.getInstance() .getPipelineMetrics(monitor.getPipelineName()) .startDocumentProcess(); jCas.setDocumentText(JobSettings.class.getSimpleName()); jCas.setDocumentLanguage("en"); final JobSettings settings = new JobSettings(jCas); for (final Map.Entry<String, String> e : config.entrySet()) { settings.set(e.getKey(), e.getValue()); } getMonitor().finishFunction("getNext"); }
@Override public final void process(final JCas aJCas) throws AnalysisEngineProcessException { monitor.startFunction("execute"); execute(new JobSettings(aJCas)); monitor.finishFunction("execute"); monitor.persistCounts(); }
/** * Sets the value of a key. * * @param key the key * @param value the value (if null the key will be deleted) */ public void set(final String key, final String value) { // Null = delete if (value == null) { remove(key); return; } // Do we have any existing metadata this this key? final Optional<Metadata> mdFound = metadata.findMetadata(key); // If so, update or else create Metadata md; if (mdFound.isPresent()) { md = mdFound.get(); md.setValue(value); } else { md = new Metadata(jCas); md.setBegin(0); md.setEnd(1); md.setKey(key); md.setValue(value); } md.addToIndexes(); }
@Override protected void execute(JobSettings settings) throws AnalysisEngineProcessException { settings.set(key, value); } }
@Override protected void execute(JobSettings settings) throws AnalysisEngineProcessException { executedCount++; // NOTE: You should never hold onto this , not in a static or anything like that but its // useful for our test. lastSettings = settings.get("key"); }
@Override public final void getNext(final JCas jCas) throws IOException, CollectionException { getMonitor().startFunction("getNext"); MetricsFactory.getInstance() .getPipelineMetrics(monitor.getPipelineName()) .startDocumentProcess(); jCas.setDocumentText(JobSettings.class.getSimpleName()); jCas.setDocumentLanguage("en"); final JobSettings settings = new JobSettings(jCas); for (final Map.Entry<String, String> e : config.entrySet()) { settings.set(e.getKey(), e.getValue()); } getMonitor().finishFunction("getNext"); }
@Override public final void process(final JCas aJCas) throws AnalysisEngineProcessException { monitor.startFunction("execute"); execute(new JobSettings(aJCas)); monitor.finishFunction("execute"); monitor.persistCounts(); }
/** * Sets the value of a key. * * @param key the key * @param value the value (if null the key will be deleted) */ public void set(final String key, final String value) { // Null = delete if (value == null) { remove(key); return; } // Do we have any existing metadata this this key? final Optional<Metadata> mdFound = metadata.findMetadata(key); // If so, update or else create Metadata md; if (mdFound.isPresent()) { md = mdFound.get(); md.setValue(value); } else { md = new Metadata(jCas); md.setBegin(0); md.setEnd(1); md.setKey(key); md.setValue(value); } md.addToIndexes(); }
@Test public void testWithParams() throws ResourceInitializationException, AnalysisEngineProcessException { AnalysisEngine task = create(DummyTaskWithParams.class, "value", "different"); JobSettings settings = execute(task); assertEquals("different", settings.get("key").get()); }
@Before public void before() throws UIMAException { jCas = JCasSingleton.getJCasInstance(); settings = new JobSettings(jCas); }
@Test public void testWithDefaultParams() throws ResourceInitializationException, AnalysisEngineProcessException { AnalysisEngine task = create(DummyTaskWithParams.class); JobSettings settings = execute(task); assertEquals("value", settings.get("key").get()); }
protected JobSettings execute(AnalysisEngine... analysisEngines) throws AnalysisEngineProcessException { jCas.reset(); for (AnalysisEngine ae : analysisEngines) { ae.process(jCas); } return new JobSettings(jCas); }
@Test public void testTwoTasks() throws ResourceInitializationException, AnalysisEngineProcessException { AnalysisEngine task1 = create(DummyTaskWithParams.class, "value", "different"); AnalysisEngine task2 = create(CounterTask.class); JobSettings settings = execute(task1, task2); assertEquals("different", settings.get("key").get()); }