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 639a7bc3efe72ce474ab57b5c1b9b954d3c42f1b..c17de29d1c3419226fceb07d864e8e561857b01b 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 41063ddee07f9898ec87cd079485cc2aa849b663..4aea41e0c76496cea7d9bd09ec0b26305a8bc069 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 0000000000000000000000000000000000000000..76ea9fd897dd03ec6a77c0d32659d983933ff866 --- /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 c60fa9d1c08f66a9ecc49f62d845052dcf393c92..61cf480a878949ab3aa3140475ad76c1b82475db 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 928b8c95e2ffabdb5305aea04855569fab2c29a2..f7a734ecb7d647fa23613325df98a37e49030768 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 0000000000000000000000000000000000000000..5f06b6495c6f94fcc62edbe282f5dec04e779d58 --- /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 83823e54559e855c05ca4dc0b5045de00c25fa9a..6a12b664aee7e8bfd1eb91396042892997ee41e6 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; } }