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