From: <ha...@us...> - 2006-09-16 13:31:34
|
Revision: 5560 http://svn.sourceforge.net/jmol/?rev=5560&view=rev Author: hansonr Date: 2006-09-16 06:31:27 -0700 (Sat, 16 Sep 2006) Log Message: ----------- explicit file close Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-09-16 10:39:34 UTC (rev 5559) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-09-16 13:31:27 UTC (rev 5560) @@ -62,6 +62,7 @@ atomSetCollectionReader.initialize(params); AtomSetCollection atomSetCollection = atomSetCollectionReader.readAtomSetCollection(bufferedReader); + bufferedReader.close(); return finalize(atomSetCollection, "file " + name); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-23 05:02:07
|
Revision: 6003 http://svn.sourceforge.net/jmol/?rev=6003&view=rev Author: hansonr Date: 2006-10-22 22:02:00 -0700 (Sun, 22 Oct 2006) Log Message: ----------- fix for spartan binary not reading vibrations Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-10-23 04:06:51 UTC (rev 6002) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-10-23 05:02:00 UTC (rev 6003) @@ -336,11 +336,11 @@ final static String[][] containsRecords = { xmlRecords, gaussianRecords, mopacRecords, qchemRecords, gamessRecords, - spartanRecords, spartanBinaryRecords, mol2Records, adfRecords, + spartanBinaryRecords, spartanRecords, mol2Records, adfRecords, }; final static String[] containsFormats = - { "Xml", "Gaussian", "Mopac", "Qchem", "Gamess", "Spartan", "SpartanSmol" , "Mol2", "Adf"}; + { "Xml", "Gaussian", "Mopac", "Qchem", "Gamess", "SpartanSmol", "Spartan" , "Mol2", "Adf"}; } class LimitedLineReader { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-22 17:03:35
|
Revision: 6289 http://svn.sourceforge.net/jmol/?rev=6289&view=rev Author: hansonr Date: 2006-11-22 09:01:17 -0800 (Wed, 22 Nov 2006) Log Message: ----------- actually, JME file reading was already disabled; this re-enables it. Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-11-22 16:51:05 UTC (rev 6288) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-11-22 17:01:17 UTC (rev 6289) @@ -96,8 +96,12 @@ throws Exception { String[] lines = new String[16]; LimitedLineReader llr = new LimitedLineReader(bufferedReader, 16384); - for (int i = 0; i < lines.length; ++i) + int nLines = 0; + for (int i = 0; i < lines.length; ++i) { lines[i] = llr.readLineWithNewline(); + if (lines[i].length() > 0) + nLines++; + } if (checkV3000(lines)) return "V3000"; if (checkMol(lines)) @@ -142,7 +146,7 @@ } } - if (lines[1] == null && lines[0] != null && lines[0].length() > 0 + if (nLines == 1 && lines[0].length() > 0 && Character.isDigit(lines[0].charAt(0))) return "Jme"; //only one line, and that line starts with a number This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2006-12-06 20:27:00
|
Revision: 6403 http://svn.sourceforge.net/jmol/?rev=6403&view=rev Author: nicove Date: 2006-12-06 12:26:50 -0800 (Wed, 06 Dec 2006) Log Message: ----------- Restricting detection of Folding At Home files Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-12-06 20:25:38 UTC (rev 6402) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2006-12-06 20:26:50 UTC (rev 6403) @@ -203,16 +203,46 @@ return false; } + /** + * @param lines First lines of the files. + * @return Indicates if the file may be a Folding@Home file. + */ static boolean checkFoldingXyz(String[] lines) { + // Checking first line: <number of atoms> <protein name> + if ((lines == null) || (lines.length < 2) || (lines[0] == null)) { + return false; + } + StringTokenizer tokens = new StringTokenizer(lines[0].trim(), " \t"); + if ((tokens == null) || (tokens.countTokens() < 2)) { + return false; + } try { - StringTokenizer tokens = new StringTokenizer(lines[0].trim(), " \t"); - if ((tokens != null) && (tokens.countTokens() >= 2)) { - Integer.parseInt(tokens.nextToken().trim()); - return true; + Integer.parseInt(tokens.nextToken().trim()); + } catch (NumberFormatException nfe) { + return false; + } + + // Checking second line: <atom number> ... + String secondLine = lines[1]; + if ((secondLine == null) || (secondLine.trim().length() == 0)) { + if (lines.length > 2) { + secondLine = lines[2]; } + } + if ((secondLine == null) || (secondLine.trim().length() == 0)) { + return false; + } + tokens = new StringTokenizer(secondLine.trim(), " \t"); + if ((tokens == null) || (tokens.countTokens() < 1)) { + return false; + } + try { + Integer.parseInt(tokens.nextToken().trim()); } catch (NumberFormatException nfe) { + return false; } - return false; + + return true; } static boolean checkCube(String[] lines) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-14 06:53:50
|
Revision: 6815 http://svn.sourceforge.net/jmol/?rev=6815&view=rev Author: hansonr Date: 2007-02-13 22:53:47 -0800 (Tue, 13 Feb 2007) Log Message: ----------- 11.1.12 -- last addition: better error message for file format unrecognized Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-02-14 06:36:36 UTC (rev 6814) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-02-14 06:53:47 UTC (rev 6815) @@ -32,7 +32,7 @@ static String getFileType(BufferedReader br) { try { - return determineAtomSetCollectionReader(br); + return determineAtomSetCollectionReader(br, false); } catch (Exception e) { return null; } @@ -42,28 +42,29 @@ return resolve(name, bufferedReader, null); } - static Object resolve(String name, BufferedReader bufferedReader, - int[] params) throws Exception { + static Object resolve(String name, BufferedReader bufferedReader, int[] params) + throws Exception { AtomSetCollectionReader atomSetCollectionReader; - String atomSetCollectionReaderName = - determineAtomSetCollectionReader(bufferedReader); - if (atomSetCollectionReaderName == null) - return "unrecognized file format for file " + name; + String atomSetCollectionReaderName = determineAtomSetCollectionReader( + bufferedReader, true); + if (atomSetCollectionReaderName.indexOf("\n") >= 0) + return "unrecognized file format for file " + name + "\n" + + atomSetCollectionReaderName; Logger.debug("The Resolver thinks " + atomSetCollectionReaderName); - String className = - "org.jmol.adapter.smarter." + atomSetCollectionReaderName + "Reader"; + String className = "org.jmol.adapter.smarter." + + atomSetCollectionReaderName + "Reader"; try { Class atomSetCollectionReaderClass = Class.forName(className); - atomSetCollectionReader = - (AtomSetCollectionReader)atomSetCollectionReaderClass.newInstance(); + atomSetCollectionReader = (AtomSetCollectionReader) atomSetCollectionReaderClass + .newInstance(); } catch (Exception e) { String err = "Could not instantiate:" + className; Logger.error(err, e); return err; } atomSetCollectionReader.initialize(params); - AtomSetCollection atomSetCollection = - atomSetCollectionReader.readAtomSetCollection(bufferedReader); + AtomSetCollection atomSetCollection = atomSetCollectionReader + .readAtomSetCollection(bufferedReader); bufferedReader.close(); bufferedReader = null; return finalize(atomSetCollection, "file " + name); @@ -88,7 +89,7 @@ return atomSetCollection; } - static String determineAtomSetCollectionReader(BufferedReader bufferedReader) + static String determineAtomSetCollectionReader(BufferedReader bufferedReader, boolean returnLines) throws Exception { String[] lines = new String[16]; LimitedLineReader llr = new LimitedLineReader(bufferedReader, 16384); @@ -147,7 +148,7 @@ } } - return null; + return (returnLines ? "\n" + lines[0] + "\n" + lines[1] + "\n" + lines[2] + "\n" : null); } //////////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-04-05 04:20:20
|
Revision: 7319 http://svn.sourceforge.net/jmol/?rev=7319&view=rev Author: hansonr Date: 2007-04-04 21:20:17 -0700 (Wed, 04 Apr 2007) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-04-05 03:29:29 UTC (rev 7318) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-04-05 04:20:17 UTC (rev 7319) @@ -108,8 +108,10 @@ return "V3000"; if (checkMol(lines)) return "Mol"; + if (checkXyz(lines)) + return "Xyz"; if (checkMopacGraphf(lines)) - return "MopacGraphf"; + return "MopacGraphf"; //must be prior to checkFoldingXyz if (checkFoldingXyz(lines)) return "FoldingXyz"; if (checkCube(lines)) @@ -155,7 +157,7 @@ // file types that need special treatment //////////////////////////////////////////////////////////////// - static boolean checkOdyssey(String[] lines) { + private static boolean checkOdyssey(String[] lines) { int i; for (i = 0; i < lines.length; i++) if (!lines[i].startsWith("C ")) @@ -165,7 +167,7 @@ && lines[i + 2].equals("0 1\n")); } - static boolean checkV3000(String[] lines) { + private static boolean checkV3000(String[] lines) { if (lines[3].length() >= 6) { String line4trimmed = lines[3].trim(); if (line4trimmed.endsWith("V3000")) @@ -174,7 +176,7 @@ return false; } - static boolean checkMol(String[] lines) { + private static boolean checkMol(String[] lines) { if (lines[3].length() >= 6) { String line4trimmed = lines[3].trim(); if (line4trimmed.endsWith("V2000") || @@ -190,7 +192,7 @@ return false; } - static boolean checkXyz(String[] lines) { + private static boolean checkXyz(String[] lines) { try { Integer.parseInt(lines[0].trim()); return true; @@ -203,7 +205,7 @@ * @param lines First lines of the files. * @return Indicates if the file may be a Folding@Home file. */ - static boolean checkFoldingXyz(String[] lines) { + private static boolean checkFoldingXyz(String[] lines) { // Checking first line: <number of atoms> <protein name> StringTokenizer tokens = new StringTokenizer(lines[0].trim(), " \t"); if (tokens.countTokens() < 2) @@ -253,11 +255,12 @@ * @param lines First lines of the files. * @return Indicates if the file is a Mopac GRAPHF output file. */ - static boolean checkMopacGraphf(String[] lines) { + + private static boolean checkMopacGraphf(String[] lines) { return (lines[0].indexOf("MOPAC-Graphical data") == 6); } - static boolean checkCube(String[] lines) { + private static boolean checkCube(String[] lines) { try { StringTokenizer tokens2 = new StringTokenizer(lines[2]); if (tokens2 == null || tokens2.countTokens() != 4) @@ -277,8 +280,8 @@ } return false; } - - void dumpLines(String[] lines) { +/* + private void dumpLines(String[] lines) { for (int i = 0; i < lines.length; i++) { Logger.info("\nLine "+i + " len " + lines[i].length()); for (int j = 0; j < lines[i].length(); j++) @@ -287,6 +290,7 @@ Logger.info(""); } +*/ //////////////////////////////////////////////////////////////// // these test files that startWith one of these strings //////////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-04-27 14:49:22
|
Revision: 7515 http://svn.sourceforge.net/jmol/?rev=7515&view=rev Author: hansonr Date: 2007-04-27 07:49:20 -0700 (Fri, 27 Apr 2007) Log Message: ----------- 11.1.30 -- new resolver (testing) Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-04-27 14:36:34 UTC (rev 7514) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-04-27 14:49:20 UTC (rev 7515) @@ -63,18 +63,9 @@ atomSetCollectionReader = (AtomSetCollectionReader) atomSetCollectionReaderClass .newInstance(); } catch (Exception e) { - //new trick: look in the CURRENT directory (of the applet) for the class file itself - //because the readers jar file is not being loaded (to save time). - try { - className = atomSetCollectionReaderName + "Reader"; - atomSetCollectionReaderClass = Class.forName(className); - atomSetCollectionReader = (AtomSetCollectionReader) atomSetCollectionReaderClass - .newInstance(); - } catch (Exception e2) { - String err = "File reader was not found:" + classBase + className + " or " + className; - Logger.error(err, e2); - return err; - } + String err = "File reader was not found:" + classBase + className; + Logger.error(err, e); + return err; } atomSetCollectionReader.initialize(htParams); AtomSetCollection atomSetCollection = atomSetCollectionReader This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-11-26 19:35:26
|
Revision: 8680 http://jmol.svn.sourceforge.net/jmol/?rev=8680&view=rev Author: hansonr Date: 2007-11-26 11:35:23 -0800 (Mon, 26 Nov 2007) Log Message: ----------- version=11.3.49_dev # new feature: direct reading of MAC Spartan06 directories. Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-11-26 19:34:02 UTC (rev 8679) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-11-26 19:35:23 UTC (rev 8680) @@ -80,6 +80,8 @@ if (name.indexOf(".spt") == name.length() - 4) return new String[] { null, null, null}; //DO NOT actually load any file here if ((pt = name.lastIndexOf(".spardir")) >= 0) { + if (name.indexOf(".spardir.") >= 0) + return null; // could easily be .spardir.zip -- these MUST be .spardir or .spardir/... name = name.replace('\\','/'); name = name.substring(0, pt + (name.indexOf("/M") == pt + 8 ? 14 : 8)); if (name.indexOf("/M") < 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-12-30 21:34:12
|
Revision: 8870 http://jmol.svn.sourceforge.net/jmol/?rev=8870&view=rev Author: hansonr Date: 2007-12-30 13:34:10 -0800 (Sun, 30 Dec 2007) Log Message: ----------- version=11.3.66_dev # bug fix: explicit format LOAD "XXX::whatever" extended to XML variants # code: adapter/readers/more/JmolDataReader.java removed. # code: adapter/smarter/Resolver.java cleaned up in relation to XML and DOM options Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-12-30 21:00:20 UTC (rev 8869) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2007-12-30 21:34:10 UTC (rev 8870) @@ -245,10 +245,11 @@ String recordTag = recordTags[j]; if (header.indexOf(recordTag) != -1) { type = recordTags[0]; - if (type.equals("Xml")) + if (type.equals("Xml")) { if (header.indexOf("XHTML") >= 0 || header.indexOf("xhtml") >= 0) break; //probably an error message from a server -- certainly not XML type = getXmlType(header); + } return type; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2008-01-23 13:42:53
|
Revision: 8928 http://jmol.svn.sourceforge.net/jmol/?rev=8928&view=rev Author: egonw Date: 2008-01-23 05:42:51 -0800 (Wed, 23 Jan 2008) Log Message: ----------- CIF should be checked first, as it is more precise than PDB Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2008-01-21 01:53:55 UTC (rev 8927) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2008-01-23 13:42:51 UTC (rev 8928) @@ -551,7 +551,7 @@ { "Csf", "local_transform"}; final static String[][] lineStartsWithRecords = - { pqrRecords, pdbRecords, shelxRecords, cifRecords, + { cifRecords, pqrRecords, pdbRecords, shelxRecords, ghemicalMMRecords, jaguarRecords, hinRecords, mdlRecords, spartanSmolRecords, csfRecords, mol2Records}; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |