Передача весенних бобов через пользовательский контекст отчетности в Grails - PullRequest
0 голосов
/ 13 октября 2011

Я использую Jasper Reports для своего веб-приложения на основе Grails, и у меня есть ReportingContext.xml, в котором есть bean-компоненты для каждого отчета, такие как сопоставление идентификатора / имени отчета с шаблоном отчета (jrxml). Мне нужно знать основные шаги по настройке и настройке контекста xmls и как загрузить их в мой контроллер отчетов при запуске приложения.

Старое приложение было в java / j2ee, которое использовало этот отчет xml. Мы должны разработать аналогичную систему на граалях.

Большая часть контекста содержит jrxml для отображения сопоставления имен, но я не могу понять некоторые компоненты в контексте.

Вот пример содержимого файла context.xml для отчета, для 1 отчета

 <beans> 
            <!-- ========================= REPORTING SERVICE WRAPPER ========================= -->
             <bean parent="baseTransactionProxy" name="myReportingService"> 
             <property name="proxyInterfaces" value="com.pack.my.reporting.service.myReportingService"/> 
             <property name="transactionAttributes">
                 <property name="target"> 
             <bean parent="baseServiceSupport" class="com.pack.my.reporting.service.impl.myReportingServiceImpl"> 
             <property name="reportManager" ref="reportManager"/> 
             <property name="mySecurityService" ref="mySecurityService"/> 
             <property name="businessUnitService" ref="businessUnitService"/> 
             </bean> 
             </property> 
             </bean> 
             <bean class="com.pack.my.reporting.manager.impl.ReportManagerImpl" id="reportManager"> 
             <property name="reportRenderers"> 
             <map> 
             <entry key="JasperPrint">
                 <entry key="siemJasperPrint">
             </map>
             </property>
             <property name="reportDefinitionDao" ref="reportDefinitionDao"/> 
             <property name="reportDao" ref="reportDao"/> 
             <property name="sequenceGeneratorService" ref="sequenceGeneratorService"/> 
             <property name="reportLocation" value="file:${my_HOME}/reports"/> 
             <property name="reportDefinitions">
                 <map> 
                 <entry key="businessUnitRoles"> 
                 <ref local="businessUnitRoles"/> 
                 </entry>
                 <entry key="businessUnitRoleUsers"> 
                 <ref local="businessUnitRoleUsers"/> 
                 </entry>
                 </map>
             </property>
             <property name="parameterPromptCodeMap">
                 <bean class="org.apache.commons.collections.map.CaseInsensitiveMap"> 
                 <constructor-arg> 
                 <map> 
                 <entry value="1" key="businessUnit"/> 
                 <entry value="1" key="businessUnitKey"/> 
                 <entry value="2" key="globaluser"/> 
                 <entry value="2" key="USERID"/> 
                 <entry value="2" key="USER_ID"/> 
                 <entry value="2" key="GLOBALUSERKEY"/> 
                 <entry value="3" key="identityCertification"/> 
                 <entry value="3" key="CERTIFICATIONID"/> 
                 <entry value="3" key="CERTIFICATION_ID"/> 
                 <entry value="4" key="startDate"/> 
                 </map> 
                 </constructor-arg> 
                 </bean> 
                 </property>
             </bean> 
            <!--- Report Groups Business Unit reports Group 1 Users reports -->
             <bean class="com.pack.my.reporting.domain.ReportDefinition" id="businessUnitRoles">
                 <property name="reportName" value="Business Unit Roles Report"/> 
                 <property name="reportFiles"> 
                 <map> 
                 <entry value="BusinessUnitRoles.jrxml" key="JasperPrint"/> 
                 </map> 
                 </property> 
                 <property name="promptForBusinessUnit" value="true"/> 
                 <property name="reportGroup" value="1"/> 
                 <property name="displayName" value="report.businessUnitRoles.name"/>
             <bean class="com.pack.my.reporting.domain.ReportDefinition" id="businessUnitUsers">

             </bean>
            </beans>

1 Ответ

1 голос
/ 13 октября 2011
  1. Добавление зависимостей в grails-app / conf / BuildConfig.groovy
  2. Скопируйте указанный файл в /grails-app/conf/spring/resources.xml
  3. Читать Grails и Spring - Справочная документация

Resources.xml больше не создается по умолчанию, так как в каталоге Spring существует только resources.groovy.Просто скопируйте ваш весенний контекстный файл в resources.xml.

...