diff --git a/LICENSE b/LICENSE index e79e5f868000ef4aed64d9c6eb0883a26a24b5dd..f08b7e26f0edc5ed47c4ac45b7525ca2b037fd8a 100644 --- a/LICENSE +++ b/LICENSE @@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java b/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java index dbf57cc9c3fbca33b63de4bdcad3f8b655cbafa3..34607e95f245a064effcd872f6f23a2d2a62516e 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java @@ -52,9 +52,9 @@ import de.hhu.ba.yoshikoWrapper.core.ConfigurationManager; import de.hhu.ba.yoshikoWrapper.core.CyCore; import de.hhu.ba.yoshikoWrapper.core.Hint; import de.hhu.ba.yoshikoWrapper.core.LocalizationManager; -import de.hhu.ba.yoshikoWrapper.core.NetChangeListener; import de.hhu.ba.yoshikoWrapper.core.YoshUtil; import de.hhu.ba.yoshikoWrapper.core.YoshikoLoader; +import de.hhu.ba.yoshikoWrapper.cytoUtil.NetChangeListener; import de.hhu.ba.yoshikoWrapper.swing.HintManager; import de.hhu.ba.yoshikoWrapper.swing.components.MainPanel; 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 dbdfd41503c6efacdc3be5c018aae111fa73814a..faccd1cc19824fd080c206284c05eff798fc2b05 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/AlgorithmTask.java @@ -34,6 +34,7 @@ import org.cytoscape.work.AbstractTask; import org.cytoscape.work.TaskMonitor; import org.slf4j.Logger; +import de.hhu.ba.yoshikoWrapper.cytoUtil.NodeMap; import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoCluster; import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoResult; import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoSolution; 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 dabb092023bbaa136dde5934b475ac1777dbedc0..eed69b62659ecd024ea1dc4bb32de447650fb4ec 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetworkParser.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetworkParser.java @@ -29,6 +29,7 @@ import org.cytoscape.model.CyNetwork; import org.cytoscape.model.CyRow; import org.slf4j.Logger; +import de.hhu.ba.yoshikoWrapper.cytoUtil.NodeMap; import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger; import de.hhu.ba.yoshikoWrapper.swig.LibraryInput; diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/StatusInformer.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/StatusInformer.java index b4b054e358cc517fe1f6312b96ebffce60fb0992..32987a6c85ebdd96999187462c39cabf7dd17cde 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/StatusInformer.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/StatusInformer.java @@ -72,6 +72,10 @@ public class StatusInformer extends CplexInformer { else if (state == YoshikoState.REDUCTION_SN) { taskMonitor.setStatusMessage(LocalizationManager.get("status_reductionSN")); } + + else if (state == YoshikoState.SOLVING_ILP) { + taskMonitor.setStatusMessage(LocalizationManager.get("status_solvingILP")); + } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetChangeListener.java b/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/NetChangeListener.java similarity index 97% rename from src/main/java/de/hhu/ba/yoshikoWrapper/core/NetChangeListener.java rename to src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/NetChangeListener.java index 8ab86ea60035262519110fac6637573507c70f54..c5f9237c571d965484d6d991891685954964b867 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/NetChangeListener.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/NetChangeListener.java @@ -19,7 +19,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. ******************************************************************************/ -package de.hhu.ba.yoshikoWrapper.core; +package de.hhu.ba.yoshikoWrapper.cytoUtil; import org.cytoscape.application.events.SetCurrentNetworkEvent; import org.cytoscape.application.events.SetCurrentNetworkListener; @@ -34,6 +34,7 @@ import org.cytoscape.model.events.RemovedEdgesListener; import org.cytoscape.session.events.SessionLoadedEvent; import org.cytoscape.session.events.SessionLoadedListener; +import de.hhu.ba.yoshikoWrapper.core.CyCore; import de.hhu.ba.yoshikoWrapper.swing.components.ColumnMapper; public class NetChangeListener diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/NodeMap.java b/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/NodeMap.java similarity index 97% rename from src/main/java/de/hhu/ba/yoshikoWrapper/core/NodeMap.java rename to src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/NodeMap.java index 83a2999a7f4c9bf9869c6999f6f71392e161809b..6406ac9822cc8a74a87f5315912fe60db287bb74 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/NodeMap.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/cytoUtil/NodeMap.java @@ -19,7 +19,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. ******************************************************************************/ -package de.hhu.ba.yoshikoWrapper.core; +package de.hhu.ba.yoshikoWrapper.cytoUtil; import java.util.HashMap; import java.util.Map.Entry; 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 46d77a47cd03339372b70ac9caeb15a78edcb4f1..3b6b5d5ec5f3b7633a0682bcd573fa9ecb63654d 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/help/HelpLinks.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/help/HelpLinks.java @@ -1,33 +1,92 @@ +/******************************************************************************* + * Copyright (C) 2017 Philipp Spohr + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + ******************************************************************************/ package de.hhu.ba.yoshikoWrapper.help; +import java.awt.Container; import java.net.URI; import java.net.URISyntaxException; -import java.util.HashMap; +import java.util.WeakHashMap; +import org.slf4j.Logger; + +import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger; import de.hhu.ba.yoshikoWrapper.swing.components.EditCostPanel; +/** + * Helper class that provides URIs to access the Bachelor Thesis paper sections that can be used as a manual + * + */ public final class HelpLinks { + //SYMBOLIC LINKS + + /** + * Convenience function for better code readability + */ + private static final Logger logger = YoshikoLogger.getInstance().getLogger(); + + // + + /** + * The base location of the bachelor thesis paper + */ private static final String docLocation = "file:///home/philipp/workspace/cs/BachelorThesis/YoshikoWrapper/thesis/tex/Thesis.pdf"; - private static final HashMap <Class<?>,URI> helpLinks; + /** + * A HashMap linking Classes to a link, pointing to a specific subsection of the BachelorThesis paper that is relevant for understanding the Class + */ + private static final WeakHashMap <Class<? extends Container>,URI> helpLinks; + /** + * Initialization for the HashMap + */ static { - helpLinks = new HashMap<Class<?>,URI>(); + helpLinks = new WeakHashMap<Class<? extends Container>,URI>(); try { helpLinks.put(EditCostPanel.class, (buildURI("subsubsection.2.2.1"))); } catch (URISyntaxException e) { - e.printStackTrace(); + logger.error("Error initializing URI for help file:\n"+e.getMessage()); } } - public static URI getHelpLink(Class<?> c) { + + /** + * Returns the URI that leads to the relevant help section for the class provided + * @param c The Container class for which the help link should be fetched + * @return The help link as URI + */ + public static URI getHelpLink(Class<? extends Container> c) { if (helpLinks.containsKey(c)) { return helpLinks.get(c); } return null; } + /** + * Internal helper function that builds a valid URI from the base address and the fragment denoting the relevant section + * @param fragment The fragment naming the nameddest in the pdf file + * @return The compound URI made from base address and fragment + * @throws URISyntaxException If invalid -> Should never be called during runtime in a stable version + */ private static URI buildURI(String fragment) throws URISyntaxException { return new URI(null,docLocation,"nameddest="+fragment); } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/FormatHelper.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/FormatHelper.java index faa161f9e27e14f73989bd24d293a9139e490836..284757e6193f955770852f07e54aca96689b110f 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/FormatHelper.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/FormatHelper.java @@ -1,16 +1,16 @@ /******************************************************************************* * Copyright (C) 2017 Philipp Spohr - * + * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -27,19 +27,19 @@ import java.text.NumberFormat; import javax.swing.text.NumberFormatter; public class FormatHelper { - + public static NumberFormatter getIntegerFormatter() { return getIntegerFormatter(0, Integer.MAX_VALUE); } - + public static NumberFormatter getIntegerFormatter(int minValue, int maxValue) { NumberFormat format = NumberFormat.getInstance(); NumberFormatter formatter = new NumberFormatter(format); formatter.setValueClass(Integer.class); formatter.setMinimum(minValue); formatter.setMaximum(maxValue); - formatter.setCommitsOnValidEdit(true); - formatter.setAllowsInvalid(true); + applySharedAttributes(formatter); + return formatter; } @@ -50,11 +50,15 @@ public class FormatHelper { formatter.setValueClass(Double.class); formatter.setMinimum(minValue); formatter.setMaximum(maxValue); - formatter.setCommitsOnValidEdit(true); - formatter.setAllowsInvalid(true); - + applySharedAttributes(formatter); + return formatter; } + private static void applySharedAttributes(NumberFormatter formatter) { + + formatter.setCommitsOnValidEdit(true); + formatter.setAllowsInvalid(true); + } } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/GraphicsLoader.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/GraphicsLoader.java similarity index 97% rename from src/main/java/de/hhu/ba/yoshikoWrapper/core/GraphicsLoader.java rename to src/main/java/de/hhu/ba/yoshikoWrapper/swing/GraphicsLoader.java index 1e2307cc96cdf1760f8eee46985db28a061bb52c..ee1ae4b3dcf2e2526c133c4300ea4cf4dbed11a8 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/GraphicsLoader.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/GraphicsLoader.java @@ -19,7 +19,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. ******************************************************************************/ -package de.hhu.ba.yoshikoWrapper.core; +package de.hhu.ba.yoshikoWrapper.swing; import java.awt.Color; import java.awt.Image; @@ -31,6 +31,8 @@ import java.util.Locale; import javax.imageio.ImageIO; import javax.swing.ImageIcon; +import de.hhu.ba.yoshikoWrapper.core.LocalizationManager; + public class GraphicsLoader { //TODO: Organize Images in HashMap for better readability / flexibility diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/HintManager.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/HintManager.java index d34d98737ece6da220b9ecf28879a0a94cfcd547..3c0d640f80ade521832ab1e0e87c7d03c72366d6 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/HintManager.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/HintManager.java @@ -9,7 +9,6 @@ import javax.swing.JOptionPane; import org.slf4j.Logger; import de.hhu.ba.yoshikoWrapper.core.CyCore; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.core.Hint; import de.hhu.ba.yoshikoWrapper.core.LocalizationManager; import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger; @@ -19,9 +18,11 @@ import de.hhu.ba.yoshikoWrapper.logging.YoshikoLogger; * */ public class HintManager { - + + //TODO: Implement as HashMap + private static Logger logger = YoshikoLogger.getInstance().getLogger(); - + private static final Runnable useMappingHint = new Runnable() { @Override @@ -30,7 +31,7 @@ public class HintManager { } }; - + private static final Runnable firstStart = new Runnable() { @Override @@ -41,7 +42,7 @@ public class HintManager { }; private final static Map<Hint,Runnable> hints; - + static { Map<Hint, Runnable> map = new HashMap<Hint,Runnable>(); map.put(Hint.USE_MAPPING, useMappingHint); @@ -54,9 +55,9 @@ public class HintManager { CyCore.getConfig( hint.toString()+"shown" ) == null - ) + ) { - + //Save property so we dont show this again CyCore.cm.getProperties().setProperty(hint.toString()+ "shown", "1"); if (hints.get(hint) != null) { @@ -65,10 +66,10 @@ public class HintManager { else { logger.warn("Asked for a hint that doesnt exist with hint name: "+hint.toString()); } - + } } - + } diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterView.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterView.java index 5ae0d703c74b66ad45c9072093ec65cfcb467dbe..78ec25c416f1b960ed779cd5a9d7846df582dc31 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterView.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ClusterView.java @@ -35,9 +35,9 @@ import javax.swing.border.Border; import org.cytoscape.model.CyNode; import org.cytoscape.util.swing.BasicCollapsiblePanel; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.core.LocalizationManager; import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoCluster; +import de.hhu.ba.yoshikoWrapper.swing.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.swing.SwingUtil; @SuppressWarnings("serial") diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/HelpButton.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/HelpButton.java index efaeac18e9f5f4662cd8ac1a034637914333b27a..645952713a3a4f102228c0b55cf516b6c84ad866 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/HelpButton.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/HelpButton.java @@ -11,16 +11,25 @@ import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.core.LocalizationManager; import de.hhu.ba.yoshikoWrapper.help.HelpLinks; +import de.hhu.ba.yoshikoWrapper.swing.GraphicsLoader; @SuppressWarnings("serial") public class HelpButton extends JButton{ + /** + * The final size (width and height) of the help button in pixel, declared here for better code maintainability + */ private static final int SIZE = 16; + /** + * The default icon for the help button that should be shown if the button is not highlighted + */ private static final ImageIcon defaultIcon = GraphicsLoader.getInfoIcon(SIZE); + /** + * The icon tor the help button that should be shown if the button is highlighted + */ private static final ImageIcon hlIcon = GraphicsLoader.getInfoIconHL(SIZE); public HelpButton() { diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LanguageRenderer.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LanguageRenderer.java index 60b3b3bf4650ce4855007f0917cce1a5129d0b1c..2b2ca9ff53fc4178092b6acfa50df4e49cbe5e1d 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LanguageRenderer.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LanguageRenderer.java @@ -8,7 +8,7 @@ import javax.swing.JList; import javax.swing.JPanel; import javax.swing.ListCellRenderer; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; +import de.hhu.ba.yoshikoWrapper.swing.GraphicsLoader; @SuppressWarnings("serial") class LanguageRenderer extends JPanel implements ListCellRenderer<Locale>{ diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LibStatusPanel.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LibStatusPanel.java index 212cde9752b630d8d801e891263c72c44bff3958..dadb3aea90e35d60991fd87199ff4f31964f974f 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LibStatusPanel.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/LibStatusPanel.java @@ -25,7 +25,7 @@ import java.awt.Color; import javax.swing.JLabel; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; +import de.hhu.ba.yoshikoWrapper.swing.GraphicsLoader; /** * Simple JLabel visually representing whether or not the Yoshiko Lib is loaded * 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 3c34e3a2b15740ab2243d8c78b0db52f7cbe5c9c..d61f7593430a2f4124e381174a462493d80450dc 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 @@ -52,12 +52,12 @@ import org.cytoscape.work.TaskIterator; import de.hhu.ba.yoshikoWrapper.core.AlgorithmTask; import de.hhu.ba.yoshikoWrapper.core.CyCore; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.core.Hint; import de.hhu.ba.yoshikoWrapper.core.LocalizationManager; import de.hhu.ba.yoshikoWrapper.core.ParameterSet; import de.hhu.ba.yoshikoWrapper.core.YoshikoLoader; import de.hhu.ba.yoshikoWrapper.swing.AboutDialogFactory; +import de.hhu.ba.yoshikoWrapper.swing.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.swing.HintManager; import de.hhu.ba.yoshikoWrapper.swing.LanguageSwitcherPanelFactory; import de.hhu.ba.yoshikoWrapper.swing.LibraryPanelFactory; diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ResultPanel.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ResultPanel.java index 226f87a6d3bbbfefc42856bc03d38ba428e7aac5..e94793180fa55b5a4c774cfc52d9d97958d1e45a 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ResultPanel.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/ResultPanel.java @@ -40,10 +40,10 @@ import org.cytoscape.application.swing.CytoPanelName; import org.cytoscape.util.swing.BasicCollapsiblePanel; import de.hhu.ba.yoshikoWrapper.core.CyCore; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.core.LocalizationManager; import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoResult; import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoSolution; +import de.hhu.ba.yoshikoWrapper.swing.GraphicsLoader; import de.hhu.ba.yoshikoWrapper.swing.SwingUtil; /**Swing component that contains ALL solutions that are found during one run. diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/YoshikoHeader.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/YoshikoHeader.java index f484334629eddc377215704e5c5fa0c9fab70e5c..4a43e822ad02a554f55f47133bf721a436bec9da 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/YoshikoHeader.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swing/components/YoshikoHeader.java @@ -27,7 +27,7 @@ import javax.swing.BoxLayout; import javax.swing.JLabel; import javax.swing.JPanel; -import de.hhu.ba.yoshikoWrapper.core.GraphicsLoader; +import de.hhu.ba.yoshikoWrapper.swing.GraphicsLoader; @SuppressWarnings("serial") public class YoshikoHeader extends JPanel { diff --git a/src/main/resources/YoshikoStrings.properties b/src/main/resources/YoshikoStrings.properties index 2ad94d1f5426f26dbc1d6b371805a8ade0f022e2..7b0e8d0ab54ad89462fe096728bfba742ff973f9 100644 --- a/src/main/resources/YoshikoStrings.properties +++ b/src/main/resources/YoshikoStrings.properties @@ -71,6 +71,7 @@ status_reductionMR = Applying "Merging" reduction rule status_reductionPD = Applying "Parameter-Dependent" reduction rule status_reductionSN = Applying "Similar-Neighborhood" reduction rule +status_solvingILP = Solving ILP switchLanguage = Plugin language timeLimitILP = Use time limit for ILP (s): diff --git a/thesis/tex/Chapter/dm_impl.tex b/thesis/tex/Chapter/dm_impl.tex index f190adc56c8192ba2d36578b5a5381dc8677294d..086cfec05f35686de4e759a870b577e05553b168 100644 --- a/thesis/tex/Chapter/dm_impl.tex +++ b/thesis/tex/Chapter/dm_impl.tex @@ -2,7 +2,7 @@ The Yoshiko Wrapper provides a clean and simple interface to generate the model. \subparagraph{Mapping edge costs} The user has the possibility to use a numeric Cytoscape column of the node table as a source for the edge-cost function $C$. \subparagraph{Insertion and deletion cost} -The default values $C_I$ and $C_D$ can be set by the user and default to $C_I=-1$ and $C_D=1$. +The default values $C_I$ and $C_D$ can be set by the user with the default values being $C_I=-1$ and $C_D=1$. It should be noted, that the insertion cost value is not normalized or in any way adjusted when a mapping is used. This means that the user needs to adjust this value wisely to fit the data. As an example the user might have mapped the edge costs to a column containing values in the range of $10^6-10^7$. The default insertion cost of $-1$ will be irrelevant in comparison and the algorithm will most likely insert all missing edges and generate one big cluster as a solution. diff --git a/thesis/tex/Thesis.pdf b/thesis/tex/Thesis.pdf index 7b6bcf5b1fdd5424a288ea8ce0b3d40da9e427ee..7e2abacb398116dcf8541d79ef4f836411f08309 100644 Binary files a/thesis/tex/Thesis.pdf and b/thesis/tex/Thesis.pdf differ diff --git a/thesis/tex/Thesis.tex b/thesis/tex/Thesis.tex index acc9667447d950c34da0b49f60128a205fa340e5..720652e37a3b800abaa14ff9ee12c72307e23c9d 100644 --- a/thesis/tex/Thesis.tex +++ b/thesis/tex/Thesis.tex @@ -23,9 +23,6 @@ \title{Developing and evaluating a Cytoscape app for graph-based clustering} - - - \begin{document} \maketitle @@ -50,4 +47,6 @@ \input{Chapter/dm_theory} \paragraph{Implementation} \input{Chapter/dm_impl} +\section{Evaluation of the Yoshiko Algorithm} +\section{Outlook} \end{document} \ No newline at end of file