JAL-1365 use AlignAnalysisUIText class to provide metadata for a service's UI elements
[jalview.git] / src / jalview / ws / jws2 / jabaws2 / Jws2InstanceFactory.java
1 package jalview.ws.jws2.jabaws2;
2
3 import java.util.HashMap;
4
5 import compbio.data.msa.JABAService;
6
7 import jalview.ws.jws2.AAConClient;
8 import jalview.ws.jws2.RNAalifoldClient;
9 import jalview.ws.uimodel.AlignAnalysisUIText;
10
11 public class Jws2InstanceFactory
12 {
13   private static HashMap<String, AlignAnalysisUIText> aaConGUI;
14
15   private static void init()
16   {
17     if (aaConGUI == null)
18     {
19       aaConGUI = new HashMap<String, AlignAnalysisUIText>();
20       aaConGUI.put(compbio.ws.client.Services.AAConWS.toString(),
21               AAConClient.getAlignAnalysisUITest());
22       aaConGUI.put(compbio.ws.client.Services.RNAalifoldWS.toString(),
23               RNAalifoldClient.getAlignAnalysisUITest());
24     }
25   }
26
27   /**
28    * construct a service instance and configure it with any additional
29    * properties needed so Jalview can access it correctly
30    * 
31    * @param jwsservers
32    * @param serviceType
33    * @param name
34    * @param description
35    * @param service
36    * @return
37    */
38   public static Jws2Instance newJws2Instance(String jwsservers,
39           String serviceType, String name, String description,
40           JABAService service)
41   {
42     init();
43     Jws2Instance svc = new Jws2Instance(jwsservers, serviceType, name,
44             description, service);
45     
46     svc.aaui = aaConGUI.get(serviceType.toString());
47     return svc;
48   }
49
50 }