extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/autoconfirm/AutoConfirmServiceFactory.java

Code
Comments
Other
Rev Date Author Line
3032 12 Dec 14 nicklas 1 package net.sf.basedb.reggie.autoconfirm;
3032 12 Dec 14 nicklas 2
3032 12 Dec 14 nicklas 3 import net.sf.basedb.clients.web.extensions.service.ServiceControllerAction;
3032 12 Dec 14 nicklas 4 import net.sf.basedb.core.SessionControl;
3032 12 Dec 14 nicklas 5 import net.sf.basedb.util.extensions.ActionFactory;
3032 12 Dec 14 nicklas 6 import net.sf.basedb.util.extensions.Extension;
3032 12 Dec 14 nicklas 7 import net.sf.basedb.util.extensions.InvokationContext;
3032 12 Dec 14 nicklas 8
3032 12 Dec 14 nicklas 9 /**
3032 12 Dec 14 nicklas 10   Action factory and service controller for the {@link AutoConfirmService}.
3032 12 Dec 14 nicklas 11   
3032 12 Dec 14 nicklas 12   @author nicklas
3045 16 Dec 14 nicklas 13   @since 3.0
3032 12 Dec 14 nicklas 14 */
3032 12 Dec 14 nicklas 15 public class AutoConfirmServiceFactory 
3032 12 Dec 14 nicklas 16   implements ActionFactory<ServiceControllerAction> 
3032 12 Dec 14 nicklas 17 {
3032 12 Dec 14 nicklas 18
3032 12 Dec 14 nicklas 19   /*
3032 12 Dec 14 nicklas 20     From the ActionFactory interface
3032 12 Dec 14 nicklas 21     --------------------------------
3032 12 Dec 14 nicklas 22   */
3032 12 Dec 14 nicklas 23   @Override
3572 02 Nov 15 nicklas 24   public boolean prepareContext(InvokationContext<? super ServiceControllerAction> context) 
3032 12 Dec 14 nicklas 25   {
3032 12 Dec 14 nicklas 26     return true;
3032 12 Dec 14 nicklas 27   }
3032 12 Dec 14 nicklas 28   
3032 12 Dec 14 nicklas 29   @Override
3572 02 Nov 15 nicklas 30   public ServiceControllerAction[] getActions(InvokationContext<? super ServiceControllerAction> context)
3032 12 Dec 14 nicklas 31   {
3032 12 Dec 14 nicklas 32     SessionControl sc = context.getClientContext().getSessionControl();
3032 12 Dec 14 nicklas 33     return new ServiceControllerAction[] { new AutoConfirmServiceControllerAction(sc, context.getExtension()) };
3032 12 Dec 14 nicklas 34   }
3032 12 Dec 14 nicklas 35   // ---------------------------------------------
3032 12 Dec 14 nicklas 36
3032 12 Dec 14 nicklas 37   
3032 12 Dec 14 nicklas 38   static class AutoConfirmServiceControllerAction
3032 12 Dec 14 nicklas 39     implements ServiceControllerAction
3032 12 Dec 14 nicklas 40   {
3032 12 Dec 14 nicklas 41     private final SessionControl sc;
3571 30 Oct 15 nicklas 42     private final Extension<ServiceControllerAction> ext;
3032 12 Dec 14 nicklas 43     
3572 02 Nov 15 nicklas 44     @SuppressWarnings({ "unchecked", "rawtypes" })
3032 12 Dec 14 nicklas 45     AutoConfirmServiceControllerAction(SessionControl sc, Extension ext)
3032 12 Dec 14 nicklas 46     {
3032 12 Dec 14 nicklas 47       this.sc = sc;
3571 30 Oct 15 nicklas 48       this.ext = (Extension<ServiceControllerAction>)ext;
3032 12 Dec 14 nicklas 49     }
3032 12 Dec 14 nicklas 50     
3032 12 Dec 14 nicklas 51     /*
3032 12 Dec 14 nicklas 52       From the ServiceControllerAction interface
3032 12 Dec 14 nicklas 53       ------------------------------------------
3032 12 Dec 14 nicklas 54     */
3032 12 Dec 14 nicklas 55     @Override
3032 12 Dec 14 nicklas 56     public boolean isRunning()
3032 12 Dec 14 nicklas 57     {
3032 12 Dec 14 nicklas 58       return AutoConfirmService.getInstance().isRunning();
3032 12 Dec 14 nicklas 59     }
3032 12 Dec 14 nicklas 60   
3032 12 Dec 14 nicklas 61     @Override
3032 12 Dec 14 nicklas 62     public void start() 
3032 12 Dec 14 nicklas 63     {
3032 12 Dec 14 nicklas 64       AutoConfirmService.getInstance().start(sc, ext);
3032 12 Dec 14 nicklas 65     }
3032 12 Dec 14 nicklas 66   
3032 12 Dec 14 nicklas 67     @Override
3032 12 Dec 14 nicklas 68     public void stop() 
3032 12 Dec 14 nicklas 69     {
3032 12 Dec 14 nicklas 70       AutoConfirmService.getInstance().stop();
3032 12 Dec 14 nicklas 71     }
3032 12 Dec 14 nicklas 72     // --------------------------------------
3032 12 Dec 14 nicklas 73   
3032 12 Dec 14 nicklas 74     @Override
3032 12 Dec 14 nicklas 75     public String toString() 
3032 12 Dec 14 nicklas 76     {
3032 12 Dec 14 nicklas 77       return "Auto-confirmation service for secondary analysis";
3032 12 Dec 14 nicklas 78     }
3032 12 Dec 14 nicklas 79   }
3032 12 Dec 14 nicklas 80
3032 12 Dec 14 nicklas 81   
3032 12 Dec 14 nicklas 82 }