View Javadoc

1   package org.lsst.ccs.plugin.jas3;
2   
3   import java.util.Collection;
4   import java.util.Iterator;
5   import java.util.logging.Logger;
6   import org.freehep.application.studio.Plugin;
7   import javax.swing.SwingUtilities;
8   import org.openide.util.Lookup;
9   import org.openide.util.Lookup.Result;
10  
11  /**
12   *
13   * @author tonyj
14   * @deprecated This plugin is only kept for compatibility with subsystems which
15   * extended LsstSubsystemPlugin. It will be removed in the next release.
16   */
17  public class LsstPlugin extends Plugin {
18  
19      private static final Logger logger = Logger.getLogger(LsstPlugin.class.getName());
20  
21      @Override
22      protected void init() {
23  
24          logger.finest("LSST plugin created");
25          
26      }
27  
28      @Override
29      protected void postInit() {
30          initializeBuses();
31      }
32  
33      private void initializeBuses() {
34          SwingUtilities.invokeLater(new InitializeCommunicationBuses());
35      }
36  
37      private void continueAfterBusesInitialized() {
38  
39          Result result = getApplication().getLookup().lookup(new Lookup.Template(LsstSubsystemPlugin.class));
40          Collection plugins = result.allInstances();
41          Iterator pluginsIter = plugins.iterator();
42          while (pluginsIter.hasNext()) {
43              LsstSubsystemPlugin p = (LsstSubsystemPlugin) pluginsIter.next();
44              p.connectToMessagingFactory();
45          }
46      }
47  
48      private class InitializeCommunicationBuses implements Runnable {
49  
50          @Override
51          public void run() {
52              continueAfterBusesInitialized();
53          }
54      }
55  }