/** * Sets instances that should be stored. * * @param instances the instances */ @Override public void setInstances(Instances instances) { Capabilities cap = getCapabilities(); if (!cap.test(instances)) { throw new IllegalArgumentException(cap.getFailReason()); } if (m_retrieval == INCREMENTAL) { if (setStructure(instances) == CANCEL) { cancel(); } } else { m_instances = instances; } }
/** Cancels the incremental saving process if the write mode is CANCEL. */ public void cancel() { if (m_writeMode == CANCEL) { resetOptions(); } }
/** * saves the current data into a file */ public void saveFile() { DataPanel panel; String filename; AbstractSaver saver; // no panel? -> exit panel = getCurrentPanel(); if (panel == null) { return; } filename = panel.getFilename(); if (filename.equals(DataPanel.TAB_INSTANCES)) { saveFileAs(); } else { saver = ConverterUtils.getSaverForFile(filename); try { saver.setFile(new File(filename)); saver.setInstances(panel.getInstances()); saver.writeBatch(); panel.setChanged(false); setCurrentFilename(filename); } catch (Exception e) { e.printStackTrace(); } } }
/** * test the incremental save (via setFile(File)). */ public void testIncrementalSaver() { int i; File file; if (!(getSaver() instanceof IncrementalConverter)) { return; } try { // remove output file if it exists file = new File(m_ExportFilename); if (file.exists()) { file.delete(); } // save m_Saver.setFile(new File(m_ExportFilename)); m_Saver.setRetrieval(AbstractSaver.INCREMENTAL); m_Saver.setStructure(new Instances(m_Instances, 0)); for (i = 0; i < m_Instances.numInstances(); i++) { m_Saver.writeIncremental(m_Instances.instance(i)); } m_Saver.writeIncremental(null); } catch (Exception e) { e.printStackTrace(); fail("Incremental save failed: " + e.toString()); } }
/** * filters the list of file filters according to the currently set. * Capabilities * * @param list the filters to check * @return the filtered list of filters */ protected Vector<ExtensionFileFilter> filterSaverFileFilters( Vector<ExtensionFileFilter> list) { Vector<ExtensionFileFilter> result; int i; ExtensionFileFilter filter; AbstractSaver saver; if (m_CapabilitiesFilter == null) { result = list; } else { result = new Vector<ExtensionFileFilter>(); for (i = 0; i < list.size(); i++) { filter = list.get(i); saver = ConverterUtils.getSaverForExtension(filter.getExtensions()[0]); if (saver.getCapabilities().supports(m_CapabilitiesFilter)) { result.add(filter); } } } return result; }
/** * saves the current data into a file */ public void saveFile() { ArffPanel panel; String filename; AbstractSaver saver; // no panel? -> exit panel = getCurrentPanel(); if (panel == null) { return; } filename = panel.getFilename(); if (filename.equals(ArffPanel.TAB_INSTANCES)) { saveFileAs(); } else { saver = ConverterUtils.getSaverForFile(filename); try { saver.setFile(new File(filename)); saver.setInstances(panel.getInstances()); saver.writeBatch(); panel.setChanged(false); setCurrentFilename(filename); } catch (Exception e) { e.printStackTrace(); } } }
/** * test the incremental save (via setFile(File)). */ public void testIncrementalSaver() { int i; File file; if (!(getSaver() instanceof IncrementalConverter)) { return; } try { // remove output file if it exists file = new File(m_ExportFilename); if (file.exists()) { file.delete(); } // save m_Saver.setFile(new File(m_ExportFilename)); m_Saver.setRetrieval(AbstractSaver.INCREMENTAL); m_Saver.setStructure(new Instances(m_Instances, 0)); for (i = 0; i < m_Instances.numInstances(); i++) { m_Saver.writeIncremental(m_Instances.instance(i)); } m_Saver.writeIncremental(null); } catch (Exception e) { e.printStackTrace(); fail("Incremental save failed: " + e.toString()); } }
/** * filters the list of file filters according to the currently set. * Capabilities * * @param list the filters to check * @return the filtered list of filters */ protected Vector<ExtensionFileFilter> filterSaverFileFilters( Vector<ExtensionFileFilter> list) { Vector<ExtensionFileFilter> result; int i; ExtensionFileFilter filter; AbstractSaver saver; if (m_CapabilitiesFilter == null) { result = list; } else { result = new Vector<ExtensionFileFilter>(); for (i = 0; i < list.size(); i++) { filter = list.get(i); saver = ConverterUtils.getSaverForExtension(filter.getExtensions()[0]); if (saver.getCapabilities().supports(m_CapabilitiesFilter)) { result.add(filter); } } } return result; }
/** * saves the current data into a file */ public void saveFile() { DataPanel panel; String filename; AbstractSaver saver; // no panel? -> exit panel = getCurrentPanel(); if (panel == null) { return; } filename = panel.getFilename(); if (filename.equals(DataPanel.TAB_INSTANCES)) { saveFileAs(); } else { saver = ConverterUtils.getSaverForFile(filename); try { saver.setFile(new File(filename)); saver.setInstances(panel.getInstances()); saver.writeBatch(); panel.setChanged(false); setCurrentFilename(filename); } catch (Exception e) { e.printStackTrace(); } } }
/** * Sets instances that should be stored. * * @param instances the instances */ @Override public void setInstances(Instances instances) { Capabilities cap = getCapabilities(); if (!cap.test(instances)) { throw new IllegalArgumentException(cap.getFailReason()); } if (m_retrieval == INCREMENTAL) { if (setStructure(instances) == CANCEL) { cancel(); } } else { m_instances = instances; } }
/** Cancels the incremental saving process if the write mode is CANCEL. */ public void cancel() { if (m_writeMode == CANCEL) { resetOptions(); } }
/** * Sets the strcuture of the instances for the first step of incremental * saving. The instances only need to have a header. * * @param headerInfo an instances object. * @return the appropriate write mode */ public int setStructure(Instances headerInfo) { Capabilities cap = getCapabilities(); if (!cap.test(headerInfo)) { throw new IllegalArgumentException(cap.getFailReason()); } if (m_writeMode == WAIT && headerInfo != null) { m_instances = headerInfo; m_writeMode = STRUCTURE_READY; } else { if ((headerInfo == null) || !(m_writeMode == STRUCTURE_READY) || !headerInfo.equalHeaders(m_instances)) { m_instances = null; if (m_writeMode != WAIT) { System.err .println("A structure cannot be set up during an active incremental saving process."); } m_writeMode = CANCEL; } } return m_writeMode; }
/** * saves the current data into a file */ public void saveFile() { ArffPanel panel; String filename; AbstractSaver saver; // no panel? -> exit panel = getCurrentPanel(); if (panel == null) { return; } filename = panel.getFilename(); if (filename.equals(ArffPanel.TAB_INSTANCES)) { saveFileAs(); } else { saver = ConverterUtils.getSaverForFile(filename); try { saver.setFile(new File(filename)); saver.setInstances(panel.getInstances()); saver.writeBatch(); panel.setChanged(false); setCurrentFilename(filename); } catch (Exception e) { e.printStackTrace(); } } }
/** * resets the options * */ @Override public void resetOptions() { super.resetOptions(); m_outputFile = null; m_writer = null; m_prefix = ""; m_dir = ""; m_incrementalCounter = 0; }
/** * Sets the strcuture of the instances for the first step of incremental * saving. The instances only need to have a header. * * @param headerInfo an instances object. * @return the appropriate write mode */ public int setStructure(Instances headerInfo) { Capabilities cap = getCapabilities(); if (!cap.test(headerInfo)) { throw new IllegalArgumentException(cap.getFailReason()); } if (m_writeMode == WAIT && headerInfo != null) { m_instances = headerInfo; m_writeMode = STRUCTURE_READY; } else { if ((headerInfo == null) || !(m_writeMode == STRUCTURE_READY) || !headerInfo.equalHeaders(m_instances)) { m_instances = null; if (m_writeMode != WAIT) { System.err .println("A structure cannot be set up during an active incremental saving process."); } m_writeMode = CANCEL; } } return m_writeMode; }
m_Saver.setInstances(m_Instances); m_Saver.setFile(new File(m_ExportFilename)); m_Saver.writeBatch();
/** * resets the options * */ @Override public void resetOptions() { super.resetOptions(); m_outputFile = null; m_writer = null; m_prefix = ""; m_dir = ""; m_incrementalCounter = 0; }
/** * Returns the Capabilities of this saver. * * @return the capabilities of this object * @see Capabilities */ @Override public Capabilities getCapabilities() { Capabilities result = super.getCapabilities(); // attributes result.enable(Capability.NOMINAL_ATTRIBUTES); result.enable(Capability.NUMERIC_ATTRIBUTES); result.enable(Capability.DATE_ATTRIBUTES); result.enable(Capability.MISSING_VALUES); result.enable(Capability.STRING_ATTRIBUTES); // class result.enable(Capability.NOMINAL_CLASS); result.enable(Capability.NUMERIC_CLASS); result.enable(Capability.DATE_CLASS); result.enable(Capability.STRING_CLASS); result.enable(Capability.NO_CLASS); result.enable(Capability.MISSING_CLASS_VALUES); return result; }
m_Saver.setInstances(m_Instances); m_Saver.setFile(new File(m_ExportFilename)); m_Saver.writeBatch();
public void resetOptions() { super.resetOptions();