import jalview.schemes.TurnColourScheme;
import jalview.schemes.UserColourScheme;
import jalview.schemes.ZappoColourScheme;
+import jalview.ws.WSMenuEntryProviderI;
import jalview.ws.jws1.Discoverer;
import jalview.ws.jws2.Jws2Discoverer;
// object broker mechanism.
final Vector wsmenu = new Vector();
final IProgressIndicator af = me;
+ final JMenu msawsmenu = new JMenu("Alignment");
+ final JMenu secstrmenu = new JMenu(
+ "Secondary Structure Prediction");
+ final JMenu seqsrchmenu = new JMenu(
+ "Sequence Database Search");
+ final JMenu analymenu = new JMenu(
+ "Analyse Alignment");
+
if (Cache.getDefault("SHOW_JWS1_SERVICES", true)
&& Discoverer.services != null
&& (Discoverer.services.size() > 0))
if (msaws != null)
{
// Add any Multiple Sequence Alignment Services
- final JMenu msawsmenu = new JMenu("Alignment");
for (int i = 0, j = msaws.size(); i < j; i++)
{
final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) msaws
impl.attachWSMenuEntry(msawsmenu, me);
}
- wsmenu.add(msawsmenu);
}
if (secstrpr != null)
{
// Add any secondary structure prediction services
- final JMenu secstrmenu = new JMenu(
- "Secondary Structure Prediction");
for (int i = 0, j = secstrpr.size(); i < j; i++)
{
final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) secstrpr
.getServiceClient(sh);
impl.attachWSMenuEntry(secstrmenu, me);
}
- wsmenu.add(secstrmenu);
}
if (seqsrch != null)
{
// Add any sequence search services
- final JMenu seqsrchmenu = new JMenu(
- "Sequence Database Search");
for (int i = 0, j = seqsrch.size(); i < j; i++)
{
final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) seqsrch
.getServiceClient(sh);
impl.attachWSMenuEntry(seqsrchmenu, me);
}
- wsmenu.add(seqsrchmenu);
}
}
if (jws2servs.hasServices())
{
JMenu jws2men = new JMenu("Jaba Web Services");
- jws2servs.attachWSMenuEntry(jws2men, me);
- for (int i = 0, iSize = jws2men.getMenuComponentCount(); i < iSize; i++)
- {
- wsmenu.add(jws2men.getMenuComponent(i));
- }
+ jws2servs.attachWSMenuEntry(msawsmenu, me);
+// for (int i = 0, iSize = jws2men.getMenuComponentCount(); i < iSize; i++)
+// {
+// msawsmenu.add(jws2men.getMenuComponent(i));
+// }
}
}
}
+ if (msawsmenu.getMenuComponentCount()>0)
+ wsmenu.add(msawsmenu);
+ if (secstrmenu.getMenuComponentCount()>0)
+ wsmenu.add(secstrmenu);
+ if (analymenu.getMenuComponentCount()>0)
+ wsmenu.add(analymenu);
+ if (seqsrchmenu.getMenuComponentCount()>0)
+ wsmenu.add(seqsrchmenu);
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
// TODO: refactor to RestClient discoverer and merge menu entries for
// rest-style services with other types of analysis/calculation service
// SHmmr test client - still being implemented.
- jalview.ws.rest.RestClient.makeShmmrRestClient().attachWSMenuEntry(
- webService, this);
+
+ for (jalview.ws.rest.RestClient client: jalview.ws.rest.RestClient.getRestClients()) {
+ client.attachWSMenuEntry(JvSwingUtils.findOrCreateMenu(webService, client.getAction()), this);
+ }
// DEBUG - alignmentView
}