- FileParse fparser = new jalview.io.FileParse(protocol, pdbentry.getFile());
- if (!fparser.isValid())
- {
- throw new Exception("Invalid datasource. "+fparser.getWarningMessage());
+ java.io.Reader freader = null;
+ if (reader!=null) {
+ if (jalview.bin.JalviewLite.debug)
+ {
+ System.err.println("AppletJmol:Trying to reuse existing PDBfile IO parser.");
+ }
+ // re-use the one we opened earlier
+ freader = reader.getReader();
+ }
+ if (freader==null) {
+ if (jalview.bin.JalviewLite.debug)
+ {
+ System.err.println("AppletJmol:Creating new PDBfile IO parser.");
+ }
+ FileParse fp = new FileParse(pdbentry.getFile(), protocol);
+ fp.mark();
+ // reader = new MCview.PDBfile(fp);
+ // could set ID, etc.
+ //if (!reader.isValid())
+ //{
+ // throw new Exception("Invalid datasource. "+reader.getWarningMessage());
+ //}
+ //fp.reset();
+ freader = fp.getReader();
+ }
+ if (freader==null) {
+ throw new Exception("Invalid datasource. Could not obtain Reader.");