1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.portal.service.template;
35
36 import fr.paris.lutece.portal.business.template.AutoInclude;
37 import fr.paris.lutece.portal.business.template.CommonsInclude;
38 import fr.paris.lutece.portal.service.util.AppPathService;
39 import fr.paris.lutece.portal.service.util.AppPropertiesService;
40 import fr.paris.lutece.util.date.DateUtil;
41 import java.util.ArrayList;
42 import java.util.List;
43
44 import java.util.Locale;
45
46
47
48
49 public class FreeMarkerTemplateService extends AbstractFreeMarkerTemplateService
50 {
51 public static final String BEAN_SERVICE = "freeMarkerTemplateService";
52 private static final String PROPERTY_TEMPLATE_UPDATE_DELAY = "service.freemarker.templateUpdateDelay";
53 private static final int TEMPLATE_UPDATE_DELAY = AppPropertiesService.getPropertyInt( PROPERTY_TEMPLATE_UPDATE_DELAY, 5 );
54 private static FreeMarkerTemplateService _singleton;
55
56
57
58
59
60
61 public static synchronized FreeMarkerTemplateService getInstance( )
62 {
63 if ( _singleton == null )
64 {
65 FreeMarkerTemplateServiceeeMarkerTemplateService.html#FreeMarkerTemplateService">FreeMarkerTemplateService service = new FreeMarkerTemplateService( );
66 service.setTemplateUpdateDelay( TEMPLATE_UPDATE_DELAY );
67 _singleton = service;
68 }
69
70 return _singleton;
71 }
72
73
74
75
76 @Override
77 public String getAbsolutePathFromRelativePath( String strPath )
78 {
79 return AppPathService.getAbsolutePathFromRelativePath( strPath );
80 }
81
82
83
84
85 @Override
86 public String getDefaultPattern( Locale locale )
87 {
88 return DateUtil.getDefaultPattern( locale );
89 }
90
91
92
93
94
95
96 public List<AutoInclude> getAutoIncludesList( )
97 {
98 CommonsInclude ciCurrent = CommonsService.getCurrentCommonsInclude( );
99 List<AutoInclude> list = new ArrayList<>( );
100 for ( String strAutoIncludePath : getAutoIncludes( ) )
101 {
102 AutoIncludeess/template/AutoInclude.html#AutoInclude">AutoInclude include = new AutoInclude( strAutoIncludePath );
103 for ( String strFile : ciCurrent.getFiles( ) )
104 {
105 if ( strFile.equals( include.getFilePath( ) ) )
106 {
107 include.setOwner( ciCurrent.getName( ) );
108 }
109 }
110 list.add( include );
111
112 }
113 return list;
114 }
115
116 }