package jalview.ws.jws2;
+import jalview.api.AlignCalcManagerI2;
import jalview.api.AlignCalcWorkerI;
import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.gui.AlignFrame;
import jalview.gui.JvSwingUtils;
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;
// is there an aaCon worker already present - if so, set it to use the
// given service handle
{
- List<AlignCalcWorkerI> aaconClient = alignFrame.getViewport()
- .getCalcManager()
- .getRegisteredWorkersOfClass(aaui.getClient());
- if (aaconClient != null && aaconClient.size() > 0)
+ AlignCalcManagerI2 mger = alignFrame.getViewport()
+ .getCalcManager();
+ if (mger != null)
{
- SeqAnnotationServiceCalcWorker worker = (SeqAnnotationServiceCalcWorker) aaconClient
- .get(0);
- if (!worker.service.getHostURL().equals(service.getHostURL()))
+ List<AlignCalcWorkerI> aaconClient = mger
+ .getWorkersOfClass(aaui.getClient());
+ if (aaconClient != null && aaconClient.size() > 0)
{
- // javax.swing.SwingUtilities.invokeLater(new Runnable()
+ SeqAnnotationServiceCalcWorker worker = (SeqAnnotationServiceCalcWorker) aaconClient
+ .get(0);
+ if (!worker.service.getHostURL().equals(service.getHostURL()))
{
- // @Override
- // public void run()
+ // javax.swing.SwingUtilities.invokeLater(new Runnable()
{
- removeCurrentAAConWorkerFor(aaui, alignFrame);
- buildCurrentAAConWorkerFor(aaui, alignFrame, service);
- }
- } // );
+ // @Override
+ // public void run()
+ {
+ removeCurrentAAConWorkerFor(aaui, alignFrame);
+ buildCurrentAAConWorkerFor(aaui, alignFrame, service);
+ }
+ } // );
+ }
}
}
}
@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 && !fave.getService().getHostURL()
.equals(service.getHostURL()))
{
- Cache.log.debug("Changing AACon service to " + service.getHostURL()
+ Console.debug("Changing AACon service to " + service.getHostURL()
+ " from " + fave.getService().getHostURL());
fave.setService(service);
}
// if (!service.getServiceType()
// .equals(compbio.ws.client.Services.AAConWS.toString()))
// {
- // Cache.log.warn(
+ // Console.warn(
// "Ignoring invalid preferred service for AACon calculations (service
// type was "
// + service.getServiceType() + ")");
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
+}