X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Frbvi%2Fchimera%2FChimeraListener.java;h=40b0ff0b2c86bcb4682e8c7008c8e695dc2c88f3;hb=34567bb79dfa8f163f44c3f3448083fcd145f308;hp=95a5b7612f93529b289f61996d33d3db339e070c;hpb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;p=jalview.git diff --git a/src/jalview/ext/rbvi/chimera/ChimeraListener.java b/src/jalview/ext/rbvi/chimera/ChimeraListener.java index 95a5b76..40b0ff0 100644 --- a/src/jalview/ext/rbvi/chimera/ChimeraListener.java +++ b/src/jalview/ext/rbvi/chimera/ChimeraListener.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -39,7 +39,8 @@ import javax.servlet.http.HttpServletResponse; *
  • Start the ChimeraListener, get the URL it is listening on
  • *
  • The first listener started will start the singleton HttpServer
  • *
  • Send a 'listen' command to Chimera with the URL of the listener
  • - *
  • When Jalview's Chimera window is closed, shut down the ChimeraListener
  • + *
  • When Jalview's Chimera window is closed, shut down the + * ChimeraListener
  • *
  • Multiple linked Chimera instances will each have a separate listener (but * share one Http server)
  • * @@ -47,8 +48,8 @@ import javax.servlet.http.HttpServletResponse; * @author gmcarstairs * */ -public class ChimeraListener extends AbstractRequestHandler implements - SelectionSource +public class ChimeraListener extends AbstractRequestHandler + implements SelectionSource { /* * Chimera notification parameter name @@ -96,8 +97,7 @@ public class ChimeraListener extends AbstractRequestHandler implements * @throws BindException * if no free port can be assigned */ - public ChimeraListener(JalviewChimeraBinding binding) - throws BindException + public ChimeraListener(JalviewChimeraBinding binding) throws BindException { myChimeraId = chimeraId++; this.chimeraBinding = binding; @@ -114,22 +114,30 @@ public class ChimeraListener extends AbstractRequestHandler implements { // dumpRequest(request); String message = request.getParameter(CHIMERA_NOTIFICATION); - if (SELECTION_CHANGED.equals(message)) + if (message == null) { - this.chimeraBinding.highlightChimeraSelection(); + message = request.getParameter("chimerax_notification"); } - else if (message != null && message.startsWith(MODEL_CHANGED)) + if (message != null) { - processModelChanged(message.substring(MODEL_CHANGED.length())); - } - else - { - System.err.println("Unexpected chimeraNotification: " + message); + if (message.startsWith("SelectionChanged")) + { + this.chimeraBinding.highlightChimeraSelection(); + } + else if (message.startsWith(MODEL_CHANGED)) + { + System.err.println(message); + processModelChanged(message.substring(MODEL_CHANGED.length())); + } + else + { + System.err.println("Unexpected chimeraNotification: " + message); + } } } /** - * Handler a ModelChanged notification from Chimera + * Handle a ModelChanged notification from Chimera * * @param substring */