1 package at.meikel.dmrl.server.httpclient; 2 3 import at.meikel.dmrl.server.server.DataRetriever; 4 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.IOException; 9 import java.io.InputStream; 10 import java.util.Date; 11 12 import org.apache.log4j.Logger; 13 14 public class LocalFileDataRetriever implements DataRetriever { 15 16 private final static Logger LOGGER = Logger.getLogger(LocalFileDataRetriever.class); 17 private File file; 18 private String path = "C:/michael.becker/_Privat/at.meikel.dmrl.root/at.meikel.dmrl.server/src/main/resources"; 19 private InputStream inputStream; 20 21 22 public LocalFileDataRetriever(String filename) { 23 file = new File(path, filename); 24 } 25 26 @Override 27 public String getUrl() { 28 return path; 29 } 30 31 @Override 32 public InputStream retrieveInputStream() { 33 InputStream inputStream = null; 34 35 try { 36 inputStream = new FileInputStream(file); 37 } catch (FileNotFoundException e) { 38 LOGGER.warn("File '" + path + "' not found: " + e.getLocalizedMessage()); 39 } 40 41 return inputStream; 42 } 43 44 @Override 45 public void freeAllResources() { 46 if (inputStream != null) { 47 try { 48 inputStream.close(); 49 } catch (IOException e) { 50 LOGGER.warn("Failed to close input stream for file '" + path + "'.", e); 51 } 52 } 53 } 54 55 @Override 56 public boolean findCurrentFile() { 57 return true; 58 } 59 60 @Override 61 public String getCurrentFileName() { 62 return file.getAbsolutePath(); 63 } 64 65 @Override 66 public Date getCurrentFileDate() { 67 return new Date(file.lastModified()); 68 } 69 70 }