- @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;
- }
- }
- }