3 import javax.servlet.http.HttpServletRequest;
4 import javax.servlet.http.HttpServletResponse;
6 public class HighlightSequenceEndpoint extends AbstractEndpoint
8 public HighlightSequenceEndpoint(API api)
10 super(api, path, name, parameters, description);
13 protected static final String path = "highlight";
15 private static final String name = "Highlight positions";
17 private static final String parameters = "<sequence names>,<ranges>";
19 private static final String description = "Highlight the specified sequences with the specified range(s)";
21 public void processEndpoint(HttpServletRequest request,
22 HttpServletResponse response)
24 if (!checkParameters(request, response, 2))
28 String[] parameters = getEndpointPathParameters(request);
30 String rangesString = parameters[0];
31 String[] rangeStrings = rangesString.split(",");
32 int[][] ranges = new int[rangeStrings.length][2];
33 for (int i = 0; i < rangeStrings.length; i++)
35 String range = rangeStrings[i];
38 int hyphenpos = range.indexOf('-');
41 ranges[i][0] = Integer.parseInt(range);
42 ranges[i][1] = ranges[i][0];
46 ranges[i][0] = Integer.parseInt(range.substring(0, hyphenpos));
47 ranges[i][1] = Integer.parseInt(range.substring(hyphenpos));
49 } catch (NumberFormatException nfe)
51 returnError(request, response,
52 "couldn't parse ranges component '" + range + "'");