diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java b/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java index d1862a67d71841823a52278522ac68f08fc02950..6af2730eaf81f62175294b854635388ce4a43fd0 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 aee7b04da8bb48932c1368dc1539d9965c2167f0..e050180f8e2b1be2cf860ef0eb3276b5c93d7cf8 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 8d2ddfbab332f3a914a46b5fd137c4545005430e..df98a8c01bd1749417a047aeeddad61860313a1b 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 ebd95002c5446435990241db14abeee6ce3b0b02..4d3135cab4cc1ef47e8bceecf9e688596c27471c 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 daedf67b38cc1f8c3411ac3a37eee812ff0d17d4..64712e16f638b101c9f423f8fbf59f67d8347d0c 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 19625141bb846ebd751666fcc0e81b04237addfc..e8f99a56dda218f5244c5670e3225942738356c9 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 12c2a44403c51b05cf82be2d32aa0326f766c138..8bec067ef5febf51b2a5d6e7a8c4505c6dc2e028 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"); }