From 8aa827f7d4d63898f6655db1e2569617ba8c01d5 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 18 Feb 2009 08:11:13 +0000 Subject: [PATCH] Introduce the Executable interface git-svn-id: https://svn.argeo.org/slc/trunk@2152 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../src/main/java/org/argeo/slc/deploy/Deployment.java | 3 ++- .../src/main/java/org/argeo/slc/process/Executable.java | 7 +++++++ .../main/java/org/argeo/slc/test/ExecutableTestRun.java | 7 +++---- .../org/argeo/slc/test/IncompatibleTestDataException.java | 6 ++++++ .../java/org/argeo/slc/core/test/BasicTestDefinition.java | 3 ++- 5 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/Executable.java diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/deploy/Deployment.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/deploy/Deployment.java index 5be7ffd71..7e471f590 100644 --- a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/deploy/Deployment.java +++ b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/deploy/Deployment.java @@ -1,8 +1,9 @@ package org.argeo.slc.deploy; import org.argeo.slc.build.Distribution; +import org.argeo.slc.process.Executable; -public interface Deployment { +public interface Deployment extends Executable{ public DeployedSystem getDeployedSystem(); public void setTargetData(TargetData targetData); diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/Executable.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/Executable.java new file mode 100644 index 000000000..129b1c636 --- /dev/null +++ b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/process/Executable.java @@ -0,0 +1,7 @@ +package org.argeo.slc.process; + +/** Any object which can perform processing */ +public interface Executable { + /** Executes the actions specified by the object */ + public void execute(); +} diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/ExecutableTestRun.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/ExecutableTestRun.java index db7d01fb3..5b8811377 100644 --- a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/ExecutableTestRun.java +++ b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/ExecutableTestRun.java @@ -1,9 +1,8 @@ package org.argeo.slc.test; -/** A test run that can be executed */ -public interface ExecutableTestRun extends TestRun { +import org.argeo.slc.process.Executable; - /** Executes this test run. */ - public void execute(); +/** A test run that can be executed */ +public interface ExecutableTestRun extends TestRun, Executable { } diff --git a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/IncompatibleTestDataException.java b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/IncompatibleTestDataException.java index 1b5a9e47d..44c3aa65e 100644 --- a/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/IncompatibleTestDataException.java +++ b/runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/test/IncompatibleTestDataException.java @@ -15,4 +15,10 @@ public class IncompatibleTestDataException extends SlcException { + " is not compatible with TestDefinition " + testDefinition.getClass()); } + + public IncompatibleTestDataException(TestRun testRun) { + super("TestData " + testRun.getTestData().getClass() + + " is not compatible with TestDefinition " + + testRun.getTestDefinition().getClass()); + } } diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java index fd07cbe58..e00d8dac0 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java @@ -3,6 +3,7 @@ package org.argeo.slc.core.test; import org.argeo.slc.SlcException; import org.argeo.slc.core.structure.tree.TreeSRelatedHelper; import org.argeo.slc.core.test.context.ContextUtils; +import org.argeo.slc.test.IncompatibleTestDataException; import org.argeo.slc.test.TestData; import org.argeo.slc.test.TestDefinition; import org.argeo.slc.test.TestResult; @@ -38,7 +39,7 @@ public class BasicTestDefinition extends TreeSRelatedHelper implements ContextUtils.compareReachedExpected((ContextAware) testData, testRun.getTestResult(), this); } else { - throw new SlcException("No test data defined."); + throw new IncompatibleTestDataException(testRun); } } } -- 2.39.2