2053 lines
117 KiB
XML
Executable File
2053 lines
117 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns:tx="http://www.springframework.org/schema/tx"
|
|
xmlns:context="http://www.springframework.org/schema/context"
|
|
xmlns:security="http://www.springframework.org/schema/security"
|
|
xmlns:aop="http://www.springframework.org/schema/aop"
|
|
xmlns:util="http://www.springframework.org/schema/util"
|
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
|
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
|
|
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
|
|
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd
|
|
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
|
|
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
|
|
|
|
<!-- Enable the configuration of transactional behavior based on annotations -->
|
|
<tx:annotation-driven transaction-manager="transactionManager"/>
|
|
<!-- Enable annotation-based wiring -->
|
|
<context:annotation-config/>
|
|
<!-- Enable aspectj autoproxy-->
|
|
<aop:aspectj-autoproxy />
|
|
|
|
<context:component-scan base-package="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl,com.jaspersoft.jasperserver.api.metadata.security, com.jaspersoft.jasperserver.api.metadata.jdbc,com.jaspersoft.jasperserver.api.common.error.handling"/>
|
|
|
|
<alias name="${bean.securityContextProvider}" alias="concreteSecurityContextProvider"/>
|
|
<alias name="${bean.engineService}" alias="concreteEngineService"/>
|
|
<alias name="${bean.navigationActionModelSupport}" alias="concreteNavigationActionModelSupport"/>
|
|
<alias name="fileVirtualizerFactory" alias="concreteVirtualizerFactory"/>
|
|
<alias name="${bean.instanceProductTypeResolver}" alias="instanceProductTypeResolverBean"/>
|
|
<alias name="${bean.repositoryContextManager}" alias="concreteRepositoryContextManager"/>
|
|
|
|
|
|
<util:properties id="springConfiguration" location="${resource.root}/js.spring.properties" />
|
|
|
|
|
|
<alias name="${bean.jasperReportsContext}" alias="concreteJasperReportsContext"/>
|
|
|
|
<alias name="${bean.diagnosticLoggingFilter}" alias="diagnosticLoggingFilter"/>
|
|
|
|
<bean id="contextApplicationContextProvider" class="com.jaspersoft.jasperserver.api.common.util.spring.ApplicationContextProvider"/>
|
|
|
|
<!-- Service beans -->
|
|
<util:list id="publicFolders">
|
|
<value>/public</value>
|
|
</util:list>
|
|
|
|
<util:list id="restrictedFolderNames">
|
|
<value>/public</value>
|
|
</util:list>
|
|
|
|
<util:list id="restrictedFoldersForCreation">
|
|
<value></value>
|
|
<value>/</value>
|
|
<value>org_template</value>
|
|
<value>organizations</value>
|
|
</util:list>
|
|
|
|
<!-- Hibernate SessionFactory -->
|
|
<!-- Hibernate SessionFactory
|
|
If internal ActiveMQ server is used then you must add dependency 'depends-on="broker-1"' for sessionFactory or it will fail to start
|
|
-->
|
|
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
|
|
<property name="dataSource" ref="dataSource"/>
|
|
<property name="mappingResources">
|
|
<list>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoResourceItemBase.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/CachedItem.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/ContentRepoFileResource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoBeanDataSource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoCustomDataSource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoDataType.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoFileResource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/util/BasicPersistentFileResource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoFolder.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoInputControl.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoJdbcDataSource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoJndiJdbcDataSource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoVirtualDataSource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoAwsDataSource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoAzureSqlDataSource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoListOfValues.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoOlapClientConnection.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoOlapUnit.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoQuery.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoReportUnit.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoResource.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoResourceLight.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoXMLAConnection.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/user/domain/impl/hibernate/RepoUser.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/user/domain/impl/hibernate/RepoRole.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/user/domain/impl/hibernate/RepoTenant.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/user/domain/impl/hibernate/RepoObjectPermission.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/user/domain/impl/hibernate/RepoProfileAttribute.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/engine/scheduling/hibernate/PersistentReportJob.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/engine/scheduling/hibernate/PersistentReportJobTrigger.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/engine/scheduling/hibernate/PersistentReportJobRepositoryDestination.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/engine/scheduling/hibernate/PersistentReportJobMailNotification.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/engine/scheduling/hibernate/PersistentReportJobAlert.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/common/domain/impl/LogEvent.hbm.xml</value>
|
|
<value>${property.hbm.RepoMondrianConnection}</value>
|
|
<value>${property.hbm.RepoMondrianXMLADefinition}</value>
|
|
<value>/com/jaspersoft/jasperserver/api/logging/access/domain/hibernate/RepoAccessEvent.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/data/snapshot/hibernate/DataSnapshot.hbm.xml</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/data/snapshot/hibernate/DataSnapshotContents.hbm.xml</value>
|
|
<value>${property.hbm.NamedQueries}</value>
|
|
<value>/com/jaspersoft/jasperserver/api/metadata/common/service/impl/hibernate/persistent/RepoReportThumbnail.hbm.xml</value>
|
|
</list>
|
|
</property>
|
|
<property name="hibernateProperties">
|
|
<props>
|
|
<prop key="hibernate.dialect">${metadata.hibernate.dialect}</prop>
|
|
<prop key="hibernate.show_sql">false</prop>
|
|
<prop key="hibernate.generate_statistics">true</prop>
|
|
<!-- uncomment property below if a default schema should be specified such as for DB2 -->
|
|
<!-- <prop key="hibernate.default_schema">${metadata.hibernate.default_schema}</prop> -->
|
|
|
|
<!-- Cache Configurations -->
|
|
<prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}</prop>
|
|
<prop key="net.sf.ehcache.configurationResourceName">/ehcache_hibernate.xml</prop>
|
|
<prop key="hibernate.cache.use_minimal_puts">false</prop>
|
|
<prop key="hibernate.cache.use_query_cache">true</prop>
|
|
<prop key="hibernate.jdbc.batch_size">20</prop>
|
|
<prop key="hibernate.cache.use_second_level_cache">true</prop>
|
|
<prop key="hibernate.cache.use_structured_entries">true</prop>
|
|
</props>
|
|
</property>
|
|
<!--
|
|
configure caching for each persistent class
|
|
this is equivalent to adding <cache> element to each mapping file,
|
|
but centralizing this is probably preferable
|
|
-->
|
|
<property name="entityCacheStrategies">
|
|
<props>
|
|
<prop key="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResourceLight">read-only,defaultRepoCache</prop>
|
|
<prop key="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResource">read-write,defaultRepoCache</prop>
|
|
<prop key="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoFolder">read-write,defaultRepoCache</prop>
|
|
<prop key="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoUser">read-write,defaultRepoCache</prop>
|
|
<prop key="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoRole">read-write,defaultRepoCache</prop>
|
|
<prop key="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoTenant">read-write,defaultRepoCache</prop>
|
|
<prop key="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.CachedItem">read-write,defaultRepoCache</prop>
|
|
</props>
|
|
</property>
|
|
<property name="eventListeners">
|
|
<map>
|
|
<entry key="merge">
|
|
<bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
|
|
</entry>
|
|
<entry key="delete">
|
|
<ref bean="hibernateCompositeDeleteListener"/>
|
|
</entry>
|
|
<entry key="save-update">
|
|
<ref bean="hibernateCompositeSaveOrUpdateListener"/>
|
|
</entry>
|
|
<entry key="post-update">
|
|
<ref bean="hibernateCompositePostUpdateListener"/>
|
|
</entry>
|
|
<entry key="post-commit-delete">
|
|
<ref bean="driverDeleteListener" />
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
<property name="entityInterceptor">
|
|
<ref local="hibernateCompositeInterceptor"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="themeHibernateListener" class="com.jaspersoft.jasperserver.war.themes.ThemeHibernateListener">
|
|
<property name="themeCacheBeanName" value="themeCache" />
|
|
</bean>
|
|
|
|
<!-- Hibernate 3.0's JMX statistics service (uncomment this and the next bean if you wish to access Hibernate statistics via JMX)
|
|
<bean name="jasperserver:type=HibernateStatistics" class="org.hibernate.jmx.StatisticsService">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
</bean>
|
|
-->
|
|
|
|
<!--
|
|
Exporter that exposes Hibernate 3.0's statistics service via JMX.
|
|
<bean id="jmxExporter" class="org.springframework.jmx.export.MBeanExporter">
|
|
<property name="autodetect" value="true"/>
|
|
</bean>
|
|
-->
|
|
|
|
<bean id="hibernateCompositeDeleteListener" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateCompositeDeleteListener">
|
|
<property name="listeners" ref="${bean.hibernateCompositeDeleteListenerListeners}" />
|
|
</bean>
|
|
|
|
<bean id="hibernateCompositeInterceptor" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateCompositeInterceptor">
|
|
<property name="listeners" ref="${bean.hibernateCompositeInterceptorListeners}" />
|
|
</bean>
|
|
|
|
<bean id="hibernateCompositeInterceptorListeners" class="java.util.ArrayList">
|
|
<constructor-arg index="0" type="java.util.Collection">
|
|
<list>
|
|
<ref bean="metadataRepositoryDeleteListener"/>
|
|
<ref bean="userAuthorityDeleteListener"/>
|
|
<ref bean="objectPermissionsUserAuthorityDeleteListener"/>
|
|
<ref bean="dataSnapshotReportUnitListener"/>
|
|
<ref bean="profileAttributesDeleteListener"/>
|
|
<ref bean="objectPermissionsProfileAttributeDeleteListener"/>
|
|
</list>
|
|
</constructor-arg>
|
|
</bean>
|
|
|
|
<bean id="hibernateCompositeSaveOrUpdateListener" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateCompositeSaveOrUpdateListener">
|
|
<property name="listeners" ref="${bean.hibernateCompositeSaveOrUpdateListeners}" />
|
|
</bean>
|
|
|
|
<bean id="hibernateCompositePostUpdateListener" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateCompositePostUpdateListener">
|
|
<property name="listeners" ref="hibernateCompositePostUpdateListeners" />
|
|
</bean>
|
|
|
|
<bean id="metadataRepositoryDeleteListener" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateResourceDeleteListener">
|
|
<property name="persistentClassMappings" ref="persistentMappings"/>
|
|
</bean>
|
|
|
|
<bean id="olapConnectionRepositoryPostUpdateListener" class="com.jaspersoft.jasperserver.api.metadata.olap.service.impl.OlapConnectionHibernatePostUpdateListener">
|
|
<property name="resourceFactory" ref="mappingResourceFactory"/>
|
|
<property name="olapManagementServiceBean" value="olapManagementService"/>
|
|
</bean>
|
|
|
|
<bean id="ehcacheEngineServicePostUpdateListener" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EhcacheEngineServiceListener">
|
|
<property name="ehcacheEngineServiceName" value="ehcacheEngineService"/>
|
|
</bean>
|
|
|
|
<bean id="userAuthorityDeleteListener" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.HibernateUserAuthorityDeleteListener">
|
|
</bean>
|
|
|
|
<bean id="hibernateRoleDeleteListener"
|
|
class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.HibernateRoleDeleteListener"/>
|
|
|
|
<bean id="driverDeleteListener" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.DriverDeleteListener" depends-on="configurationBean">
|
|
<!-- the listener is not wired to the propertiesManagementService yet, because we dont want to use the service in the import/export context -->
|
|
<property name="propertiesManagementServiceName" value="propertiesManagementService"/>
|
|
<property name="jdbcDriversFolder" value="#{configurationBean.jdbcDriversFolderUri}"/>
|
|
</bean>
|
|
|
|
<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
|
|
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
</bean>
|
|
|
|
<bean id="objectFactory" class="com.jaspersoft.jasperserver.api.common.service.impl.ObjectFactoryImpl"/>
|
|
|
|
|
|
<bean id="mappingResourceFactory" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.ResourceFactoryImpl">
|
|
<property name="objectFactory" ref="objectFactory"/>
|
|
<property name="implementationClassMappings">
|
|
<map>
|
|
<entry key="com.jaspersoft.jasperserver.api.common.domain.LogEvent"
|
|
value="com.jaspersoft.jasperserver.api.common.domain.client.LogEventImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.FileResource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.domain.client.FileResourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.ContentResource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.domain.client.ContentResourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.JdbcReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.JdbcReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.AwsReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.AwsReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.AzureSqlReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.AzureSqlReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.JndiJdbcReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.JndiJdbcReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.VirtualReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.VirtualReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.BeanReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.BeanReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.CustomReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.CustomReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.ReportUnitImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.Query"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.domain.client.QueryImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.InputControl"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.domain.client.InputControlImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.ListOfValues"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.domain.client.ListOfValuesImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.DataType"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.domain.client.DataTypeImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.Folder"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.domain.client.FolderImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.User"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.client.UserImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.Role"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.client.RoleImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.Tenant"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.client.TenantImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.ObjectPermission"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.client.ObjectPermissionImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.ProfileAttribute"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.client.ProfileAttributeImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianXMLADefinition"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.client.MondrianXMLADefinitionImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.OlapUnit"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.client.OlapUnitImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.OlapClientConnection"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.client.OlapClientConnectionImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.XMLAConnection"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.client.XMLAConnectionImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.JdbcOlapDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.JdbcReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.JndiJdbcOlapDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client.JndiJdbcReportDataSourceImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.client.MondrianConnectionImpl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.logging.access.domain.AccessEvent"
|
|
value="com.jaspersoft.jasperserver.api.logging.access.domain.AccessEventImpl"/>
|
|
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="addMappingResourceFactory" class="com.jaspersoft.jasperserver.api.common.util.spring.GenericBeanUpdaterDefinition">
|
|
<property name="order" value="10"/>
|
|
<property name="beanName" value="persistentMappings"/>
|
|
<property name="propertyName" value="implementationClassMappings"/>
|
|
<property name="operation" value="append"/>
|
|
</bean>
|
|
|
|
<bean id="persistentMappings" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.ResourceFactoryImpl">
|
|
<property name="objectFactory" ref="objectFactory"/>
|
|
<property name="implementationClassMappings">
|
|
<map>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResourceItem" value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResourceItem"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoFolder" value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResourceFolderItem"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.ResourceLookup"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResourceItemBase"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.Resource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.FileResource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoFileResource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.ContentResource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.ContentRepoFileResource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.DataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.JdbcReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoJdbcDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.AwsReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoAwsDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.AzureSqlReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoAzureSqlDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.JndiJdbcReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoJndiJdbcDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.VirtualReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoVirtualDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.BeanReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoBeanDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.CustomReportDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoCustomDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.RepoReportUnit"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.Query"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoQuery"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.InputControl"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoInputControl"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.ListOfValues"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoListOfValues"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.Folder"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoFolder"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.ListOfValuesItem"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoListOfValuesItem"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.DataType"
|
|
value="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoDataType"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.ProfileAttribute"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoProfileAttribute"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.ObjectPermission"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoObjectPermission"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.User"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoUser"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.Role"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoRole"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.user.domain.Tenant"
|
|
value="com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoTenant"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.OlapUnit"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.impl.hibernate.RepoOlapUnit"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.OlapClientConnection"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.impl.hibernate.RepoOlapClientConnection"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.XMLAConnection"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.impl.hibernate.RepoXMLAConnection"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.OlapDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.impl.hibernate.RepoOlapDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.JdbcOlapDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoJdbcDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.JndiJdbcOlapDataSource"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoJndiJdbcDataSource"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.impl.hibernate.RepoMondrianConnection"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianXMLADefinition"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.impl.hibernate.RepoMondrianXMLADefinition"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.logging.access.domain.AccessEvent"
|
|
value="com.jaspersoft.jasperserver.api.logging.access.domain.hibernate.RepoAccessEvent"/>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="addPersistentMappings" class="com.jaspersoft.jasperserver.api.common.util.spring.GenericBeanUpdaterDefinition">
|
|
<property name="order" value="10"/>
|
|
<property name="beanName" value="persistentMappings"/>
|
|
<property name="propertyName" value="implementationClassMappings"/>
|
|
<property name="operation" value="append"/>
|
|
</bean>
|
|
|
|
<bean id="hibernateRepositoryService" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl">
|
|
<property name="auditContext" ref="${bean.auditContext}"/>
|
|
<property name="accessContext" ref="${bean.accessContext}"/>
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="resourceFactory" ref="mappingResourceFactory"/>
|
|
<property name="persistentClassMappings" ref="persistentMappings"/>
|
|
<property name="validatorMappings" ref="validatorMappings"/>
|
|
<property name="collatorFactory" ref="collatorFactory"/>
|
|
<property name="repositoryListeners" ref="${bean.hibernateRepositoryListeners}" />
|
|
<property name="securityChecker" ref="repositoryServiceSecurityChecker"/>
|
|
<property name="lockFoldersOnPathChange" value="true"/>
|
|
<property name="queryModificationEvaluator" ref="queryModificationEvaluator"/>
|
|
<property name="hibernateSaveUpdateDeleteListener" ref="${bean.themeHibernateListener}"/>
|
|
<property name="millisSecondUnsupportedSchemaSet">
|
|
<set>
|
|
<value>mysql</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="queryModificationEvaluator" class="com.jaspersoft.jasperserver.search.common.QueryModificationEvaluatorImpl"/>
|
|
|
|
<bean id="hibernateRepositoryListeners" class="java.util.ArrayList">
|
|
<constructor-arg index="0" type="java.util.Collection">
|
|
<list>
|
|
<ref bean="schedulingReportDeleteListener"/>
|
|
<ref bean="objectPermissionsRepositoryListener"/>
|
|
<ref bean="engineCacheDeleteListener"/>
|
|
<ref bean="dataSnapshotReportUnitCopyListener"/>
|
|
<ref bean="mondrianXMLADefinitionListener"/>
|
|
</list>
|
|
</constructor-arg>
|
|
</bean>
|
|
|
|
<bean id="validatorMappings" class="com.jaspersoft.jasperserver.api.common.service.impl.SimpleClassMappObjectFactory">
|
|
<property name="mappings">
|
|
<map>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.Resource"
|
|
value-ref="defaultResourceValidator"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.VirtualReportDataSource"
|
|
value-ref="virtualDataSourceValidator"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.common.domain.Folder"
|
|
value-ref="folderValidator"/>
|
|
<entry key="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit"
|
|
value-ref="reportUnitValidator"/>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="baseResourceValidator" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.BaseResourceValidator"
|
|
abstract="true">
|
|
<property name="repositoryService">
|
|
<ref bean="unsecureRepositoryService"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="reportUnitValidator" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.ReportUnitValidator"
|
|
parent="baseResourceValidator">
|
|
<property name="servletContextInformation" ref="servletContextInformation"/>
|
|
</bean>
|
|
|
|
<bean id="defaultResourceValidator" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.DefaultResourceValidator"
|
|
parent="baseResourceValidator">
|
|
</bean>
|
|
|
|
<bean id="virtualDataSourceValidator" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.VirtualDataSourceValidator"
|
|
parent="baseResourceValidator">
|
|
</bean>
|
|
|
|
<bean id="folderValidator" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.FolderValidator"
|
|
parent="baseResourceValidator">
|
|
</bean>
|
|
|
|
<bean id="servletContextInformation" class="com.jaspersoft.jasperserver.war.util.ServletContextWrapper">
|
|
<property name="jspPathPrefix" value="/WEB-INF/jsp/"/>
|
|
</bean>
|
|
|
|
<!-- repositoryService bean: bean was moved into sub-folder specific locations. -->
|
|
<!-- this is because import-export needs a different definition than js-war and unit-test -->
|
|
|
|
<!-- this bean is for a repository service connection without object level security -->
|
|
<alias name="hibernateRepositoryService" alias="unsecureRepositoryService"/>
|
|
|
|
|
|
<bean id="dataSourceServiceFactories"
|
|
class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceFactoryImpl">
|
|
<property name="factory">
|
|
<bean class="com.jaspersoft.jasperserver.api.common.service.impl.BeanForInterfaceFactoryImpl" />
|
|
</property>
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.JdbcReportDataSource" />
|
|
<property name="serviceBeanName" value="jdbcDataSourceServiceFactory" />
|
|
<property name="supportedQueryLanguages">
|
|
<set>
|
|
<value>sql</value>
|
|
<value>SQL</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.AwsReportDataSource" />
|
|
<property name="serviceBeanName" value="awsDataSourceServiceFactory" />
|
|
<property name="supportedQueryLanguages">
|
|
<set>
|
|
<value>sql</value>
|
|
<value>SQL</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.AzureSqlReportDataSource" />
|
|
<property name="serviceBeanName" value="azureSqlDataSourceServiceFactory" />
|
|
<property name="supportedQueryLanguages">
|
|
<set>
|
|
<value>sql</value>
|
|
<value>SQL</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.JndiJdbcReportDataSource" />
|
|
<property name="serviceBeanName" value="jndiJdbcDataSourceServiceFactory" />
|
|
<property name="supportedQueryLanguages">
|
|
<set>
|
|
<value>sql</value>
|
|
<value>SQL</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.VirtualReportDataSource" />
|
|
<property name="serviceBeanName" value="virtualDataSourceServiceFactory" />
|
|
<property name="supportedQueryLanguages">
|
|
<set>
|
|
<value>sql</value>
|
|
<value>SQL</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.BeanReportDataSource" />
|
|
<property name="serviceBeanName" value="beanDataSourceServiceFactory" />
|
|
<property name="anyLanguage" value="true" />
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.CustomReportDataSource" />
|
|
<property name="serviceBeanName" value="customDataSourceServiceFactory" />
|
|
<property name="anyLanguage" value="true" />
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection" />
|
|
<property name="serviceBeanName" value="olapConnectionService" />
|
|
<property name="supportedQueryLanguages">
|
|
<set>
|
|
<value>mdx</value>
|
|
<value>MDX</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
|
|
<property name="dataSourceInterface"
|
|
value="com.jaspersoft.jasperserver.api.metadata.olap.domain.XMLAConnection" />
|
|
<property name="serviceBeanName" value="olapConnectionService" />
|
|
<property name="supportedQueryLanguages">
|
|
<set>
|
|
<value>mdx</value>
|
|
<value>MDX</value>
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="dataSourceObjectPoolFactory" class="org.apache.commons.pool.impl.GenericObjectPoolFactory">
|
|
<constructor-arg type="org.apache.commons.pool.PoolableObjectFactory"><null/></constructor-arg>
|
|
<constructor-arg type="int" value="20"/>
|
|
</bean>
|
|
|
|
<bean id="dbcpJdbcDataSourceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.DbcpDataSourceFactory">
|
|
<property name="objectPoolFactory">
|
|
<ref bean="dataSourceObjectPoolFactory"/>
|
|
</property>
|
|
<property name="jdbcDriverService" ref="jdbcDriverService"/>
|
|
</bean>
|
|
|
|
<bean id="jdbcDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.JdbcReportDataSourceServiceFactory">
|
|
<property name="pooledJdbcDataSourceFactory">
|
|
<ref bean="dbcpJdbcDataSourceFactory"/>
|
|
</property>
|
|
<property name="autoCommitUnsupportedDrivers">
|
|
<set>
|
|
<value>com.simba.cassandra.jdbc4.Driver</value>
|
|
<value>com.simba.impala.jdbc4.Driver</value>
|
|
<value>com.simba.spark.jdbc4.Driver</value>
|
|
<value>com.simba.googlebigquery.jdbc41.Driver</value>
|
|
</set>
|
|
</property>
|
|
<property name="driverNoAuthMethMap">
|
|
<map>
|
|
<entry key="com.simba.cassandra.jdbc4.Driver" value="0"/>
|
|
<entry key="com.simba.impala.jdbc4.Driver" value="0"/>
|
|
<entry key="com.simba.spark.jdbc4.Driver" value="2"/>
|
|
</map>
|
|
</property>
|
|
<property name="driverAuthMethMap">
|
|
<map>
|
|
<entry key="com.simba.cassandra.jdbc4.Driver" value="1"/>
|
|
<entry key="com.simba.impala.jdbc4.Driver" value="3"/>
|
|
<entry key="com.simba.spark.jdbc4.Driver" value="3"/>
|
|
</map>
|
|
</property>
|
|
<property name="poolTimeout" value="900"/>
|
|
</bean>
|
|
|
|
<bean id="mongoDbJDBCReportDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.MongoDbJDBCReportDataSourceServiceFactory" parent="jdbcDataSourceServiceFactory">
|
|
<property name="mongoDBJDBCSchemaDefinitionTimeoutInMinute" value="1440"/>
|
|
<property name="schemaDefinitionDirectory" value="#{ systemProperties['java.io.tmpdir'] }"/>
|
|
<property name="repositoryService">
|
|
<ref bean="${bean.repositoryService}"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="customJDBCReportDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.CustomJDBCReportDataSourceServiceFactory" parent="jdbcDataSourceServiceFactory">
|
|
<property name="virtualDataSourceHandler" ref="virtualDataSourceHandler"/>
|
|
</bean>
|
|
|
|
<bean id="awsDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.AwsReportDataSourceServiceFactory"
|
|
parent="jdbcDataSourceServiceFactory">
|
|
<property name="awsDataSourceRecovery" ref="awsDataSourceRecovery"/>
|
|
</bean>
|
|
|
|
<bean id="azureSqlDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.azuresql.AzureSqlReportDataSourceServiceFactory"
|
|
parent="jdbcDataSourceServiceFactory">
|
|
<property name="azureProperties" ref="awsProperties"/>
|
|
<property name="messageSource" ref="messageSource"/>
|
|
<property name="defaultKeyStoreType" ref="defaultAzureKeyStoreType"/>
|
|
<property name="defaultJdbcDriverClassName" ref="defaultAzureJdbcDriverClassName"/>
|
|
<property name="repositoryService">
|
|
<ref bean="${bean.repositoryService}"/>
|
|
</property>
|
|
<property name="azureSqlManagementService" ref="azureSqlManagementService"/>
|
|
</bean>
|
|
|
|
<bean id="defaultAzureKeyStoreType" class="java.lang.String">
|
|
<constructor-arg value="pkcs12"/>
|
|
</bean>
|
|
|
|
<bean id="azureSqlManagementService" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.azuresql.AzureSqlManagementService">
|
|
<property name="defaultJdbcUrlSyntax" ref="defaultAzureJdbcUrlSyntax"/>
|
|
</bean>
|
|
|
|
<bean id="virtualDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.VirtualReportDataSourceServiceFactory"
|
|
parent="jdbcDataSourceServiceFactory">
|
|
<property name="virtualDataSourceHandler" ref="virtualDataSourceHandler"/>
|
|
<property name="awsDataSourceServiceFactory" ref="awsDataSourceServiceFactory"/>
|
|
<property name="azureSqlDataSourceServiceFactory" ref="azureSqlDataSourceServiceFactory"/>
|
|
</bean>
|
|
|
|
<bean id="jndiFallbackResolver" class="com.jaspersoft.jasperserver.api.metadata.common.util.JndiFallbackResolver"/>
|
|
|
|
<bean id="jndiJdbcDataSourceServiceFactory"
|
|
class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.JndiJdbcReportDataSourceServiceFactory"
|
|
parent="jdbcDataSourceServiceFactory">
|
|
<!-- in the absence of a JNDI service, use jndiFallbackResolver look up the properties in the file. -->
|
|
<property name="jndiFallbackResolver" ref="jndiFallbackResolver"/>
|
|
<property name="jndiAppServerConnectionFunctionMap">
|
|
<map>
|
|
<entry key="org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6" value="getUnderlyingConnection"/>
|
|
<entry key="org.jboss.jca.adapters.jdbc.WrappedConnection" value="getUnderlyingConnection"/>
|
|
<entry key="com.sun.gjc.spi.jdbc40.ConnectionWrapper40" value="getConnection"/>
|
|
<entry key="com.sun.gjc.spi.base.ConnectionHolder" value="getConnection"/>
|
|
<entry key="org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6" value="getUnderlyingConnection"/>
|
|
<entry key="org.apache.tomcat.dbcp.dbcp.DelegatingConnection" value="getInnermostDelegate"/>
|
|
<entry key="org.apache.commons.dbcp.DelegatingConnection" value="getInnermostDelegate"/>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="beanDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.BeanReportDataSourceServiceFactory">
|
|
<property name="messageSource" ref="messageSource"/>
|
|
</bean>
|
|
|
|
<bean id="customDataSourceServiceFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.CustomReportDataSourceServiceFactory">
|
|
<aop:scoped-proxy/>
|
|
<property name="mappingResourceFactory" ref="mappingResourceFactory"/>
|
|
</bean>
|
|
|
|
<bean id="hibernateRepositoryCacheBean" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryCache">
|
|
<property name="hibernateTemplate">
|
|
<bean class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateDaoTemplate">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="flushModeName" value="FLUSH_EAGER"/>
|
|
</bean>
|
|
</property>
|
|
<property name="repository">
|
|
<ref bean="${bean.internalRepositoryService}"/>
|
|
</property>
|
|
<!-- set 'false' to run findByCriteria() in normal mode, 'true ' to run in read-only mode [NO SQL UPDATE ALLOWED WHEN CALLING findByCriteria() -->
|
|
<property name="findByCriteriaToReadOnly" value="false"/>
|
|
<!--
|
|
The purpose of this property to keep legacy logic in the case of unexpected emergency,
|
|
that persist report cache into repository. As we added ehcache for report caching,
|
|
then the repository cache is not needed anymore. So, if customer will not face with emergency
|
|
after providing ehcache, then this property should be removed, as well as logic,
|
|
that dealing with repository cache.
|
|
-->
|
|
<property name="isEnabledRepositoryCaching" value="false"/>
|
|
<property name="hibernateRepositoryEhcache" ref="hibernateRepositoryEhcache"/>
|
|
</bean>
|
|
|
|
<bean id="hibernateRepositoryEhcache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"
|
|
lazy-init="true">
|
|
<property name="cacheManager" ref="cacheManager"/>
|
|
<property name="cacheName" value="hibernate_repository_ehcache" />
|
|
</bean>
|
|
|
|
<!-- FIXME remove this once locking is implemented (see Bugzilla 10218) -->
|
|
<bean id="hibernateRepositoryCacheReattemptInterceptor"
|
|
class="com.jaspersoft.jasperserver.api.common.util.spring.ReattemptMethodInterceptor">
|
|
<property name="reattemptAttributes">
|
|
<bean class="com.jaspersoft.jasperserver.api.common.util.spring.MapNameMethodAttributes">
|
|
<property name="methodAttributes">
|
|
<map>
|
|
<entry key="cache">
|
|
<bean class="com.jaspersoft.jasperserver.api.common.util.spring.ExceptionTypesReattemptAttributes">
|
|
<property name="exceptionTypes">
|
|
<list>
|
|
<value>org.springframework.dao.DataIntegrityViolationException</value>
|
|
</list>
|
|
</property>
|
|
<property name="attemptCount" value="3"/>
|
|
</bean>
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="hibernateRepositoryCache" class="org.springframework.aop.framework.ProxyFactoryBean">
|
|
<property name="interceptorNames">
|
|
<list>
|
|
<idref local="hibernateRepositoryCacheReattemptInterceptor"/>
|
|
<idref local="hibernateRepositoryCacheBean"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="thumbnailGenerationService" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.ThumbnailGenerationServiceImpl">
|
|
<property name="longestEdge" value="300"/>
|
|
<property name="jpgQuality" value="0.8"/> <!-- a value between 0 and 1 -->
|
|
</bean>
|
|
|
|
<bean id="reportThumbnailService" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.ReportThumbnailServiceImpl">
|
|
<property name="userAuthorityService" ref="${bean.userAuthorityService}"/>
|
|
<property name="repositoryService" ref="hibernateRepositoryService"/>
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="defaultThumbnailPath" value="${property.defaultThumbnailPath}"/>
|
|
</bean>
|
|
|
|
<bean id="asyncThumbnailCreator" class="com.jaspersoft.jasperserver.api.metadata.common.service.impl.AsyncThumbnailCreatorImpl">
|
|
<property name="generatorService" ref="thumbnailGenerationService"/>
|
|
<property name="storageService" ref="${bean.thumbnailService}"/>
|
|
<property name="threadsMax" value="2"/>
|
|
</bean>
|
|
|
|
<util:map id="engineExecutions" key-type="java.lang.String" value-type="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.ReportExecutionStatus" map-class="java.util.concurrent.ConcurrentHashMap"/>
|
|
|
|
<bean id="engineService" class="${bean.class.engineService}" destroy-method="release">
|
|
<property name="auditContext" ref="${bean.auditContext}"/>
|
|
<property name="repositoryService">
|
|
<ref bean="${bean.repositoryService}"/>
|
|
</property>
|
|
<property name="dataSourceServiceFactories">
|
|
<ref bean="dataSourceServiceFactories"/>
|
|
</property>
|
|
<property name="compiledReportsCache">
|
|
<ref bean="${bean.engineService.compiledReportsCache}"/>
|
|
</property>
|
|
<property name="queryManipulator">
|
|
<ref bean="CascadeQueryManipulator"/>
|
|
</property>
|
|
<property name="securityContextProvider" ref="${bean.securityContextProvider}"/>
|
|
<property name="builtInParameterProviders" ref="builtInParameterProviders"/>
|
|
<property name="reportParameterLabelKeyPrefix" value="net.sf.jasperreports.prompt.label."/>
|
|
<property name="repositoryContextManager" ref="${bean.repositoryContextManager}" />
|
|
<property name="cacheableCompiledReports" ref="${bean.cacheableCompiledReports}" />
|
|
<property name="reportJarsProtectionDomainProvider" ref="reportsProtectionDomainProvider"/>
|
|
<property name="inputControlsInfoExtractor" ref="inputControlsInfoRoutingExtractor"/>
|
|
<property name="dataCacheProvider" ref="engineServiceDataCacheProvider"/>
|
|
<property name="unsecureRepository" ref="unsecureRepositoryService"/>
|
|
<property name="autoUpdateJRXMLs" value="false"/><!-- required for data snapshot persistence, which is turned off by default -->
|
|
<property name="reportExecutionListenerFactories" ref="${bean.reportExecutionListenerFactories}"/>
|
|
<property name="jasperReportsContext" ref="${bean.jasperReportsContext}"/>
|
|
<property name="dataParameterContributors" ref="${bean.engineServiceDataParameterContributors}"/>
|
|
|
|
<!--
|
|
recordSizeOf DEPRECATED
|
|
Setting "recordSizeOf" to true enables calculation of memory consumed by
|
|
JasperPrint objects, which results in high CPU usage for large reports.
|
|
-->
|
|
<property name="recordSizeof" value="false"/>
|
|
<property name="jrxmlFixerList">
|
|
<list/>
|
|
</property>
|
|
<property name="reportThumbnailServiceEnabled" value="${property.reportThumbnailServiceEnabled}"/>
|
|
<property name="asyncThumbnailCreator" ref="asyncThumbnailCreator"/>
|
|
</bean>
|
|
|
|
<bean id="engineCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"
|
|
lazy-init="true">
|
|
<property name="cacheManager" ref="engineCacheManager"/>
|
|
<property name="cacheName" value="engineCache" />
|
|
</bean>
|
|
|
|
<bean id="diagnosticCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"
|
|
lazy-init="true">
|
|
<property name="cacheManager" ref="engineCacheManager"/>
|
|
<property name="cacheName" value="diagnosticCache" />
|
|
</bean>
|
|
|
|
<bean id="engineCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" depends-on="sysProperties">
|
|
<property name="configLocation">
|
|
<value>${resource.root}/engine-ehcache.xml</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="ehcacheEngineService" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EhcacheEngineService">
|
|
<property name="engineService" ref="engineService"/>
|
|
<property name="cache" ref="engineCache"/>
|
|
<property name="diagnosticCache" ref="diagnosticCache"/>
|
|
</bean>
|
|
|
|
|
|
<util:list id="engineServiceDataParameterContributors">
|
|
<ref bean="reportInputDataParameterContributors"/>
|
|
</util:list>
|
|
|
|
<bean name="reportInputDataParameterContributors" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.ReportInputDataParameterContributors">
|
|
<property name="reportLoadingService" ref="${bean.reportLoadingService}"/>
|
|
</bean>
|
|
|
|
<util:list id="reportExecutionListenerFactories">
|
|
<ref local="MDCReportExecutionListenerFactory"/>
|
|
<ref local="localeContextReportExecutionListenerFactory"/>
|
|
<ref local="securityContextReportExecutionListenerFactory"/>
|
|
<ref local="reportExecutionAuditListenerFactory"/>
|
|
</util:list>
|
|
|
|
<bean name="MDCReportExecutionListenerFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.MDCReportExecutionListenerFactory"/>
|
|
|
|
<bean name="localeContextReportExecutionListenerFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.LocaleContextReportExecutionListenerFactory"/>
|
|
|
|
<bean name="securityContextReportExecutionListenerFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.SecurityContextReportExecutionListenerFactory"/>
|
|
|
|
<bean name="reportExecutionAuditListenerFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.ReportExecutionAuditListenerFactory">
|
|
<property name="loggingContextProvider" ref="${bean.loggingContextProvider}"/>
|
|
<property name="auditContext" ref="${bean.auditContext}"/>
|
|
</bean>
|
|
|
|
<bean name="profileAttributeAuditEventListener" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.ProfileAttributeAuditEventListener">
|
|
<property name="auditContext" ref="${bean.auditContext}"/>
|
|
</bean>
|
|
|
|
<bean id="reportLoadingService" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.ReportLoadingService">
|
|
<property name="repositoryService" ref="${bean.repositoryService}"/>
|
|
<property name="cacheableCompiledReports" ref="${bean.cacheableCompiledReports}" />
|
|
<property name="compiledReportsCache" ref="${bean.engineService.compiledReportsCache}"/>
|
|
<property name="repositoryContextManager" ref="${bean.repositoryContextManager}" />
|
|
<property name="builtInParameterProviders" ref="builtInParameterProviders"/>
|
|
<property name="reportParameterLabelKeyPrefix" value="net.sf.jasperreports.prompt.label."/>
|
|
</bean>
|
|
|
|
<bean name="inputControlsInfoRoutingExtractor" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.InputControlsInfoRoutingExtractor">
|
|
|
|
</bean>
|
|
|
|
|
|
<bean id="reportsProtectionDomainProvider"
|
|
class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.PermissionsListProtectionDomainProvider">
|
|
<property name="permissions">
|
|
<list>
|
|
<!-- no permissions by default -->
|
|
|
|
<!-- sample permission: read and write to temp folder -->
|
|
<!--
|
|
<bean class="java.io.FilePermission">
|
|
<constructor-arg value="${java.io.tmpdir}${file.separator}*"/>
|
|
<constructor-arg value="read,write"/>
|
|
</bean>
|
|
-->
|
|
|
|
<!-- all permissions can be granted if desired -->
|
|
<!--
|
|
<bean class="java.security.AllPermission"/>
|
|
-->
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.ProtectionDomainJRAdapter"
|
|
lazy-init="false" init-method="setJRProtectionDomain">
|
|
<property name="provider" ref="reportsProtectionDomainProvider"/>
|
|
</bean>
|
|
|
|
<bean id="builtInParameterProviders" class="java.util.ArrayList">
|
|
<constructor-arg index="0" type="java.util.Collection">
|
|
<list>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.UserProfileBuiltInParameterProvider">
|
|
<property name="profileAttributeService" ref="profileAttributeService"/>
|
|
<property name="profileAttributeCategories" ref="${bean.profileAttributeCategories}"/>
|
|
</bean>
|
|
</list>
|
|
</constructor-arg>
|
|
</bean>
|
|
|
|
<bean id="cacheableCompiledReports"
|
|
class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.CacheableCompiledReports">
|
|
<property name="compiler"><ref local="engineService"/></property>
|
|
</bean>
|
|
|
|
<bean id="profileAttributeServiceTarget"
|
|
class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.ProfileAttributeServiceImpl">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="objectMappingFactory" ref="mappingResourceFactory"/>
|
|
<property name="persistentClassFactory" ref="persistentMappings"/>
|
|
<property name="repositoryService" ref="unsecureRepositoryService"/>
|
|
<property name="userAuthorityService" ref="${bean.internalUserAuthorityService}"/>
|
|
<property name="tenantPersistenceResolver" ref="${bean.hibernateTenantService}"/>
|
|
<property name="profileAttributeCategories" ref="${bean.profileAttributeCategories}"/>
|
|
<property name="changers" ref="${bean.propertyChangers}"/>
|
|
<property name="profileAttributeCache" ref="profileAttributeCache"/>
|
|
<property name="listeners">
|
|
<list>
|
|
<ref bean="profileAttributeAuditEventListener"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="profileAttributesResolver"
|
|
class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.ProfileAttributesResolverImpl">
|
|
<property name="attributePlaceholderPattern" ref="attributePlaceholderPattern"/>
|
|
<property name="attributeFunctionPattern" ref="attributeFunctionPattern"/>
|
|
<property name="profileAttributeService" ref="profileAttributeService"/>
|
|
<property name="messageSource" ref="messageSource"/>
|
|
<property name="profileAttributeCategories" ref="${bean.profileAttributeCategories}"/>
|
|
<property name="excludedResourcesFromAttrResolving" ref="${bean.excludedResourcesFromAttrResolving}"/>
|
|
<property name="enabledResolving" value="true"/>
|
|
</bean>
|
|
|
|
<bean id="attributePlaceholderPattern" class="java.lang.String">
|
|
<constructor-arg value="\{#{attributeFunctionPattern}\}"/>
|
|
</bean>
|
|
<bean id="attributeFunctionPattern" class="java.lang.String">
|
|
<constructor-arg value="\s*attribute\s*\(\s*'([^\\/']+)'\s*(,\s*'([^\\/']+)'\s*)?\)\s*"/>
|
|
</bean>
|
|
<!-- Without capturing groups -->
|
|
<bean id="attributePlaceholderPatternUI" class="java.lang.String">
|
|
<constructor-arg value="[{]\s*attribute\s*[(]\s*'[^\\/']+'\s*(?:,\s*'[^\\/']+'\s*)?[)]\s*[}]"/>
|
|
</bean>
|
|
|
|
<util:list id="profileAttributeCategoriesCe"
|
|
list-class="java.util.ArrayList"
|
|
value-type="com.jaspersoft.jasperserver.api.metadata.user.service.ProfileAttributeCategory">
|
|
<value>USER</value>
|
|
<value>SERVER</value>
|
|
</util:list>
|
|
|
|
<bean id="attributePathTransformer" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.AttributePathTransformer"/>
|
|
|
|
<bean id="profileAttributeService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
|
<property name="targetName" value="profileAttributeServiceTarget"/>
|
|
<property name="interceptorNames" ref="profileAttributeServiceInterceptorNamesSecured"/>
|
|
</bean>
|
|
|
|
<!--<bean id="profileAttributeService" class="org.springframework.aop.framework.ProxyFactoryBean">-->
|
|
<!--<property name="interceptorNames">-->
|
|
<!--<list>-->
|
|
<!--<idref bean="profileAttributeServiceMethodSecurityInterceptor"/>-->
|
|
<!--<idref bean="profileAttributeServiceTarget"/>-->
|
|
<!--</list>-->
|
|
<!--</property>-->
|
|
<!--</bean>-->
|
|
<bean id="profileAttributeServiceMethodSecurityInterceptor"
|
|
class="org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor">
|
|
<property name="authenticationManager">
|
|
<ref local="authenticationManager"/>
|
|
</property>
|
|
<property name="accessDecisionManager">
|
|
<bean class="org.springframework.security.access.vote.AffirmativeBased">
|
|
<property name="decisionVoters">
|
|
<list>
|
|
<ref local="roleVoter"/>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
</property>
|
|
<property name="securityMetadataSource">
|
|
<security:method-security-metadata-source>
|
|
<security:protect method="com.jaspersoft.jasperserver.api.metadata.user.service.ProfileAttributeService.putProfileAttribute" access="ROLE_ADMINISTRATOR,ROLE_SUPERUSER"/>
|
|
</security:method-security-metadata-source>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="userAuthorityService"
|
|
class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="objectMappingFactory" ref="mappingResourceFactory"/>
|
|
<property name="persistentClassFactory" ref="persistentMappings"/>
|
|
<!--Disabled security on that class to resolve circular dependency.
|
|
It's safe, because userAuthorityService's security covers all the required cases-->
|
|
<property name="profileAttributeService" ref="profileAttributeServiceTarget"/>
|
|
<property name="defaultInternalRoles">
|
|
<list>
|
|
<value>ROLE_USER</value>
|
|
</list>
|
|
</property>
|
|
<property name="tenantPersistenceResolver"><ref bean="${bean.hibernateTenantService}"/></property>
|
|
<property name="auditContext" ref="${bean.auditContext}"/>
|
|
<property name="databaseCharactersEscapeResolver" ref="databaseCharactersEscapeResolver"/>
|
|
<property name="usernameCaseSensitive" value="false"/>
|
|
|
|
<!-- Allows to change regular expression, which validates password complexity.
|
|
You should also change "exception.remote.weak.password" message in
|
|
jsexeptions_messages.properties file according to your password policy-->
|
|
<property name="allowedPasswordPattern" value="^.*$"></property>
|
|
</bean>
|
|
|
|
<bean id="tenantService"
|
|
class="com.jaspersoft.jasperserver.api.metadata.tenant.service.impl.TenantServiceImpl">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="objectMappingFactory" ref="mappingResourceFactory"/>
|
|
<property name="persistentClassFactory" ref="persistentMappings"/>
|
|
<property name="userOrgIdDelimiter">
|
|
<value>|</value>
|
|
</property>
|
|
<property name="databaseCharactersEscapeResolver" ref="databaseCharactersEscapeResolver"/>
|
|
<property name="profileAttributeService" ref="profileAttributeServiceTarget"/>
|
|
<property name="tenantCaseSensitive" value="false"/>
|
|
</bean>
|
|
|
|
<bean id="rootTenantId" class="java.lang.String">
|
|
<constructor-arg type="java.lang.String">
|
|
<value>organizations</value>
|
|
</constructor-arg>
|
|
</bean>
|
|
<bean id="objectPermissionServiceTarget"
|
|
class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.ObjectPermissionServiceImpl">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="objectMappingFactory" ref="mappingResourceFactory"/>
|
|
<property name="persistentClassFactory" ref="persistentMappings"/>
|
|
<property name="repositoryService" ref="unsecureRepositoryService"/>
|
|
<property name="userAuthorityService" ref="${bean.internalUserAuthorityService}"/>
|
|
<property name="nonMutableAclCache" ref="ehCacheBasedJasperServerAclCache"/>
|
|
<property name="aclService" ref="internalAclServiceCE"/>
|
|
<property name="attributePathTransformer" ref="attributePathTransformer"/>
|
|
<property name="auditContext" ref="${bean.auditContext}"/>
|
|
</bean>
|
|
|
|
<bean id="permissionsPrefetcher" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.PermissionsPrefetcher">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="objectMappingFactory" ref="mappingResourceFactory"/>
|
|
<property name="persistentClassFactory" ref="persistentMappings"/>
|
|
<property name="repositoryAclService" ref="repositoryAclService"/>
|
|
<property name="aclCache" ref="ehCacheBasedJasperServerAclCache"/>
|
|
<property name="sidRetrievalStrategy" ref="sidRetrievalStrategy"/>
|
|
</bean>
|
|
|
|
<!-- Setup a cache for ACLs -->
|
|
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" depends-on="sysProperties">
|
|
<property name="configLocation">
|
|
<value>${resource.root}/ehcache.xml</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="aclCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
|
|
<property name="cacheManager">
|
|
<ref local="cacheManager"/>
|
|
</property>
|
|
<property name="cacheName" value="aclCache"/>
|
|
</bean>
|
|
|
|
|
|
|
|
|
|
<bean id="profileAttributeCache" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.ProfileAttributeCacheImpl"
|
|
destroy-method="shutdown">
|
|
<property name="attributeCache" ref="attributeCache"/>
|
|
|
|
</bean>
|
|
|
|
<bean id="attributeCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean" lazy-init="true">
|
|
<property name="cacheManager" ref="cacheManager"/>
|
|
<property name="cacheName" value="attributeCache" />
|
|
</bean>
|
|
|
|
<util:map id="cacheFactoryMap" map-class="java.util.HashMap">
|
|
<entry key="resultset" value-ref = "teiidResultsetCache"/>
|
|
<entry key="resultset-repl" value-ref = "teiidResultsetReplCache"/>
|
|
<entry key="preparedplan" value-ref = "teiidPreparedPlanCache"/>
|
|
</util:map>
|
|
|
|
<bean id="teiidCacheFactory" class="com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.impl.TeiidCacheFactory">
|
|
<property name="cacheFactoryMap" ref="cacheFactoryMap"/>
|
|
</bean>
|
|
|
|
<bean id="teiidResultsetCache" class="com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.impl.TeiidCache"
|
|
destroy-method="shutdown">
|
|
<property name="ehcache" ref="teiidResultsetEhCache"/>
|
|
<property name="cacheName" value="resultset" />
|
|
<property name="transactional" value="true" />
|
|
</bean>
|
|
|
|
<bean id="teiidResultsetReplCache" class="com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.impl.TeiidCache"
|
|
destroy-method="shutdown">
|
|
<property name="ehcache" ref="teiidResultsetReplEhCache"/>
|
|
<property name="cacheName" value="resultset-repl" />
|
|
<property name="transactional" value="true" />
|
|
</bean>
|
|
|
|
<bean id="teiidPreparedPlanCache" class="com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.impl.TeiidCache"
|
|
destroy-method="shutdown">
|
|
<property name="ehcache" ref="teiidPreparedPlanEhCache"/>
|
|
<property name="cacheName" value="preparedplan" />
|
|
<property name="transactional" value="false" />
|
|
</bean>
|
|
|
|
<bean id="teiidResultsetEhCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean" lazy-init="true">
|
|
<property name="cacheManager" ref="cacheManager"/>
|
|
<property name="cacheName" value="teiidResultsetEhCache" />
|
|
</bean>
|
|
|
|
<bean id="teiidResultsetReplEhCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean" lazy-init="true">
|
|
<property name="cacheManager" ref="cacheManager"/>
|
|
<property name="cacheName" value="teiidResultsetReplEhCache" />
|
|
</bean>
|
|
|
|
<bean id="teiidPreparedPlanEhCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean" lazy-init="true">
|
|
<property name="cacheManager" ref="cacheManager"/>
|
|
<property name="cacheName" value="teiidPreparedPlanEhCache" />
|
|
</bean>
|
|
|
|
<bean id="objectPermissionServiceTransactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
|
|
<property name="transactionManager" ref="transactionManager"/>
|
|
<property name="transactionAttributes">
|
|
<props>
|
|
<prop key="update*">PROPAGATION_REQUIRED</prop>
|
|
<prop key="get*">PROPAGATION_REQUIRED</prop>
|
|
<prop key="find*">PROPAGATION_REQUIRED</prop>
|
|
<prop key="load*">PROPAGATION_REQUIRED</prop>
|
|
<prop key="put*">PROPAGATION_REQUIRED</prop>
|
|
<prop key="delete*">PROPAGATION_REQUIRED</prop>
|
|
<prop key="*">PROPAGATION_SUPPORTS</prop>
|
|
</props>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="objectPermissionServiceUnsecure" class="org.springframework.aop.framework.ProxyFactoryBean">
|
|
<property name="targetName" value="objectPermissionServiceTarget"/>
|
|
<property name="interceptorNames" ref="${bean.objectPermissionServiceInterceptorNames}"/>
|
|
</bean>
|
|
|
|
<bean id="objectPermissionServiceInternal" class="org.springframework.aop.framework.ProxyFactoryBean">
|
|
<property name="targetName" value="objectPermissionServiceTarget"/>
|
|
<property name="interceptorNames" ref="objectPermissionServiceInterceptorNames"/>
|
|
</bean>
|
|
|
|
<bean id="objectPermissionService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
|
<property name="targetName" value="objectPermissionServiceTarget"/>
|
|
<property name="interceptorNames" ref="objectPermissionServiceInterceptorNamesSecured"/>
|
|
</bean>
|
|
|
|
<bean id="hibernateRoleSaveOrUpdateListener" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.HibernateRoleSaveOrUpdateListener">
|
|
<property name="objectPermissionsServiceBeanName" value="${bean.objectPermissionServiceInternal}"/>
|
|
</bean>
|
|
|
|
<bean id="objectPermissionServiceInterceptorNames" class="java.util.ArrayList">
|
|
<constructor-arg index="0" type="java.util.Collection">
|
|
<list>
|
|
<idref local="objectPermissionServiceTransactionInterceptor"/>
|
|
</list>
|
|
</constructor-arg>
|
|
</bean>
|
|
|
|
<bean id="objectPermissionsRepositoryListener" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.ObjectPermissionsRepositoryListener">
|
|
<property name="permissionsService" ref="${bean.objectPermissionServiceInternal}"/>
|
|
<property name="patternsToSkip">
|
|
<util:list value-type="java.lang.String" list-class="java.util.ArrayList">
|
|
<!-- individual theme resources don't have permissions assigned, skipping the check for performance reasons -->
|
|
<value>.*/themes/.*</value>
|
|
</util:list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean class="com.jaspersoft.jasperserver.api.metadata.common.service.ResourceEventListenerProcessor" lazy-init="false">
|
|
<property name="registry" ref="metadataRepositoryDeleteListener"/>
|
|
<property name="listenerBeanName" value="objectPermissionsRepositoryListener"/>
|
|
</bean>
|
|
|
|
<bean id="objectPermissionsUserAuthorityDeleteListener" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.HibernateObjectPermissionUserAuthorityDeleteListener">
|
|
<property name="objectPermissionsServiceBeanName" value="${bean.objectPermissionServiceInternal}"/>
|
|
</bean>
|
|
|
|
<bean id="profileAttributesDeleteListener" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.HibernateProfileAttributesDeleteListener">
|
|
<property name="profileAttributesServiceBeanName" value="profileAttributeServiceTarget"/>
|
|
</bean>
|
|
|
|
<bean id="objectPermissionsProfileAttributeDeleteListener" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.HibernateObjectPermissionsProfileAttributeDeleteListener">
|
|
<property name="objectPermissionsServiceBeanName" value="${bean.objectPermissionServiceInternal}"/>
|
|
<property name="objectMappingFactory" ref="mappingResourceFactory"/>
|
|
</bean>
|
|
|
|
<!-- i18n -->
|
|
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
|
|
<property name="useCodeAsDefaultMessage" value="true"/>
|
|
<!-- Uncomment this line in order to enable runtime bundle loading -->
|
|
<!-- Warning : this cause performance impact -->
|
|
<!--<property name="cacheSeconds" value="1"/>-->
|
|
<property name="fallbackToSystemLocale" value="false"/>
|
|
<property name="basenames" ref="bundlePathsList"/>
|
|
</bean>
|
|
|
|
<alias name="${bean.bundlePathsList}" alias="bundlePathsList"/>
|
|
|
|
<bean id="bundlePathsListCe" class="com.jaspersoft.jasperserver.api.common.util.spring.ArrayFactoryBean">
|
|
<property name="sourceList">
|
|
<list>
|
|
<value>${resource.root}/bundles/jasperserver_messages</value>
|
|
<value>${resource.root}/bundles/accessibility_messages</value>
|
|
<value>${resource.root}/bundles/jasperserver_config</value>
|
|
<value>${resource.root}/bundles/jpivot_messages</value>
|
|
<value>${resource.root}/bundles/calendar</value>
|
|
<value>${resource.root}/bundles/jsexceptions_messages</value>
|
|
<value>${resource.root}/bundles/scheduling_ws</value>
|
|
<value>${resource.root}/bundles/ja-pro_messages</value>
|
|
<value>${resource.root}/bundles/ja_mondrian_messages</value>
|
|
<value>${resource.root}/bundles/mondrian_exception_messages</value>
|
|
<value>${resource.root}/bundles/security</value>
|
|
<value>${resource.root}/bundles/logger_descriptions</value>
|
|
<value>${resource.root}/bundles/jasperreports_messages</value>
|
|
|
|
<value>${resource.root}/internal/jpivot_internal_messages</value>
|
|
<value>${resource.root}/internal/jasperserver</value>
|
|
<value>${resource.root}/internal/ja-pro_internal_messages</value>
|
|
|
|
<value>${resource.root}/bundles/ScalableInputControlsBundle</value>
|
|
<value>${resource.root}/bundles/ValidationBundle</value>
|
|
<value>${resource.root}/bundles/CommonBundle</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- JasperReportsContext -->
|
|
<bean id="jasperReportsContext" class="net.sf.jasperreports.engine.SimpleJasperReportsContext">
|
|
<property name="extensions">
|
|
<map>
|
|
<entry key="net.sf.jasperreports.engine.util.MessageProviderFactory">
|
|
<list>
|
|
<ref bean="messageProviderFactory"/>
|
|
</list>
|
|
</entry>
|
|
<entry key="net.sf.jasperreports.repo.RepositoryService">
|
|
<list>
|
|
<ref bean="repoRepositoryService"/>
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.FtpRepositoryService"/>
|
|
</list>
|
|
</entry>
|
|
<entry key="net.sf.jasperreports.web.WebLocaleResolver">
|
|
<list>
|
|
<bean class="com.jaspersoft.jasperserver.war.common.ServerLocaleResolver"/>
|
|
</list>
|
|
</entry>
|
|
<entry key="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<list>
|
|
<!-- overwrite jr modules -->
|
|
<bean class="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<constructor-arg value="jasperreports-loader"/>
|
|
<constructor-arg value="reportViewer/jasperreports-loader"/>
|
|
<constructor-arg value="false"/>
|
|
</bean>
|
|
<bean class="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<constructor-arg value="jr.LocalAnchor"/>
|
|
<constructor-arg value="reportViewer/hyperlinkHandler/jr.LocalAnchor"/>
|
|
<constructor-arg value="false"/>
|
|
</bean>
|
|
<bean class="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<constructor-arg value="jr.LocalPage"/>
|
|
<constructor-arg value="reportViewer/hyperlinkHandler/jr.LocalPage"/>
|
|
<constructor-arg value="false"/>
|
|
</bean>
|
|
<bean class="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<constructor-arg value="jr.Reference"/>
|
|
<constructor-arg value="reportViewer/hyperlinkHandler/jr.Reference"/>
|
|
<constructor-arg value="false"/>
|
|
</bean>
|
|
<bean class="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<constructor-arg value="jr.RemoteAnchor"/>
|
|
<constructor-arg value="reportViewer/hyperlinkHandler/jr.RemoteAnchor"/>
|
|
<constructor-arg value="false"/>
|
|
</bean>
|
|
<bean class="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<constructor-arg value="jr.ReportExecution"/>
|
|
<constructor-arg value="reportViewer/hyperlinkHandler/jr.ReportExecution"/>
|
|
<constructor-arg value="false"/>
|
|
</bean>
|
|
<bean class="net.sf.jasperreports.web.util.RequirejsModuleMapping">
|
|
<constructor-arg value="jr.ReportDataSeries"/>
|
|
<constructor-arg value="reportViewer/hyperlinkHandler/jr.ReportDataSeries"/>
|
|
<constructor-arg value="false"/>
|
|
</bean>
|
|
</list>
|
|
</entry>
|
|
<entry key="net.sf.jasperreports.engine.ParameterContributorFactory">
|
|
<list>
|
|
<ref bean="dsWrapperParamContribFactory"/>
|
|
</list>
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="dsWrapperParamContribFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceWrapperParameterContributorFactory">
|
|
<property name="repositoryService">
|
|
<ref bean="${bean.repositoryService}"/>
|
|
</property>
|
|
<property name="engineService" ref="engineService"/>
|
|
</bean>
|
|
|
|
<bean id="repoRepositoryService" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.RepoRepositoryService">
|
|
<property name="persistenceServices">
|
|
<map>
|
|
<entry key="net.sf.jasperreports.repo.InputStreamResource">
|
|
<bean class="net.sf.jasperreports.repo.InputStreamPersistenceService"/>
|
|
</entry>
|
|
<entry key="net.sf.jasperreports.repo.ReportResource">
|
|
<bean class="net.sf.jasperreports.repo.SerializedReportPersistenceService"/>
|
|
</entry>
|
|
<entry key="net.sf.jasperreports.repo.DataAdapterResource">
|
|
<bean class="net.sf.jasperreports.repo.CastorDataAdapterPersistenceService">
|
|
<constructor-arg ref="${bean.jasperReportsContext}"/>
|
|
</bean>
|
|
</entry>
|
|
<entry key="net.sf.jasperreports.repo.ResourceBundleResource">
|
|
<bean class="net.sf.jasperreports.repo.ResourceBundlePersistenceService">
|
|
<constructor-arg ref="${bean.jasperReportsContext}"/>
|
|
</bean>
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
|
|
<bean id="messageProviderFactory" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.MessageSourceMessageProviderFactory">
|
|
<property name="messageSource">
|
|
<ref bean="messageSource"/>
|
|
</property>
|
|
<property name="baseNames">
|
|
<set>
|
|
<value>net.sf.jasperreports.components.sort.FilterTypeTextOperatorsEnum</value>
|
|
<value>net.sf.jasperreports.components.sort.FilterTypeDateOperatorsEnum</value>
|
|
<value>net.sf.jasperreports.components.sort.FilterTypeNumericOperatorsEnum</value>
|
|
<value>net.sf.jasperreports.components.sort.FilterTypeBooleanOperatorsEnum</value>
|
|
<value>net.sf.jasperreports.components.headertoolbar.actions.messages</value>
|
|
<value>net.sf.jasperreports.components.headertoolbar.messages</value>
|
|
<value>net.sf.jasperreports.components.messages</value>
|
|
<value>jasperreports_messages</value>
|
|
<!--
|
|
<value>net.sf.jasperreports.web.actions.messages</value>
|
|
-->
|
|
</set>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="messagesCalendarFormatProvider" class="com.jaspersoft.jasperserver.war.util.MessagesCalendarFormatProvider">
|
|
<property name="datePatternKey" value="date.format"/>
|
|
<property name="calendarDatePatternKey" value="calendar.date.format"/>
|
|
<property name="datetimePatternKey" value="datetime.format"/>
|
|
<property name="timePatternKey" value="time.format"/>
|
|
<!--<property name="calendarDatetimePatternKey" value="calendar.datetime.format"/>-->
|
|
<property name="calendarDatetimeSeparatorKey" value="calendar.datetime.separator"/>
|
|
<property name="calendarTimePatternKey" value="calendar.time.format"/>
|
|
<property name="lenientFormats" value="false"/>
|
|
</bean>
|
|
|
|
<bean id="isoCalendarFormatProvider" class="com.jaspersoft.jasperserver.war.util.IsoCalendarFormatProvider">
|
|
<property name="lenientFormats" value="false"/>
|
|
</bean>
|
|
|
|
<!-- handle file uploads using commons-fileupload
|
|
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
|
|
-->
|
|
|
|
<bean id="engineCacheDeleteListener" class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineCacheDeleteListener">
|
|
<property name="engine" ref="${bean.engineCacheDeleteListener.engine}"/>
|
|
</bean>
|
|
|
|
<bean id="mondrianXMLADefinitionListener" class="com.jaspersoft.jasperserver.api.metadata.olap.service.impl.MondrianXMLADefinitionListener"/>
|
|
|
|
<bean class="com.jaspersoft.jasperserver.api.metadata.common.service.ResourceEventListenerProcessor" lazy-init="false">
|
|
<property name="registry" ref="metadataRepositoryDeleteListener"/>
|
|
<property name="listenerBeanName" value="engineCacheDeleteListener"/>
|
|
</bean>
|
|
|
|
<bean id="securityContextProviderTarget" class="com.jaspersoft.jasperserver.api.engine.common.service.impl.AcegiSecurityContextProvider">
|
|
<property name="userDetailsService" ref="${bean.internalUserAuthorityService}"/>
|
|
<property name="userAuthorityService" ref="${bean.internalUserAuthorityService}"/>
|
|
<property name="anonymousUserDescriptor" ref="anonymousUserDescriptor"/>
|
|
</bean>
|
|
|
|
<bean id="securityContextProvider" class="org.springframework.aop.framework.ProxyFactoryBean">
|
|
<property name="interceptorNames">
|
|
<list>
|
|
<idref local="securityContextProviderTarget"/>
|
|
<!--<ref bean="${bean.securityContextProviderTarget}"/>-->
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="hyperlinkDateParameterFormatter" class="com.jaspersoft.jasperserver.war.util.HyperlinkDateParameterFormatter">
|
|
<property name="dateConverter" ref="dateDataConverter"/>
|
|
<property name="timestampConverter" ref="timestampDataConverter"/>
|
|
<property name="timeConverter" ref="timeDataConverter"/>
|
|
</bean>
|
|
|
|
<bean id="encodingProvider" class="com.jaspersoft.jasperserver.api.common.util.StaticCharacterEncodingProvider">
|
|
<constructor-arg value="UTF-8"/>
|
|
</bean>
|
|
|
|
<bean id="characterEncodingFilter" class="com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter">
|
|
<property name="encodingProvider" ref="encodingProvider"/>
|
|
<property name="encodingRequestAttrName" value="com.jaspersoft.ji.characterEncoding"/>
|
|
</bean>
|
|
|
|
<bean id="sessionDecoratorFilter" class="com.jaspersoft.jasperserver.war.util.SessionDecoratorFilter">
|
|
</bean>
|
|
|
|
<bean id="diagnosticLoggingFilterCE" class="com.jaspersoft.jasperserver.war.NullFilter"/>
|
|
|
|
<bean id="csrfGuardFilter" class="com.jaspersoft.jasperserver.api.security.csrf.JSCsrfGuardFilter">
|
|
<description>Servlet delegating requests to CSRFGuardFilter based on User-Agent header</description>
|
|
<property name="protectedUserAgentRegexs">
|
|
<description>
|
|
A list of regular expressions for the User Agent's that are not protected against CSRF.
|
|
CSRF is an attack perpetrated via browsers. This property is to whitelist non-browser User Agent's.
|
|
User-Agent is a request header normally set by a client (e.g. browser).
|
|
|
|
Each regex is matched against the ENTIRE user-agent header. The match is case insensitive. If there is
|
|
a match, the request is not checked for the presence of a CSRF token in the req. header or parameters.
|
|
|
|
Make sure the regex expressions are valid and are not too permissive. Having unprotectedUserAgentRegexs
|
|
set to .* opens up the server to CSRF. It's paramount to turning CSRFGuard off.
|
|
</description>
|
|
<list>
|
|
<value>Mozilla/.*</value>
|
|
<value>Opera/.*</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="crossDomainFilter" class="com.jaspersoft.jasperserver.api.security.csrf.CrossDomainCommunicationFilter">
|
|
<description>
|
|
Controls cross domain communication based on the regex returned by the whitelistProvider#getWhitelistPattern.
|
|
If no profile attribs are returned, only requests from the same page domain as Jasper Server are allowed.
|
|
</description>
|
|
<property name="whitelistProvider">
|
|
<description>
|
|
Provides cross-domain communication white list regex based on the logged-in user/principal.
|
|
Server level attribs, if allowed, can be overwritten at tenant and user levels.
|
|
</description>
|
|
<bean class="com.jaspersoft.jasperserver.api.security.csrf.DomainWhitelistProviderImpl">
|
|
<description>
|
|
Default implementation, which could be extended to provide external white lists.
|
|
</description>
|
|
<property name="profileAttributeService" ref="profileAttributeServiceTarget"/>
|
|
<property name="additionalWhitelistAttributes">
|
|
<description>
|
|
This property allows an unlimited number of white list attributes at server, organization, and
|
|
user levels in addition to the default 'domainWhitelist' attribute.
|
|
All these attribute values are combined into a regular expression, so be wary of creating too
|
|
many white lists for the server or for any one org/user. It's best to have a list at the server
|
|
level to be overwritten by that at the org/user levels.
|
|
</description>
|
|
<list>
|
|
<value>domainWhitelist1</value>
|
|
<value>domainWhitelist2</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Make maxSize bigger if you are displaying dashboards with 10+ frames and you are getting image loading problems -->
|
|
<bean id="jasperPrintAccessor" class="com.jaspersoft.jasperserver.war.util.LRUSessionObjectAccessor">
|
|
<property name="listSessionName" value="jasperPrintSerie"/>
|
|
<property name="maxSize" value="10"/>
|
|
<property name="listener">
|
|
<bean class="com.jaspersoft.jasperserver.war.util.SessionReportListener">
|
|
<property name="virtualizerFactory">
|
|
<ref local="fileVirtualizerFactory"/>
|
|
</property>
|
|
</bean>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="reportContextWebSessionAccessor" class="com.jaspersoft.jasperserver.war.util.LRUSessionObjectAccessor">
|
|
<property name="listSessionName" value="jrReportContextSerie"/>
|
|
<property name="maxSize" value="10"/>
|
|
</bean>
|
|
|
|
<bean id="reportContextWebAccessor" class="com.jaspersoft.jasperserver.war.action.WebflowReportContextAccessor">
|
|
<property name="sessionAccessor" ref="reportContextWebSessionAccessor"/>
|
|
</bean>
|
|
|
|
<bean id="baseReportExecutionHyperlinkProducer" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.BaseReportExecutionHyperlinkProducerFactory"
|
|
abstract="true">
|
|
<property name="flowControllerMapping" value="/flow.html"/>
|
|
<property name="reportExecutionFlowId" value="viewReportFlow"/>
|
|
<property name="hyperlinkParameterReportUnit" value="_report"/>
|
|
<property name="urlParameterReportUnit" value="reportUnit"/>
|
|
<property name="hyperlinkParameterOutputChannel" value="_output"/>
|
|
<property name="urlParameterOutputChannel" value="output"/>
|
|
<property name="hyperlinkParameterPageIndex" value="_page"/>
|
|
<property name="urlParameterPageIndex" value="pageIndex"/>
|
|
<property name="hyperlinkParameterAnchor" value="_anchor"/>
|
|
<property name="urlParameterAnchor" value="anchor"/>
|
|
<property name="dateFormatter" ref="hyperlinkDateParameterFormatter"/>
|
|
<property name="encodingProvider" ref="encodingProvider"/>
|
|
<property name="dateFormatProvider" ref="isoCalendarFormatProvider"/>
|
|
</bean>
|
|
|
|
<bean id="reportExecutionHyperlinkProducer" class="com.jaspersoft.jasperserver.war.action.hyperlinks.ReportExecutionHyperlinkProducerFactory"
|
|
parent="baseReportExecutionHyperlinkProducer">
|
|
<property name="attributeReportLocale" value="reportExecutionLocale"/>
|
|
<property name="urlParameterReportLocale" value="reportLocale"/>
|
|
</bean>
|
|
|
|
<bean id="localAnchorHyperlinkProducerFactory" class="com.jaspersoft.jasperserver.war.action.hyperlinks.LocalAnchorHyperlinkProducerFactory">
|
|
<property name="jasperPrintNameRequestAttribute" value="jasperPrintName"/>
|
|
<property name="flowControllerMapping" value="/flow.html"/>
|
|
<property name="navigateEventID" value="navigate"/>
|
|
<property name="pageIndexParameter" value="pageIndex"/>
|
|
<property name="jasperPrintAccessor" ref="jasperPrintAccessor"/>
|
|
</bean>
|
|
|
|
<bean id="viewReportHyperlinkProducerFactory" class="com.jaspersoft.jasperserver.war.action.hyperlinks.MapHyperlinkProducerFactoryFlowFactory">
|
|
<property name="flowHyperlinkProducers">
|
|
<map>
|
|
<entry key="ReportExecution" value-ref="${bean.reportExecutionHyperlinkProducer}"/>
|
|
<entry key="ReportInteraction" value-ref="${bean.reportExecutionHyperlinkProducer}"/>
|
|
<entry key="LocalPage" value-ref="localAnchorHyperlinkProducerFactory"/>
|
|
<entry key="LocalAnchor" value-ref="localAnchorHyperlinkProducerFactory"/>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="swfReportExecutionHyperlinkProducer" class="com.jaspersoft.jasperserver.war.action.hyperlinks.ReportExecutionHyperlinkProducerFactory"
|
|
parent="reportExecutionHyperlinkProducer">
|
|
<property name="defaultOutputChannel" value="swf"/>
|
|
</bean>
|
|
|
|
<bean id="swfReportHyperlinkProducerFactory" class="com.jaspersoft.jasperserver.war.action.hyperlinks.MapHyperlinkProducerFactoryFlowFactory">
|
|
<property name="flowHyperlinkProducers">
|
|
<map>
|
|
<entry key="ReportExecution" value-ref="${bean.swfReportExecutionHyperlinkProducer}"/>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="collatorFactory" class="com.jaspersoft.jasperserver.api.common.util.DefaultCollatorFactory"/>
|
|
|
|
<bean id="configurationBean" class="com.jaspersoft.jasperserver.war.common.ConfigurationBean">
|
|
<!-- constants -->
|
|
<property name="paginatorItemsPerPage" value="20"></property>
|
|
<property name="paginatorPagesRange" value="3"></property>
|
|
<property name="reportLevelConfigurable" value="false"/>
|
|
<property name="paginationForSinglePageReport" value="false"/>
|
|
|
|
<property name="userItemsPerPage" value="45"/>
|
|
<property name="roleItemsPerPage" value="45"/>
|
|
<property name="tenantItemsPerPage" value="45"/>
|
|
|
|
<property name="calendarInputJsp" value="/WEB-INF/jsp/modules/CalendarInput.jsp"/>
|
|
|
|
<property name="userNameSeparator" value="|" />
|
|
|
|
<!--Must contain userNameSeparator as well-->
|
|
<property name="userNameNotSupportedSymbols">
|
|
<value><![CDATA[[\\\|\s`"'~!#\u0024%\^&,*\+=;:?\<\>}{)(\]\[/]]]></value>
|
|
</property>
|
|
<property name="roleNameNotSupportedSymbols">
|
|
<value><![CDATA[[\|\s`"'~!#\u0024%\^&,*\+=;:?\<\>}{)(\]\[/\\]]]></value>
|
|
</property>
|
|
<property name="emailRegExpPattern">
|
|
<value><![CDATA[^([\p{L}\p{M}\p{N}!#$%&'*+-/=?^_`{}|~]+|"[\p{L}\p{M}\p{N}_%'-+\s\(\)<>\[\]:,;@!#$%&'*+-/=?^_`{}|\s~\.]+")(\.([\p{L}\p{M}\p{N}_%'-+]+|"[\p{L}\p{M}\p{N}_%'-+\s\(\)<>\[\]:,;@!#$%&'*+-/=?^_`{}|\s~\.]+]*"))*@((\[(\d{1,3}\.){3,3}\d{1,3}\])|(([\p{L}\p{M}\p{N}-]+\.)*[\p{L}\p{M}\p{N}-]+))$]]></value>
|
|
</property>
|
|
<property name="defaultRole" value="ROLE_USER" />
|
|
<property name="passwordMask" value="*" />
|
|
<property name="viewReportsFilterList">
|
|
<list>
|
|
<value><![CDATA[^(/organizations/[^/]+)*(/temp/|/adhoc/topics/)]]></value>
|
|
<value><![CDATA[^/public/adhoc/topics/]]></value>
|
|
<value><![CDATA[^(/organizations/[^/]+)*(/organizations/org_template/)]]></value>
|
|
</list>
|
|
</property>
|
|
<property name="outputFolderFilterList">
|
|
<list>
|
|
<value><![CDATA[(/organizations/[^/]+)*/temp(/[^/]+)*]]></value>
|
|
</list>
|
|
</property>
|
|
<property name="tenantNameNotSupportedSymbols">
|
|
<value><![CDATA[[\|&+*?\<\>/\\]]]></value>
|
|
</property>
|
|
<property name="tenantIdNotSupportedSymbols">
|
|
<value><![CDATA[[~!\/\\\+\-#\$%\^\|\s]]]></value>
|
|
</property>
|
|
<property name="resourceIdNotSupportedSymbols">
|
|
<value><![CDATA[[~!#\$%^|\s`@&*()\-+={}\[\]:;"'\<\>,?/\|\\]]]></value>
|
|
</property>
|
|
<property name="publicFolderUri">
|
|
<value><![CDATA[/public]]></value>
|
|
</property>
|
|
<!-- Application Themes -->
|
|
<property name="themeDefaultName" value="default" />
|
|
<property name="themeFolderName" value="/themes" />
|
|
<property name="themeServletPrefix" value="_themes" />
|
|
<!-- Date formats -->
|
|
<property name="dateFormat" value="repository.date.format"/>
|
|
<property name="currentYearDateFormat" value="repository.current.year.date.format"/>
|
|
<property name="timestampFormat" value="repository.datetime.format"/>
|
|
<property name="timeFormat" value="repository.time.format"/>
|
|
|
|
<property name="entitiesPerPage" value="20"/>
|
|
<property name="tempFolderUri" value="/temp"/>
|
|
<property name="organizationsFolderUri" value="/organizations"/>
|
|
<property name="jdbcDriversFolderUri" value="/jdbc"/>
|
|
|
|
<property name="enableSaveToHostFS" value="false"/>
|
|
<property name="optimizeJavaScript" value="${javascript.optimize}"/>
|
|
<property name="defaultAddToDomainDependents" value="true"/>
|
|
<property name="defaultDomainDependentsBlockAndUpdate" value="false"/>
|
|
<property name="enableAccessibility" value="true"/>
|
|
<!-- max upload file size in bytes. -1 means no limit -->
|
|
<property name="maxFileSize" value="-1"/>
|
|
|
|
<!-- XML XXE vulnerability check bypass. When this value is 'true', JRS does not check for XXE. -->
|
|
<!-- Keep in mind that old versions of .jrtx with .dtd reference will NOT work when XXE check is enabled -->
|
|
<property name="skipXXECheck" value="true"/>
|
|
|
|
</bean>
|
|
|
|
<!-- report virtualizers -->
|
|
<bean id="fileVirtualizerFactory" class="com.jaspersoft.jasperserver.api.engine.common.service.impl.FileVirtualizerFactory">
|
|
<property name="maxSize" value="300"></property>
|
|
<property name="directory" value="${java.io.tmpdir}"></property>
|
|
</bean>
|
|
|
|
<!-- comment the above bean and uncomment this one to use a shared virtualizer -->
|
|
<!--
|
|
<bean id="fileVirtualizerFactory" class="com.jaspersoft.jasperserver.api.engine.common.service.impl.SharedVirtualizerStoreFactory">
|
|
<property name="maxSize" value="5000"></property>
|
|
<property name="storeFactory">
|
|
<bean class="net.sf.jasperreports.engine.util.SwapFileVirtualizerStoreFactory">
|
|
<property name="directory" value="${java.io.tmpdir}"/>
|
|
<property name="blockSize" value="4096"/>
|
|
<property name="minGrowCount" value="64"/>
|
|
</bean>
|
|
</property>
|
|
</bean>
|
|
-->
|
|
|
|
|
|
<!-- resources bean for jpivot -->
|
|
<bean id="jpivot-resources" class="com.tonbeller.tbutils.res.Resources">
|
|
<property name="resourceBundle">
|
|
<ref bean="messageSource"/>
|
|
</property>
|
|
<property name="encodingProvider">
|
|
<ref bean="encodingProvider"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- updater definitions so other bean files can add items to beans defined here,
|
|
instead of running tweakWar.js or manually hacking
|
|
-->
|
|
|
|
<!-- add hibernate hbm.xml -->
|
|
<bean id="addHibernateConfig" class="com.jaspersoft.jasperserver.api.common.util.spring.GenericBeanUpdaterDefinition">
|
|
<property name="order" value="10"/>
|
|
<property name="beanName" value="sessionFactory"/>
|
|
<property name="propertyName" value="mappingResources"/>
|
|
<property name="operation" value="append"/>
|
|
</bean>
|
|
|
|
<!-- map an interface to a client impl -->
|
|
<bean id="mapClientClass" class="com.jaspersoft.jasperserver.api.common.util.spring.GenericBeanUpdaterDefinition">
|
|
<property name="order" value="10"/>
|
|
<property name="beanName" value="mappingResourceFactory"/>
|
|
<property name="propertyName" value="implementationClassMappings"/>
|
|
<property name="operation" value="append"/>
|
|
</bean>
|
|
|
|
<!-- map an interface to a repo impl -->
|
|
<bean id="mapRepoClass" class="com.jaspersoft.jasperserver.api.common.util.spring.GenericBeanUpdaterDefinition">
|
|
<property name="order" value="10"/>
|
|
<property name="beanName" value="persistentMappings"/>
|
|
<property name="propertyName" value="implementationClassMappings"/>
|
|
<property name="operation" value="append"/>
|
|
</bean>
|
|
|
|
<!-- add a message catalog -->
|
|
<bean id="addMessageCatalog" class="com.jaspersoft.jasperserver.api.common.util.spring.GenericBeanUpdaterDefinition">
|
|
<property name="order" value="10"/>
|
|
<property name="beanName" value="bundlePathsListCe"/>
|
|
<property name="propertyName" value="sourceList"/>
|
|
<property name="operation" value="append"/>
|
|
</bean>
|
|
|
|
<!-- add a JRXMLFixer -->
|
|
<bean id="addJRXMLFixer" class="com.jaspersoft.jasperserver.api.common.util.spring.GenericBeanUpdaterDefinition">
|
|
<property name="order" value="10"/>
|
|
<property name="beanName" value="engineService"/>
|
|
<property name="propertyName" value="jrxmlFixerList"/>
|
|
<property name="operation" value="append"/>
|
|
</bean>
|
|
|
|
<!-- export parameters -->
|
|
|
|
<bean id="xlsExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.XlsExportParametersBean">
|
|
<property name="detectCellType" value="true"/>
|
|
<property name="onePagePerSheet" value="false"/>
|
|
<property name="removeEmptySpaceBetweenRows" value="true"/>
|
|
<property name="removeEmptySpaceBetweenColumns" value="true"/>
|
|
<property name="whitePageBackground" value="false"/>
|
|
<property name="ignoreGraphics" value="true"/>
|
|
<property name="collapseRowSpan" value="true"/>
|
|
<property name="ignoreCellBorder" value="true"/>
|
|
<property name="fontSizeFixEnabled" value="true"/>
|
|
<property name="maximumRowsPerSheet" value="0"/>
|
|
<property name="xlsFormatPatternsMap" ref="formatPatternsMap"/>
|
|
</bean>
|
|
|
|
<bean id="odsExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.OdsExportParametersBean" parent="xlsExportParameters">
|
|
</bean>
|
|
|
|
<bean id="csvExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.CsvExportParametersBean">
|
|
<property name="fieldDelimiter" value=","/>
|
|
</bean>
|
|
|
|
<bean id="pdfExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.PdfExportParametersBean">
|
|
</bean>
|
|
|
|
<bean id="txtExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.TxtExportParametersBean">
|
|
<property name="characterWidth" value="10"/>
|
|
<property name="characterHeight" value="10"/>
|
|
<property name="pageHeight" value="100"/>
|
|
<property name="pageWidth" value="80"/>
|
|
</bean>
|
|
|
|
<bean id="pptxExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.PptxExportParametersBean">
|
|
<property name="ignoreHyperlink" value="false"/>
|
|
</bean>
|
|
|
|
<bean id="jsonMetadataExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.JsonMetadataExportParametersBean">
|
|
</bean>
|
|
|
|
<util:map id="formatPatternsMap">
|
|
<!-- entry key="$ #,##0.00" value="$ #,##0.00"/-->
|
|
|
|
<entry key="MMM d, yyyy h:mm:ss a" value="MMM d, yyyy h:mm:ss AM/PM"/>
|
|
<entry key="h:mm:ss a" value="h:mm:ss AM/PM"/>
|
|
<entry key="h:mm a" value="h:mm AM/PM"/>
|
|
<entry key="h:mm:ss a z" value="h:mm:ss AM/PM"/>
|
|
</util:map>
|
|
|
|
<!-- end export parameters -->
|
|
|
|
<bean id="userTimeZonesList" class="com.jaspersoft.jasperserver.war.common.JdkTimeZonesList">
|
|
<property name="timeZonesIds">
|
|
<list>
|
|
<value>America/Los_Angeles</value>
|
|
<value>America/Denver</value>
|
|
<value>America/Chicago</value>
|
|
<value>America/New_York</value>
|
|
<value>Europe/London</value>
|
|
<value>Europe/Berlin</value>
|
|
<value>Europe/Bucharest</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="roleManagerService" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.RoleManagerServiceImpl">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="transactionManager" ref="transactionManager"/>
|
|
<property name="userService">
|
|
<ref bean="${bean.userAuthorityService}"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="standardUserPersistenceHandler"
|
|
class="com.jaspersoft.jasperserver.api.engine.common.user.StandardUserPersistenceHandler">
|
|
<property name="securityContextProvider" ref="${bean.securityContextProvider}"/>
|
|
<property name="userPersistenceService" ref="${bean.internalUserAuthorityService}"/>
|
|
</bean>
|
|
|
|
|
|
<!--bean definition for action model service-->
|
|
<bean id="actionModelService" class="com.jaspersoft.jasperserver.api.engine.common.service.impl.ActionModelServiceImpl" lazy-init="false">
|
|
<property name="actionModelXmlURIStub" value="${resource.root}/actionModel"/>
|
|
<property name="actionModelTypes">
|
|
<list>
|
|
<value>adhocIntelligentChart</value>
|
|
<value>adhocChart</value>
|
|
<value>adhocCrosstab</value>
|
|
<value>adhocTable</value>
|
|
<value>navigation</value>
|
|
<value>dashboard</value>
|
|
<value>search</value>
|
|
<value>viewReport</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!--bean definition for primary navigation-->
|
|
<bean id="navigationActionModelSupport" class="com.jaspersoft.jasperserver.api.engine.common.service.impl.NavigationActionModelSupport" lazy-init="false" scope="singleton">
|
|
<property name="proVersion" value="${isProVersion}"/>
|
|
</bean>
|
|
|
|
<bean id="genericActionModelBuilder" class="com.jaspersoft.jasperserver.war.action.GenericActionModelBuilder" lazy-init="false" scope="singleton">
|
|
<property name="proVersion" value="${isProVersion}"/>
|
|
</bean>
|
|
|
|
<bean id="userManagerService" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserManagerServiceImpl">
|
|
<property name="sessionFactory" ref="sessionFactory"/>
|
|
<property name="userService">
|
|
<ref bean="${bean.userAuthorityService}"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="databaseCharactersEscapeResolver" class="com.jaspersoft.jasperserver.api.metadata.common.util.DatabaseCharactersEscapeResolver">
|
|
<property name="charactersEscapeMaps">
|
|
<util:map>
|
|
<entry key="default" value-ref="defaultCharacterEscape"/>
|
|
</util:map>
|
|
</property>
|
|
<property name="dialect">
|
|
<value>${metadata.hibernate.dialect}</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<util:map id="defaultCharacterEscape" key-type="java.lang.String" value-type="java.lang.String">
|
|
<entry key="\" value="!\"/>
|
|
<entry key="!" value="!!"/>
|
|
<entry key="_" value="!_"/>
|
|
<entry key="%" value="!%"/>
|
|
</util:map>
|
|
|
|
<util:list id="roleAccessUrisList">
|
|
<bean class="com.jaspersoft.jasperserver.war.common.RoleAccessUris">
|
|
<property name="roleName" value="ROLE_ADMINISTRATOR"/>
|
|
<property name="uris">
|
|
<list>
|
|
<bean class="com.jaspersoft.jasperserver.war.common.UriDescriptor">
|
|
<property name="uri" value="/temp"/>
|
|
<property name="absolute" value="false"/>
|
|
</bean>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
</util:list>
|
|
|
|
<bean id="roleAccessUrisResolver" class="com.jaspersoft.jasperserver.war.common.RoleAccessUrisResolver">
|
|
<property name="roleAccessUrisList" ref="${bean.roleAccessUrisList}"/>
|
|
</bean>
|
|
|
|
<bean id="mailSenderService" class="org.springframework.mail.javamail.JavaMailSenderImpl">
|
|
<property name="host" value="${report.scheduler.mail.sender.host}"/>
|
|
<property name="username" value="${report.scheduler.mail.sender.username}"/>
|
|
<property name="password" value="${report.scheduler.mail.sender.password}"/>
|
|
<property name="protocol" value="${report.scheduler.mail.sender.protocol}"/>
|
|
<property name="port" value="${report.scheduler.mail.sender.port}"/>
|
|
<property name="javaMailProperties">
|
|
<props>
|
|
<prop key="mail.smtp.auth">false</prop>
|
|
<prop key="mail.smtp.sendpartial">true</prop>
|
|
</props>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="mailService" class="com.jaspersoft.jasperserver.war.mail.impl.MailServiceImpl">
|
|
<property name="javaMailSender" ref="mailSenderService"/>
|
|
<property name="mailFromAddress" value="${report.scheduler.mail.sender.from}"/>
|
|
<property name="userAuthorityService" ref="${bean.internalUserAuthorityService}"/>
|
|
<property name="encodingProvider" ref="encodingProvider"/>
|
|
</bean>
|
|
|
|
|
|
<bean id="uiExceptionRouter" class="com.jaspersoft.jasperserver.war.action.UIExceptionRouterImpl"/>
|
|
|
|
<bean id="emailInputValidator" class="com.jaspersoft.jasperserver.core.util.validators.EmailInputValidator">
|
|
<property name="pattern">
|
|
<bean class="java.util.regex.Pattern" factory-method="compile">
|
|
<constructor-arg>
|
|
<util:property-path path="configurationBean.emailRegExpPattern"/>
|
|
</constructor-arg>
|
|
</bean>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- setting system properties needed for EHCache (or anything else)
|
|
EHCache can use prop placeholders like ${blah.blah} in its conf files; these are replaced
|
|
with the value of the corresponding system property.
|
|
That means that the sys property has to be set before you init the EhCacheManagerFactoryBean.
|
|
To ensure this gets done in the right order, add depends-on="sysProperties" to your bean definition.
|
|
See the cacheManager bean in this file for an example.
|
|
-->
|
|
<bean id="sysProperties" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
|
|
<property name="targetObject" value="#{@systemProperties}"/>
|
|
<property name="targetMethod" value="putAll"/>
|
|
<property name="arguments">
|
|
<util:properties>
|
|
<prop key="ehcache.disk.store.dir">#{ systemProperties['java.io.tmpdir'] }</prop>
|
|
<prop key="net.sf.ehcache.disabled">${property.ehcache.disabled}</prop>
|
|
</util:properties>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="diagnosticAttributeBuilder" class="com.jaspersoft.jasperserver.api.logging.diagnostic.helper.DiagnosticAttributeBuilder">
|
|
<property name="messageSource" ref="messageSource"/>
|
|
</bean>
|
|
|
|
<bean id="jdbcDriverService" class="com.jaspersoft.jasperserver.api.common.service.impl.JdbcDriverServiceImpl">
|
|
<!--<property name="repository" ref="${bean.internalRepositoryService}"/>-->
|
|
<property name="repository" ref="hibernateRepositoryService"/>
|
|
<property name="systemClassLoaderFirst" value="false"/>
|
|
<property name="jdbcDriversFolder" value="#{configurationBean.jdbcDriversFolderUri}"/>
|
|
</bean>
|
|
|
|
|
|
<bean id="awsDataSourceRecovery" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.AwsDataSourceRecovery">
|
|
<property name="awsRegions" ref="awsRegions"/>
|
|
<property name="awsDataSourceActiveStatus" value="available"/>
|
|
<property name="awsProperties" ref="awsProperties"/>
|
|
<property name="messageSource" ref="messageSource"/>
|
|
<property name="awsEc2MetadataClient" ref="awsEc2MetadataClient"/>
|
|
<property name="awsCredentialUtil" ref="awsCredentialUtil"/>
|
|
</bean>
|
|
|
|
<bean id="awsEc2MetadataClient" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.AwsEc2MetadataClient">
|
|
<property name="awsRegions" ref="awsRegions"/>
|
|
</bean>
|
|
|
|
<bean id="awsCredentialUtil" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.AwsCredentialUtil">
|
|
<aop:scoped-proxy/>
|
|
<property name="messageSource" ref="messageSource"/>
|
|
</bean>
|
|
|
|
<bean id="awsProperties" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.AwsProperties">
|
|
<property name="securityGroupChangesEnabled" value="${aws.db.security.group.changes.enabled}"/>
|
|
<property name="securityGroupName" value="${aws.db.security.group.name}"/>
|
|
<property name="securityGroupDescription" value="${aws.db.security.group.description}"/>
|
|
<property name="securityGroupIngressPublicIp" value="${aws.db.security.group.ingressPublicIp}"/>
|
|
<property name="suppressEc2CredentialsWarnings" value="${aws.db.security.group.suppressEc2CredentialsWarnings}"/>
|
|
<property name="awsEc2MetadataClient" ref="awsEc2MetadataClient"/>
|
|
<property name="messageSource" ref="messageSource"/>
|
|
</bean>
|
|
|
|
<bean id="instanceProductTypeResolverCe" class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.InstanceProductTypeResolver" factory-method="getInstance" lazy-init="false"/>
|
|
|
|
<util:list id="awsRegions" >
|
|
<value>us-east-1.amazonaws.com</value>
|
|
<value>us-east-2.amazonaws.com</value>
|
|
<value>us-west-2.amazonaws.com</value>
|
|
<value>us-west-1.amazonaws.com</value>
|
|
<value>eu-west-1.amazonaws.com</value>
|
|
<value>eu-west-2.amazonaws.com</value>
|
|
<value>ca-central-1.amazonaws.com</value>
|
|
<value>eu-central-1.amazonaws.com</value>
|
|
<value>ap-southeast-1.amazonaws.com</value>
|
|
<value>ap-southeast-2.amazonaws.com</value>
|
|
<value>ap-northeast-1.amazonaws.com</value>
|
|
<value>ap-northeast-2.amazonaws.com</value>
|
|
<value>ap-south-1.amazonaws.com</value>
|
|
<value>sa-east-1.amazonaws.com</value>
|
|
</util:list>
|
|
|
|
<bean id="javascriptOptimizationSettings" class="com.jaspersoft.jasperserver.war.common.JavascriptOptimizationSettings" depends-on="configurationBean">
|
|
<property name="useOptimizedJavascript" value="#{configurationBean.optimizeJavaScript}"/>
|
|
<property name="optimizedJavascriptPath" value="optimized-scripts"/>
|
|
</bean>
|
|
|
|
<bean id="profileAttributesResolverAspect" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.ProfileAttributesResolverAspect">
|
|
<property name="profileAttributesResolver" ref="profileAttributesResolver"/>
|
|
</bean>
|
|
|
|
<bean id="excludedResourcesFromAttrResolvingCe" class="java.util.HashSet">
|
|
<constructor-arg index="0" type="java.util.Collection">
|
|
<set>
|
|
<!--Add Resource Classes that should not resolve profile attributes -->
|
|
</set>
|
|
</constructor-arg>
|
|
</bean>
|
|
|
|
<!-- bean preparing errorPage.jsp in webflows and in prepErrorPage.jsp.
|
|
Do not rename this bean as it will break flows and prepErrorPage.jsp -->
|
|
<bean id="errorPageHandlerAction" class="com.jaspersoft.jasperserver.war.action.ErrorPageHandlerAction"/>
|
|
|
|
<aop:config>
|
|
<aop:aspect ref="profileAttributesResolverAspect">
|
|
<aop:pointcut id="dataSourceResolver"
|
|
expression="execution(com.jaspersoft.jasperserver.api.metadata.jasperreports.service.ReportDataSourceService
|
|
com.jaspersoft.jasperserver.api.metadata.jasperreports.service.ReportDataSourceServiceFactory.createService(com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportDataSource)))"/>
|
|
<aop:around pointcut-ref="dataSourceResolver"
|
|
method="resolveDataSourceAttributes"/>
|
|
<aop:pointcut id="awsCredentialsResolver"
|
|
expression="execution(com.amazonaws.auth.AWSCredentials com.jaspersoft.jasperserver.api.engine.jasperreports.util.AwsCredentialUtil.getAWSCredentials(java.lang.String, java.lang.String, java.lang.String)))"/>
|
|
<aop:around pointcut-ref="awsCredentialsResolver"
|
|
method="resolveAwsCredentialAttributes"/>
|
|
</aop:aspect>
|
|
</aop:config>
|
|
|
|
<bean id="systemLoggedInUserStorage" class="com.jaspersoft.jasperserver.api.security.SystemLoggedInUserStorage">
|
|
<property name="objectFactory" ref="mappingResourceFactory"/>
|
|
<property name="cache" ref="systemUserStorageCache"/>
|
|
</bean>
|
|
|
|
<!-- Cache for for QueryExecutorService -->
|
|
<bean id="systemUserStorageCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"
|
|
lazy-init="true">
|
|
<property name="cacheManager" ref="cacheManager"/>
|
|
<property name="cacheName" value="systemUserStorageCache" />
|
|
</bean>
|
|
|
|
<util:map id="errorReportDSFactory">
|
|
<entry key="com.jaspersoft.jasperserver.api.JSReportMissingDataSourceFieldsException">
|
|
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.ErrorTemplateReportService">
|
|
<property name="jrxmlTemplateRepoUri" value="/public/templates/ds_error_report.jrxml" />
|
|
</bean>
|
|
</entry>
|
|
</util:map>
|
|
</beans>
|