- atpoint = JvSwingUtils.findOrCreateMenu(jws2al, service.action);
- JMenuItem hitm;
- if (atpoint.getItemCount() > 1)
- {
- // previous service of this type already present
- atpoint.addSeparator();
- }
- atpoint.add(hitm = new JMenuItem(service.getHost()));
- hitm.setForeground(Color.blue);
- hitm.addActionListener(new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- Desktop.showUrl(service.getHost());
- }
- });
- hitm.setToolTipText(JvSwingUtils
- .wrapTooltip(MessageManager.getString("label.open_jabaws_web_page ")));
-
- service.attachWSMenuEntry(atpoint, alignFrame);
- if (alternates.containsKey(service.serviceType))
- {
- atpoint.add(hitm = new JMenu(MessageManager.getString("label.switch_server")));
- hitm.setToolTipText(JvSwingUtils
- .wrapTooltip(MessageManager.getString("label.choose_jabaws_server")));
- for (final Jws2Instance sv : alternates.get(service.serviceType))
- {
- JMenuItem itm;
- hitm.add(itm = new JMenuItem(sv.getHost()));
- itm.setForeground(Color.blue);
- itm.addActionListener(new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent arg0)
- {
- new Thread(new Runnable()
- {
- public void run()
- {
- setPreferredServiceFor(alignFrame, sv.serviceType,
- sv.action, sv);
- changeSupport.firePropertyChange("services",
- new Vector(), services);
- };
- }).start();
-
- }
- });
- }
- /*
- * hitm.addActionListener(new ActionListener() {
- *
- * @Override public void actionPerformed(ActionEvent arg0) { new
- * Thread(new Runnable() {
- *
- * @Override public void run() { new SetPreferredServer(alignFrame,
- * service.serviceType, service.action); } }).start(); } });
- */
- }
- }
- }
-
- /**
- * add services using the Java 2.5/2.6/2.7 system which optionally creates
- * submenus to index by host and service program type
- */
- private void addEnumeratedServices(final JMenu jws2al,
- final AlignFrame alignFrame, List<Jws2Instance> enumerableServices)
- {
- boolean byhost = Cache.getDefault("WSMENU_BYHOST", false), bytype = Cache
- .getDefault("WSMENU_BYTYPE", false);
- /**
- * eventually, JWS2 services will appear under the same align/etc submenus.
- * for moment we keep them separate.
- */
- JMenu atpoint;
- MsaWSClient msacl = new MsaWSClient();
- List<String> hostLabels = new ArrayList<String>();
- Hashtable<String, String> lasthostFor = new Hashtable<String, String>();
- Hashtable<String, ArrayList<Jws2Instance>> hosts = new Hashtable<String, ArrayList<Jws2Instance>>();
- ArrayList<String> hostlist = new ArrayList<String>();
- for (Jws2Instance service : enumerableServices)
- {
- ArrayList<Jws2Instance> hostservices = hosts.get(service.getHost());
- if (hostservices == null)