X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FChannelProperties.java;h=4832588b196b8f1cd404d57219bb29a0c2ad6c24;hb=77a64be30e2b21de5688ce37a63648ad3fb1bec8;hp=109eaa5b6a2f1df863fbefe37f234df8b5ed8811;hpb=b7d225fc8a17594a1ddacd775a819b9ffc70131b;p=jalview.git diff --git a/src/jalview/util/ChannelProperties.java b/src/jalview/util/ChannelProperties.java index 109eaa5..4832588 100644 --- a/src/jalview/util/ChannelProperties.java +++ b/src/jalview/util/ChannelProperties.java @@ -1,6 +1,29 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.util; import java.awt.Image; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.URL; @@ -13,14 +36,12 @@ import java.util.Properties; import javax.swing.ImageIcon; -import jalview.bin.Cache; - public class ChannelProperties { - private static final String CHANNEL_PROPERTIES_FILENAME = "/channel.props"; + public static final String CHANNEL_PROPERTIES_FILENAME = "channel.props"; - private static final Properties channelProps; + private static Properties channelProps; private static final Properties defaultProps; @@ -56,15 +77,16 @@ public class ChannelProperties defaultProps.put("default_appbase", "https://www.jalview.org/getdown/release/1.8"); defaultProps.put("preferences.filename", ".jalview_properties"); + defaultProps.put("channel", "none"); // load channel_properties Properties tryChannelProps = new Properties(); URL channelPropsURL = ChannelProperties.class - .getResource(CHANNEL_PROPERTIES_FILENAME); + .getResource("/" + CHANNEL_PROPERTIES_FILENAME); if (channelPropsURL == null) { // complete failure of channel_properties, set all properties to defaults - System.err.println("Failed to find '" + CHANNEL_PROPERTIES_FILENAME + System.err.println("Failed to find '/" + CHANNEL_PROPERTIES_FILENAME + "' file at '" + (channelPropsURL == null ? "null" : channelPropsURL.toString()) @@ -80,7 +102,7 @@ public class ChannelProperties channelPropsIS.close(); } catch (IOException e) { - Cache.log.warn(e.getMessage()); + System.err.println(e.getMessage()); // return false; } } @@ -113,7 +135,9 @@ public class ChannelProperties Image logo = null; String path = defaultProps.getProperty("logo." + size); URL imageURL = ChannelProperties.class.getResource(path); - logo = new ImageIcon(imageURL).getImage(); + ImageIcon imgIcon = imageURL == null ? null + : new ImageIcon(imageURL); + logo = imgIcon == null ? null : imgIcon.getImage(); if (logo != null) { iconList.add(logo); @@ -122,6 +146,25 @@ public class ChannelProperties } } + protected static void loadProps(File dir) + { + File channelPropsFile = new File(dir, CHANNEL_PROPERTIES_FILENAME); + if (channelPropsFile.exists()) + { + try + { + InputStream is = new FileInputStream(channelPropsFile); + channelProps.load(is); + } catch (FileNotFoundException e) + { + System.err.println(e.getMessage()); + } catch (IOException e) + { + System.err.println(e.getMessage()); + } + } + } + private static Properties channelProps() { return channelProps; @@ -219,7 +262,8 @@ public class ChannelProperties } URL imageURL = ChannelProperties.class.getResource(path); - img = new ImageIcon(imageURL).getImage(); + ImageIcon imgIcon = imageURL == null ? null : new ImageIcon(imageURL); + img = imgIcon == null ? null : imgIcon.getImage(); if (img == null) { System.err.println(