[New] Added ReloadPoliciesJob
This commit is contained in:
parent
8e3b22b3e3
commit
d0751345ff
|
@ -67,15 +67,7 @@ public class DefaultPolicyHandler extends StrolchComponent implements PolicyHand
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize(ComponentConfiguration configuration) throws Exception {
|
public void initialize(ComponentConfiguration configuration) throws Exception {
|
||||||
|
reloadPolicies(configuration);
|
||||||
if (configuration.getBoolean(PROP_READ_POLICY_FILE, Boolean.FALSE)) {
|
|
||||||
File policyFile = configuration.getConfigFile(PROP_POLICY_CONFIG, DEF_STROLCH_POLICIES_XML,
|
|
||||||
configuration.getRuntimeConfiguration());
|
|
||||||
parsePolicyFile(policyFile);
|
|
||||||
} else {
|
|
||||||
logger.warn("Not loading Policy configuration file, as disabled by config");
|
|
||||||
}
|
|
||||||
|
|
||||||
super.initialize(configuration);
|
super.initialize(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,6 +117,21 @@ public class DefaultPolicyHandler extends StrolchComponent implements PolicyHand
|
||||||
return (Class<T>) clazz;
|
return (Class<T>) clazz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void reloadPolicies() {
|
||||||
|
reloadPolicies(getConfiguration());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void reloadPolicies(ComponentConfiguration configuration) {
|
||||||
|
if (configuration.getBoolean(PROP_READ_POLICY_FILE, Boolean.FALSE)) {
|
||||||
|
File policyFile = configuration.getConfigFile(PROP_POLICY_CONFIG, DEF_STROLCH_POLICIES_XML,
|
||||||
|
configuration.getRuntimeConfiguration());
|
||||||
|
parsePolicyFile(policyFile);
|
||||||
|
} else {
|
||||||
|
logger.warn("Not loading Policy configuration file, as disabled by config");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private void parsePolicyFile(File policyFile) {
|
private void parsePolicyFile(File policyFile) {
|
||||||
|
|
||||||
|
|
|
@ -64,4 +64,9 @@ public interface PolicyHandler {
|
||||||
* @return true if the policy definition is known, false otherwise
|
* @return true if the policy definition is known, false otherwise
|
||||||
*/
|
*/
|
||||||
boolean isPolicyDefAvailable(PolicyDef policyDef);
|
boolean isPolicyDefAvailable(PolicyDef policyDef);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reload the policies configuration
|
||||||
|
*/
|
||||||
|
void reloadPolicies();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
package li.strolch.policy;
|
||||||
|
|
||||||
|
import li.strolch.agent.api.StrolchAgent;
|
||||||
|
import li.strolch.job.StrolchJob;
|
||||||
|
import li.strolch.privilege.model.PrivilegeContext;
|
||||||
|
|
||||||
|
public class ReloadPoliciesJob extends StrolchJob {
|
||||||
|
|
||||||
|
public ReloadPoliciesJob(StrolchAgent agent) {
|
||||||
|
super(agent);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void execute(PrivilegeContext ctx) throws Exception {
|
||||||
|
PolicyHandler policyHandler = getContainer().getComponent(PolicyHandler.class);
|
||||||
|
policyHandler.reloadPolicies();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue