MCPcopy Create free account
hub / github.com/OpenSourcePhysics/osp / loadDataset

Method loadDataset

src/org/opensourcephysics/tools/DataTool.java:750–799  ·  view source on GitHub ↗

Loads content into DataDataTool. @param content the xml or CVS dataset

(String content, String title)

Source from the content-addressed store, hash-verified

748 * @param content the xml or CVS dataset
749 */
750 public void loadDataset(String content, String title) {
751 // if xml, read the file into an XML control and add tab
752 if (content.startsWith("<?xml")) { //$NON-NLS-1$
753 XMLControlElement control = new XMLControlElement(content);
754 addTabs(control, new Consumer<ArrayList<DataToolTab>>() {
755
756 @Override
757 public void accept(ArrayList<DataToolTab> tabs) {
758 if (tabs.isEmpty()) {
759 OSPLog.finest("no data found"); //$NON-NLS-1$
760 } else {
761 for (DataToolTab tab : tabs) {
762 refreshDataBuilder();
763 if (tabs.size() == 1) {
764 tab.fileName = title;
765 }
766 tab.tabChanged(false);
767 }
768 }
769 }
770
771 });
772 return;
773 }
774 // if not xml, attempt to import data and add tab
775 setMultipleTabPolicy(content);
776 Data[] data = parseData(content, title);
777 if (data != null) {
778 DataToolTab first = null;
779 for (int i = 0; i < data.length; i++) {
780 DataToolTab tab = createTab(data[i]);
781 first = first == null? tab: first;
782 addTab(tab);
783 if (data.length == 1)
784 tab.fileName = title;
785 tab.tabChanged(false);
786 }
787 setSelectedTab(first);
788 return;
789 }
790// if (data != null) {
791// DataToolTab tab = createTab(data[0]);
792// addTab(tab);
793// refreshDataBuilder();
794// tab.fileName = title;
795// tab.tabChanged(false);
796// return;
797// }
798 OSPLog.finest("no data found"); //$NON-NLS-1$
799 }
800
801 /**
802 * Imports an xml or data file into an existing tab.

Callers 1

loadDatasetURIMethod · 0.95

Calls 8

addTabsMethod · 0.95
setMultipleTabPolicyMethod · 0.95
parseDataMethod · 0.95
createTabMethod · 0.95
addTabMethod · 0.95
tabChangedMethod · 0.95
setSelectedTabMethod · 0.95
finestMethod · 0.95

Tested by

no test coverage detected