X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Frbvi%2Fchimera%2FChimeraListener.java;h=40b0ff0b2c86bcb4682e8c7008c8e695dc2c88f3;hb=3cea8af5f3d2849ebe7062972c0865af1f86c5f7;hp=ead51b31417a7e50f6106fbd2dbdd3453406748d;hpb=4d7f98a6dd54d9863ba449ec79dcd95d25ed863d;p=jalview.git diff --git a/src/jalview/ext/rbvi/chimera/ChimeraListener.java b/src/jalview/ext/rbvi/chimera/ChimeraListener.java index ead51b3..40b0ff0 100644 --- a/src/jalview/ext/rbvi/chimera/ChimeraListener.java +++ b/src/jalview/ext/rbvi/chimera/ChimeraListener.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.ext.rbvi.chimera; import jalview.httpserver.AbstractRequestHandler; @@ -19,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)
  • * @@ -27,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 @@ -76,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; @@ -94,22 +114,30 @@ public class ChimeraListener extends AbstractRequestHandler implements { // dumpRequest(request); String message = request.getParameter(CHIMERA_NOTIFICATION); - if (SELECTION_CHANGED.equals(message)) - { - this.chimeraBinding.highlightChimeraSelection(); - } - else if (message != null && message.startsWith(MODEL_CHANGED)) + if (message == null) { - processModelChanged(message.substring(MODEL_CHANGED.length())); + message = request.getParameter("chimerax_notification"); } - else + if (message != null) { - 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 */