X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FChannelProperties.java;fp=src%2Fjalview%2Futil%2FChannelProperties.java;h=40f61106c449663f6f172c1dd08eb76e9884daff;hb=3efc24bc7b7855ff135fa96e35ab1004eaeb4f5e;hp=ede528f5b8e168b22c852b91aa73588dda7b969e;hpb=dae56c38c3f14e96308540c30f35ca8f1d917edf;p=jalview.git diff --git a/src/jalview/util/ChannelProperties.java b/src/jalview/util/ChannelProperties.java index ede528f..40f6110 100644 --- a/src/jalview/util/ChannelProperties.java +++ b/src/jalview/util/ChannelProperties.java @@ -1,6 +1,9 @@ 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 +16,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; @@ -55,20 +56,20 @@ public class ChannelProperties defaultProps.put("uod_banner.32", "/default_images/UoD_banner-32.png"); defaultProps.put("default_appbase", "https://www.jalview.org/getdown/release/1.8"); + defaultProps.put("preferences.filename", ".jalview_properties"); // 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 - + "' file at '" - + (channelPropsURL == null ? "null" - : channelPropsURL.toString()) - + "'. Using class defaultProps."); + System.err.println("Failed to find '/" + CHANNEL_PROPERTIES_FILENAME + + "' file at '" + + (channelPropsURL == null ? "null" + : channelPropsURL.toString()) + + "'. Using class defaultProps."); tryChannelProps = defaultProps; } else @@ -80,7 +81,7 @@ public class ChannelProperties channelPropsIS.close(); } catch (IOException e) { - Cache.log.warn(e.getMessage()); + System.err.println(e.getMessage()); // return false; } } @@ -113,7 +114,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 +125,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 +241,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(