01: package com.calipso.reportgenerator.reportmanager;
02:
03: import com.calipso.reportgenerator.common.ReportGeneratorConfiguration;
04: import com.calipso.reportgenerator.common.MicroReport;
05: import com.calipso.reportgenerator.common.LanguageTraslator;
06: import com.calipso.reportgenerator.common.InfoException;
07:
08: import java.util.Map;
09:
10: import org.apache.commons.vfs.FileObject;
11: import org.apache.commons.vfs.FileSystemException;
12:
13: /**
14: *
15: * User: Breto
16: * Date: 30/09/2005
17: * Time: 11:12:52
18: *
19: */
20: public class MicroReportRepository extends Repository {
21: /**
22: * Crea el repositorio asignándole un directorio destino.
23: *
24: * @param directoryName Nombre del directorio destino
25: * @param reportGeneratorConfiguration
26: */
27: public MicroReportRepository(String directoryName,
28: ReportGeneratorConfiguration reportGeneratorConfiguration) {
29: super (directoryName, reportGeneratorConfiguration);
30: }
31:
32: public Class getObjectClass() {
33: return MicroReport.class;
34: }
35:
36: protected Object saveFromSourceFiles(
37: ReportGeneratorConfiguration reportGeneratorConfiguration,
38: String id) throws InfoException {
39: return null;
40: }
41:
42: public CacheRepository getCache() {
43: return null;
44: }
45:
46: public MicroReport findMicroReport(String targetReportDefinitionID,
47: Map params) throws InfoException {
48: try {
49: FileObject fileObject = getFileSystemManager().resolveFile(
50: getDirectoryName());
51: String fileName;
52: MicroReport microReport;
53: for (int i = 0; i < fileObject.getChildren().length; i++) {
54: fileName = fileObject.getChildren()[i].getName()
55: .getBaseName();
56: if (MicroReport.sameReport(super .getDirectoryName()
57: + "/" + fileName, reportGeneratorConfiguration,
58: targetReportDefinitionID, params))
59: ;
60: return new MicroReport(super .getDirectoryName() + "/"
61: + fileName, reportGeneratorConfiguration) {
62: };
63: }
64: } catch (Exception e) {
65: throw new InfoException(LanguageTraslator.traslate("212")
66: + ":" + getDirectoryName(), e);
67: }
68: return null;
69: }
70: }
|