--- /dev/null
+package jalview.rest;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class HighlightSequenceEndpoint extends Endpoint
+{
+ public HighlightSequenceEndpoint(API api)
+ {
+ super(api, name);
+ }
+
+ protected static final String name = "highlight";
+
+ public void processEndpoint(HttpServletRequest request,
+ HttpServletResponse response)
+ {
+ String[] parameters = getEndpointPathParameters(request);
+
+ // check we can run highlight
+ if (parameters.length < 1)
+ {
+ returnError(request, response, "requires 1 path parameters: ranges");
+ return;
+ }
+
+ String rangesString = parameters[0];
+ String[] rangeStrings = rangesString.split(",");
+ int[][] ranges = new int[rangeStrings.length][2];
+ for (int i = 0; i < rangeStrings.length; i++)
+ {
+ String range = rangeStrings[i];
+ try
+ {
+ int hyphenpos = range.indexOf('-');
+ if (hyphenpos < 0)
+ {
+ ranges[i][0] = Integer.parseInt(range);
+ ranges[i][1] = ranges[i][0];
+ }
+ else
+ {
+ ranges[i][0] = Integer.parseInt(range.substring(0, hyphenpos));
+ ranges[i][1] = Integer.parseInt(range.substring(hyphenpos));
+ }
+ } catch (NumberFormatException nfe)
+ {
+ returnError(request, response,
+ "couldn't parse ranges component '" + range + "'");
+ return;
+ }
+ }
+
+ }
+}
\ No newline at end of file