[New] Added ReloadPoliciesJob
This commit is contained in:
parent
8e3b22b3e3
commit
d0751345ff
|
@ -67,15 +67,7 @@ public class DefaultPolicyHandler extends StrolchComponent implements PolicyHand
|
|||
|
||||
@Override
|
||||
public void initialize(ComponentConfiguration configuration) throws Exception {
|
||||
|
||||
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");
|
||||
}
|
||||
|
||||
reloadPolicies(configuration);
|
||||
super.initialize(configuration);
|
||||
}
|
||||
|
||||
|
@ -125,6 +117,21 @@ public class DefaultPolicyHandler extends StrolchComponent implements PolicyHand
|
|||
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")
|
||||
private void parsePolicyFile(File policyFile) {
|
||||
|
||||
|
|
|
@ -64,4 +64,9 @@ public interface PolicyHandler {
|
|||
* @return true if the policy definition is known, false otherwise
|
||||
*/
|
||||
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