[Major] Refactored package for policies in model project

- added additional tests
This commit is contained in:
Robert von Burg 2015-08-22 15:29:48 +02:00
parent 5da07f5824
commit 12ca8c4f07
7 changed files with 11 additions and 9 deletions

View File

@ -26,7 +26,6 @@ import li.strolch.agent.api.StrolchComponent;
import li.strolch.exception.StrolchPolicyException; import li.strolch.exception.StrolchPolicyException;
import li.strolch.model.policy.JavaPolicyDef; import li.strolch.model.policy.JavaPolicyDef;
import li.strolch.model.policy.KeyPolicyDef; import li.strolch.model.policy.KeyPolicyDef;
import li.strolch.model.policy.Policy;
import li.strolch.model.policy.PolicyDef; import li.strolch.model.policy.PolicyDef;
import li.strolch.model.policy.PolicyDefVisitor; import li.strolch.model.policy.PolicyDefVisitor;
import li.strolch.policy.StrolchPolicyFileParser.PolicyModel; import li.strolch.policy.StrolchPolicyFileParser.PolicyModel;
@ -75,7 +74,7 @@ public class DefaultPolicyHandler extends StrolchComponent implements PolicyHand
} }
@Override @Override
public <T extends Policy> T getPolicy(PolicyDef policyDef) { public <T> T getPolicy(PolicyDef policyDef) {
return policyDef.accept(this); return policyDef.accept(this);
} }

View File

@ -15,7 +15,6 @@
*/ */
package li.strolch.policy; package li.strolch.policy;
import li.strolch.model.policy.Policy;
import li.strolch.model.policy.PolicyDef; import li.strolch.model.policy.PolicyDef;
import li.strolch.model.policy.PolicyDefVisitor; import li.strolch.model.policy.PolicyDefVisitor;
@ -51,5 +50,5 @@ public interface PolicyHandler {
* *
* @return the instantiated instance of the referenced policy * @return the instantiated instance of the referenced policy
*/ */
public <T extends Policy> T getPolicy(PolicyDef policyDef); public <T> T getPolicy(PolicyDef policyDef);
} }

View File

@ -16,11 +16,12 @@
package li.strolch.policytest; package li.strolch.policytest;
import li.strolch.model.activity.Action; import li.strolch.model.activity.Action;
import li.strolch.model.policy.Policy;
/** /**
* @author Robert von Burg <eitch@eitchnet.ch> * @author Robert von Burg <eitch@eitchnet.ch>
*/ */
public interface TestConfirmationPolicy { public interface TestConfirmationPolicy extends Policy {
public void confirm(Action action); public void confirm(Action action);
} }

View File

@ -16,11 +16,12 @@
package li.strolch.policytest; package li.strolch.policytest;
import li.strolch.model.activity.Action; import li.strolch.model.activity.Action;
import li.strolch.model.policy.Policy;
/** /**
* @author Robert von Burg <eitch@eitchnet.ch> * @author Robert von Burg <eitch@eitchnet.ch>
*/ */
public interface TestExecutionPolicy { public interface TestExecutionPolicy extends Policy {
public void execute(Action action); public void execute(Action action);
} }

View File

@ -16,11 +16,12 @@
package li.strolch.policytest; package li.strolch.policytest;
import li.strolch.model.activity.Action; import li.strolch.model.activity.Action;
import li.strolch.model.policy.Policy;
/** /**
* @author Robert von Burg <eitch@eitchnet.ch> * @author Robert von Burg <eitch@eitchnet.ch>
*/ */
public interface TestPlanningPolicy { public interface TestPlanningPolicy extends Policy {
public void plan(Action action); public void plan(Action action);
} }

View File

@ -63,8 +63,8 @@
</Component> </Component>
<Component> <Component>
<name>PolicyHandler</name> <name>PolicyHandler</name>
<api>li.strolch.model.policy.PolicyHandler</api> <api>li.strolch.policy.PolicyHandler</api>
<impl>li.strolch.model.policy.DefaultPolicyHandler</impl> <impl>li.strolch.policy.DefaultPolicyHandler</impl>
<Properties> <Properties>
<readPolicyFile>true</readPolicyFile> <readPolicyFile>true</readPolicyFile>
<policyConfigFile>StrolchPolicies.xml</policyConfigFile> <policyConfigFile>StrolchPolicies.xml</policyConfigFile>

View File

@ -119,6 +119,7 @@ public abstract class PolicyDef {
try { try {
Class.forName(value); Class.forName(value);
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
throw new StrolchPolicyException("Invalid policy configuration. Policy does not exist: " + value); throw new StrolchPolicyException("Invalid policy configuration. Policy does not exist: " + value);
} }