X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fpymol%2FPymolManager.java;fp=src%2Fjalview%2Fext%2Fpymol%2FPymolManager.java;h=26c780d5bde3bf7dcc920e879d65d154180fe659;hb=fa6411e3c25d907aa46aeb6a0ef2df8e49fe77d2;hp=e3b913b608ae6750483fb6103fb8cef99101ff5f;hpb=d69378a7c7a19760bcc240c8c082476fe50f99ae;p=jalview.git diff --git a/src/jalview/ext/pymol/PymolManager.java b/src/jalview/ext/pymol/PymolManager.java index e3b913b..26c780d 100644 --- a/src/jalview/ext/pymol/PymolManager.java +++ b/src/jalview/ext/pymol/PymolManager.java @@ -108,17 +108,6 @@ public class PymolManager return launched; } - public void exitPymol() - { - if (isPymolLaunched() && pymolProcess != null) - { - sendCommand(new StructureCommand("quit"), false); - } - pymolProcess = null; - // currentModelsMap.clear(); - this.pymolXmlRpcPort = 0; - } - /** * Sends the command to Pymol; if requested, tries to get and return any * replies, else returns null @@ -211,13 +200,13 @@ public class PymolManager return sb.toString(); } - public boolean launchPymol() + public Process launchPymol() { // todo pull up much of this // Do nothing if already launched if (isPymolLaunched()) { - return true; + return pymolProcess; } String error = "Error message: "; @@ -244,20 +233,28 @@ public class PymolManager break; } catch (Exception e) { - // pPymol could not be started using this path + // Pymol could not be started using this path error += e.getMessage(); } } - if (error.length() == 0) + + if (pymolProcess != null) { this.pymolXmlRpcPort = getPortNumber(); - System.out.println( - "PyMOL XMLRPC started on port " + pymolXmlRpcPort); - return (pymolXmlRpcPort > 0); + if (pymolXmlRpcPort > 0) + { + Cache.log.info("PyMOL XMLRPC started on port " + pymolXmlRpcPort); + } + else + { + error += "Failed to read PyMOL XMLRPC port number"; + Cache.log.error(error); + pymolProcess.destroy(); + pymolProcess = null; + } } - // logger.warn(error); - return false; + return pymolProcess; } private int getPortNumber() @@ -295,9 +292,8 @@ public class PymolManager } } catch (Exception e) { - System.err.println( - "Failed to get REST port number from " + responses + ": " - + e.getMessage()); + Cache.log.error("Failed to get REST port number from " + responses + + ": " + e.getMessage()); // logger.error("Failed to get REST port number from " + responses + ": " // + e.getMessage()); } finally @@ -311,10 +307,10 @@ public class PymolManager } if (port == 0) { - System.err.println("Failed to start PyMOL with XMLRPC, response was: " + Cache.log.error("Failed to start PyMOL with XMLRPC, response was: " + responses); } - System.err.println("PyMOL started with XMLRPC on port " + port); + Cache.log.error("PyMOL started with XMLRPC on port " + port); return port; }