diff --git a/src/eva2/server/ModuleServer.java b/src/eva2/server/ModuleServer.java index b154a789..edcab2c8 100644 --- a/src/eva2/server/ModuleServer.java +++ b/src/eva2/server/ModuleServer.java @@ -163,22 +163,25 @@ public class ModuleServer { selectedModuleName); Constructor[] constructorArr = module.getConstructors(); - // create a module instance + // create a module instance + int constrIndex=0; if ((goParams==null && noGuiLogFile==null) || !module.equals(GOModuleAdapter.class)) { if (goParams!=null) System.err.println("Cant set params - no matching constructor found for " + adapterName + " (ModuleServer)"); if (noGuiLogFile!=null) System.err.println("Cant deactivate GUI - no matching constructor found for " + adapterName + " (ModuleServer)"); Object[] Para = new Object[2]; - Class paramTypes[] = (constructorArr[0]).getParameterTypes(); + while ((constructorArr[constrIndex].getParameterTypes().length!=2) && (constrIndex < constructorArr.length)) { + constrIndex++; + } + Class paramTypes[] = (constructorArr[constrIndex]).getParameterTypes(); Para[0] = paramTypes[0].cast(adapterName); Para[1] = paramTypes[1].cast(Client); - m_ModuleAdapter = (ModuleAdapter) constructorArr[0].newInstance(Para); + m_ModuleAdapter = (ModuleAdapter) constructorArr[constrIndex].newInstance(Para); } else { Object[] Para = new Object[4]; Para[0] = (String)adapterName; Para[1] = (InterfaceGOParameters)goParams; Para[2] = (String)noGuiLogFile; Para[3] = (MainAdapterClient)Client; - int constrIndex=0; while ((constructorArr[constrIndex].getParameterTypes().length!=4) && (constrIndex < constructorArr.length)) { constrIndex++; } diff --git a/src/eva2/server/go/operators/archiving/ArchivingNSGAIISMeasure.java b/src/eva2/server/go/operators/archiving/ArchivingNSGAIISMeasure.java index 1a67e096..b10e981e 100644 --- a/src/eva2/server/go/operators/archiving/ArchivingNSGAIISMeasure.java +++ b/src/eva2/server/go/operators/archiving/ArchivingNSGAIISMeasure.java @@ -63,7 +63,7 @@ public class ArchivingNSGAIISMeasure extends ArchivingNSGAII { Arrays.sort(frontArray,new AbstractEAIndividualComparator(0)); - ((AbstractEAIndividual)frontArray[0]).putData("HyperCube",Double.MAX_VALUE); //die beiden außen bekommen maximal wert als smeasure + ((AbstractEAIndividual)frontArray[0]).putData("HyperCube",Double.MAX_VALUE); //die beiden aussen bekommen maximal wert als smeasure ((AbstractEAIndividual)frontArray[frontArray.length-1]).putData("HyperCube",Double.MAX_VALUE); v[0]=Double.MAX_VALUE; v[frontArray.length-1]=Double.MAX_VALUE; diff --git a/src/eva2/server/go/operators/archiving/RemoveSurplusIndividualsSMetric.java b/src/eva2/server/go/operators/archiving/RemoveSurplusIndividualsSMetric.java index f1dcb92e..cbcba36e 100644 --- a/src/eva2/server/go/operators/archiving/RemoveSurplusIndividualsSMetric.java +++ b/src/eva2/server/go/operators/archiving/RemoveSurplusIndividualsSMetric.java @@ -139,7 +139,7 @@ public class RemoveSurplusIndividualsSMetric implements InterfaceRemoveSurplusIn } - result[global[ sort[ 0 ] ]]=Double.MAX_VALUE; //die beiden außen bekommen maximal wert als smeasure + result[global[ sort[ 0 ] ]]=Double.MAX_VALUE; //die beiden aussen bekommen maximal wert als smeasure result[global[ sort[ counter - 1 ] ]]=Double.MAX_VALUE; for (int e = 1; e < counter - 1; e++)