diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java new file mode 100644 index 0000000000000000000000000000000000000000..5bc2b23c2e45fcea698139ba69d7570da2b1d42d --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java @@ -0,0 +1,28 @@ +package de.hhu.ba.yoshikoWrapper.core; + +import java.util.HashMap; + +import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoResult; + +public class ResultList { + + private static HashMap<Integer,YoshikoResult> map = new HashMap<Integer,YoshikoResult>(); + + public static void add(YoshikoResult yoshikoResult) { + int i = 0; + while (true) { + if (!map.containsKey(i)) { + map.put(i, yoshikoResult); + yoshikoResult.setID(i); + return; + } + i++; + } + } + + public static void remove(int resultID) { + map.remove(resultID); + } + + +} diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/GraphAnalyzer.java b/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/GraphAnalyzer.java index c6003910ae939c4e7359a03d7d67f98b7ec1a207..b569a77a709193df99689ed8c66c024c50545aa0 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/GraphAnalyzer.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/GraphAnalyzer.java @@ -144,6 +144,4 @@ public class GraphAnalyzer { } return false; } - - -} +} \ No newline at end of file diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoResult.java b/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoResult.java index 7394b3efaf5d4b92ba579d8d3b55722a82fffe70..d3e12368aac998179d019fafc1bb016e4f2af7be 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoResult.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoResult.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import org.cytoscape.model.CyNetwork; +import de.hhu.ba.yoshikoWrapper.core.ResultList; import de.hhu.ba.yoshikoWrapper.swig.SolutionFlags; @@ -39,12 +40,20 @@ public class YoshikoResult{ private SolutionFlags flags; + private int id; public YoshikoResult(CyNetwork net, SolutionFlags flags) { solutions = new ArrayList<YoshikoSolution>(); - this.originalGraph = net; this.flags = flags; + ResultList.add(this); + } + + public void delete() { + for (YoshikoSolution s: solutions) { + s.delete(); + } + ResultList.remove(this.id); } //___________SETTER GETTER_____________// @@ -71,11 +80,12 @@ public class YoshikoResult{ return originalGraph; } - public void delete() { - for (YoshikoSolution s: solutions) { - s.delete(); - } + public void setID(int id) { + this.id = id; } + public int getID() { + return id; + } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/help/HelpLinks.java b/src/main/java/de/hhu/ba/yoshikoWrapper/help/HelpLinks.java index 597eca449ea4b4e2d14892793aaa8c7025e4521c..58fdf46211f98224e07e218effff8d87b35b6a45 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/help/HelpLinks.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/help/HelpLinks.java @@ -27,7 +27,7 @@ public final class HelpLinks { public static final HashMap<String,Object> mainInfo = new HashMap<String,Object>(); static { - mainInfo.put("url", "https://spqrph.github.io/cytoscape-tutorials/presentations/yoshiko/yoshiko.html#/title"); + mainInfo.put("url", "https://spqrph.github.io/cytoscape-tutorials/presentations/yoshiko.html#/title"); } } 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 c14921df077395293038e273d2af5b8d6227c611..b0771da0950f3cb95c9a366a511cd6ddbd8095fb 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 @@ -120,6 +120,7 @@ public class MainPanel extends JPanel implements CytoPanelComponent { @Override public void actionPerformed(ActionEvent e) { CommandExecutor.executeCommand("cybrowser", "show",HelpLinks.mainInfo , null); + //TODO: Auto select CyBrowser tab } }); 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 8920a781c04170ef7bc16adc7b4e6d3918ee76d8..30f4bb589fc06c9cc4623335021101c78b9b03ad 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java @@ -287,11 +287,12 @@ public class AlgorithmTask extends AbstractTask implements ObservableTask { super.cancel(); } + @SuppressWarnings("unchecked") @Override public <R> R getResults(Class<? extends R> type) { - //TODO: Return Result in some format that is suitable for console applications - if (type.equals(YoshikoResult.class)) { - return (R) (result!=null ? result : null); + //We return the id of the result so we can work with the result from CMD + if (type.equals(String.class)) { + return (R) (""+result.getID()); } return null; }