return null;
}
- public static DataSourceType checkProtocol(String file)
+ /**
+ * Determines the protocol (i.e DataSourceType.{FILE|PASTE|URL}) for the input
+ * data
+ *
+ * @param data
+ * @return the protocol for the input data
+ */
+ public static DataSourceType checkProtocol(String data)
{
- DataSourceType protocol = DataSourceType.FILE;
- String ft = file.toLowerCase().trim();
+ DataSourceType protocol = DataSourceType.PASTE;
+ String ft = data.toLowerCase().trim();
if (ft.indexOf("http:") == 0 || ft.indexOf("https:") == 0
|| ft.indexOf("file:") == 0)
{
protocol = DataSourceType.URL;
}
+ else if (new File(data).exists())
+ {
+ protocol = DataSourceType.FILE;
+ }
return protocol;
}
import jalview.gui.StructureViewer.ViewerType;
import jalview.io.DataSourceType;
-import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
}
}
- @Test(groups = { "Functional", "Network" })
- public void testStructureLoadingViaURL()
- {
- Cache.setProperty(Preferences.STRUCTURE_DISPLAY, ViewerType.JMOL.name());
- String inFile = "http://www.jalview.org/builds/develop/examples/3W5V.pdb";
- AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(
- inFile, DataSourceType.URL);
- assertTrue("Didn't read input file " + inFile, af != null);
- for (SequenceI sq : af.getViewport().getAlignment().getSequences())
- {
- SequenceI dsq = sq.getDatasetSequence();
- while (dsq.getDatasetSequence() != null)
- {
- dsq = dsq.getDatasetSequence();
- }
- if (dsq.getAllPDBEntries() != null
- && dsq.getAllPDBEntries().size() > 0)
- {
- for (int q = 0; q < dsq.getAllPDBEntries().size(); q++)
- {
- final StructureViewer structureViewer = new StructureViewer(af
- .getViewport().getStructureSelectionManager());
- structureViewer.setViewerType(ViewerType.JMOL);
- JalviewStructureDisplayI jmolViewer = structureViewer
- .viewStructures(dsq.getAllPDBEntries().elementAt(q),
- new SequenceI[] { sq }, af.getCurrentView()
- .getAlignPanel());
- /*
- * Wait for viewer load thread to complete
- */
- try
- {
- while (!jmolViewer.getBinding().isFinishedInit())
- {
- Thread.sleep(500);
- }
- } catch (InterruptedException e)
- {
- }
- // System.out.println(">>>>>>>>>>>>>>>>> "
- // + jmolViewer.getBinding().getPdbFile());
- String[] expectedModelFiles = new String[] { "http://www.jalview.org/builds/develop/examples/3W5V.pdb" };
- String[] actualModelFiles = jmolViewer.getBinding().getStructureFiles();
- Assert.assertEqualsNoOrder(actualModelFiles, expectedModelFiles);
- jmolViewer.closeViewer(true);
- // todo: break here means only once through this loop?
- break;
- }
- break;
- }
- }
- }
+
}
fileLoader.LoadFileWaitTillLoaded(urlFile, DataSourceType.URL,
FileFormat.PDB);
Assert.assertNotNull(fileLoader.file);
- // The FileLoader's file is expected to a temporary file different from the
- // original URL.
- Assert.assertNotEquals(urlFile, fileLoader.file);
- // Data source type expected to be updated from DataSourceType.URL to
- // DataSourceType.FILE
- Assert.assertEquals(DataSourceType.FILE, fileLoader.protocol);
+ // The FileLoader's file is expected to be same as the original URL.
+ Assert.assertEquals(urlFile, fileLoader.file);
+ // Data source type expected to be DataSourceType.URL
+ Assert.assertEquals(DataSourceType.URL, fileLoader.protocol);
}
}