[Major] Refactored package for policies in model project
- added additional tests
This commit is contained in:
parent
5da07f5824
commit
12ca8c4f07
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue