From 28dcd2521294d12a02adb4ae5230eeb4f087de68 Mon Sep 17 00:00:00 2001
From: unknown <lukas.ettel@uni-duesseldorf.de>
Date: Tue, 4 Feb 2020 12:19:16 +0100
Subject: [PATCH] App reads now userinput of clusterCount and default
 insertion- and deletioncost

---
 .../java/de/hhu/ba/yoshikoWrapper/CyActivator.java  |  2 ++
 .../java/de/hhu/ba/yoshikoWrapper/core/CyCore.java  |  2 ++
 .../yoshikoWrapper/swing/components/MainPanel.java  |  2 +-
 .../taskFactories/CommandTaskFactory.java           |  3 ++-
 .../hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java  | 13 +++++++++----
 .../yoshikoAlgorithm/GraphTranslator.java           | 13 +++++++++++++
 .../yoshikoAlgorithm/YoshikoAlgoritmController.java |  5 ++---
 7 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java b/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java
index d1862a6..6af2730 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java
@@ -127,5 +127,7 @@ public class CyActivator extends AbstractCyActivator {
 		MainPanel mainPanel = new MainPanel();
 		registerService(context,mainPanel,CytoPanelComponent.class, new Properties());
 
+		CyCore.mainPanel = mainPanel;
+
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/CyCore.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/CyCore.java
index aee7b04..e050180 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/CyCore.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/CyCore.java
@@ -23,6 +23,7 @@ package de.hhu.ba.yoshikoWrapper.core;
 
 import java.util.concurrent.CountDownLatch;
 
+import de.hhu.ba.yoshikoWrapper.swing.components.MainPanel;
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.application.swing.CySwingApplication;
 import org.cytoscape.command.CommandExecutorTaskFactory;
@@ -70,6 +71,7 @@ public class CyCore {
 	public static CommandExecutorTaskFactory commandExecutorTaskFactory;
 	//
 
+	public static MainPanel mainPanel;
 	//Convenience
 //	public static String getConfig(String key) {
 //		return cm.getProperties().getProperty(key);
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/MainPanel.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/MainPanel.java
index 8d2ddfb..df98a8c 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/MainPanel.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/MainPanel.java
@@ -306,7 +306,7 @@ public class MainPanel extends JPanel implements CytoPanelComponent {
 	 * Fetches all the parameters from the various swing components and packs them into a neat abstract wrapper class
 	 * @return The currently selected parameter wrapped in a ParameterSet
 	 */
-	private ParameterSet fetchParameters(CyNetwork net) {
+	public ParameterSet fetchParameters(CyNetwork net) {
 		ParameterSet ret = new ParameterSet();
 		ret.net = net;
 		ret.timeLimit = opModePanel.getTimeLimit();
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java b/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java
index ebd9500..4d3135c 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java
@@ -1,5 +1,6 @@
 package de.hhu.ba.yoshikoWrapper.taskFactories;
 
+import de.hhu.ba.yoshikoWrapper.core.CyCore;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
 
@@ -46,7 +47,7 @@ public class CommandTaskFactory implements TaskFactory{
 			return new TaskIterator(
 					new AlgorithmTask(
 							null,
-							new ParameterSet()
+							CyCore.mainPanel.fetchParameters(CyCore.cy.getCurrentNetwork())
 							)
 					);
 		}
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 daedf67..64712e1 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java
@@ -22,16 +22,25 @@
 package de.hhu.ba.yoshikoWrapper.tasks;
 
 import java.awt.Window;
+import java.util.Properties;
 
+import de.hhu.ba.yoshikoWrapper.swing.components.MainPanel;
 import de.hhu.ba.yoshikoWrapper.yoshikoAlgorithm.YoshikoAlgoritmController;
+import org.cytoscape.application.swing.CytoPanel;
+import org.cytoscape.application.swing.CytoPanelName;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyTable;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.view.layout.CyLayoutAlgorithm;
 import org.cytoscape.work.AbstractTask;
 import org.cytoscape.work.ContainsTunables;
 import org.cytoscape.work.ObservableTask;
 import org.cytoscape.work.TaskMonitor;
 import org.cytoscape.work.TunableValidator;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 
 import de.hhu.ba.yoshikoWrapper.core.CyCore;
@@ -83,8 +92,6 @@ public class AlgorithmTask extends AbstractTask implements ObservableTask, Tunab
 
 	@Override
 	public void run(TaskMonitor taskMonitor) throws Exception {
-		CyNetwork networkToBeProcessed = CyCore.cy.getCurrentNetwork();
-
 		//TODO: Improve setProgress values
 
 		taskMonitor.setTitle(LocalizationManager.get("yoshTask"));
@@ -99,8 +106,6 @@ public class AlgorithmTask extends AbstractTask implements ObservableTask, Tunab
 		YoshikoAlgoritmController yoshikoAlgoritmController = new YoshikoAlgoritmController(parameterSet);
 		yoshikoAlgoritmController.controllAlgorithm();
 
-		CyTable table = networkToBeProcessed.getDefaultEdgeTable();
-
 
 /*
 		//Create a node map to identify nodes and eges in the solution
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/GraphTranslator.java b/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/GraphTranslator.java
index 1962514..e8f99a5 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/GraphTranslator.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/GraphTranslator.java
@@ -3,9 +3,12 @@ package de.hhu.ba.yoshikoWrapper.yoshikoAlgorithm;
 import de.hhu.ba.yoshikoWrapper.core.CyCore;
 import de.hhu.ba.yoshikoWrapper.core.ParameterSet;
 import de.hhu.ba.yoshikoWrapper.cytoUtil.NodeMap;
+import de.hhu.ba.yoshikoWrapper.cytoUtil.StyleManager;
 import org.cytoscape.model.*;
 import org.cytoscape.model.subnetwork.CyRootNetwork;
 import org.cytoscape.model.subnetwork.CySubNetwork;
+import org.cytoscape.view.layout.CyLayoutAlgorithm;
+import org.cytoscape.view.model.CyNetworkView;
 
 import java.util.*;
 
@@ -104,6 +107,8 @@ public final class GraphTranslator {
         addNodesToResultNetwork(resultNetwork);
 
         addEdgesToResultNetwork(clusters, resultNetwork);
+
+        //  createNetworkView(resultNetwork);
     }
 
     private CySubNetwork createNewGaph(){
@@ -145,4 +150,12 @@ public final class GraphTranslator {
             resultNetwork.addEdge(network.getEdge(yoshikoEdge.suid));
         }
     }
+
+    private CyNetworkView createNetworkView(CyNetwork resultNetwork){
+
+        CyNetworkView view = CyCore.networkViewFactory.createNetworkView(resultNetwork);
+
+        CyCore.networkViewManager.addNetworkView(view,false);
+        return view;
+    }
 }
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/YoshikoAlgoritmController.java b/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/YoshikoAlgoritmController.java
index 12c2a44..8bec067 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/YoshikoAlgoritmController.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/yoshikoAlgorithm/YoshikoAlgoritmController.java
@@ -7,13 +7,14 @@ import java.util.List;
 
 public class YoshikoAlgoritmController {
 
-    private int k = 19;
+    private int k;
     private CyNetwork network;
     private ParameterSet parameterSet;
 
     public YoshikoAlgoritmController(ParameterSet parameterSet){
          this.parameterSet = parameterSet;
          this.network = parameterSet.net;
+         this.k = parameterSet.clusterCount;
     }
 
     public void controllAlgorithm(){
@@ -28,8 +29,6 @@ public class YoshikoAlgoritmController {
         clusters = clusteringAlgorithm.runClusteringAlgorithm();
 
         translator.makeCytoscapeGraph(clusters);
-
-        System.out.println("asdadasd");
     }
 
 
-- 
GitLab