diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/Core.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/Core.java index 9dd443be77506e2c718bcf4675a091ae5a7a79cf..e00c591e94797e2febaebbeb268c211c1be63dda 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/Core.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/Core.java @@ -63,9 +63,9 @@ public class Core { public static void setApplicationManager(CyApplicationManager cyApplicationManager) { cy = cyApplicationManager; } - - public static CyNetwork getCurrentNetwork() { - return cy.getCurrentNetwork(); + + public static CyApplicationManager getApplicationManager() { + return cy; } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/YoshikoLoader.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/YoshikoLoader.java index e8fc5a9aeb123dea93490b868546e631578cb9f9..3e0563aac04968fc50a90868cf2fe4ab8a111cf4 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/YoshikoLoader.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/YoshikoLoader.java @@ -2,21 +2,12 @@ package de.hhu.ba.yoshikoWrapper.core; import java.io.File; -import de.hhu.ba.yoshikoWrapper.swig.LibraryInterface; - public class YoshikoLoader { private static ConfigurationManager cm; + private static boolean isLoaded; public static void loadLibrary(String libPath) { - //TODO: Java has no method to unload a native library :( This means, that reloading the library file on the fly is not possible - - //Check 1: Library is already loaded - - if (isLibraryLoaded()) { - System.out.println("Library is already loaded!"); - return; - } //Attempt to load from a previously stored path File f = new File (libPath); @@ -32,21 +23,21 @@ public class YoshikoLoader { cm.getProperties().setProperty("pathToYoshiko", libPath); } catch(Exception e) { - e.printStackTrace(); + //e.printStackTrace(); + return; } + isLoaded = true; } //SETTER / GETTER - - public static boolean isLibraryLoaded() { - - if (LibraryInterface.getVersionString() != null) return true; - return false; - } public static void provideConfiguration(ConfigurationManager _cm) { cm = _cm; } + public static boolean isLibraryLoaded() { + return isLoaded; + } + } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/ModificationCostMapper.java b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/ModificationCostMapper.java index f5f145c2cf17d38b49505a0e10a0206b78c66c23..dbccbf350b2102c6be3d20a1df48569e1535c13f 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/ModificationCostMapper.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/ModificationCostMapper.java @@ -6,18 +6,18 @@ import java.awt.event.FocusListener; import javax.swing.JCheckBox; import javax.swing.JComboBox; -import javax.swing.JPanel; +import org.cytoscape.application.CyApplicationManager; import org.cytoscape.model.CyColumn; import org.cytoscape.model.CyNetwork; import de.hhu.ba.yoshikoWrapper.core.Core; @SuppressWarnings("serial") //will never be serialized -public class ModificationCostMapper extends JPanel { +public class ModificationCostMapper extends ComfortPanel { //Symbolic links - private CyNetwork net; + private CyApplicationManager cy; //Swing components private JComboBox<CyColumn> tableFields; @@ -31,7 +31,8 @@ public class ModificationCostMapper extends JPanel { +"You can also assign negative values if you have a complete graph to represent insertion costs." +"Note: Any missing values are assumed to be the default values" ); - net = Core.getCurrentNetwork(); + cy = Core.getApplicationManager(); + this.addAll(useMapping,tableFields); //Initial call to get table values updateValues(); //Add a focus listener to update values @@ -53,8 +54,11 @@ public class ModificationCostMapper extends JPanel { public void updateValues() { //Clear entries tableFields.removeAllItems(); - for (CyColumn c : net.getDefaultEdgeTable().getColumns()){ - tableFields.addItem(c); + CyNetwork net = cy.getCurrentNetwork(); + if (net != null) { //Check if a network is loaded + for (CyColumn c : net.getDefaultEdgeTable().getColumns()){ + tableFields.addItem(c); + } } }