From b0e29b6a2becbe77c9720324b29c8ecb12329fcc Mon Sep 17 00:00:00 2001 From: Philipp Spohr <spohr.philipp@web.de> Date: Fri, 18 Aug 2017 18:02:53 +0200 Subject: [PATCH] Argument passing, added some missing args (WIP) --- .../ba/yoshikoWrapper/core/AlgorithmTask.java | 25 +++++++++++++++++-- .../hhu/ba/yoshikoWrapper/gui/MainPanel.java | 3 ++- .../yoshikoWrapper/swig/LibraryInterface.java | 4 +-- .../swig/LibraryInterfaceJNI.java | 2 +- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java index 5502f29..e9da97e 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java @@ -31,7 +31,7 @@ public class AlgorithmTask extends AbstractTask { private CyColumn weightColumn; private int timeLimit; private CyNetwork net; - + private String bitMaskRules; private SolutionsPanel solutionsPanel; public AlgorithmTask( @@ -42,6 +42,11 @@ public class AlgorithmTask extends AbstractTask { CyColumn forbiddenColumn, double insertionCostDefault, double deletionCostDefault, + String bitMaskRules, + double multiplicativeFactor, + boolean separatePartitionCuts, + boolean separateTriangles, + boolean useHeuristic, SolutionsPanel solutionsPanel ) { @@ -52,6 +57,11 @@ public class AlgorithmTask extends AbstractTask { this.forbiddenColumn = forbiddenColumn; this.insertionCostDefault = insertionCostDefault; this.deletionCostDefault = deletionCostDefault; + this.bitMaskRules = bitMaskRules; + this.multiplicativeFactor = multiplicativeFactor; + this.separatePartitionCuts = separatePartitionCuts; + this.separateTriangles =separateTriangle; + this.useHeuristic = useHeuristic; this.solutionsPanel = solutionsPanel; } @@ -87,7 +97,15 @@ public class AlgorithmTask extends AbstractTask { LibraryInterface.LibraryInput_setDefaultInsertionCost(input, insertionCostDefault); //Call Yoshiko <<< Algorithm is performed here - SWIGTYPE_p_ysk__ClusterEditingSolutions solutions = LibraryInterface.processLibraryInput(input); + SWIGTYPE_p_ysk__ClusterEditingSolutions solutions = LibraryInterface.processLibraryInput( + input, + 1, + bitMaskRules, + multiplicativeFactor, + separatePartitionCuts, + separateTriangles, + useHeuristic + ); taskMonitor.setProgress(0.9); this.solutionsPanel.reset(); @@ -131,6 +149,9 @@ public class AlgorithmTask extends AbstractTask { } } } + + solutionsPanel.revalidate(); + solutionsPanel.repaint(); LibraryInterface.delete_LibraryInput(input); taskMonitor.setProgress(1.0); diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java index ee7d4f5..5c9a6e8 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java @@ -90,7 +90,8 @@ public class MainPanel extends ComfortPanel implements CytoPanelComponent { ecPanel.getForbiddenColumn(), ecPanel.getDefaultInsertionCost(), ecPanel.getDefaultDeletionCost(), - solutionsPanel + ReductionRulesChooser.getBitMask(), + name, alignmentX, autoscrolls, autoscrolls, autoscrolls, solutionsPanel ); CyCore.dialogTaskManager.execute(new TaskIterator(1,yoshiko)); solutionsPanel.setVisible(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 f56afd8..f742a24 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java @@ -113,8 +113,8 @@ public class LibraryInterface { return LibraryInterfaceJNI.getVersionString(); } - public static SWIGTYPE_p_ysk__ClusterEditingSolutions processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput libIn) { - long cPtr = LibraryInterfaceJNI.processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(libIn)); + public static SWIGTYPE_p_ysk__ClusterEditingSolutions processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput libIn, int nrOptimalSolutions, String rulesBitMask, double multiplicativeFactor, boolean useHeuristic, boolean separatePartitionCuts, boolean separateTriangles) { + long cPtr = LibraryInterfaceJNI.processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(libIn), nrOptimalSolutions, rulesBitMask, multiplicativeFactor, useHeuristic, separatePartitionCuts, separateTriangles); return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(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 8332626..7eeb8c9 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java @@ -34,6 +34,6 @@ public class LibraryInterfaceJNI { public final static native void LibraryInput_setSize(long jarg1, long jarg2); public final static native void LibraryInput_setDefaultInsertionCost(long jarg1, double jarg2); public final static native String getVersionString(); - public final static native long processLibraryInput(long jarg1); + public final static native long processLibraryInput(long jarg1, int jarg2, String jarg3, double jarg4, boolean jarg5, boolean jarg6, boolean jarg7); public final static native void setTimeLimit(int jarg1); } -- GitLab