@@ -141,15 +141,14 @@ public static Map<String, String> asMap(boolean production) {
141
141
map .put ("SUGGEST_SERIES_CATEGORY" , SUGGEST_SERIES_CATEGORY );
142
142
143
143
if (serveContentFromSingleHost ) {
144
- // Constants sorted in an ascending order.
144
+ ImageUrl .exposeResourcesToView (map );
145
+
145
146
map .put ("BOOTSTRAP_CSS" , BOOTSTRAP_CSS );
146
147
map .put ("BOOTSTRAP_JS" , BOOTSTRAP_JS );
147
148
map .put ("CATALOG_UTILS_JS" , CATALOG_UTILS_JS );
148
149
map .put ("COLLECTION_INFO_JS" , COLLECTION_INFO_JS );
149
150
map .put ("DATE_UTILS_JS" , DATE_UTILS_JS );
150
151
map .put ("FAVICON_ICO" , FAVICON_ICO );
151
- map .put ("GET_IMAGE_PAGE" , ImageUrl .GET_IMAGE_PAGE );
152
- map .put ("GET_IMAGE_PREVIEW_PAGE" , ImageUrl .GET_IMAGE_PREVIEW_PAGE );
153
152
map .put ("JQUERY_JS" , JQUERY_JS );
154
153
map .put ("MAIN_CSS" , MAIN_CSS );
155
154
map .put ("PARTICIPANT_ADD_JS" , PARTICIPANT_ADD_JS );
@@ -158,15 +157,29 @@ public static Map<String, String> asMap(boolean production) {
158
157
map .put ("SERIES_ADD_JS" , SERIES_ADD_JS );
159
158
map .put ("SERIES_INFO_JS" , SERIES_INFO_JS );
160
159
} else {
161
- // Use a separate domain for our own resources
162
- // Constants sorted in an ascending order.
160
+ // This is a simplest decorator around Map that modifies inserted URLs by prepending
161
+ // a host for static resources to them.
162
+ //
163
+ // I don't want to use ForwardingMap (Guava) or TransformedMap (commons-collections)
164
+ // as we don't have them in dependencies and I don't want to add them either just for
165
+ // a few lines of code.
166
+ //
167
+ // NOTE: this implementation won't work as expected when a caller uses putAll(),
168
+ // putIfAbsent() or modifies a map by other ways.
169
+ Map <String , String > resourcesMap = new HashMap <String , String >(map ) {
170
+ @ Override
171
+ public String put (String key , String value ) {
172
+ // Use a separate domain for our own resources
173
+ return map .put (STATIC_RESOURCES_URL + key , value );
174
+ }
175
+ };
176
+
177
+ ImageUrl .exposeResourcesToView (resourcesMap );
178
+
163
179
map .put ("CATALOG_UTILS_JS" , STATIC_RESOURCES_URL + CATALOG_UTILS_JS );
164
180
map .put ("COLLECTION_INFO_JS" , STATIC_RESOURCES_URL + COLLECTION_INFO_JS );
165
181
map .put ("DATE_UTILS_JS" , STATIC_RESOURCES_URL + DATE_UTILS_JS );
166
182
map .put ("FAVICON_ICO" , STATIC_RESOURCES_URL + FAVICON_ICO );
167
- map .put ("GET_IMAGE_PAGE" , STATIC_RESOURCES_URL + ImageUrl .GET_IMAGE_PAGE );
168
- // CheckStyle: ignore LineLength for next 1 line
169
- map .put ("GET_IMAGE_PREVIEW_PAGE" , STATIC_RESOURCES_URL + ImageUrl .GET_IMAGE_PREVIEW_PAGE );
170
183
map .put ("MAIN_CSS" , STATIC_RESOURCES_URL + MAIN_CSS );
171
184
map .put ("PARTICIPANT_ADD_JS" , STATIC_RESOURCES_URL + PARTICIPANT_ADD_JS );
172
185
map .put ("SERIES_ADD_JS" , STATIC_RESOURCES_URL + SERIES_ADD_JS );
0 commit comments