import jalview.gui.AlignFrame;
import jalview.ws.WSMenuEntryProviderI;
+import jalview.ws.api.ServiceWithParameters;
import jalview.ws.jws2.MsaWSClient;
+import jalview.ws.jws2.PreferredServiceRegistry;
import jalview.ws.jws2.SequenceAnnotationWSClient;
+import java.beans.PropertyChangeSupport;
import java.io.IOError;
import java.io.IOException;
import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
import javax.swing.JMenu;
{
try
{
- slivkaClient = new SlivkaClient("gjb-www-1.cluster.lifesci.dundee.ac.uk", 3203);
+ slivkaClient = new SlivkaClient("localhost", 4954);
} catch (URISyntaxException e)
{
throw new RuntimeException(e);
{
SlivkaAnnotationServiceInstance serviceInstance = new SlivkaAnnotationServiceInstance(
slivkaClient, service, false);
+
SequenceAnnotationWSClient client = new SequenceAnnotationWSClient();
client.attachWSMenuEntry(disorderMenu, serviceInstance, alignFrame);
disorderMenu.addSeparator();
conservationMenu.addSeparator();
}
+ private PropertyChangeSupport changeSupport = new PropertyChangeSupport(
+ this);
+
@Override
public void attachWSMenuEntry(JMenu wsmenu, final AlignFrame alignFrame)
{
slivkaMenu.add(conservationMenu);
try
{
+ List<ServiceWithParameters> instances = new ArrayList<>();
for (SlivkaService service : slivkaClient.getServices())
{
for (String classifier : service.classifiers)
{
if (classifier.contains("Multiple sequence alignment"))
{
- addMsaServiceClient(alignmentMenu, service, alignFrame);
+ instances.add(
+ new SlivkaMsaServiceInstance(slivkaClient, service));
+ // addMsaServiceClient(alignmentMenu, service, alignFrame);
}
else if (classifier.contains("Protein sequence analysis"))
{
- addDisorderServiceClient(disorderMenu, service, alignFrame);
+ instances.add(new SlivkaAnnotationServiceInstance(slivkaClient,
+ service, false));
+ // addDisorderServiceClient(disorderMenu, service, alignFrame);
}
else if (classifier
.contains("Sequence alignment analysis (conservation)"))
{
- addConservationServiceClient(conservationMenu, service,
- alignFrame);
+ instances.add(new SlivkaAnnotationServiceInstance(slivkaClient,
+ service, true));
+ // addConservationServiceClient(conservationMenu, service,
+ // alignFrame);
}
}
}
+ PreferredServiceRegistry.getRegistry().populateWSMenuEntry(instances,
+ changeSupport, slivkaMenu, alignFrame, null);
} catch (IOException e)
{
throw new IOError(e);