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.Context; import de.twenty11.skysail.server.core.restlet.RouteBuilder; import de.twenty11.skysail.server.ext.activiti.MyRootResource; import de.twenty11.skysail.server.ext.activiti.ProcessResource; import de.twenty11.skysail.server.ext.activiti.ProcessesResource; import de.twenty11.skysail.server.ext.activiti.TasksResource; import de.twenty11.skysail.server.restlet.SkysailApplication; import de.twenty11.skysail.server.services.ApplicationProvider; /** * @author carsten * */ public class MyApplication extends SkysailApplication implements ApplicationProvider { private RepositoryService repositoryService; private RuntimeService runtimeService; private TaskService taskService; // non-arg constructor needed for scr public MyApplication() { this(null, null, null); } /** * @param staticPathTemplate * @param bundleContext */ public MyApplication(Context componentContext, RepositoryService repositoryService, RuntimeService runtimeService) { super(); if (getContext() != null) { setContext(getContext().createChildContext()); } setDescription("RESTful Jenkins bundle"); setOwner("twentyeleven"); setName("activiti"); this.repositoryService = repositoryService; this.runtimeService = runtimeService; } protected void attach() { // @formatter:off router.attach(new RouteBuilder("", MyRootResource.class).setVisible(false)); router.attach(new RouteBuilder("/repository", ProcessesResource.class).setText("Activiti Repository")); router.attach(new RouteBuilder("/repository/{id}", ProcessResource.class).setVisible(false)); router.attach(new RouteBuilder("/tasks", TasksResource.class).setText("Activiti Tasks").setVisible(true)); // router.attach(new RouteBuilder("/installation/{name}/jobs", JobsResource.class).setVisible(false)); // @formatter:on } public RepositoryService getRepositoryService() { return repositoryService; } public void setTaskService(TaskService taskService) { this.taskService = taskService; } public TaskService getActivitiTaskService() { return taskService; } public RuntimeService getRuntimeService() { return runtimeService; } }