source: main/trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/indicator.xml @ 22581

Last change on this file since 22581 was 22581, checked in by GarthBraithwaite_STG, 3 months ago

java, view - checked into the modified date modelmap code and updated comments. Reverted help css back to span until time to fix horz alignment. Reimplemented complete profile xslt based on summary to fix maps not showing. Changed qm page options to basic selections based in if result and options for the type of page. Added METADATA_PATH_AND_NAME element for QM's to link to the epht metadata page req (this is a temp fix).

File size: 19.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!--
4        IBIS-PH View System's "indicator profile" module related Spring properties.
5        These properties are all specific to the "indicator" type requests and
6        include indicator profile specific resources, controllers, and
7        views.
8-->
9
10<beans default-lazy-init="false" default-autowire="no"
11        xmlns="http://www.springframework.org/schema/beans"
12        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
13        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
14>
15
16        <!--  M O D E L   /   C O N T R O L L E R   R E S O R U C E S -->
17        <bean id="indicatorXMLBasePath" class="org.ibisph.model.StringHolder">
18                <description>
19                        Base IP XML file path.  This defaults to the common base XML value
20                        but is split out so that developers/test enviros can access production
21                        IP files from their enviro (so they don't have to copy or repub IPs).
22                </description>
23                <constructor-arg value="#{commonContentBasePath.string}xml/indicator/"/>
24        </bean>
25        <bean id="indicatorXMLBasePathURL" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
26                <description>
27                        Primary XML URL model for the XSLT processing.  Used for IP requests.
28                </description>
29                <property name="targetObject" ref="commonContextAndPathService"/>
30                <property name="targetMethod" value="getPathURL"/>
31                <property name="arguments"><list><value>#{indicatorXMLBasePath.string}</value></list></property>
32        </bean>
33
34        <bean id="indicatorProfileFilePath" class="org.ibisph.model.StringHolder">
35                <description>
36                        Sub path that localizes the profiles portion of the IP path.  The xml
37                        service uses this along with the base path to build/locate the actual
38                        real file's path. 
39                </description>
40                <constructor-arg value="profile/"/>
41        </bean>
42        <bean id="indicatorPublishedIndicatorsFilePathAndName" class="org.ibisph.model.StringHolder">
43                <constructor-arg value="published_indicators.xml"/>
44        </bean>
45        <bean id="indicatorIndicatorSetsFilePathAndName" class="org.ibisph.model.StringHolder">
46                <constructor-arg value="indicator_sets.xml"/>
47        </bean>
48        <bean id="indicatorCategorziedIndexFilePathAndName" class="org.ibisph.model.StringHolder">
49                <constructor-arg value="CategorizedSelection.xml"/>
50        </bean>
51
52        <bean id="indicatorPreviewFilePath" class="org.ibisph.model.StringHolder">
53                <description>
54                        Base admin app XML preview Path that an xml service uses to build/
55                        locate the complete file path. 
56                </description>
57                <constructor-arg value="http://localhost/ibisph-admim/xml/preview/indicator/profile/"/>
58        </bean>
59
60
61        <!-- F I L E   S E R V I C E S -->
62        <bean id="indicatorXMLFilePathModelService" class="org.ibisph.model.URLPathGetModelService">
63                <description>
64                        Service that builds the actual, fully specified, explicit URL path.
65                        The base path can be a string or URL which in this case is the IP
66                        base path URL.  The model map then specifies an actual filename to
67                        which is the appended to the base path to provide the full file path
68                        URL.  Common was used but implemented an IP specific version so adopters
69                        can have a local dev enviro access production IP XML files. 
70                </description>
71                <property name="basePath" ref="indicatorXMLBasePathURL"/>
72        </bean>
73        <bean id="indicatorXMLServiceModelMapProperties" abstract="true">
74                <description>
75                        XML model map properties used by the IP XML requests.
76                </description>
77                <property name="modelMapKey" value="#{commonXMLModelMapKey.string}"/>
78                <property name="getModelService" ref="indicatorXMLFilePathModelService"/>
79        </bean>
80
81        <bean id="indicatorDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO">
82                <description>
83                        Provides an IP specific base path XML document loader that is used
84                        to load an XML document that is then put into model map.  This is
85                        needed when an XML doc is needed but is not the primary XML e.g. is
86                        a secondary XML passed as a parameter.  Typical use is the published
87                        IPs for topic pages etc.
88                </description>
89                <property name="basePath"     ref="indicatorXMLBasePathURL"/>
90                <property name="escapeTextWhenSaving" value="true"/>
91                <property name="dateFormat"   ref="commonDateFormat"/>
92                <property name="outputFormat" ref="commonXMLOutputFormat"/>
93        </bean>
94
95
96        <!--  M O D E L   M A P S -->
97        <bean id="indicatorProfileFilePathAndNameModelMap" 
98                class="org.ibisph.web.modelmap.ModelFromHTTPRequestPathLastSegment" 
99                parent="indicatorXMLServiceModelMapProperties"
100        >
101                <description>
102                        Main IP path and filename URL model map used for all IP XML requests
103                        that specifies the actual IP XML file as the last segment in the
104                        request path.  This model map uses the indicatorXMLFilePathModelService
105                        which has it's base using the indicatorXMLBasePathURL.  The path value
106                        is simply a sub path to the profiles" directory which is underneath
107                        the IP XML dir.  This model map then uses the request's filename to
108                        finish determining which IP XML file to use as the primary XML file
109                        for XSLT/XML trans.
110                </description>
111                <property name="filePath" value="#{indicatorProfileFilePath.string}"/>
112        </bean>
113
114        <bean id="indicatorSelectedRelationNameModelMap" class="org.ibisph.indicatorprofile.modelmap.RelationNameFromHTTPRequest">
115                <property name="modelMapKey" value="RelationName"/>
116        </bean>
117
118        <bean id="indicatorPublishedIndicatorsModelMap" class="org.ibisph.modelmap.ModelFromFilePathAndNameService">
119                <description>Document version of the published IPs XML typically used for Topics.</description>
120                <property name="modelMapKey"     value="PublishedIndicators"/>
121                <property name="getModelService" ref="indicatorDocumentDAOService"/>
122                <property name="filePathAndName" value="#{indicatorPublishedIndicatorsFilePathAndName.string}"/>
123        </bean>
124        <bean id="indicatorPublishedIndicatorsXMLModelMap" 
125                class="org.ibisph.modelmap.ModelFromFilePathAndNameService" 
126                parent="indicatorXMLServiceModelMapProperties"
127        >
128                <description>
129                        File version of the published IPs XML typically used for IP Indexes.
130                        Published IPs path and filename URL model map with the main XML
131                        modelmap key.  Used for all index type requests where the primary XML
132                        is the published IPs file.  This model map uses the
133                        indicatorXMLFilePathModelService which has it's base using the
134                        indicatorXMLBasePathURL.  The path value is simply a the published
135                        ips filename which is typically at the root of the IP XML dir. 
136                        NOTE: the document version of the published IPs that is used
137                        when published IPs are needed but where they are not the primary XML.
138                </description>
139                <property name="filePathAndName" value="#{indicatorPublishedIndicatorsFilePathAndName.string}"/>
140        </bean>
141
142        <bean id="indicatorIndicatorProfileFilePathModelMap" class="org.ibisph.modelmap.ModelFromFilePathAndNameService">
143                <description>
144                        IP filepath that is passed as an XSLT param value that allows the XSLT
145                        pages to dynamically access a bunch of IP XMLs.  Used for community
146                        IPs and QFs demographic table.
147                </description>
148                <property name="getModelService" ref="indicatorXMLFilePathModelService"/>
149                <property name="modelMapKey"     value="IndicatorProfileXMLFilePath"/>
150                <property name="filePathAndName" value="#{indicatorProfileFilePath.string}"/>
151        </bean>
152        <bean id="indicatorIndicatorSetsModelMap" class="org.ibisph.modelmap.ModelFromFilePathAndNameService">
153                <description>
154                        Document version of the indicator sets IPs XML which is a 2ndary
155                        IP set XML.  This is typically used for all community controllers to
156                        allow show/change alternative IP sets.
157                </description>
158                <property name="modelMapKey"     value="IndicatorSets"/>
159                <property name="getModelService" ref="indicatorDocumentDAOService"/>
160                <property name="filePathAndName" value="#{indicatorIndicatorSetsFilePathAndName.string}"/>
161        </bean>
162
163
164        <!--  C O N T R O L L E R S  -->
165        <bean id="indicatorAlphabeticalIndexController" parent="commonModelMapListController">
166                <property name="modelMapList">
167                        <list>
168                                <ref bean="indicatorPublishedIndicatorsXMLModelMap"/>
169                        </list>
170                </property>
171                <property name="view" ref="indicatorAlphabeticalIndexView"/>
172        </bean>
173        <bean id="indicatorOrgUnitIndexController" parent="commonModelMapListController">
174                <property name="modelMapList">
175                        <list>
176                                <ref bean="indicatorPublishedIndicatorsXMLModelMap"/>
177                                <ref bean="commonOrgUnitsModelMap"/>
178                        </list>
179                </property>
180                <property name="view" ref="indicatorOrgUnitIndexView"/>
181        </bean>
182        <bean id="indicatorDataSourceIndexController" parent="commonModelMapListController">
183                <property name="modelMapList">
184                        <list>
185                                <ref bean="indicatorPublishedIndicatorsXMLModelMap"/>
186                                <ref bean="commonDataSourcesModelMap"/>
187                        </list>
188                </property>
189                <property name="view" ref="indicatorDataSourceIndexView"/>
190        </bean>
191        <bean id="indicatorDemographicIndexController" parent="indicatorAlphabeticalIndexController">
192                <property name="view" ref="indicatorDemographicIndexView"/>
193        </bean>
194
195        <bean id="indicatorTableIndexController" parent="commonModelMapListController">
196                <property name="modelMapList">
197                        <list>
198                                <ref bean="indicatorPublishedIndicatorsXMLModelMap"/>
199                                <ref bean="commonDataSourcesModelMap"/>
200                                <ref bean="commonOrgUnitsModelMap"/>
201                        </list>
202                </property>
203                <property name="view" ref="indicatorTableIndexView"/>
204        </bean>
205
206        <bean id="indicatorIndicatorSetIndexController" parent="commonModelMapListController">
207                <property name="modelMapList">
208                        <list>
209                                <bean class="org.ibisph.modelmap.ModelFromFilePathAndNameService" 
210                                        parent="indicatorXMLServiceModelMapProperties"
211                                >
212                                        <property name="filePathAndName" value="#{indicatorPublishedIndicatorsFilePathAndName.string}"/>
213                                </bean>
214                                <ref bean="indicatorIndicatorSetsModelMap"/>
215                        </list>
216                </property>
217                <property name="view" ref="indicatorIndicatorSetIndexView"/>
218        </bean>
219
220        <bean id="indicatorCategorizedIndexController" parent="commonModelMapListController">
221                <property name="modelMapList">
222                        <list>
223                                <bean class="org.ibisph.modelmap.ModelFromFilePathAndNameService" 
224                                        parent="commonXMLServiceModelMapProperties"
225                                >
226                                        <property name="getModelService" ref="indicatorXMLFilePathModelService"/>
227                                        <property name="filePathAndName" value="#{indicatorCategorziedIndexFilePathAndName.string}"/>
228                                </bean>
229                                <bean class="org.ibisph.modelmap.ModelFromFilePathAndNameService">
230                                        <property name="modelMapKey"     value="PublishedProfilesPathAndFilename"/>
231                                        <property name="getModelService" ref="indicatorXMLFilePathModelService"/>
232                                        <property name="filePathAndName" value="#{indicatorPublishedIndicatorsFilePathAndName.string}"/>
233                                </bean>
234                        </list>
235                </property>
236                <property name="view" ref="indicatorCategorizedIndexView"/>
237        </bean>
238
239        <!--
240                NOTE: For IP's that are on a remote machine/accessed via URL, the modelmap
241                is a file path not a document so the XML date can't be accessed.  For IPVs
242                the IPV XML is loaded in later model map processing because it needs to
243                determine the view XSLT to be used.  As such the XML date is returned for
244                view XMLs - even if the file is on a remote server.  If this is a problem
245                in the future then similar code can be applied to open the IP XML and put
246                into the map.
247        -->
248        <bean id="indicatorProfileControllerProperties" abstract="true" parent="commonModelMapListController">
249                <property name="modelMapList">
250                        <list>
251                                <ref bean="commonAncillaryValuesModelMap"/>
252                                <ref bean="commonDataSourcesModelMap"/>
253                                <ref bean="commonDimensionsModelMap"/>
254                                <ref bean="commonMeasuresModelMap"/>
255                                <ref bean="commonOrgUnitsModelMap"/>
256                                <ref bean="commonValueAttributesModelMap"/>
257                                <ref bean="commonValueTypesModelMap"/>
258                                <ref bean="indicatorProfileFilePathAndNameModelMap"/>
259                        </list>
260                </property>
261        </bean>
262        <bean id="indicatorImportantFactsController" parent="indicatorProfileControllerProperties">
263                <property name="view" ref="indicatorImportantFactsView"/>
264        </bean>
265        <bean id="indicatorServicesController" parent="indicatorProfileControllerProperties">
266                <property name="view" ref="indicatorServicesView"/>
267        </bean>
268        <bean id="indicatorResourcesController" parent="indicatorProfileControllerProperties">
269                <property name="view" ref="indicatorResourcesView"/>
270        </bean>
271
272        <bean id="indicatorSummaryViewController" parent="indicatorProfileControllerProperties">
273                <property name="view" ref="indicatorSummaryView"/>
274        </bean>
275
276        <bean id="indicatorCompleteViewController" parent="indicatorProfileControllerProperties">
277                <property name="view" ref="indicatorCompleteView"/>
278        </bean>
279<!--
280        <bean id="indicatorDefaultViewController" parent="indicatorProfileControllerProperties">
281                <property name="view" ref="indicatorDefaultView"/>
282        </bean>
283-->
284
285        <!-- this controller loads the XML doc so that the view's view can be read
286                and injected.
287        -->
288        <bean id="indicatorViewController" parent="commonModelMapListController">
289                <property name="modelMapList">
290                        <list>
291                                <ref bean="commonAncillaryValuesModelMap"/>
292                                <ref bean="commonDataSourcesModelMap"/>
293                                <ref bean="commonDimensionsModelMap"/>
294                                <ref bean="commonMeasuresModelMap"/>
295                                <ref bean="commonOrgUnitsModelMap"/>
296                                <ref bean="commonValueAttributesModelMap"/>
297                                <ref bean="commonValueTypesModelMap"/>
298                                <ref bean="indicatorProfileFilePathAndNameModelMap"/>
299                                <bean class="org.ibisph.indicatorprofile.modelmap.IndicatorViewViewTemplate">
300                                        <property name="documentDAOService"     ref="commonDocumentDAOService"/>
301                                        <property name="XSLTURLGetModelService" ref="commonXSLTFilePathModelService"/> 
302                                </bean>
303                        </list>
304                </property>
305                <property name="view" ref="commonXSLTTransformationView"/>
306        </bean>
307
308        <bean id="indicatorRelatedIndicatorsController" parent="commonModelMapListController">
309                <property name="modelMapList">
310                        <list>
311                                <ref bean="indicatorSelectedRelationNameModelMap"/>
312                                <ref bean="indicatorProfileFilePathAndNameModelMap"/>
313                                <ref bean="commonOrgUnitsModelMap"/>
314                        </list>
315                </property>
316                <property name="view" ref="indicatorRelatedIndicatorsView"/>
317        </bean>
318
319        <bean id="indicatorPreviewController" parent="commonModelMapListController">
320                <property name="modelMapList">
321                        <list>
322                                <bean class="org.ibisph.web.modelmap.ModelFromHTTPRequestPathLastSegment" 
323                                        parent="indicatorXMLServiceModelMapProperties"
324                                >
325                                        <property name="getModelService">
326                                                <bean class="org.ibisph.model.URLPathGetModelService">
327                                                        <description>
328                                                                Used for the admin app's preview request.  The admin app creates
329                                                                the XML file then makes this request which is of the same form
330                                                                as the normal IP view request.  This controller is the same as
331                                                                the normal view controller othen than it uses a different XML
332                                                                path.
333                                                        </description>
334                                                        <property name="basePath">
335                                                                <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
336                                                                        <property name="targetObject" ref="commonContextAndPathService"/>
337                                                                        <property name="targetMethod" value="getPathURL"/>
338                                                                        <property name="arguments"><list><value>#{indicatorPreviewFilePath.string}</value></list></property>
339                                                                </bean>
340                                                        </property>
341                                                </bean>
342                                        </property>
343                                </bean>
344                                <ref bean="commonAncillaryValuesModelMap"/>
345                                <ref bean="commonDataSourcesModelMap"/>
346                                <ref bean="commonDimensionsModelMap"/>
347                                <ref bean="commonMeasuresModelMap"/>
348                                <ref bean="commonOrgUnitsModelMap"/>
349                                <ref bean="commonValueAttributesModelMap"/>
350                                <ref bean="commonValueTypesModelMap"/>
351                        </list>
352                </property>
353                <property name="view" ref="indicatorCompleteView"/>
354        </bean>
355
356
357        <bean id="indicatorViewPreviewController" parent="indicatorPreviewController">
358                <property name="view" ref="indicatorViewView"/>
359        </bean>
360
361
362        <bean id="indicatorContentBlocksController" parent="indicatorProfileControllerProperties">
363                <property name="view" ref="indicatorContentBlocksView"/>
364        </bean>
365        <bean id="indicatorViewJSONController" parent="indicatorProfileControllerProperties">
366                <property name="view" ref="indicatorViewJSONView"/>
367        </bean>
368        <bean id="indicatorJSONController" parent="indicatorProfileControllerProperties">
369                <property name="view" ref="indicatorJSONView"/>
370        </bean>
371
372
373        <!--  V I E W S  -->
374        <bean id="indicatorAlphabeticalIndexView" parent="commonXSLTTransformationView">
375                <property name="XSLTPathAndFilename" value="html/indicator/index/alphabetical/AlphabeticalPage.xslt"/>
376        </bean>
377        <bean id="indicatorDataSourceIndexView" parent="commonXSLTTransformationView">
378                <property name="XSLTPathAndFilename" value="html/indicator/index/data_source/DataSourcePage.xslt"/>
379        </bean>
380        <bean id="indicatorOrgUnitIndexView" parent="commonXSLTTransformationView">
381                <property name="XSLTPathAndFilename" value="html/indicator/index/org_unit/OrgUnitPage.xslt"/>
382        </bean>
383        <bean id="indicatorDemographicIndexView" parent="commonXSLTTransformationView">
384                <property name="XSLTPathAndFilename" value="html/indicator/index/demographic/DemographicPage.xslt"/>
385        </bean>
386        <bean id="indicatorIndicatorSetIndexView" parent="commonXSLTTransformationView">
387                <property name="XSLTPathAndFilename" value="html/indicator/index/indicator_set/IndicatorSetPage.xslt"/>
388        </bean>
389        <bean id="indicatorTableIndexView" parent="commonXSLTTransformationView">
390                <property name="XSLTPathAndFilename" value="html/indicator/index/table/TablePage.xslt"/>
391        </bean>
392        <bean id="indicatorCategorizedIndexView" parent="commonXSLTTransformationView">
393                <property name="XSLTPathAndFilename" value="html/indicator/index/categorized/CategorizedPage.xslt"/>
394        </bean>
395
396        <bean id="indicatorSummaryView" parent="commonXSLTTransformationView">
397                <property name="XSLTPathAndFilename" value="html/indicator/profile/summary/SummaryPage.xslt"/>
398        </bean>
399        <bean id="indicatorCompleteView" parent="commonXSLTTransformationView">
400                <property name="XSLTPathAndFilename" value="html/indicator/profile/complete_profile/CompleteProfilePage.xslt"/>
401        </bean>
402<!--
403        <bean id="indicatorDefaultView" parent="commonXSLTTransformationView">
404                <property name="XSLTPathAndFilename" value="html/indicator/profile/default/DefaultPage.xslt"/>
405        </bean>
406-->
407        <bean id="indicatorViewView" parent="commonXSLTTransformationView">
408                <property name="XSLTPathAndFilename" value="html/indicator/profile/view/ViewPage.xslt"/>
409        </bean>
410        <bean id="indicatorImportantFactsView" parent="commonXSLTTransformationView">
411                <property name="XSLTPathAndFilename" value="html/indicator/profile/important_facts/ImportantFactsPage.xslt"/>
412        </bean>
413        <bean id="indicatorServicesView" parent="commonXSLTTransformationView">
414                <property name="XSLTPathAndFilename" value="html/indicator/profile/available_services/AvailableServicesPage.xslt"/>
415        </bean>
416        <bean id="indicatorResourcesView" parent="commonXSLTTransformationView">
417                <property name="XSLTPathAndFilename" value="html/indicator/profile/more_resources/MoreResourcesPage.xslt"/>
418        </bean>
419        <bean id="indicatorRelatedIndicatorsView" parent="commonXSLTTransformationView">
420                <property name="XSLTPathAndFilename" value="html/indicator/profile/related_indicators/RelatedIndicatorsPage.xslt"/>
421        </bean>
422
423        <bean id="indicatorContentBlocksView" parent="commonXSLTTransformationView">
424                <property name="XSLTPathAndFilename" value="html/indicator/profile/ContentBlocks.xslt"/>
425        </bean>
426        <bean id="indicatorViewJSONView" parent="commonXSLTTransformationView">
427                <property name="XSLTPathAndFilename" value="json/IndicatorViewDataset.xslt"/>
428        </bean>
429        <bean id="indicatorJSONView" parent="commonXSLTTransformationView">
430                <description>Generic conversion from https://github.com/bramstein/xsltjson</description>
431                <property name="XSLTPathAndFilename" value="json/xml-to-json.xslt"/>
432        </bean>
433</beans>
Note: See TracBrowser for help on using the repository browser.