package de.twenty11.skysail.server.ext.mail.internal;
import javax.persistence.EntityManagerFactory;
import org.restlet.Context;
import de.twenty11.skysail.server.core.restlet.RouteBuilder;
import de.twenty11.skysail.server.ext.mail.AccountResource;
import de.twenty11.skysail.server.ext.mail.AccountsResource;
import de.twenty11.skysail.server.ext.mail.AddAccountResource;
import de.twenty11.skysail.server.ext.mail.MailboxesResource;
import de.twenty11.skysail.server.ext.mail.MyRootResource;
import de.twenty11.skysail.server.restlet.SkysailApplication;
/**
* @author carsten
*
*/
public class MyApplication extends SkysailApplication {
private EntityManagerFactory emf;
public MyApplication(Context componentContext, EntityManagerFactory emf) {
super();
setContext(getContext().createChildContext());
setDescription("RESTful Jenkins bundle");
setOwner("twentyeleven");
setName("mail");
this.emf = emf;
}
protected void attach() {
// @formatter:off
router.attach(new RouteBuilder("", MyRootResource.class).setVisible(false));
router.attach(new RouteBuilder("/accounts", AccountsResource.class).setText("Accounts"));
router.attach(new RouteBuilder("/accounts/", AddAccountResource.class).setVisible(false));
router.attach(new RouteBuilder("/accounts/{id}", AccountResource.class).setVisible(false));
router.attach(new RouteBuilder("/accounts/{id}/boxes", MailboxesResource.class).setVisible(false));
// @formatter:on
}
public EntityManagerFactory getEmf() {
return emf;
}
}