/** * Sets the experiment which will have the custom properties edited. * * @param exp a value of type 'Experiment' */ public void setExperiment(Experiment exp) { m_Exp = exp; m_StatusBox.setEnabled(true); m_ArrayEditor.setValue(m_Exp.getPropertyArray()); if (m_Exp.getPropertyArray() == null) { m_StatusBox.setSelectedIndex(0); m_ConfigureBut.setEnabled(false); } else { m_StatusBox.setSelectedIndex(m_Exp.getUsePropertyIterator() ? 1 : 0); m_ConfigureBut.setEnabled(m_Exp.getUsePropertyIterator()); } validate(); }
public void runExperiment(boolean verbose) { while (hasMoreIterations()) { try { if (verbose) { String current = "Iteration:"; if (getUsePropertyIterator()) { int cnum = getCurrentPropertyNumber(); String ctype = getPropertyArray().getClass().getComponentType() .getName(); int lastDot = ctype.lastIndexOf('.'); if (lastDot != -1) { ctype = ctype.substring(lastDot + 1); } String cname = " " + ctype + "=" + (cnum + 1) + ":" + getPropertyArrayValue(cnum).getClass().getName(); current += cname; } String dname = ((File) getDatasets().elementAt( getCurrentDatasetNumber())).getName(); current += " Dataset=" + dname + " Run=" + (getCurrentRunNumber()); System.out.println(current); } nextIteration(); } catch (Exception ex) { ex.printStackTrace(); System.err.println(ex.getMessage()); advanceCounters(); // Try to keep plowing through } } }
public void runExperiment(boolean verbose) { while (hasMoreIterations()) { try { if (verbose) { String current = "Iteration:"; if (getUsePropertyIterator()) { int cnum = getCurrentPropertyNumber(); String ctype = getPropertyArray().getClass().getComponentType() .getName(); int lastDot = ctype.lastIndexOf('.'); if (lastDot != -1) { ctype = ctype.substring(lastDot + 1); } String cname = " " + ctype + "=" + (cnum + 1) + ":" + getPropertyArrayValue(cnum).getClass().getName(); current += cname; } String dname = ((File) getDatasets().elementAt( getCurrentDatasetNumber())).getName(); current += " Dataset=" + dname + " Run=" + (getCurrentRunNumber()); System.out.println(current); } nextIteration(); } catch (Exception ex) { ex.printStackTrace(); System.err.println(ex.getMessage()); advanceCounters(); // Try to keep plowing through } } }
/** * Sets the experiment which will have the custom properties edited. * * @param exp a value of type 'Experiment' */ public void setExperiment(Experiment exp) { m_Exp = exp; m_StatusBox.setEnabled(true); m_ArrayEditor.setValue(m_Exp.getPropertyArray()); if (m_Exp.getPropertyArray() == null) { m_StatusBox.setSelectedIndex(0); m_ConfigureBut.setEnabled(false); } else { m_StatusBox.setSelectedIndex(m_Exp.getUsePropertyIterator() ? 1 : 0); m_ConfigureBut.setEnabled(m_Exp.getUsePropertyIterator()); } validate(); }
if (m_ExpCopy.getUsePropertyIterator()) { int cnum = m_ExpCopy.getCurrentPropertyNumber(); String ctype = m_ExpCopy.getPropertyArray().getClass().getComponentType().getName(); int lastDot = ctype.lastIndexOf('.'); if (lastDot != -1) {
/** * Tells the panel to act on a new experiment. * * @param exp a value of type 'Experiment' */ public void setExperiment(Experiment exp) { m_Exp = exp; m_AddBut.setEnabled(true); m_List.setModel(m_AlgorithmListModel); m_List.setCellRenderer(new ObjectCellRenderer()); m_AlgorithmListModel.removeAllElements(); if (m_Exp.getPropertyArray() instanceof Classifier[]) { Classifier[] algorithms = (Classifier[]) m_Exp.getPropertyArray(); for (Classifier algorithm : algorithms) { m_AlgorithmListModel.addElement(algorithm); } } m_EditBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_DeleteBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_LoadOptionsBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_SaveOptionsBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_UpBut.setEnabled(JListHelper.canMoveUp(m_List)); m_DownBut.setEnabled(JListHelper.canMoveDown(m_List)); }
if (m_ExpCopy.getUsePropertyIterator()) { int cnum = m_ExpCopy.getCurrentPropertyNumber(); String ctype = m_ExpCopy.getPropertyArray().getClass().getComponentType().getName(); int lastDot = ctype.lastIndexOf('.'); if (lastDot != -1) {
/** * Tells the panel to act on a new experiment. * * @param exp a value of type 'Experiment' */ public void setExperiment(Experiment exp) { m_Exp = exp; m_AddBut.setEnabled(true); m_List.setModel(m_AlgorithmListModel); m_List.setCellRenderer(new ObjectCellRenderer()); m_AlgorithmListModel.removeAllElements(); if (m_Exp.getPropertyArray() instanceof Classifier[]) { Classifier[] algorithms = (Classifier[]) m_Exp.getPropertyArray(); for (Classifier algorithm : algorithms) { m_AlgorithmListModel.addElement(algorithm); } } m_EditBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_DeleteBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_LoadOptionsBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_SaveOptionsBut.setEnabled((m_AlgorithmListModel.size() > 0)); m_UpBut.setEnabled(JListHelper.canMoveUp(m_List)); m_DownBut.setEnabled(JListHelper.canMoveDown(m_List)); }
validate(); } else { if (m_Exp.getPropertyArray() == null) { selectProperty(); if (m_Exp.getPropertyArray() == null) { m_StatusBox.setSelectedIndex(0); } else {
validate(); } else { if (m_Exp.getPropertyArray() == null) { selectProperty(); if (m_Exp.getPropertyArray() == null) { m_StatusBox.setSelectedIndex(0); } else {
/** * Gets the user to select a property of the current resultproducer. * * @return APPROVE_OPTION if the selection went OK, otherwise the selection * was cancelled. */ protected int selectProperty() { final PropertySelectorDialog jd = new PropertySelectorDialog(null, m_Exp.getResultProducer()); jd.setLocationRelativeTo(this); int result = jd.showDialog(); if (result == PropertySelectorDialog.APPROVE_OPTION) { System.err.println("Property Selected"); PropertyNode[] path = jd.getPath(); Object value = path[path.length - 1].value; PropertyDescriptor property = path[path.length - 1].property; // Make an array containing the propertyValue Class<?> propertyClass = property.getPropertyType(); m_Exp.setPropertyPath(path); m_Exp.setPropertyArray(Array.newInstance(propertyClass, 1)); Array.set(m_Exp.getPropertyArray(), 0, value); // Pass it to the arrayeditor m_ArrayEditor.setValue(m_Exp.getPropertyArray()); m_ArrayEditor.getCustomEditor().repaint(); System.err.println("Set new array to array editor"); } else { System.err.println("Cancelled"); } return result; }
/** * Gets the user to select a property of the current resultproducer. * * @return APPROVE_OPTION if the selection went OK, otherwise the selection * was cancelled. */ protected int selectProperty() { final PropertySelectorDialog jd = new PropertySelectorDialog(null, m_Exp.getResultProducer()); jd.setLocationRelativeTo(this); int result = jd.showDialog(); if (result == PropertySelectorDialog.APPROVE_OPTION) { System.err.println("Property Selected"); PropertyNode[] path = jd.getPath(); Object value = path[path.length - 1].value; PropertyDescriptor property = path[path.length - 1].property; // Make an array containing the propertyValue Class<?> propertyClass = property.getPropertyType(); m_Exp.setPropertyPath(path); m_Exp.setPropertyArray(Array.newInstance(propertyClass, 1)); Array.set(m_Exp.getPropertyArray(), 0, value); // Pass it to the arrayeditor m_ArrayEditor.setValue(m_Exp.getPropertyArray()); m_ArrayEditor.getCustomEditor().repaint(); System.err.println("Set new array to array editor"); } else { System.err.println("Cancelled"); } return result; }
m_NotesButton.setEnabled(true); if (!exp.getUsePropertyIterator() || !(exp.getPropertyArray() instanceof Classifier[])) {
m_NotesButton.setEnabled(true); if (!exp.getUsePropertyIterator() || !(exp.getPropertyArray() instanceof Classifier[])) {
Object propArray = exp.getPropertyArray(); PropertyNode[] propPath = exp.getPropertyPath();
Object propArray = exp.getPropertyArray(); PropertyNode[] propPath = exp.getPropertyPath();
/** * Set the base experiment. A sub experiment will be created for each run in * the base experiment. * * @param base the base experiment to use. * @throws Exception if supplied base experiment is null */ public void setBaseExperiment(Experiment base) throws Exception { if (base == null) { throw new Exception("Base experiment is null!"); } m_baseExperiment = base; setRunLower(m_baseExperiment.getRunLower()); setRunUpper(m_baseExperiment.getRunUpper()); setResultListener(m_baseExperiment.getResultListener()); setResultProducer(m_baseExperiment.getResultProducer()); setDatasets(m_baseExperiment.getDatasets()); setUsePropertyIterator(m_baseExperiment.getUsePropertyIterator()); setPropertyPath(m_baseExperiment.getPropertyPath()); setPropertyArray(m_baseExperiment.getPropertyArray()); setNotes(m_baseExperiment.getNotes()); m_ClassFirst = m_baseExperiment.m_ClassFirst; m_AdvanceDataSetFirst = m_baseExperiment.m_AdvanceDataSetFirst; }
/** * Set the base experiment. A sub experiment will be created for each run in * the base experiment. * * @param base the base experiment to use. * @throws Exception if supplied base experiment is null */ public void setBaseExperiment(Experiment base) throws Exception { if (base == null) { throw new Exception("Base experiment is null!"); } m_baseExperiment = base; setRunLower(m_baseExperiment.getRunLower()); setRunUpper(m_baseExperiment.getRunUpper()); setResultListener(m_baseExperiment.getResultListener()); setResultProducer(m_baseExperiment.getResultProducer()); setDatasets(m_baseExperiment.getDatasets()); setUsePropertyIterator(m_baseExperiment.getUsePropertyIterator()); setPropertyPath(m_baseExperiment.getPropertyPath()); setPropertyArray(m_baseExperiment.getPropertyArray()); setNotes(m_baseExperiment.getNotes()); m_ClassFirst = m_baseExperiment.m_ClassFirst; m_AdvanceDataSetFirst = m_baseExperiment.m_AdvanceDataSetFirst; }