Search in sources :

Example 11 with TaskContext

use of org.dkpro.lab.engine.TaskContext in project dkpro-lab by dkpro.

the class BatchTaskTest method importTest.

@Test(expected = RuntimeException.class)
public void importTest() throws Exception {
    Task producer = new ExecutableTaskBase() {

        @Override
        public void execute(TaskContext aContext) throws Exception {
            System.out.println("Running producer");
            Properties data = new Properties();
            data.setProperty("key", "value");
            aContext.storeBinary("DATA", new PropertiesAdapter(data));
        }
    };
    Task consumer = new ExecutableTaskBase() {

        @Override
        public void execute(TaskContext aContext) throws Exception {
            System.out.println("Running consumer");
            Properties data = new Properties();
            aContext.retrieveBinary("DATA", new PropertiesAdapter(data));
            Assert.assertEquals(data.getProperty("key"), "value");
        }
    };
    consumer.addImport(producer, "DATA1", "DATA");
    DefaultBatchTask batch = new DefaultBatchTask();
    batch.addTask(producer);
    batch.addTask(consumer);
    Lab.getInstance().run(batch);
}
Also used : Task(org.dkpro.lab.task.Task) DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) TaskContext(org.dkpro.lab.engine.TaskContext) PropertiesAdapter(org.dkpro.lab.storage.impl.PropertiesAdapter) ExecutableTaskBase(org.dkpro.lab.task.impl.ExecutableTaskBase) Properties(java.util.Properties) DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) Test(org.junit.Test)

Example 12 with TaskContext

use of org.dkpro.lab.engine.TaskContext in project dkpro-lab by dkpro.

the class BatchTaskTest method testUnresolvable.

@Test(expected = RuntimeException.class)
public void testUnresolvable() throws Exception {
    Dimension<String> dim = Dimension.create("param", "1", "2", "3");
    ParameterSpace pSpace = new ParameterSpace(dim);
    Task task1 = new ExecutableTaskBase() {

        @Discriminator
        private String param;

        @Override
        public void execute(TaskContext aContext) throws Exception {
        // Nothing to do
        }
    };
    Task task2 = new ExecutableTaskBase() {

        @Discriminator
        private String param;

        @Override
        public void execute(TaskContext aContext) throws Exception {
        // Nothing to do
        }
    };
    task2.addImport(task1, "DUMMY");
    task1.addImport(task2, "DUMMY");
    DefaultBatchTask batchTask = new DefaultBatchTask();
    batchTask.setParameterSpace(pSpace);
    batchTask.addTask(task1);
    batchTask.addTask(task2);
    Lab.getInstance().run(batchTask);
}
Also used : Task(org.dkpro.lab.task.Task) DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) TaskContext(org.dkpro.lab.engine.TaskContext) ParameterSpace(org.dkpro.lab.task.ParameterSpace) ExecutableTaskBase(org.dkpro.lab.task.impl.ExecutableTaskBase) DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) Test(org.junit.Test)

Example 13 with TaskContext

use of org.dkpro.lab.engine.TaskContext in project dkpro-lab by dkpro.

the class TaskBaseTest method settingDiscriminatorsNotAllowedAfterTaskRan.

@Test(expected = IllegalStateException.class)
public void settingDiscriminatorsNotAllowedAfterTaskRan() throws Exception {
    Task consumer = new ExecutableTaskBase() {

        @Override
        public void execute(TaskContext aContext) throws Exception {
        // do nothing
        }
    };
    // this should still work
    consumer.setDescriminator("DUMMY_KEY", "123");
    DefaultBatchTask batch = new DefaultBatchTask();
    batch.addTask(consumer);
    Lab.getInstance().run(batch);
    // Task did run - no modification allowed
    consumer.setDescriminator("DUMMY_KEY_2", "1234");
}
Also used : DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) TaskContext(org.dkpro.lab.engine.TaskContext) ExecutableTaskBase(org.dkpro.lab.task.impl.ExecutableTaskBase) DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) Test(org.junit.Test)

Example 14 with TaskContext

use of org.dkpro.lab.engine.TaskContext in project dkpro-lab by dkpro.

