Refactor InterfaceTerminator to terminators package

This commit is contained in:
Fabian Becker 2013-10-30 16:30:35 +01:00
parent dbb6d54e26
commit ad336a59cd
37 changed files with 52 additions and 51 deletions

View File

@ -5,7 +5,7 @@ import eva2.optimization.enums.MutateESCrossoverTypeEnum;
import eva2.optimization.enums.PSOTopologyEnum; import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.enums.PostProcessMethod; import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.*; import eva2.optimization.individuals.*;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.archiving.ArchivingNSGAII; import eva2.optimization.operator.archiving.ArchivingNSGAII;

View File

@ -2,7 +2,7 @@ package eva2;
import eva2.optimization.OptimizationStateListener; import eva2.optimization.OptimizationStateListener;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.IndividualInterface; import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.individuals.InterfaceDataTypeBinary; import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;

View File

@ -637,7 +637,6 @@ public class BeanInspector {
} else { } else {
Description description = obj.getClass().getAnnotation(Description.class); Description description = obj.getClass().getAnnotation(Description.class);
if (description != null) { if (description != null) {
;
infoBf.append("\t"); infoBf.append("\t");
infoBf.append(description.text()); infoBf.append(description.text());
} }
@ -667,18 +666,18 @@ public class BeanInspector {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
PropertyDescriptor[] m_Properties = bi.getPropertyDescriptors(); PropertyDescriptor[] propertyDescriptors = bi.getPropertyDescriptors();
ArrayList<String> memberInfoList = new ArrayList<String>(); ArrayList<String> memberInfoList = new ArrayList<String>();
for (int i = 0; i < m_Properties.length; i++) { for (int i = 0; i < propertyDescriptors.length; i++) {
if (m_Properties[i].isExpert()) { if (propertyDescriptors[i].isExpert()) {
continue; continue;
} }
String name = m_Properties[i].getDisplayName(); String name = propertyDescriptors[i].getDisplayName();
Method getter = m_Properties[i].getReadMethod(); Method getter = propertyDescriptors[i].getReadMethod();
Method setter = m_Properties[i].getWriteMethod(); Method setter = propertyDescriptors[i].getWriteMethod();
// Only display read/write properties. // Only display read/write properties.
if (getter == null || setter == null) { if (getter == null || setter == null) {
continue; continue;
@ -691,7 +690,7 @@ public class BeanInspector {
// Don't try to set null values: // Don't try to set null values:
if (value == null) { if (value == null) {
// If it's a user-defined property we give a warning. // If it's a user-defined property we give a warning.
String getterClass = m_Properties[i].getReadMethod().getDeclaringClass().getName(); String getterClass = propertyDescriptors[i].getReadMethod().getDeclaringClass().getName();
if (getterClass.indexOf("java.") != 0) { if (getterClass.indexOf("java.") != 0) {
System.err.println("Warning: Property \"" + name + "\" has null initial value. Skipping."); System.err.println("Warning: Property \"" + name + "\" has null initial value. Skipping.");
} }
@ -704,7 +703,7 @@ public class BeanInspector {
memberInfoBf.append("\tType: "); memberInfoBf.append("\tType: ");
if (m_Properties[i].isHidden()) { if (propertyDescriptors[i].isHidden()) {
memberInfoBf.append("restricted, "); memberInfoBf.append("restricted, ");
} else { } else {
memberInfoBf.append("common, "); memberInfoBf.append("common, ");
@ -730,6 +729,7 @@ public class BeanInspector {
memberInfoBf.append(toString(value)); memberInfoBf.append(toString(value));
} }
// now look for a TipText method for this property // now look for a TipText method for this property
Method tipTextMethod = hasMethod(obj, name + "TipText", null); Method tipTextMethod = hasMethod(obj, name + "TipText", null);
if (tipTextMethod == null) { if (tipTextMethod == null) {
@ -1030,6 +1030,7 @@ public class BeanInspector {
public static String getToolTipText(String name, MethodDescriptor[] methods, Object target, boolean stripToolTipToFirstPoint, int toHTMLLen) { public static String getToolTipText(String name, MethodDescriptor[] methods, Object target, boolean stripToolTipToFirstPoint, int toHTMLLen) {
String result = ""; String result = "";
String tipName = name + "TipText"; String tipName = name + "TipText";
for (int j = 0; j < methods.length; j++) { for (int j = 0; j < methods.length; j++) {
String mname = methods[j].getDisplayName(); String mname = methods[j].getDisplayName();
Method meth = methods[j].getMethod(); Method meth = methods[j].getMethod();
@ -1047,11 +1048,17 @@ public class BeanInspector {
} }
} }
} catch (Exception ex) { } catch (Exception ex) {
} }
break; break;
} }
} }
} // end for looking for tiptext } // end for looking for tiptext
if(result.isEmpty()) {
LOGGER.fine(String.format("No ToolTip for %s.%s available.", target.getClass().getName(), name));
}
if (toHTMLLen > 0) { if (toHTMLLen > 0) {
return StringTools.toHTML(result, toHTMLLen); return StringTools.toHTML(result, toHTMLLen);
} else { } else {

View File

@ -275,7 +275,7 @@ public class Main extends JFrame implements OptimizationStateListener {
} }
private void preloadClasses() { private void preloadClasses() {
ClassPreloader cp = new ClassPreloader("eva2.optimization.strategies.InterfaceOptimizer", "eva2.optimization.problems.InterfaceOptimizationProblem", "eva2.optimization.go.InterfaceTerminator"); ClassPreloader cp = new ClassPreloader("eva2.optimization.strategies.InterfaceOptimizer", "eva2.optimization.problems.InterfaceOptimizationProblem", "eva2.optimization.operator.terminators.InterfaceTerminator");
new Thread(cp).start(); new Thread(cp).start();
} }

View File

@ -1,7 +1,7 @@
package eva2.gui; package eva2.gui;
import eva2.gui.editor.*; import eva2.gui.editor.*;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.codings.gp.GPArea; import eva2.optimization.individuals.codings.gp.GPArea;
import eva2.tools.SelectedTag; import eva2.tools.SelectedTag;
import eva2.tools.StringSelection; import eva2.tools.StringSelection;

View File

@ -1,6 +1,7 @@
package eva2.optimization.go; package eva2.optimization.go;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams; import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer; import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.InterfaceOptimizer; import eva2.optimization.strategies.InterfaceOptimizer;

View File

@ -4,7 +4,7 @@ package eva2.optimization.mocco;
import eva2.gui.PropertyDoubleArray; import eva2.gui.PropertyDoubleArray;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone; import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.moso.MOSOWeightedFitness; import eva2.optimization.operator.moso.MOSOWeightedFitness;

View File

@ -3,7 +3,7 @@ package eva2.optimization.mocco;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone; import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.strategies.GeneticAlgorithm; import eva2.optimization.strategies.GeneticAlgorithm;

View File

@ -3,7 +3,7 @@ package eva2.optimization.mocco;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone; import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.operator.migration.SOBestMigration; import eva2.optimization.operator.migration.SOBestMigration;
import eva2.optimization.operator.moso.MOSOLpMetric; import eva2.optimization.operator.moso.MOSOLpMetric;

View File

@ -3,7 +3,7 @@ package eva2.optimization.mocco;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone; import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.strategies.GeneticAlgorithm; import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.strategies.InterfaceOptimizer; import eva2.optimization.strategies.InterfaceOptimizer;

View File

@ -4,7 +4,7 @@ package eva2.optimization.mocco;
import eva2.gui.PropertyDoubleArray; import eva2.gui.PropertyDoubleArray;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone; import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.moso.MOSOWeightedFitness; import eva2.optimization.operator.moso.MOSOWeightedFitness;

View File

@ -3,7 +3,7 @@ package eva2.optimization.mocco;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone; import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.operator.migration.SOBestMigration; import eva2.optimization.operator.migration.SOBestMigration;
import eva2.optimization.operator.moso.MOSOWeightedLPTchebycheff; import eva2.optimization.operator.moso.MOSOWeightedLPTchebycheff;

View File

@ -1,6 +1,6 @@
package eva2.optimization.mocco; package eva2.optimization.mocco;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.archiving.ArchivingAllDominating; import eva2.optimization.operator.archiving.ArchivingAllDominating;
import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.EvaluationTerminator;

View File

@ -4,7 +4,7 @@ import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceNotifyOnInformers; import eva2.optimization.go.InterfaceNotifyOnInformers;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams; import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
import eva2.optimization.operator.postprocess.PostProcessParams; import eva2.optimization.operator.postprocess.PostProcessParams;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer; import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;

View File

@ -1,7 +1,7 @@
package eva2.optimization.modules; package eva2.optimization.modules;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.problems.F1Problem; import eva2.optimization.problems.F1Problem;
import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem;

View File

@ -10,6 +10,7 @@ import eva2.optimization.operator.postprocess.PostProcessParams;
import eva2.optimization.operator.postprocess.SolutionHistogram; import eva2.optimization.operator.postprocess.SolutionHistogram;
import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.operator.terminators.GenerationTerminator; import eva2.optimization.operator.terminators.GenerationTerminator;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.AbstractOptimizationProblem; import eva2.optimization.problems.AbstractOptimizationProblem;

View File

@ -2,7 +2,7 @@ package eva2.optimization.modules;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.problems.B1Problem; import eva2.optimization.problems.B1Problem;

View File

@ -7,7 +7,7 @@ import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot; import eva2.gui.plot.TopoPlot;
import eva2.optimization.enums.ESMutationInitialSigma; import eva2.optimization.enums.ESMutationInitialSigma;
import eva2.optimization.enums.PostProcessMethod; import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.*; import eva2.optimization.individuals.*;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.cluster.ClusteringDensityBased; import eva2.optimization.operator.cluster.ClusteringDensityBased;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric; import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
import eva2.optimization.operator.distancemetric.PhenotypeMetric; import eva2.optimization.operator.distancemetric.PhenotypeMetric;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;
import eva2.tools.math.Mathematics; import eva2.tools.math.Mathematics;

View File

@ -14,7 +14,6 @@ package eva2.optimization.operator.terminators;
*==========================================================================*/ *==========================================================================*/
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.AbstractEAIndividualComparator; import eva2.optimization.individuals.AbstractEAIndividualComparator;
import eva2.optimization.operator.distancemetric.ObjectiveSpaceMetric; import eva2.optimization.operator.distancemetric.ObjectiveSpaceMetric;

View File

@ -1,4 +1,4 @@
package eva2.optimization.go; package eva2.optimization.operator.terminators;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;

View File

@ -1,6 +1,5 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.distancemetric.PhenotypeMetric; import eva2.optimization.operator.distancemetric.PhenotypeMetric;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;

View File

@ -1,7 +1,6 @@
package eva2.optimization.operator.terminators; package eva2.optimization.operator.terminators;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.PopulationInterface; import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem;

View File

@ -1,7 +1,7 @@
package eva2.optimization.problems; package eva2.optimization.problems;
import eva2.optimization.enums.PostProcessMethod; import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.cluster.ClusteringDensityBased; import eva2.optimization.operator.cluster.ClusteringDensityBased;

View File

@ -3,7 +3,7 @@ package eva2.optimization.strategies;
import eva2.OptimizerFactory; import eva2.OptimizerFactory;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.enums.PSOTopologyEnum; import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;

View File

@ -6,7 +6,7 @@ import eva2.gui.plot.GraphPointSet;
import eva2.gui.plot.Plot; import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot; import eva2.gui.plot.TopoPlot;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.AbstractEAIndividualComparator; import eva2.optimization.individuals.AbstractEAIndividualComparator;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;

View File

@ -34,7 +34,9 @@ import java.util.Vector;
@Description(text = "Differential Evolution using a steady-state population scheme.") @Description(text = "Differential Evolution using a steady-state population scheme.")
public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serializable { public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serializable {
@Parameter(name = "Population", description = "Edit the properties of the population used.")
protected Population population = new Population(); protected Population population = new Population();
protected transient Population children = null; protected transient Population children = null;
protected AbstractOptimizationProblem optimizationProblem = new F1Problem(); protected AbstractOptimizationProblem optimizationProblem = new F1Problem();

View File

@ -2,7 +2,7 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.mutation.MutateESRankMuCMA; import eva2.optimization.operator.mutation.MutateESRankMuCMA;
import eva2.optimization.operator.terminators.FitnessConvergenceTerminator; import eva2.optimization.operator.terminators.FitnessConvergenceTerminator;

View File

@ -5,7 +5,7 @@ import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.TopoPlot; import eva2.gui.plot.TopoPlot;
import eva2.optimization.enums.PSOTopologyEnum; import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;

View File

@ -5,7 +5,7 @@ import eva2.OptimizerRunnable;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;

View File

@ -36,7 +36,7 @@ public abstract class AbstractObjectEditor implements PropertyEditor, java.beans
*/ */
public Object m_Object; public Object m_Object;
public Object m_Backup; public Object m_Backup;
public GeneralGenericObjectEditorPanel m_EditorComponent; public GeneralGenericObjectEditorPanel objectEditorPanel;
public Hashtable m_Editors = new Hashtable(); public Hashtable m_Editors = new Hashtable();
/** /**
@ -261,24 +261,24 @@ public abstract class AbstractObjectEditor implements PropertyEditor, java.beans
* from a list of property elements * from a list of property elements
* *
* @param prop The property to search for * @param prop The property to search for
* @param props All properties. * @param propertyDescriptors All properties.
* @return PropertyEditor * @return PropertyEditor
*/ */
public GeneralOptimizationEditorProperty getEditorFor(String prop, PropertyDescriptor[] props, MethodDescriptor[] methods, Object target) { public GeneralOptimizationEditorProperty getEditorFor(String prop, PropertyDescriptor[] propertyDescriptors, MethodDescriptor[] methods, Object target) {
GeneralOptimizationEditorProperty result = null; GeneralOptimizationEditorProperty result = null;
for (int i = 0; i < props.length; i++) { for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {
if (props[i].getName().equalsIgnoreCase(prop)) { if (propertyDescriptor.getName().equalsIgnoreCase(prop)) {
result = new GeneralOptimizationEditorProperty(); result = new GeneralOptimizationEditorProperty();
Object args[] = {}; Object args[] = {};
result.m_getMethod = props[i].getReadMethod(); result.m_getMethod = propertyDescriptor.getReadMethod();
result.m_setMethod = props[i].getWriteMethod(); result.m_setMethod = propertyDescriptor.getWriteMethod();
result.m_PropertyType = props[i].getPropertyType(); result.m_PropertyType = propertyDescriptor.getPropertyType();
result.m_Name = props[i].getDisplayName(); result.m_Name = propertyDescriptor.getDisplayName();
result.m_Label = new JLabel(result.m_Name, SwingConstants.RIGHT); result.m_Label = new JLabel(result.m_Name, SwingConstants.RIGHT);
result.m_TipText = BeanInspector.getToolTipText(result.m_Name, methods, target); result.m_TipText = BeanInspector.getToolTipText(result.m_Name, methods, target);
try { try {
result.m_Value = result.m_getMethod.invoke(target, args); result.m_Value = result.m_getMethod.invoke(target, args);
result.m_Editor = PropertyEditorProvider.findEditor(props[i], result.m_Value); result.m_Editor = PropertyEditorProvider.findEditor(propertyDescriptor, result.m_Value);
if (result.m_Editor == null) { if (result.m_Editor == null) {
result.m_Editor = PropertyEditorProvider.findEditor(result.m_PropertyType); result.m_Editor = PropertyEditorProvider.findEditor(result.m_PropertyType);
} }