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.plugins.document.modules.ckan.service;
35
36 import fr.paris.lutece.plugins.document.business.Document;
37 import fr.paris.lutece.portal.service.util.AppLogService;
38 import fr.paris.lutece.portal.service.util.AppPropertiesService;
39 import fr.paris.lutece.util.string.StringUtil;
40
41 import java.util.Map;
42
43
44
45
46
47 public class CkanService
48 {
49 public static final String NOT_FOUND = "not found";
50 private static final String PROPERTY_DATASET_URL_FORMAT = "document-ckan.datasetUrlFormat";
51 private static final String PROPERTY_RESOURCE_URL_FORMAT = "document-ckan.resourceUrlFormat";
52 private Map<String, String> _mappings;
53 private Map<String, String> _defaults;
54
55
56
57
58
59 public void setMappings( Map mappings )
60 {
61 _mappings = mappings;
62 }
63
64
65
66
67
68 public void setDefaults( Map defaults )
69 {
70 _defaults = defaults;
71 }
72
73
74
75
76
77 public String getDatasetUrlFormat( )
78 {
79 return AppPropertiesService.getProperty( PROPERTY_DATASET_URL_FORMAT );
80 }
81
82
83
84
85
86 public String getResourceUrlFormat( )
87 {
88 return AppPropertiesService.getProperty( PROPERTY_RESOURCE_URL_FORMAT );
89 }
90
91
92
93
94
95
96 public String getMapping( String strKey )
97 {
98 String strMapping = _mappings.get( strKey );
99
100 if ( strMapping != null )
101 {
102 return strMapping;
103 }
104
105 AppLogService.info( "CKAN Mapping not found for key " + strKey );
106
107 return "";
108 }
109
110
111
112
113
114
115 public String getDefault( String strKey )
116 {
117 String strDefault = _defaults.get( strKey );
118
119 if ( strDefault != null )
120 {
121 return strDefault;
122 }
123
124 AppLogService.info( "CKAN default not found for key " + strKey );
125
126 return "";
127 }
128
129
130
131
132
133
134 public static String getNameId( Document doc )
135 {
136 String strID = "" + doc.getId( ) + "-" + doc.getTitle( );
137 strID = StringUtil.replaceAccent( strID );
138
139 return strID.replace( " ", "_" );
140 }
141 }