From 280301ce341c555db43c80137819fe6b180e42be Mon Sep 17 00:00:00 2001 From: Philipp Spohr <spohr.philipp@web.de> Date: Sat, 12 Aug 2017 01:00:43 +0200 Subject: [PATCH] adjusted to latest yoshiko --- .../hhu/ba/yoshikoWrapper/gui/MainPanel.java | 17 +++++- .../yoshikoWrapper/swig/LibraryInterface.java | 55 ++++++++----------- .../swig/LibraryInterfaceConstants.java | 13 +++++ .../swig/LibraryInterfaceJNI.java | 21 ++++--- ...ava => SWIGTYPE_p_std__vectorT_int_t.java} | 8 +-- ...E_p_std__vectorT_std__vectorT_int_t_t.java | 26 +++++++++ ...GTYPE_p_ysk__ClusterEditingSolutions.java} | 8 +-- 7 files changed, 96 insertions(+), 52 deletions(-) create mode 100644 src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceConstants.java rename src/main/java/de/hhu/ba/yoshikoWrapper/swig/{SWIGTYPE_p_yskInput__edge.java => SWIGTYPE_p_std__vectorT_int_t.java} (67%) create mode 100644 src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t.java rename src/main/java/de/hhu/ba/yoshikoWrapper/swig/{SWIGTYPE_p_ysk__ClusterEditingInstance.java => SWIGTYPE_p_ysk__ClusterEditingSolutions.java} (64%) 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 639a7bc..c17de29 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java @@ -8,6 +8,7 @@ import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JLabel; +import javax.swing.JOptionPane; import javax.swing.JPanel; import org.cytoscape.application.swing.CytoPanelComponent; import org.cytoscape.application.swing.CytoPanelName; @@ -15,6 +16,7 @@ import org.cytoscape.application.swing.CytoPanelName; import de.hhu.ba.yoshikoWrapper.core.YoshikoLoader; import de.hhu.ba.yoshikoWrapper.swig.LibraryInterface; import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_yskInput__LibraryInput; +import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_ysk__ClusterEditingSolutions; /**This class describes the Swing Panel that the user interacts with in cytoscape * @author Philipp Spohr, Aug 6, 2017 @@ -79,7 +81,20 @@ public class MainPanel extends JPanel implements CytoPanelComponent { LibraryInterface.LibraryInput_setSize(instance, 4); LibraryInterface.LibraryInput_addEdge(instance, 0, 1, 2); LibraryInterface.LibraryInput_addEdge(instance, 1, 3, 5); - LibraryInterface.LibraryInput_parseInput(instance); + SWIGTYPE_p_ysk__ClusterEditingSolutions solutions = LibraryInterface.processLibraryInput(instance); + long numberOfSolutions = LibraryInterface.ClusterEditingSolutions_getNumberOfSolutions(solutions); + double totalCost = LibraryInterface.ClusterEditingSolutions_getTotalCost(solutions); + System.out.println(); + JOptionPane.showMessageDialog( + self, + "YOSHIKO FOUND "+numberOfSolutions+" solutions!\n"+ + "YOSHIKO PAID THE CRUEL PRIZE OF: "+totalCost+"\n" + + ); + + //IMPORTANT: DESTROY STUFF + LibraryInterface.delete_LibraryInput(instance); + LibraryInterface.delete_ClusterEditingSolutions(solutions); } } 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 41063dd..4aea41e 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java @@ -8,43 +8,34 @@ package de.hhu.ba.yoshikoWrapper.swig; -public class LibraryInterface { - public static void edge_sourceID_set(SWIGTYPE_p_yskInput__edge self, int value) { - LibraryInterfaceJNI.edge_sourceID_set(SWIGTYPE_p_yskInput__edge.getCPtr(self), value); +public class LibraryInterface implements LibraryInterfaceConstants { + public static SWIGTYPE_p_ysk__ClusterEditingSolutions new_ClusterEditingSolutions() { + long cPtr = LibraryInterfaceJNI.new_ClusterEditingSolutions(); + return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, true); } - public static int edge_sourceID_get(SWIGTYPE_p_yskInput__edge self) { - return LibraryInterfaceJNI.edge_sourceID_get(SWIGTYPE_p_yskInput__edge.getCPtr(self)); + public static long ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) { + return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i); } - public static void edge_targetID_set(SWIGTYPE_p_yskInput__edge self, int value) { - LibraryInterfaceJNI.edge_targetID_set(SWIGTYPE_p_yskInput__edge.getCPtr(self), value); + public static SWIGTYPE_p_std__vectorT_int_t ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i, long k) { + return new SWIGTYPE_p_std__vectorT_int_t(LibraryInterfaceJNI.ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i, k), false); } - public static int edge_targetID_get(SWIGTYPE_p_yskInput__edge self) { - return LibraryInterfaceJNI.edge_targetID_get(SWIGTYPE_p_yskInput__edge.getCPtr(self)); + public static SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) { + return new SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(LibraryInterfaceJNI.ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i), false); } - public static void edge_cost_set(SWIGTYPE_p_yskInput__edge self, double value) { - LibraryInterfaceJNI.edge_cost_set(SWIGTYPE_p_yskInput__edge.getCPtr(self), value); + public static long ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) { + return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self)); } - public static double edge_cost_get(SWIGTYPE_p_yskInput__edge self) { - return LibraryInterfaceJNI.edge_cost_get(SWIGTYPE_p_yskInput__edge.getCPtr(self)); + public static double ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions self) { + return LibraryInterfaceJNI.ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self)); } - public static SWIGTYPE_p_yskInput__edge new_edge() { - long cPtr = LibraryInterfaceJNI.new_edge(); - return (cPtr == 0) ? null : new SWIGTYPE_p_yskInput__edge(cPtr, true); - } - - public static void delete_edge(SWIGTYPE_p_yskInput__edge self) { - LibraryInterfaceJNI.delete_edge(SWIGTYPE_p_yskInput__edge.getCPtr(self)); - } - - public static SWIGTYPE_p_ysk__ClusterEditingInstance LibraryInput_parseInput(SWIGTYPE_p_yskInput__LibraryInput self) { - long cPtr = LibraryInterfaceJNI.LibraryInput_parseInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self)); - return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingInstance(cPtr, false); + public static void delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) { + LibraryInterfaceJNI.delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self)); } public static SWIGTYPE_p_yskInput__LibraryInput new_LibraryInput() { @@ -52,6 +43,10 @@ public class LibraryInterface { return (cPtr == 0) ? null : new SWIGTYPE_p_yskInput__LibraryInput(cPtr, true); } + public static void delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput self) { + LibraryInterfaceJNI.delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self)); + } + public static void LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput self, int id) { LibraryInterfaceJNI.LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), id); } @@ -60,17 +55,13 @@ public class LibraryInterface { LibraryInterfaceJNI.LibraryInput_addEdge(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost); } - public static void delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput self) { - LibraryInterfaceJNI.delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self)); - } - public static String getVersionString() { return LibraryInterfaceJNI.getVersionString(); } - public static SWIGTYPE_p_ysk__ClusterEditingInstance createNewProblemInstance() { - long cPtr = LibraryInterfaceJNI.createNewProblemInstance(); - return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingInstance(cPtr, false); + public static SWIGTYPE_p_ysk__ClusterEditingSolutions processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput libIn) { + long cPtr = LibraryInterfaceJNI.processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(libIn)); + return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, false); } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceConstants.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceConstants.java new file mode 100644 index 0000000..76ea9fd --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceConstants.java @@ -0,0 +1,13 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.8 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package de.hhu.ba.yoshikoWrapper.swig; + +public interface LibraryInterfaceConstants { + public final static int CPXSIZE_BITS = LibraryInterfaceJNI.CPXSIZE_BITS_get(); +} 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 c60fa9d..61cf480 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java @@ -9,19 +9,18 @@ package de.hhu.ba.yoshikoWrapper.swig; public class LibraryInterfaceJNI { - public final static native void edge_sourceID_set(long jarg1, int jarg2); - public final static native int edge_sourceID_get(long jarg1); - public final static native void edge_targetID_set(long jarg1, int jarg2); - public final static native int edge_targetID_get(long jarg1); - public final static native void edge_cost_set(long jarg1, double jarg2); - public final static native double edge_cost_get(long jarg1); - public final static native long new_edge(); - public final static native void delete_edge(long jarg1); - public final static native long LibraryInput_parseInput(long jarg1); + public final static native long new_ClusterEditingSolutions(); + public final static native long ClusterEditingSolutions_getNumberOfClusters(long jarg1, long jarg2); + public final static native long ClusterEditingSolutions_getCluster(long jarg1, long jarg2, long jarg3); + public final static native long ClusterEditingSolutions_getSolution(long jarg1, long jarg2); + public final static native long ClusterEditingSolutions_getNumberOfSolutions(long jarg1); + public final static native double ClusterEditingSolutions_getTotalCost(long jarg1); + public final static native void delete_ClusterEditingSolutions(long jarg1); public final static native long new_LibraryInput(); + public final static native void delete_LibraryInput(long jarg1); public final static native void LibraryInput_setSize(long jarg1, int jarg2); public final static native void LibraryInput_addEdge(long jarg1, int jarg2, int jarg3, double jarg4); - public final static native void delete_LibraryInput(long jarg1); + public final static native int CPXSIZE_BITS_get(); public final static native String getVersionString(); - public final static native long createNewProblemInstance(); + public final static native long processLibraryInput(long jarg1); } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__edge.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java similarity index 67% rename from src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__edge.java rename to src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java index 928b8c9..f7a734e 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__edge.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java @@ -8,18 +8,18 @@ package de.hhu.ba.yoshikoWrapper.swig; -public class SWIGTYPE_p_yskInput__edge { +public class SWIGTYPE_p_std__vectorT_int_t { private transient long swigCPtr; - protected SWIGTYPE_p_yskInput__edge(long cPtr, @SuppressWarnings("unused") boolean futureUse) { + protected SWIGTYPE_p_std__vectorT_int_t(long cPtr, @SuppressWarnings("unused") boolean futureUse) { swigCPtr = cPtr; } - protected SWIGTYPE_p_yskInput__edge() { + protected SWIGTYPE_p_std__vectorT_int_t() { swigCPtr = 0; } - protected static long getCPtr(SWIGTYPE_p_yskInput__edge obj) { + protected static long getCPtr(SWIGTYPE_p_std__vectorT_int_t obj) { return (obj == null) ? 0 : obj.swigCPtr; } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t.java new file mode 100644 index 0000000..5f06b64 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.8 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package de.hhu.ba.yoshikoWrapper.swig; + +public class SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t { + private transient long swigCPtr; + + protected SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(long cPtr, @SuppressWarnings("unused") boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingInstance.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java similarity index 64% rename from src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingInstance.java rename to src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java index 83823e5..6a12b66 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingInstance.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java @@ -8,18 +8,18 @@ package de.hhu.ba.yoshikoWrapper.swig; -public class SWIGTYPE_p_ysk__ClusterEditingInstance { +public class SWIGTYPE_p_ysk__ClusterEditingSolutions { private transient long swigCPtr; - protected SWIGTYPE_p_ysk__ClusterEditingInstance(long cPtr, @SuppressWarnings("unused") boolean futureUse) { + protected SWIGTYPE_p_ysk__ClusterEditingSolutions(long cPtr, @SuppressWarnings("unused") boolean futureUse) { swigCPtr = cPtr; } - protected SWIGTYPE_p_ysk__ClusterEditingInstance() { + protected SWIGTYPE_p_ysk__ClusterEditingSolutions() { swigCPtr = 0; } - protected static long getCPtr(SWIGTYPE_p_ysk__ClusterEditingInstance obj) { + protected static long getCPtr(SWIGTYPE_p_ysk__ClusterEditingSolutions obj) { return (obj == null) ? 0 : obj.swigCPtr; } } -- GitLab