package de.twenty11.skysail.server.ext.quartz.internal; import org.quartz.Scheduler; import org.restlet.Context; import de.twenty11.skysail.server.core.restlet.RouteBuilder; import de.twenty11.skysail.server.ext.quartz.AddJobResource; import de.twenty11.skysail.server.ext.quartz.AddTriggerResource; import de.twenty11.skysail.server.ext.quartz.JobsResource; import de.twenty11.skysail.server.ext.quartz.MyRootResource; import de.twenty11.skysail.server.ext.quartz.SchedulerResource; import de.twenty11.skysail.server.ext.quartz.TriggersResource; import de.twenty11.skysail.server.restlet.SkysailApplication; /** * @author carsten * */ public class MyApplication extends SkysailApplication { private Scheduler scheduler; /** * @param scheduler * @param staticPathTemplate * @param bundleContext */ public MyApplication(Context componentContext, Scheduler scheduler) { super(); if (getContext() != null) { setContext(getContext().createChildContext()); } setDescription("RESTful Jenkins bundle"); setOwner("twentyeleven"); setName("quartz"); this.scheduler = scheduler; } protected void attach() { // @formatter:off router.attach(new RouteBuilder("", MyRootResource.class).setVisible(false)); router.attach(new RouteBuilder("/scheduler", SchedulerResource.class).setText("Quartz Scheduler")); router.attach(new RouteBuilder("/jobs", JobsResource.class).setText("Quartz Jobs")); router.attach(new RouteBuilder("/jobs/", AddJobResource.class).setVisible(false)); router.attach(new RouteBuilder("/triggers", TriggersResource.class).setText("Quartz Triggers")); router.attach(new RouteBuilder("/triggers/", AddTriggerResource.class).setVisible(false)); // @formatter:on } public Scheduler getScheduler() { return scheduler; } }