From: <ton...@us...> - 2008-02-12 14:46:29
|
Revision: 548 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=548&view=rev Author: tonytacker Date: 2008-02-12 06:46:20 -0800 (Tue, 12 Feb 2008) Log Message: ----------- add/changed comments Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/gui/AbstractWidgetPanel.java trunk/src/dl-learner/org/dllearner/gui/CheckBoxList.java trunk/src/dl-learner/org/dllearner/gui/Config.java trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java trunk/src/dl-learner/org/dllearner/gui/OptionPanel.java trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java trunk/src/dl-learner/org/dllearner/gui/RunPanel.java trunk/src/dl-learner/org/dllearner/gui/ThreadRun.java trunk/src/dl-learner/org/dllearner/gui/WidgetPanelBoolean.java trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDefault.java trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDouble.java trunk/src/dl-learner/org/dllearner/gui/WidgetPanelInteger.java trunk/src/dl-learner/org/dllearner/gui/WidgetPanelString.java trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java Modified: trunk/src/dl-learner/org/dllearner/gui/AbstractWidgetPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/AbstractWidgetPanel.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/AbstractWidgetPanel.java 2008-02-12 14:46:20 UTC (rev 548) @@ -26,24 +26,22 @@ * AbstractWidgetPanel * * @author Tilo Hielscher - * */ public abstract class AbstractWidgetPanel extends JPanel { - - /* - * show label and tooltip + /** + * Show label and tooltip. */ - protected abstract void showLabel(); + public abstract void showLabel(); - /* - * show textfield, setbutton and so on + /** + * Show textfield, setbutton and so on, make layout. */ - protected abstract void showThingToChange(); + public abstract void showThingToChange(); - /* - * set entry you got from showThingToChange() + /** + * Set entry you got from showThingToChange(). */ - protected abstract void setEntry(); - + public abstract void setEntry(); + } Modified: trunk/src/dl-learner/org/dllearner/gui/CheckBoxList.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/CheckBoxList.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/CheckBoxList.java 2008-02-12 14:46:20 UTC (rev 548) @@ -29,10 +29,8 @@ import java.util.Set; /** - * CheckBoxList + * CheckBoxList is a list of CheckBox's * - * a list of CheckBoxes - * * @author Tilo Hielscher */ public class CheckBoxList extends JPanel { Modified: trunk/src/dl-learner/org/dllearner/gui/Config.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/Config.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/Config.java 2008-02-12 14:46:20 UTC (rev 548) @@ -20,209 +20,219 @@ * */ -import java.util.HashSet; -import java.util.Set; - import org.dllearner.core.ComponentManager; import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.LearningProblem; +import org.dllearner.core.ReasoningService; import org.dllearner.core.LearningAlgorithm; -import org.dllearner.core.LearningProblem; import org.dllearner.core.ReasonerComponent; -import org.dllearner.core.ReasoningService; /** - * config + * Config save all together used variables: ComponentManager, KnowledgeSource, + * Reasoner, ReasoningService, LearningProblem, LearningAlgorithm; also inits of + * these components * - * this class save all together used variables - * * @author Tilo Hielscher - * */ - public class Config { private ComponentManager cm = ComponentManager.getInstance(); private KnowledgeSource source; private String uri; private ReasonerComponent reasoner; private ReasoningService rs; - private Set<String> posExampleSet = new HashSet<String>(); - private Set<String> negExampleSet = new HashSet<String>(); private LearningProblem lp; private LearningAlgorithm la; private boolean[] isInit = new boolean[4]; - protected ComponentManager getComponentManager() { - return cm; + /** + * Get ComponentManager. + * + * @return ComponentManager + */ + public ComponentManager getComponentManager() { + return this.cm; } - protected void setComponentManager(ComponentManager input) { - cm = input; + /** + * It is necessary for init KnowledgeSource. + * + * @return URI + */ + public String getURI() { + return this.uri; } - protected String getURI() { - return uri; + /** + * Set an URI. + * + * @param uri + * it's a Link like "http://example.com" or "file://myfile" + */ + public void setURI(String uri) { + this.uri = uri; } - protected void setURI(String input) { - uri = input; + /** + * Get Reasoner. + * + * @return reasoner + */ + public ReasonerComponent getReasoner() { + return this.reasoner; } - protected ReasonerComponent getReasoner() { - return reasoner; + /** + * Set Reasoner. + * + * @param reasoner + */ + public void setReasoner(ReasonerComponent reasoner) { + this.reasoner = reasoner; } - protected void setReasoner(ReasonerComponent input) { - reasoner = input; + /** + * Get ReasoningService. + * + * @return ReasoningService + */ + public ReasoningService getReasoningService() { + return this.rs; } - protected ReasoningService getReasoningService() { - return rs; + /** + * Set ReasoningService. + * + * @param reasoningService + */ + public void setReasoningService(ReasoningService reasoningService) { + this.rs = reasoningService; } - protected void setReasoningService(ReasoningService input) { - rs = input; + /** + * Get KnowledgeSource. + * + * @return KnowledgeSource + */ + public KnowledgeSource getKnowledgeSource() { + return this.source; } - protected KnowledgeSource getKnowledgeSource() { - return source; + /** + * Set KnowledgeSource. + * + * @param knowledgeSource + */ + public void setKnowledgeSource(KnowledgeSource knowledgeSource) { + this.source = knowledgeSource; } - protected void setKnowledgeSource(KnowledgeSource input) { - source = input; + /** + * Set LearningProblem. + * + * @param learningProblem + */ + public void setLearningProblem(LearningProblem learningProblem) { + this.lp = learningProblem; } - protected void setPosExampleSet(Set<String> posExampleSet) { - this.posExampleSet = posExampleSet; + /** + * Get LearningProblem. + * + * @return learningProblem + */ + public LearningProblem getLearningProblem() { + return this.lp; } - protected Set<String> getPosExampleSet() { - return this.posExampleSet; + /** + * Set LearningAlgorithm. + * + * @param learningAlgorithm + */ + public void setLearningAlgorithm(LearningAlgorithm learningAlgorithm) { + this.la = learningAlgorithm; } - protected void setNegExampleSet(Set<String> negExampleSet) { - this.negExampleSet = negExampleSet; + /** + * Get LearningAlgorithm. + * + * @return LearningAlgorithm + */ + public LearningAlgorithm getLearningAlgorithm() { + return this.la; } - protected Set<String> getNegExampleSet() { - return this.negExampleSet; - } - - protected void setLearningProblem(LearningProblem input) { - lp = input; - } - - protected LearningProblem getLearningProblem() { - return lp; - } - - protected void setLearningAlgorithm(LearningAlgorithm input) { - la = input; - } - - protected LearningAlgorithm getLearningAlgorithm() { - return la; - } - /** - * KnowledgeSource.init has run? return true, if it was + * KnowledgeSource.init has run? + * + * @return true, if init was made, false if not */ - protected boolean isInitKnowledgeSource() { + public boolean isInitKnowledgeSource() { return isInit[0]; } /** - * set true if you run KnowwledgeSource.init + * Set true if you run KnowwledgeSource.init. The inits from other tabs + * behind will automatic set to false. */ - protected void setInitKnowledgeSource(Boolean is) { + public void setInitKnowledgeSource(Boolean is) { isInit[0] = is; for (int i = 1; i < 4; i++) isInit[i] = false; } /** - * Reasoner.init has run? return true, if it was + * Reasoner.init has run? + * + * @return true, if init was made, false if not */ - protected boolean isInitReasoner() { + public boolean isInitReasoner() { return isInit[1]; } /** - * set true if you run Reasoner.init + * Set true if you run Reasoner.init. The inits from other tabs behind will + * automatic set to false. */ - protected void setInitReasoner(Boolean is) { + public void setInitReasoner(Boolean is) { isInit[1] = is; for (int i = 2; i < 4; i++) isInit[i] = false; } /** - * LearningProblem.init has run? return true, if it was + * LearningProblem.init has run? + * + * @return true, if init was made, false if not */ - protected boolean isInitLearningProblem() { + public boolean isInitLearningProblem() { return isInit[2]; } /** - * set true if you run LearningProblem.init + * Set true if you run LearningProblem.init. The inits from other tabs + * behind will automatic set to false. */ - protected void setInitLearningProblem(Boolean is) { + public void setInitLearningProblem(Boolean is) { isInit[2] = is; for (int i = 3; i < 4; i++) isInit[i] = false; } /** - * LearningAlgorithm.init() has run? return true, if it was + * LearningAlgorithm.init() has run? + * + * @return true, if init was made, false if not */ - protected boolean isInitLearningAlgorithm() { + public boolean isInitLearningAlgorithm() { return isInit[3]; } /** * set true if you run LearningAlgorithm.init */ - protected void setInitLearningAlgorithm(Boolean is) { + public void setInitLearningAlgorithm(Boolean is) { isInit[3] = is; } - @Deprecated - protected void autoInit() { - // Knowledge Source - if (!this.isInitKnowledgeSource() && this.getKnowledgeSource() != null - && this.getURI() != null) { - this.getKnowledgeSource().init(); - this.setInitKnowledgeSource(true); - System.out.println("init KnowledgeSource"); - } - // Reasoner - if (!this.isInitReasoner() && this.getKnowledgeSource() != null - && this.getReasoner() != null) { - this.getReasoner().init(); - System.out.println("init Reasoner"); - // set ReasoningService - this.setReasoningService(this.getComponentManager() - .reasoningService(this.getReasoner())); - System.out.println("init ReasoningService"); - this.setInitReasoner(true); - } - // Learning Problem - if (!this.isInitLearningProblem() && this.getReasoner() != null - && this.getLearningProblem() != null) { - this.getComponentManager().applyConfigEntry( - this.getLearningProblem(), "negativeExamples", - this.getNegExampleSet()); - this.getLearningProblem().init(); - this.setInitLearningProblem(true); - System.out.println("init LearningProblem"); - } - // Learning Algorithm - if (!this.isInitLearningAlgorithm() - && this.getLearningProblem() != null - && this.getLearningAlgorithm() != null) { - this.getLearningAlgorithm().init(); - System.out.println("init LearningAlgorithm"); - } - - } - } Modified: trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java 2008-02-12 14:46:20 UTC (rev 548) @@ -28,10 +28,10 @@ import org.dllearner.core.KnowledgeSource; /** - * KnowledgeSourcePanel + * KnowledgeSourcePanel, tab 1. Choose Source, change Options and final initiate + * KnowledgeSource. * * @author Tilo Hielscher - * */ public class KnowledgeSourcePanel extends JPanel implements ActionListener { Modified: trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java 2008-02-12 14:46:20 UTC (rev 548) @@ -29,10 +29,10 @@ import org.dllearner.core.LearningAlgorithm; /** - * LearningAlgorithmPanel + * LearningAlgorithmPanel, tab 4. Choose LearningAlgorithm, change Options and + * final initiate LearningAlgorithm. * * @author Tilo Hielscher - * */ public class LearningAlgorithmPanel extends JPanel implements ActionListener { Modified: trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java 2008-02-12 14:46:20 UTC (rev 548) @@ -28,7 +28,8 @@ import org.dllearner.core.LearningProblem; /** - * LearningProblemPanel + * LearningProblemPanel tab 3. Choose LearingProblem, change Options and final + * initiate LearningProblem. * * @author Tilo Hielscher */ Modified: trunk/src/dl-learner/org/dllearner/gui/OptionPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/OptionPanel.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/OptionPanel.java 2008-02-12 14:46:20 UTC (rev 548) @@ -35,7 +35,7 @@ import org.dllearner.core.config.*; /** - * OptionPanel + * OptionPanel reads all possible options and use all widgets. Definition map is here. * * @author Tilo Hielscher * Modified: trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java 2008-02-12 14:46:20 UTC (rev 548) @@ -30,10 +30,10 @@ import org.dllearner.core.ReasonerComponent; /** - * ReasonerPanel + * ReasonerPanel, tab 2. Choose Resoner, change Options and final initiate + * Reasoner and ReasoningService. * * @author Tilo Hielscher - * */ public class ReasonerPanel extends JPanel implements ActionListener { Modified: trunk/src/dl-learner/org/dllearner/gui/RunPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/RunPanel.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/RunPanel.java 2008-02-12 14:46:20 UTC (rev 548) @@ -29,7 +29,7 @@ // import org.dllearner.core.dl.Concept; /** - * OutputPanel + * RunPanel let algorithm start and stop and show informations about. * * @author Tilo Hielscher * Modified: trunk/src/dl-learner/org/dllearner/gui/ThreadRun.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/ThreadRun.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/ThreadRun.java 2008-02-12 14:46:20 UTC (rev 548) @@ -21,7 +21,7 @@ */ /** - * threadRun + * Start algorihtm in a new thread. * * @author Tilo Hielscher */ @@ -33,13 +33,18 @@ this.config = config; } - // method to start thread + /** + * method to start thread + */ @Override public void run() { if (config.getLearningAlgorithm() != null) config.getLearningAlgorithm().start(); } + /** + * stop thread + */ public void exit() { if (config.getLearningAlgorithm() != null) config.getLearningAlgorithm().stop(); Modified: trunk/src/dl-learner/org/dllearner/gui/WidgetPanelBoolean.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelBoolean.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/WidgetPanelBoolean.java 2008-02-12 14:46:20 UTC (rev 548) @@ -36,10 +36,10 @@ import org.dllearner.core.config.InvalidConfigOptionValueException; /** - * WidgetPanelInteger + * Panel for option Boolean, defined in + * org.dllearner.core.config.BooleanConfigOption. * * @author Tilo Hielscher - * */ public class WidgetPanelBoolean extends AbstractWidgetPanel implements ActionListener { @@ -69,23 +69,19 @@ add(widgetPanel, BorderLayout.CENTER); } - public JPanel getPanel() { - return this; - } - public void actionPerformed(ActionEvent e) { setEntry(); } @Override - protected void showLabel() { + public void showLabel() { nameLabel = new JLabel(configOption.getName()); nameLabel.setToolTipText(configOption.getDescription()); widgetPanel.add(nameLabel); } @Override - protected void showThingToChange() { + public void showThingToChange() { if (component != null) { // BooleanConfigOption if (configOption.getClass().toString().contains( @@ -127,7 +123,7 @@ } @Override - protected void setEntry() { + public void setEntry() { BooleanConfigOption specialOption; if (cb.getSelectedIndex() == 0) value = false; Modified: trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDefault.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDefault.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDefault.java 2008-02-12 14:46:20 UTC (rev 548) @@ -30,7 +30,7 @@ import org.dllearner.core.config.ConfigOption; /** - * WidgetPanelDefault + * Panel for not defined options. * * @author Tilo Hielscher * @@ -55,14 +55,14 @@ } @Override - protected void showLabel() { + public void showLabel() { nameLabel = new JLabel(configOption.getName()); nameLabel.setToolTipText(configOption.getDescription()); widgetPanel.add(nameLabel); } @Override - protected void showThingToChange() { + public void showThingToChange() { JLabel notImplementedLabel = new JLabel(configOption.getClass() .getSimpleName() + " not implemented"); @@ -72,7 +72,7 @@ } @Override - protected void setEntry() { + public void setEntry() { } } Modified: trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDouble.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDouble.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/WidgetPanelDouble.java 2008-02-12 14:46:20 UTC (rev 548) @@ -37,7 +37,8 @@ import org.dllearner.core.config.InvalidConfigOptionValueException; /** - * WidgetPanelDouble + * Panel for option Double, defined in + * org.dllearner.core.config.DoubleConfigOption. * * @author Tilo Hielscher * @@ -70,10 +71,6 @@ add(widgetPanel, BorderLayout.CENTER); } - public JPanel getPanel() { - return this; - } - public void actionPerformed(ActionEvent e) { if (e.getSource() == setButton) { setEntry(); @@ -81,14 +78,14 @@ } @Override - protected void showLabel() { + public void showLabel() { nameLabel = new JLabel(configOption.getName()); nameLabel.setToolTipText(configOption.getDescription()); widgetPanel.add(nameLabel); } @Override - protected void showThingToChange() { + public void showThingToChange() { if (component != null) { // DoubleConfigOption if (configOption.getClass().toString().contains( @@ -128,7 +125,7 @@ } @Override - protected void setEntry() { + public void setEntry() { DoubleConfigOption specialOption; value = Double.parseDouble(doubleField.getText()); // get from input specialOption = (DoubleConfigOption) config.getComponentManager() Modified: trunk/src/dl-learner/org/dllearner/gui/WidgetPanelInteger.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelInteger.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/WidgetPanelInteger.java 2008-02-12 14:46:20 UTC (rev 548) @@ -37,7 +37,8 @@ import org.dllearner.core.config.InvalidConfigOptionValueException; /** - * WidgetPanelInteger + * Panel for option Integer, defined in + * org.dllearner.core.config.IntegerConfigOption. * * @author Tilo Hielscher * @@ -71,10 +72,6 @@ add(widgetPanel, BorderLayout.CENTER); } - public JPanel getPanel() { - return this; - } - public void actionPerformed(ActionEvent e) { if (e.getSource() == setButton) { setEntry(); @@ -82,14 +79,14 @@ } @Override - protected void showLabel() { + public void showLabel() { nameLabel = new JLabel(configOption.getName()); nameLabel.setToolTipText(configOption.getDescription()); widgetPanel.add(nameLabel); } @Override - protected void showThingToChange() { + public void showThingToChange() { if (component != null) { // IntegerConfigOption if (configOption.getClass().toString().contains( @@ -129,7 +126,7 @@ } @Override - protected void setEntry() { + public void setEntry() { IntegerConfigOption specialOption; value = Integer.parseInt(integerField.getText()); // get from input specialOption = (IntegerConfigOption) config.getComponentManager() Modified: trunk/src/dl-learner/org/dllearner/gui/WidgetPanelString.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelString.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/WidgetPanelString.java 2008-02-12 14:46:20 UTC (rev 548) @@ -39,7 +39,8 @@ import org.dllearner.core.config.InvalidConfigOptionValueException; /** - * WidgetPanelString + * Panel for option String, defined in + * org.dllearner.core.config.StringConfigOption. * * @author Tilo Hielscher * @@ -72,10 +73,6 @@ add(widgetPanel, BorderLayout.CENTER); } - public JPanel getPanel() { - return this; - } - public void actionPerformed(ActionEvent e) { if (e.getSource() == setButton) { if (checkForFilename()) { @@ -86,7 +83,7 @@ value = fc.getSelectedFile().toString(); stringField.setText(value); config.setURI(value); // save variable - System.out.println("value: " + config.getURI()); + System.out.println("value: " + config.getURI()); } } setEntry(); @@ -100,14 +97,14 @@ } @Override - protected void showLabel() { + public void showLabel() { nameLabel = new JLabel(configOption.getName()); nameLabel.setToolTipText(configOption.getDescription()); widgetPanel.add(nameLabel); } @Override - protected void showThingToChange() { + public void showThingToChange() { if (component != null) { // StringConfigOption if (configOption.getClass().toString().contains( @@ -149,7 +146,7 @@ } @Override - protected void setEntry() { + public void setEntry() { StringConfigOption specialOption; value = stringField.getText(); // get from input specialOption = (StringConfigOption) config.getComponentManager() Modified: trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java 2008-02-12 12:10:53 UTC (rev 547) +++ trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java 2008-02-12 14:46:20 UTC (rev 548) @@ -47,8 +47,12 @@ import org.dllearner.core.owl.ObjectProperty; /** - * WidgetPanelStringSet + * Panel for option StringSet, defined in + * org.dllearner.core.config.StringSetConfigOption. * + * There are 2 layouts defined. First for normal option and a second for special + * options. Second layout shows a list of JCheckBox's. + * * @author Tilo Hielscher * */ @@ -141,7 +145,7 @@ } @Override - protected void showLabel() { + public void showLabel() { nameLabel = new JLabel(configOption.getName()); nameLabel.setToolTipText(configOption.getDescription()); buildConstraints(constraints, 0, 0, 1, 1, 100, 100); @@ -152,7 +156,7 @@ @SuppressWarnings("unchecked") @Override - protected void showThingToChange() { + public void showThingToChange() { if (component != null) { // StringSetConfigOption if (configOption.getClass().toString().contains( @@ -272,7 +276,7 @@ } @Override - protected void setEntry() { + public void setEntry() { StringSetConfigOption specialOption; specialOption = (StringSetConfigOption) config.getComponentManager() .getConfigOption(componentOption, configOption.getName()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |