X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Frbvi%2Fchimera%2FChimeraListener.java;h=af31b78a39596def8b820c1edacae23a8fe80793;hb=cd669a0e8c7b91b379bca8fe6e702cf0fcbd1ce0;hp=2882cb5ec3318794eda08041a81e805b00362270;hpb=2150df780eddbdf72013d29ee8eabb0f235c7bb4;p=jalview.git
diff --git a/src/jalview/ext/rbvi/chimera/ChimeraListener.java b/src/jalview/ext/rbvi/chimera/ChimeraListener.java
index 2882cb5..af31b78 100644
--- a/src/jalview/ext/rbvi/chimera/ChimeraListener.java
+++ b/src/jalview/ext/rbvi/chimera/ChimeraListener.java
@@ -1,13 +1,33 @@
+/*
+ * 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;
+import jalview.structure.SelectionSource;
+
import java.net.BindException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import jalview.httpserver.AbstractRequestHandler;
-import jalview.structure.SelectionSource;
-
/**
* This is a simple Http handler that can listen for selections in Chimera.
*
@@ -19,7 +39,8 @@ import jalview.structure.SelectionSource;
* 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 jalview.structure.SelectionSource;
* @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,28 +114,36 @@ 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))
+ {
+ jalview.bin.Console.errPrintln(message);
+ processModelChanged(message.substring(MODEL_CHANGED.length()));
+ }
+ else
+ {
+ jalview.bin.Console.errPrintln("Unexpected chimeraNotification: " + message);
+ }
}
}
/**
- * Handler a ModelChanged notification from Chimera
+ * Handle a ModelChanged notification from Chimera
*
* @param substring
*/
protected void processModelChanged(String message)
{
- // System.out.println(message + " (not implemented in Jalview)");
+ // jalview.bin.Console.outPrintln(message + " (not implemented in Jalview)");
}
/**