diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/ParameterSet.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/ParameterSet.java index 62271fab52f1c72469bfcf77ab5cfb9a3c7baafa..ce7fbd136ec6bf41ee259a750c545b578216c6af 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/ParameterSet.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/ParameterSet.java @@ -52,7 +52,7 @@ public class ParameterSet implements TunableValidator /**Describes whether auto configuration of the reduction rules is to be used. Overrides the bit mask.**/ public boolean suggestReduction = true; - @Tunable(description="Determines the number of clusters that are to be generated. -1 generates the optimal amount of clusters in the sense of WCE") + @Tunable(description="Determines the number of clusters that are to be generated. -1 generates the optimal amount of clusters in the sense of WCE",context="nogui") public int clusterCount = -1; @Override @@ -101,5 +101,12 @@ public class ParameterSet implements TunableValidator return true; } + @Override + public String toString(){ + String ret = ""; + ret += "Target Cluster Count: "+clusterCount+"\n"; + //TODO + return ret; + } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/ClusterEditingSolutions.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/ClusterEditingSolutions.java index 10eab6276ae28f1834ada45e49b549979c532555..ae586e770de1d3b690605f796256845df2c7054e 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/ClusterEditingSolutions.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/ClusterEditingSolutions.java @@ -59,6 +59,10 @@ public class ClusterEditingSolutions { LibraryInterfaceJNI.ClusterEditingSolutions_setFlags(swigCPtr, this, SolutionFlags.getCPtr(f), f); } + public void printSolution(long index) { + LibraryInterfaceJNI.ClusterEditingSolutions_printSolution(swigCPtr, this, index); + } + public ClusterEditingSolutions() { this(LibraryInterfaceJNI.new_ClusterEditingSolutions(), true); } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java index 82e0dee42b697daf9b2669c8a35bea80c5070fe7..227ab8a923211019d5bf0f831f9055addfadd5f1 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java @@ -25,8 +25,8 @@ public class LibraryInterface { LibraryInterfaceJNI.setVerbosity(level); } - public static CoreAlgorithm getRun(LibraryInput input, int nrOptimalSolutions, String rulesBitMask, double multiplicativeFactor, boolean useHeuristic, boolean separatePartitionCuts, boolean separateTriangles) { - long cPtr = LibraryInterfaceJNI.getRun(LibraryInput.getCPtr(input), input, nrOptimalSolutions, rulesBitMask, multiplicativeFactor, useHeuristic, separatePartitionCuts, separateTriangles); + public static CoreAlgorithm getRun(LibraryInput input, int nrOptimalSolutions, String rulesBitMask, double multiplicativeFactor, boolean useHeuristic, boolean separatePartitionCuts, boolean separateTriangles, int targetClusterCount) { + long cPtr = LibraryInterfaceJNI.getRun(LibraryInput.getCPtr(input), input, nrOptimalSolutions, rulesBitMask, multiplicativeFactor, useHeuristic, separatePartitionCuts, separateTriangles, targetClusterCount); return (cPtr == 0) ? null : new CoreAlgorithm(cPtr, false); } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java index 10744f7c6dc6ec23408e90eb9e0169dd6df0482c..49549a4b657af8b0dd0a8ef300f2319e92c77f75 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java @@ -53,6 +53,7 @@ public class LibraryInterfaceJNI { public final static native long ClusterEditingSolutions_getNumberOfSolutions(long jarg1, ClusterEditingSolutions jarg1_); public final static native long ClusterEditingSolutions_getFlags(long jarg1, ClusterEditingSolutions jarg1_); public final static native void ClusterEditingSolutions_setFlags(long jarg1, ClusterEditingSolutions jarg1_, long jarg2, SolutionFlags jarg2_); + public final static native void ClusterEditingSolutions_printSolution(long jarg1, ClusterEditingSolutions jarg1_, long jarg2); public final static native long new_ClusterEditingSolutions(); public final static native void delete_ClusterEditingSolutions(long jarg1); public final static native long new_LibraryInput(); @@ -79,7 +80,7 @@ public class LibraryInterfaceJNI { public final static native void setTimeLimit(int jarg1); public final static native void setThreadLimit(int jarg1); public final static native void setVerbosity(int jarg1); - public final static native long getRun(long jarg1, LibraryInput jarg1_, int jarg2, String jarg3, double jarg4, boolean jarg5, boolean jarg6, boolean jarg7); + public final static native long getRun(long jarg1, LibraryInput jarg1_, int jarg2, String jarg3, double jarg4, boolean jarg5, boolean jarg6, boolean jarg7, int jarg8); public static void SwigDirector_CplexInformer_updateStatus__SWIG_0(CplexInformer jself, int state) { jself.updateStatus(YoshikoState.swigToEnum(state)); diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterCountChooser.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterCountChooser.java index 24932a0f2663aec9cbecf6059ca4afe8d7071e48..983a68b8b3ac8af4c541aaf056b8f60492c6e92c 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterCountChooser.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterCountChooser.java @@ -34,7 +34,8 @@ public class ClusterCountChooser extends JPanel { public ClusterCountChooser() { //Swing Component init - numSolutionsSetter = new IntegerInputField(); + numSolutionsSetter = new IntegerInputField(1,Integer.MAX_VALUE); + numSolutionsSetter.setValue(2); label = new JLabel(LocalizationManager.get("nrClusters")); SwingUtil.addAll(this,label, numSolutionsSetter); } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/IntegerInputField.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/IntegerInputField.java index d7d337652ee5627a088f5eb4d714c69fcdc9e95a..7b39fd0bf2e1028120ba27092f8f167fc2712c3b 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/IntegerInputField.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/IntegerInputField.java @@ -34,12 +34,12 @@ public class IntegerInputField extends JFormattedTextField{ private final NumberFormatter formatter; -// public IntegerInputField(int minValue, int maxValue) { -// super(); -// formatter = FormatHelper.getIntegerFormatter(minValue,maxValue); -// this.setFormatter(formatter); -// this.setColumns(8); -// } + public IntegerInputField(int minValue, int maxValue) { + super(); + formatter = FormatHelper.getIntegerFormatter(minValue,maxValue); + this.setFormatter(formatter); + this.setColumns(8); + } public IntegerInputField() { super(); diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/OperationModePanel.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/OperationModePanel.java index 8a4287cc4e78b6d075456108f757a39d8ad70192..e49f4aed07d885cf11cb6fc030efbe902c2cee1d 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/OperationModePanel.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/OperationModePanel.java @@ -108,7 +108,7 @@ public class OperationModePanel extends JPanel{ layout.setHorizontalGroup(layout.createParallelGroup(Alignment.LEADING,true) .addComponent(useClusterCount, DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(ccChooser, DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(ccChooser, DEFAULT_SIZE, DEFAULT_SIZE, DEFAULT_SIZE) .addComponent(useHeuristic, DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(useILP, DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(solutionNumberChooser, DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE) diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java index 4031bdf20b28d9edd4739319cd701153dceaf3c7..1f252f95c85a0038134f0717efd2e7816061b5ea 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java @@ -163,6 +163,8 @@ public class AlgorithmTask extends AbstractTask implements ObservableTask, Tunab //Set the default value for insertion cost c_input.setDefaultInsertionCost(parameterSet.defaultInsertionCost); + System.out.print(parameterSet.toString()); //TODO: Move to debug logger + //Call Yoshiko <<< Algorithm is performed here c_algorithm = LibraryInterface.getRun(c_input, parameterSet.solCount,