in gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/PluginImpl.java [146:199]
public void activate() {
if (activationRules == null) {
log.warn("No activation rules configured");
return;
}
ActivationContext context = new ActivationContext() {
private List<ActivationTask> tasks = new ArrayList<ActivationTask>();
public Plugin getPlugin() {
return PluginImpl.this;
}
public List<ActivationTask> getTasks() {
return tasks;
}
public void addTask(final ActivationTask task) {
tasks.add(task);
}
};
log.trace("Evaluating activation rules");
for (ActivationRule rule : activationRules) {
log.trace("Evaluating activation rule: {}", rule);
try {
rule.evaluate(context);
}
catch (Exception e) {
log.warn("Failed to evaluate activation rule: " + rule, e);
}
}
List<ActivationTask> tasks = context.getTasks();
if (tasks.isEmpty()) {
log.warn("No activation tasks configured in context");
return;
}
log.trace("Executing activation tasks");
for (ActivationTask task : tasks) {
log.trace("Executing activation task: {}", task);
try {
task.execute();
}
catch (Exception e) {
log.warn("Failed to execute activation task: " + task, e);
}
}
}