the class TaskBaseTest method settingAttributesNotAllowedAfterTaskRan.

@Test(expected = IllegalStateException.class)
public void settingAttributesNotAllowedAfterTaskRan() throws Exception {
    Task consumer = new ExecutableTaskBase() {

        @Override
        public void execute(TaskContext aContext) throws Exception {
        // do nothing
        }
    };
    // this should still work
    consumer.setAttribute("DUMMY_KEY", "123");
    DefaultBatchTask batch = new DefaultBatchTask();
    batch.addTask(consumer);
    Lab.getInstance().run(batch);
    // Task did run - no modification allowed
    consumer.setAttribute("DUMMY_KEY_2", "1234");
}
Also used : DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) TaskContext(org.dkpro.lab.engine.TaskContext) ExecutableTaskBase(org.dkpro.lab.task.impl.ExecutableTaskBase) DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) Test(org.junit.Test)

Example 15 with TaskContext

use of org.dkpro.lab.engine.TaskContext in project dkpro-lab by dkpro.

the class MultiThreadBatchTaskTest method importTest.

@Test(expected = UnresolvedImportException.class)
public void importTest() throws Exception {
    Task producer = new ExecutableTaskBase() {

        @Override
        public void execute(TaskContext aContext) throws Exception {
            System.out.println("Running producer");
            Properties data = new Properties();
            data.setProperty("key", "value");
            aContext.storeBinary("DATA", new PropertiesAdapter(data));
        }
    };
    Task consumer = new ExecutableTaskBase() {

        @Override
        public void execute(TaskContext aContext) throws Exception {
            System.out.println("Running consumer");
            Properties data = new Properties();
            aContext.retrieveBinary("DATA", new PropertiesAdapter(data));
            Assert.assertEquals(data.getProperty("key"), "value");
        }
    };
    consumer.addImport(producer, "DATA1", "DATA");
    DefaultBatchTask batch = new DefaultBatchTask();
    // BatchTask batch = new BatchTask();
    batch.addTask(producer);
    batch.addTask(consumer);
    Lab.getInstance().run(batch);
}
Also used : DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) TaskContext(org.dkpro.lab.engine.TaskContext) PropertiesAdapter(org.dkpro.lab.storage.impl.PropertiesAdapter) ExecutableTaskBase(org.dkpro.lab.task.impl.ExecutableTaskBase) Properties(java.util.Properties) DefaultBatchTask(org.dkpro.lab.task.impl.DefaultBatchTask) Test(org.junit.Test)

Aggregations

TaskContext (org.dkpro.lab.engine.TaskContext)17 DefaultBatchTask (org.dkpro.lab.task.impl.DefaultBatchTask)11 ExecutableTaskBase (org.dkpro.lab.task.impl.ExecutableTaskBase)9 Test (org.junit.Test)9 ParameterSpace (org.dkpro.lab.task.ParameterSpace)7 File (java.io.File)5 ExecutionException (org.dkpro.lab.engine.ExecutionException)5 Task (org.dkpro.lab.task.Task)5 LifeCycleException (org.dkpro.lab.engine.LifeCycleException)4 ArrayList (java.util.ArrayList)3 ImsCwbWriter (de.tudarmstadt.ukp.dkpro.core.io.imscwb.ImsCwbWriter)2 XmiWriter (de.tudarmstadt.ukp.dkpro.core.io.xmi.XmiWriter)2 SnowballStemmer (de.tudarmstadt.ukp.dkpro.core.snowball.SnowballStemmer)2 BreakIteratorSegmenter (de.tudarmstadt.ukp.dkpro.core.tokit.BreakIteratorSegmenter)2 Properties (java.util.Properties)2 UIMAFramework.newDefaultResourceManager (org.apache.uima.UIMAFramework.newDefaultResourceManager)2 AnalysisEngineDescription (org.apache.uima.analysis_engine.AnalysisEngineDescription)2 ResourceManager (org.apache.uima.resource.ResourceManager)2 ExamplePosAnnotator (org.dkpro.lab.ml.example.ExamplePosAnnotator)2 UnresolvedImportException (org.dkpro.lab.storage.UnresolvedImportException)2