View Javadoc

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  }