--- /dev/null
+package jalview.gbtest;
+
+import java.io.IOException;
+import java.net.BindException;
+import java.net.URI;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import jalview.bin.Cache;
+import jalview.gui.Desktop;
+import jalview.gui.SequenceFetcher;
+import jalview.httpserver.AbstractRequestHandler;
+import jalview.structure.SelectionSource;
+import jalview.util.DBRefUtils;
+
+public class TestListener extends AbstractRequestHandler
+ implements SelectionSource
+{
+
+ private String MY_PATH = "TEST";
+
+ /**
+ * Constructor that registers this as an Http request handler on path
+ * /chimeraN, where N is incremented for each instance. Call getUri to get the
+ * resulting URI for this handler.
+ *
+ * @param chimeraBinding
+ * @throws BindException
+ * if no free port can be assigned
+ */
+ public TestListener() throws BindException
+ {
+ setPath(MY_PATH);
+ registerHandler();
+ }
+
+ @Override
+ protected void processRequest(HttpServletRequest request,
+ HttpServletResponse response) throws IOException
+ {
+ dumpRequest(request);
+
+ URI reqUri = URI.create(request.getRequestURI());
+
+ Cache.warn("*** request.getRequestURI()=" + request.getRequestURI());
+ Cache.warn("*** reqUri=" + reqUri.toASCIIString());
+ Cache.warn("*** request.getContextPath()=" + request.getContextPath());
+ Cache.warn("*** request.getPathInfo()=" + request.getPathInfo());
+
+ String pathInfo = request.getPathInfo();
+ Cache.warn("*** pathInfo=" + pathInfo);
+ String viewgene = "viewgene";
+ if (pathInfo.startsWith("/" + viewgene + "/"))
+ {
+
+ String temp = pathInfo.substring(viewgene.length() + 2);
+ String ensemblId = temp.indexOf("/") > -1
+ ? temp.substring(0, temp.indexOf("/"))
+ : temp;
+ Cache.warn("*** temp=" + temp);
+ Cache.warn("*** ensemblId=" + ensemblId);
+
+ String db = DBRefUtils.getCanonicalName("ensembl");
+ Desktop desktop = Desktop.instance;
+ SequenceFetcher sf = new SequenceFetcher(desktop, db, ensemblId);
+ sf.ok_actionPerformed();
+
+ }
+
+ }
+
+ /**
+ * Returns a display name for this service
+ */
+ @Override
+ public String getName()
+ {
+ return "TestListener";
+ }
+
+}