From 3313ebd072e756f8502fed32fa0bbf2b8aa1bd8a Mon Sep 17 00:00:00 2001 From: Philipp Spohr <spohr.philipp@web.de> Date: Mon, 11 Dec 2017 11:10:42 +0100 Subject: [PATCH] Identifying results with unique ID Returning result ID via CyRest --- .../ba/yoshikoWrapper/core/ResultList.java | 28 +++++++++++++++++++ .../cytoUtil/GraphAnalyzer.java | 4 +-- .../graphModel/YoshikoResult.java | 20 +++++++++---- .../hhu/ba/yoshikoWrapper/help/HelpLinks.java | 2 +- .../swing/components/MainPanel.java | 1 + .../yoshikoWrapper/tasks/AlgorithmTask.java | 7 +++-- 6 files changed, 50 insertions(+), 12 deletions(-) create mode 100644 src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java 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 0000000..5bc2b23 --- /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 c600391..b569a77 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 7394b3e..d3e1236 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 597eca4..58fdf46 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 c14921d..b0771da 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 8920a78..30f4bb5 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; } -- GitLab