package de.twenty11.skysail.server.ext.activiti.internal;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.restlet.Application;
import org.restlet.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import de.twenty11.skysail.server.services.ApplicationProvider;
import de.twenty11.skysail.server.services.ComponentProvider;
public class Configuration implements ApplicationProvider {
private static Logger logger = LoggerFactory.getLogger(Configuration.class);
private ComponentProvider componentProvider;
private Component component;
private MyApplication application;
private RepositoryService repositoryService;
private RuntimeService runtimeService;
private TaskService taskService;
public void activate() {
logger.info("Activating Configuration Component for Skysail Activiti Extension");
component = componentProvider.getComponent();
application = new MyApplication(component.getContext(), repositoryService, runtimeService);
application.setTaskService(this.taskService);
}
public void deactivate() {
logger.info("Deactivating Configuration Component for Skysail Activiti Extension");
application = null;
}
public void setComponentProvider(ComponentProvider componentProvider) {
this.componentProvider = componentProvider;
}
@Override
public Application getApplication() {
return application;
}
public void setRepositoryService(RepositoryService service) {
this.repositoryService = service;
}
public void setRuntimeService(RuntimeService service) {
this.runtimeService = service;
}
public void setTaskService(TaskService service) {
this.taskService = service;
}
}