extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/logo/ExternalLogo.java

Code
Comments
Other
Rev Date Author Line
2894 05 Nov 14 nicklas 1 package net.sf.basedb.reggie.logo;
2894 05 Nov 14 nicklas 2
2894 05 Nov 14 nicklas 3 import java.io.File;
2894 05 Nov 14 nicklas 4 import java.io.FileInputStream;
2894 05 Nov 14 nicklas 5 import java.io.IOException;
2894 05 Nov 14 nicklas 6 import java.io.InputStream;
2894 05 Nov 14 nicklas 7
2894 05 Nov 14 nicklas 8 import net.sf.basedb.reggie.Reggie;
2894 05 Nov 14 nicklas 9
2894 05 Nov 14 nicklas 10 /**
2894 05 Nov 14 nicklas 11   External logotype definition. Configuration is made in
2894 05 Nov 14 nicklas 12   reggie-config.xml under the logos/* settings. The value for
2894 05 Nov 14 nicklas 13   each setting is the full path to the logo file.
2894 05 Nov 14 nicklas 14   
2894 05 Nov 14 nicklas 15   @author nicklas
2894 05 Nov 14 nicklas 16   @since 2.18
2894 05 Nov 14 nicklas 17 */
2894 05 Nov 14 nicklas 18 public class ExternalLogo 
2894 05 Nov 14 nicklas 19   extends Logo 
2894 05 Nov 14 nicklas 20 {
2894 05 Nov 14 nicklas 21   
2894 05 Nov 14 nicklas 22   
2894 05 Nov 14 nicklas 23   private final String configPath;
2894 05 Nov 14 nicklas 24
2894 05 Nov 14 nicklas 25   public ExternalLogo(String configPath)
2894 05 Nov 14 nicklas 26   {
2894 05 Nov 14 nicklas 27     this.configPath = configPath;
2894 05 Nov 14 nicklas 28   }
2894 05 Nov 14 nicklas 29   
2894 05 Nov 14 nicklas 30   @Override
2894 05 Nov 14 nicklas 31   public boolean exists()
2894 05 Nov 14 nicklas 32   {
3129 10 Feb 15 nicklas 33     String path = Reggie.getConfig().getConfig(configPath, null, null);
2894 05 Nov 14 nicklas 34     return path == null ? false : new File(path).exists();
2894 05 Nov 14 nicklas 35   }
2894 05 Nov 14 nicklas 36   
2894 05 Nov 14 nicklas 37   @Override
2894 05 Nov 14 nicklas 38   public InputStream getLogo()
2894 05 Nov 14 nicklas 39   {
2894 05 Nov 14 nicklas 40     InputStream in = null;
3129 10 Feb 15 nicklas 41     String path = Reggie.getConfig().getConfig(configPath, null, null);
2894 05 Nov 14 nicklas 42     if (path != null)
2894 05 Nov 14 nicklas 43     {
2894 05 Nov 14 nicklas 44       File f = new File(path);
2894 05 Nov 14 nicklas 45       try
2894 05 Nov 14 nicklas 46       {
2894 05 Nov 14 nicklas 47         if (f.exists()) in = new FileInputStream(f);
2894 05 Nov 14 nicklas 48       }
2894 05 Nov 14 nicklas 49       catch (IOException ex)
2894 05 Nov 14 nicklas 50       {}
2894 05 Nov 14 nicklas 51     }
2894 05 Nov 14 nicklas 52     return in;
2894 05 Nov 14 nicklas 53   }
2894 05 Nov 14 nicklas 54   
2894 05 Nov 14 nicklas 55 }