5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
8 import jalview.bin.Cache;
9 import jalview.gui.Desktop;
10 import jalview.gui.SequenceFetcher;
11 import jalview.util.DBRefUtils;
13 public class FetchSequencesEndpoint extends AbstractEndpointAsync
15 public FetchSequencesEndpoint(API api)
17 super(api, path, name, parameters, description);
20 private static final String path = "fetchsequences";
22 private static final String name = "Fetch Sequences";
24 private static final String parameters = "<resource name>,<sequence ids>";
26 private static final String description = "Fetch sequences from online resource";
28 private SequenceFetcher sf;
31 protected void initialise(HttpServletRequest request,
32 HttpServletResponse response)
34 if (!checkParameters(request, response, 2))
38 String[] parameters = getEndpointPathParameters(request);
40 String dbName = parameters[0];
41 String dbId = parameters[1];
43 setId(request, dbName + "::" + dbId);
44 if (checkStatus(request, response))
47 String db = DBRefUtils.getCanonicalName(dbName);
48 Desktop desktop = Desktop.instance;
49 sf = new SequenceFetcher(desktop, db, dbId);
50 setCompletableFuture(sf.ok_actionPerformed(true));
53 protected void processAsync(HttpServletRequest request,
54 HttpServletResponse response, Map<String, String> map)
56 // all the work being done by the SequenceFetcher!
57 Cache.warn("THIS SHOULD NOT BE RUN");
60 protected void atEnd()
62 sf.close_actionPerformed(null);