diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java index ba752805707fae27d8655346149d09995c59e899..64579b6a63558c7ef429822ac6eb22f8fbf0ea0e 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java @@ -39,10 +39,11 @@ import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoResult; import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoSolution; import de.hhu.ba.yoshikoWrapper.gui.ResultPanel; import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger; +import de.hhu.ba.yoshikoWrapper.swig.ClusterEditingSolutions; +import de.hhu.ba.yoshikoWrapper.swig.IntVector; +import de.hhu.ba.yoshikoWrapper.swig.LibraryInput; import de.hhu.ba.yoshikoWrapper.swig.LibraryInterface; -import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_std__vectorT_int_t; -import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_yskInput__LibraryInput; -import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_ysk__ClusterEditingSolutions; + public class AlgorithmTask extends AbstractTask { @@ -66,8 +67,8 @@ public class AlgorithmTask extends AbstractTask { private int numberOfSolutions; //temps, need to be freed in C++ - private SWIGTYPE_p_yskInput__LibraryInput input; - private SWIGTYPE_p_ysk__ClusterEditingSolutions result; + private LibraryInput input; + private ClusterEditingSolutions result; public AlgorithmTask( CyNetwork net, @@ -131,7 +132,7 @@ public class AlgorithmTask extends AbstractTask { taskMonitor.setProgress(0.2); //Set the default value for insertion cost - LibraryInterface.LibraryInput_setDefaultInsertionCost(input, insertionCostDefault); + input.setDefaultInsertionCost(insertionCostDefault); //Call Yoshiko <<< Algorithm is performed here result = LibraryInterface.processLibraryInput( @@ -147,12 +148,12 @@ public class AlgorithmTask extends AbstractTask { taskMonitor.setProgress(0.9); - long numberOfSolutions = LibraryInterface.ClusterEditingSolutions_getNumberOfSolutions(result); + long numberOfSolutions = result.getNumberOfSolutions(); taskMonitor.setStatusMessage("Found: "+numberOfSolutions+" solutions!"); //TODO localize YoshikoResult yoshikoResult = new YoshikoResult(); - yoshikoResult.editingCost = LibraryInterface.ClusterEditingSolutions_getTotalCost(result); + yoshikoResult.editingCost = result.getTotalCost(); //Loop over (multiple) solutions for (long i=0;i<numberOfSolutions;i++) { @@ -165,7 +166,7 @@ public class AlgorithmTask extends AbstractTask { net.getDefaultNodeTable().createColumn(columnName, String.class, false); //Fetch number of clusters in the solution - long numberOfClusters = LibraryInterface.ClusterEditingSolutions_getNumberOfClusters(result, i); + long numberOfClusters = result.getNumberOfClusters(i); //Loop over cluster for (long k=0;k<numberOfClusters;k++) { @@ -175,12 +176,12 @@ public class AlgorithmTask extends AbstractTask { taskMonitor.setStatusMessage("Processing cluster "+(k+1)+" of "+numberOfClusters); - SWIGTYPE_p_std__vectorT_int_t clusterVector = LibraryInterface.ClusterEditingSolutions_getCluster(result, i, k); + IntVector clusterVector = result.getCluster(i, k); - long sizeOfCluster = LibraryInterface.IntVector_size(clusterVector); + long sizeOfCluster = clusterVector.size(); for (int l=0;l<sizeOfCluster;l++) { //Unsafe mismatch int long taskMonitor.setStatusMessage("Processing entry "+(l+1)+ " of "+sizeOfCluster); - int nodeID = LibraryInterface.IntVector_get(clusterVector, l); + int nodeID = clusterVector.get(l); CyNode node = nodeMap.indexOf(nodeID); //<<< Another int/long conversion cluster.addNode(node); @@ -190,15 +191,16 @@ public class AlgorithmTask extends AbstractTask { } yoshikoResult.solutions.add(solution); } - - //At this point the C++ objects can be freed, in case that the algorithm terminates beforehand they need to be cleaned-up elsewhere - LibraryInterface.delete_LibraryInput(input); - LibraryInterface.delete_ClusterEditingSolutions(result); + //Provide some useful info - if (LibraryInterface.ClusterEditingSolutions_isTimedOut(result)) { + if (result.isTimedOut()) { throw new Exception(LocalizationManager.get("timedOutMessage")); } + + //At this point the C++ objects can be freed, in case that the algorithm terminates beforehand they need to be cleaned-up elsewhere + input.delete(); + result.delete(); //Generate solutionsPanel ResultPanel solutionsPanel = new ResultPanel(yoshikoResult); @@ -217,10 +219,10 @@ public class AlgorithmTask extends AbstractTask { public void cancel() { //Free C++ resources if (input != null) { - LibraryInterface.delete_LibraryInput(input); + input.delete(); } if (result != null) { - LibraryInterface.delete_ClusterEditingSolutions(result); + result.delete(); } super.cancel(); } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/CallbackHandler.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/CallbackHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..5a021f57731f64b1cfaee663160e9abe32c09050 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/CallbackHandler.java @@ -0,0 +1,14 @@ +package de.hhu.ba.yoshikoWrapper.core; + +import de.hhu.ba.yoshikoWrapper.swig.JavaInformer; + +public class CallbackHandler extends JavaInformer { + public CallbackHandler() { + + } + + @Override + public void callback() { + + } +} diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetworkParser.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetworkParser.java index 22e1a6ad69b1464e03dbbcd789af7b6023144e00..314e0e5df39c9290e773d06d873a34b941914121 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetworkParser.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetworkParser.java @@ -30,15 +30,15 @@ import org.cytoscape.model.CyRow; import org.slf4j.Logger; import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger; +import de.hhu.ba.yoshikoWrapper.swig.LibraryInput; import de.hhu.ba.yoshikoWrapper.swig.LibraryInterface; -import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_yskInput__LibraryInput; public class NetworkParser { //Symbolic Links private static Logger logger = YoshikoLogger.getInstance().getLogger(); - public static SWIGTYPE_p_yskInput__LibraryInput parseNetwork( + public static LibraryInput parseNetwork( CyNetwork net, NodeMap nodeMap, CyColumn weightColumn, @@ -48,10 +48,10 @@ public class NetworkParser { ) { //Create an empty instance / fetch C++ object pointer - SWIGTYPE_p_yskInput__LibraryInput generatedInput = LibraryInterface.new_LibraryInput(); + LibraryInput generatedInput = new LibraryInput(); if (net != null){ //Create an empty full graph with a given size - LibraryInterface.LibraryInput_setSize(generatedInput, net.getNodeCount()); + generatedInput.setSize(net.getNodeCount()); //Fetch edges List<CyEdge> edges = net.getEdgeList(); @@ -98,8 +98,7 @@ public class NetworkParser { logger.debug("Found Edge: "+edgeEntry.get("name", String.class)+ " with weight:"+weight); - LibraryInterface.LibraryInput_addEdge( - generatedInput, + generatedInput.addEdge( nodeMap.get(e.getSource()), nodeMap.get(e.getTarget()), weight, diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/ClusterEditingSolutions.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/ClusterEditingSolutions.java new file mode 100644 index 0000000000000000000000000000000000000000..d68381a64522debb0e654ab76b10310c57459906 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/ClusterEditingSolutions.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * 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 ClusterEditingSolutions { + private transient long swigCPtr; + protected transient boolean swigCMemOwn; + + protected ClusterEditingSolutions(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ClusterEditingSolutions obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + LibraryInterfaceJNI.delete_ClusterEditingSolutions(swigCPtr); + } + swigCPtr = 0; + } + } + + public ClusterEditingSolutions() { + this(LibraryInterfaceJNI.new_ClusterEditingSolutions(), true); + } + + public long getNumberOfClusters(long i) { + return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfClusters(swigCPtr, this, i); + } + + public IntVector getCluster(long i, long k) { + return new IntVector(LibraryInterfaceJNI.ClusterEditingSolutions_getCluster(swigCPtr, this, i, k), false); + } + + public SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t getSolution(long i) { + return new SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(LibraryInterfaceJNI.ClusterEditingSolutions_getSolution(swigCPtr, this, i), false); + } + + public long getNumberOfSolutions() { + return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfSolutions(swigCPtr, this); + } + + public double getTotalCost() { + return LibraryInterfaceJNI.ClusterEditingSolutions_getTotalCost(swigCPtr, this); + } + + public boolean isTimedOut() { + return LibraryInterfaceJNI.ClusterEditingSolutions_isTimedOut(swigCPtr, this); + } + +} diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/IntVector.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/IntVector.java new file mode 100644 index 0000000000000000000000000000000000000000..e894d457075f9ade78a542d20b1990b1a445d38f --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/IntVector.java @@ -0,0 +1,78 @@ +/* ---------------------------------------------------------------------------- + * 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 IntVector { + private transient long swigCPtr; + protected transient boolean swigCMemOwn; + + protected IntVector(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IntVector obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + LibraryInterfaceJNI.delete_IntVector(swigCPtr); + } + swigCPtr = 0; + } + } + + public IntVector() { + this(LibraryInterfaceJNI.new_IntVector__SWIG_0(), true); + } + + public IntVector(long n) { + this(LibraryInterfaceJNI.new_IntVector__SWIG_1(n), true); + } + + public long size() { + return LibraryInterfaceJNI.IntVector_size(swigCPtr, this); + } + + public long capacity() { + return LibraryInterfaceJNI.IntVector_capacity(swigCPtr, this); + } + + public void reserve(long n) { + LibraryInterfaceJNI.IntVector_reserve(swigCPtr, this, n); + } + + public boolean isEmpty() { + return LibraryInterfaceJNI.IntVector_isEmpty(swigCPtr, this); + } + + public void clear() { + LibraryInterfaceJNI.IntVector_clear(swigCPtr, this); + } + + public void add(int x) { + LibraryInterfaceJNI.IntVector_add(swigCPtr, this, x); + } + + public int get(int i) { + return LibraryInterfaceJNI.IntVector_get(swigCPtr, this, i); + } + + public void set(int i, int val) { + LibraryInterfaceJNI.IntVector_set(swigCPtr, this, i, val); + } + +} diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/JavaInformer.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/JavaInformer.java new file mode 100644 index 0000000000000000000000000000000000000000..2bdfe0b70a7e7c0b9ed5e27ad066abbec67f2582 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/JavaInformer.java @@ -0,0 +1,62 @@ +/* ---------------------------------------------------------------------------- + * 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 JavaInformer { + private transient long swigCPtr; + protected transient boolean swigCMemOwn; + + protected JavaInformer(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(JavaInformer obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + LibraryInterfaceJNI.delete_JavaInformer(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + LibraryInterfaceJNI.JavaInformer_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + LibraryInterfaceJNI.JavaInformer_change_ownership(this, swigCPtr, true); + } + + public void callback() { + if (getClass() == JavaInformer.class) LibraryInterfaceJNI.JavaInformer_callback(swigCPtr, this); else LibraryInterfaceJNI.JavaInformer_callbackSwigExplicitJavaInformer(swigCPtr, this); + } + + public JavaInformer() { + this(LibraryInterfaceJNI.new_JavaInformer(), true); + LibraryInterfaceJNI.JavaInformer_director_connect(this, swigCPtr, swigCMemOwn, true); + } + +} diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInput.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInput.java new file mode 100644 index 0000000000000000000000000000000000000000..a2c4e84c6933e82c13f6ca1f27feba03a50120f0 --- /dev/null +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInput.java @@ -0,0 +1,58 @@ +/* ---------------------------------------------------------------------------- + * 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 LibraryInput { + private transient long swigCPtr; + protected transient boolean swigCMemOwn; + + protected LibraryInput(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(LibraryInput obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + LibraryInterfaceJNI.delete_LibraryInput(swigCPtr); + } + swigCPtr = 0; + } + } + + public LibraryInput() { + this(LibraryInterfaceJNI.new_LibraryInput(), true); + } + + public void addEdge(long sourceID, long targetID, double cost) { + LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_0(swigCPtr, this, sourceID, targetID, cost); + } + + public void addEdge(long sourceID, long targetID, double cost, boolean permanent, boolean forbidden) { + LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_1(swigCPtr, this, sourceID, targetID, cost, permanent, forbidden); + } + + public void setSize(long id) { + LibraryInterfaceJNI.LibraryInput_setSize(swigCPtr, this, id); + } + + public void setDefaultInsertionCost(double cost) { + LibraryInterfaceJNI.LibraryInput_setDefaultInsertionCost(swigCPtr, this, cost); + } + +} 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 273cc979460c49704ffb7d0211ef43252d4784a3..123dbf6c08b0b2ffe0e8a1c7f77c54ccc8e49a89 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java @@ -9,117 +9,13 @@ package de.hhu.ba.yoshikoWrapper.swig; public class LibraryInterface { - public static SWIGTYPE_p_std__vectorT_int_t new_IntVector() { - long cPtr = LibraryInterfaceJNI.new_IntVector__SWIG_0(); - return (cPtr == 0) ? null : new SWIGTYPE_p_std__vectorT_int_t(cPtr, true); - } - - public static SWIGTYPE_p_std__vectorT_int_t new_IntVector(long n) { - long cPtr = LibraryInterfaceJNI.new_IntVector__SWIG_1(n); - return (cPtr == 0) ? null : new SWIGTYPE_p_std__vectorT_int_t(cPtr, true); - } - - public static long IntVector_size(SWIGTYPE_p_std__vectorT_int_t self) { - return LibraryInterfaceJNI.IntVector_size(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self)); - } - - public static long IntVector_capacity(SWIGTYPE_p_std__vectorT_int_t self) { - return LibraryInterfaceJNI.IntVector_capacity(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self)); - } - - public static void IntVector_reserve(SWIGTYPE_p_std__vectorT_int_t self, long n) { - LibraryInterfaceJNI.IntVector_reserve(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), n); - } - - public static boolean IntVector_isEmpty(SWIGTYPE_p_std__vectorT_int_t self) { - return LibraryInterfaceJNI.IntVector_isEmpty(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self)); - } - - public static void IntVector_clear(SWIGTYPE_p_std__vectorT_int_t self) { - LibraryInterfaceJNI.IntVector_clear(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self)); - } - - public static void IntVector_add(SWIGTYPE_p_std__vectorT_int_t self, int x) { - LibraryInterfaceJNI.IntVector_add(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), x); - } - - public static int IntVector_get(SWIGTYPE_p_std__vectorT_int_t self, int i) { - return LibraryInterfaceJNI.IntVector_get(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), i); - } - - public static void IntVector_set(SWIGTYPE_p_std__vectorT_int_t self, int i, int val) { - LibraryInterfaceJNI.IntVector_set(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), i, val); - } - - public static void delete_IntVector(SWIGTYPE_p_std__vectorT_int_t self) { - LibraryInterfaceJNI.delete_IntVector(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self)); - } - - 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 long ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) { - return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i); - } - - 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 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 long ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) { - return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self)); - } - - public static double ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions self) { - return LibraryInterfaceJNI.ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self)); - } - - public static boolean ClusterEditingSolutions_isTimedOut(SWIGTYPE_p_ysk__ClusterEditingSolutions self) { - return LibraryInterfaceJNI.ClusterEditingSolutions_isTimedOut(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self)); - } - - 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() { - long cPtr = LibraryInterfaceJNI.new_LibraryInput(); - 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_addEdge(SWIGTYPE_p_yskInput__LibraryInput self, long sourceID, long targetID, double cost) { - LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_0(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost); - } - - public static void LibraryInput_addEdge(SWIGTYPE_p_yskInput__LibraryInput self, long sourceID, long targetID, double cost, boolean permanent, boolean forbidden) { - LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_1(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost, permanent, forbidden); - } - - public static void LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput self, long id) { - LibraryInterfaceJNI.LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), id); - } - - public static void LibraryInput_setDefaultInsertionCost(SWIGTYPE_p_yskInput__LibraryInput self, double cost) { - LibraryInterfaceJNI.LibraryInput_setDefaultInsertionCost(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), cost); - } - public static String getVersionString() { return LibraryInterfaceJNI.getVersionString(); } - public static SWIGTYPE_p_ysk__ClusterEditingSolutions processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput libIn, int nrOptimalSolutions, String rulesBitMask, double multiplicativeFactor, boolean separatePartitionCuts, boolean separateTriangles, boolean useHeuristic) { - long cPtr = LibraryInterfaceJNI.processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(libIn), nrOptimalSolutions, rulesBitMask, multiplicativeFactor, separatePartitionCuts, separateTriangles, useHeuristic); - return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, false); + public static ClusterEditingSolutions processLibraryInput(LibraryInput libIn, int nrOptimalSolutions, String rulesBitMask, double multiplicativeFactor, boolean separatePartitionCuts, boolean separateTriangles, boolean useHeuristic) { + long cPtr = LibraryInterfaceJNI.processLibraryInput(LibraryInput.getCPtr(libIn), libIn, nrOptimalSolutions, rulesBitMask, multiplicativeFactor, separatePartitionCuts, separateTriangles, useHeuristic); + return (cPtr == 0) ? null : new ClusterEditingSolutions(cPtr, false); } public static void setTimeLimit(int limit) { 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 3870b0dfd89e4d6cec054fc751ee142f32ce7182..1b4f46deb2fe6d654e5f3ae7c7c042a456989714 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java @@ -11,31 +11,46 @@ package de.hhu.ba.yoshikoWrapper.swig; public class LibraryInterfaceJNI { public final static native long new_IntVector__SWIG_0(); public final static native long new_IntVector__SWIG_1(long jarg1); - public final static native long IntVector_size(long jarg1); - public final static native long IntVector_capacity(long jarg1); - public final static native void IntVector_reserve(long jarg1, long jarg2); - public final static native boolean IntVector_isEmpty(long jarg1); - public final static native void IntVector_clear(long jarg1); - public final static native void IntVector_add(long jarg1, int jarg2); - public final static native int IntVector_get(long jarg1, int jarg2); - public final static native void IntVector_set(long jarg1, int jarg2, int jarg3); + public final static native long IntVector_size(long jarg1, IntVector jarg1_); + public final static native long IntVector_capacity(long jarg1, IntVector jarg1_); + public final static native void IntVector_reserve(long jarg1, IntVector jarg1_, long jarg2); + public final static native boolean IntVector_isEmpty(long jarg1, IntVector jarg1_); + public final static native void IntVector_clear(long jarg1, IntVector jarg1_); + public final static native void IntVector_add(long jarg1, IntVector jarg1_, int jarg2); + public final static native int IntVector_get(long jarg1, IntVector jarg1_, int jarg2); + public final static native void IntVector_set(long jarg1, IntVector jarg1_, int jarg2, int jarg3); public final static native void delete_IntVector(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 boolean ClusterEditingSolutions_isTimedOut(long jarg1); + public final static native long ClusterEditingSolutions_getNumberOfClusters(long jarg1, ClusterEditingSolutions jarg1_, long jarg2); + public final static native long ClusterEditingSolutions_getCluster(long jarg1, ClusterEditingSolutions jarg1_, long jarg2, long jarg3); + public final static native long ClusterEditingSolutions_getSolution(long jarg1, ClusterEditingSolutions jarg1_, long jarg2); + public final static native long ClusterEditingSolutions_getNumberOfSolutions(long jarg1, ClusterEditingSolutions jarg1_); + public final static native double ClusterEditingSolutions_getTotalCost(long jarg1, ClusterEditingSolutions jarg1_); + public final static native boolean ClusterEditingSolutions_isTimedOut(long jarg1, ClusterEditingSolutions 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_addEdge__SWIG_0(long jarg1, long jarg2, long jarg3, double jarg4); - public final static native void LibraryInput_addEdge__SWIG_1(long jarg1, long jarg2, long jarg3, double jarg4, boolean jarg5, boolean jarg6); - public final static native void LibraryInput_setSize(long jarg1, long jarg2); - public final static native void LibraryInput_setDefaultInsertionCost(long jarg1, double jarg2); + public final static native void LibraryInput_addEdge__SWIG_0(long jarg1, LibraryInput jarg1_, long jarg2, long jarg3, double jarg4); + public final static native void LibraryInput_addEdge__SWIG_1(long jarg1, LibraryInput jarg1_, long jarg2, long jarg3, double jarg4, boolean jarg5, boolean jarg6); + public final static native void LibraryInput_setSize(long jarg1, LibraryInput jarg1_, long jarg2); + public final static native void LibraryInput_setDefaultInsertionCost(long jarg1, LibraryInput jarg1_, double jarg2); + public final static native void JavaInformer_callback(long jarg1, JavaInformer jarg1_); + public final static native void JavaInformer_callbackSwigExplicitJavaInformer(long jarg1, JavaInformer jarg1_); + public final static native void delete_JavaInformer(long jarg1); + public final static native long new_JavaInformer(); + public final static native void JavaInformer_director_connect(JavaInformer obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void JavaInformer_change_ownership(JavaInformer obj, long cptr, boolean take_or_release); public final static native String getVersionString(); - public final static native long processLibraryInput(long jarg1, int jarg2, String jarg3, double jarg4, boolean jarg5, boolean jarg6, boolean jarg7); + public final static native long processLibraryInput(long jarg1, LibraryInput jarg1_, int jarg2, String jarg3, double jarg4, boolean jarg5, boolean jarg6, boolean jarg7); public final static native void setTimeLimit(int jarg1); public final static native void setVerbosity(int jarg1); + + public static void SwigDirector_JavaInformer_callback(JavaInformer jself) { + jself.callback(); + } + + private final static native void swig_module_init(); + static { + swig_module_init(); + } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java deleted file mode 100644 index f7a734ecb7d647fa23613325df98a37e49030768..0000000000000000000000000000000000000000 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java +++ /dev/null @@ -1,26 +0,0 @@ -/* ---------------------------------------------------------------------------- - * 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_int_t { - private transient long swigCPtr; - - protected SWIGTYPE_p_std__vectorT_int_t(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_std__vectorT_int_t() { - swigCPtr = 0; - } - - 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_yskInput__LibraryInput.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__LibraryInput.java deleted file mode 100644 index 40ef62bf241b0c432ffbe457a5bb7681289c1bdc..0000000000000000000000000000000000000000 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__LibraryInput.java +++ /dev/null @@ -1,26 +0,0 @@ -/* ---------------------------------------------------------------------------- - * 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_yskInput__LibraryInput { - private transient long swigCPtr; - - protected SWIGTYPE_p_yskInput__LibraryInput(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_yskInput__LibraryInput() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_yskInput__LibraryInput obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} - diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java deleted file mode 100644 index 6a12b664aee7e8bfd1eb91396042892997ee41e6..0000000000000000000000000000000000000000 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java +++ /dev/null @@ -1,26 +0,0 @@ -/* ---------------------------------------------------------------------------- - * 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_ysk__ClusterEditingSolutions { - private transient long swigCPtr; - - protected SWIGTYPE_p_ysk__ClusterEditingSolutions(long cPtr, @SuppressWarnings("unused") boolean futureUse) { - swigCPtr = cPtr; - } - - protected SWIGTYPE_p_ysk__ClusterEditingSolutions() { - swigCPtr = 0; - } - - protected static long getCPtr(SWIGTYPE_p_ysk__ClusterEditingSolutions obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } -} -