import jalview.util.MessageManager;
import jalview.ws.api.ServiceWithParameters;
import jalview.ws.jws2.dm.AAConSettings;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
import jalview.ws.params.AutoCalcSetting;
import jalview.ws.uimodel.AlignAnalysisUIText;
{
List<AlignCalcWorkerI> aaconClient = alignFrame.getViewport()
.getCalcManager()
- .getRegisteredWorkersOfClass(aaui.getClient());
+ .getWorkersOfClass(aaui.getClient());
if (aaconClient != null && aaconClient.size() > 0)
{
SeqAnnotationServiceCalcWorker worker = (SeqAnnotationServiceCalcWorker) aaconClient
@Override
public void actionPerformed(ActionEvent arg0)
{
+
List<AlignCalcWorkerI> aaconClient = alignFrame.getViewport()
.getCalcManager()
- .getRegisteredWorkersOfClass(aaui.getClient());
- if (aaconClient != null && aaconClient.size() > 0)
- {
- removeCurrentAAConWorkerFor(aaui, alignFrame);
- }
- else
+ .getWorkersOfClass(SeqAnnotationServiceCalcWorker.class);
+ if (aaconClient != null)
{
- buildCurrentAAConWorkerFor(aaui, alignFrame);
-
+ for (AlignCalcWorkerI worker : aaconClient)
+ {
+ if (((SeqAnnotationServiceCalcWorker) worker).getService()
+ .getClass().equals(aaui.getClient()))
+ {
+ removeCurrentAAConWorkerFor(aaui, alignFrame);
+ return;
+ }
+ }
}
+ buildCurrentAAConWorkerFor(aaui, alignFrame);
}
});
return;
}
List<AlignCalcWorkerI> aaconClient = alignFrame.getViewport()
- .getCalcManager().getRegisteredWorkersOfClass(
- SeqAnnotationServiceCalcWorker.class);
+ .getCalcManager()
+ .getWorkersOfClass(SeqAnnotationServiceCalcWorker.class);
boolean serviceEnabled = false;
if (aaconClient != null)
{
+ // NB code duplicatino again!
for (AlignCalcWorkerI _worker : aaconClient)
{
SeqAnnotationServiceCalcWorker worker = (SeqAnnotationServiceCalcWorker) _worker;
{
if (service != null)
{
- if (!service.getServiceType()
- .equals(compbio.ws.client.Services.AAConWS.toString()))
- {
- Cache.log.warn(
- "Ignoring invalid preferred service for AACon calculations (service type was "
- + service.getServiceType() + ")");
- service = null;
- }
- else
+ // if (!service.getServiceType()
+ // .equals(compbio.ws.client.Services.AAConWS.toString()))
+ // {
+ // Cache.log.warn(
+ // "Ignoring invalid preferred service for AACon calculations (service
+ // type was "
+ // + service.getServiceType() + ")");
+ // service = null;
+ // }
+ // else
{
// check service is actually in the list of currently avaialable
// services
- if (!Jws2Discoverer.getDiscoverer().getServices().contains(service))
+ if (!PreferredServiceRegistry.getRegistry().contains(service))
{
// it isn't ..
service = null;
if (service == null)
{
// get the default service for AACon
- service = Jws2Discoverer.getDiscoverer().getPreferredServiceFor(null,
+ service = PreferredServiceRegistry.getRegistry().getPreferredServiceFor(null,
aaui.getServiceType());
}
if (service == null)
throw new Error(
MessageManager.getString("error.no_aacon_service_found"));
}
- return new AAConSettings(true, service, null, null);
+ return service instanceof Jws2Instance
+ ? new AAConSettings(true, service, null, null)
+ : new AutoCalcSetting(service, null, null, true);
}
private static void removeCurrentAAConWorkerFor(AlignAnalysisUIText aaui,
AlignFrame alignFrame)
{
alignFrame.getViewport().getCalcManager()
- .removeRegisteredWorkersOfClass(aaui.getClient());
+ .removeWorkersOfClass(aaui.getClient());
}
}
\ No newline at end of file