Mondrian Connection with report

I've built some mondrian connection/mdx based reports with ireport. Now I've the problem that i don't know how to add the right connection to the report in jasperintelligence because there is no way to add an mondrian connection to the report, only the jdbc connection is visible.

hope someone can help me with this problem!
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago

22 Answers:

Using a Mondrian connection as report data source is not currently supported in JI, but there is some work being done towards this and the feature will soon be present.

If you only have few static Mondrian connections (which you don't expect to modify at run-time) and you're familiar with Spring, you can create a bean for each connection and define bean data sources that you can use for reports.

You'd need to define a non-singleton Spring bean (either as a prototype bean, or by using a non-singleton org.springframework.beans.factory.FactoryBean, or by writing a simple factory class and setting the factory method name in the JI bean data source) and to inject all the properties required to create a Mondrian connection. The bean would have to resolve to a ReportDataSourceService instance.

Regards,
Lucian
lucianc's picture
64048
Joined: Jul 17 2006 - 1:10am
Last seen: 10 hours 3 min ago
I only want to use one single mondrian connection, because we`re working with several cubes in one schema, so i don`t have to built multipel mondrian connections.


I`m not familar in spring. I hope this feature will soon be added in the jasperintelligence feature. This would enlarge the jasperintelligence project much.

But thanxx for your fast reply
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
has anybody experience in writing a bean for a mondrian connection or even has an example this that i could adapt to my own connection?
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
We have completed this work, but not distributed it yet. We are also wrapping up an XML/A report data source in JasperReports and will then get this working in JI.

Sherman
JasperSoft
swood's picture
18309
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 1 month ago
Is there a fixed date when these features will be available. The mondrian connection for reports in JI is very important for those companies, where the reporting is built on an olap-server!

thanx for your fast answer
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
Writing a data source bean for a Mondrian connection is pretty straightforward, I've attached some sample code.

You can test it by compiling the Java source, putting applicationContext-mondrian-ds.xml under WEB-INF and changing the connection properties accordingly (note that a JNDI db connections is used, but you can easily adapt it to direct JDBC). You'll need to create (via the Web gui) a bean data source having foodmartDataSource as the bean name and createMondrianDataSourceService as the method name.

HTH,
Lucian
Post edited by: lucianc, at: 2006/11/02 12:47
lucianc's picture
64048
Joined: Jul 17 2006 - 1:10am
Last seen: 10 hours 3 min ago
The attachment.. [file name=mondrianBeanDS.zip size=2784]http://www.jasperforge.org/components/com_joomlaboard/uploaded/files/mon...
lucianc's picture
64048
Joined: Jul 17 2006 - 1:10am
Last seen: 10 hours 3 min ago
I tried to compile the .java files. but there are some errors posted.
It seems like he can`t find the mondrian packages.
Do i`ve to download the sourcecode.package of JI?
or is there a specific folder in which i have to put the .java files. I'm new to java and have no expirience in using the jdk. JDK version is 1.5.0_08
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
You need put the required jars (the jasperserver-* jars and the mondrian jar) on the classpath when compiling the sources, and then pack the compiled classes into a jar that you should be placed under WEB-INF/lib.

I've attached a binary jar that you can use directly if you have problems compiling the sources.

Regards,
Lucian [file name=ji_mondrian_bean_ds.jar size=5076]http://www.jasperforge.org/components/com_joomlaboard/uploaded/files/ji_...
lucianc's picture
64048
Joined: Jul 17 2006 - 1:10am
Last seen: 10 hours 3 min ago
I`ve done it in the way you discribet it, but now when i want to built a new datasource the following error os shown after the when i want to go from the resource insert screen to the screen where i have to choose the connection:



org.springframework.webflow.ActionExecutionException: Exception thrown executing [AnnotatedAction@17c804b targetAction = com.jaspersoft.jasperserver.war.action.ReportDataSourceAction@cae5b8, attributes = map[[empty]]] in state 'initAction' of flow 'reportDataSourceFlow'; nested exception is com.jaspersoft.jasperserver.api.JSExceptionWrapper: org.springframework.orm.hibernate3.HibernateSystemException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource; nested exception is org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource

org.springframework.webflow.ActionExecutionException: Exception thrown executing [AnnotatedAction@17c804b targetAction = com.jaspersoft.jasperserver.war.action.ReportDataSourceAction@cae5b8, attributes = map[[empty]]] in state 'initAction' of flow 'reportDataSourceFlow'; nested exception is com.jaspersoft.jasperserver.api.JSExceptionWrapper: org.springframework.orm.hibernate3.HibernateSystemException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource; nested exception is org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource
com.jaspersoft.jasperserver.api.JSExceptionWrapper: org.springframework.orm.hibernate3.HibernateSystemException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource; nested exception is org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource
org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource
at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:79)
at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:106)
at org.hibernate.tuple.AbstractEntityTuplizer.instantiate(AbstractEntityTuplizer.java:344)
at org.hibernate.persister.entity.AbstractEntityPersister.instantiate(AbstractEntityPersister.java:3272)
at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1260)
at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1249)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1291)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1552)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at org.springframework.orm.hibernate3.HibernateTemplate$35.doInHibernate(HibernateTemplate.java:966)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:956)
at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:949)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.loadRepoResourceList(HibernateRepositoryServiceImpl.java:364)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.loadResourcesList(HibernateRepositoryServiceImpl.java:306)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.loadResources(HibernateRepositoryServiceImpl.java:319)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl$5.execute(HibernateRepositoryServiceImpl.java:286)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateDaoImpl.executeCallback(HibernateDaoImpl.java:56)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.findResource(HibernateRepositoryServiceImpl.java:284)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
at $Proxy2.findResource(Unknown Source)
at com.jaspersoft.jasperserver.war.action.ReportDataSourceAction.initAction(ReportDataSourceAction.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:231)
at org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:141)
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:67)
at org.springframework.webflow.AnnotatedAction.execute(AnnotatedAction.java:208)
at org.springframework.webflow.ActionExecutor.execute(ActionExecutor.java:54)
at org.springframework.webflow.ActionState.doEnter(ActionState.java:184)
at org.springframework.webflow.State.enter(State.java:201)
at org.springframework.webflow.Flow.start(Flow.java:531)
at org.springframework.webflow.execution.impl.FlowExecutionControlContextImpl.start(FlowExecutionControlContextImpl.java:187)
at org.springframework.webflow.SubflowState.doEnter(SubflowState.java:131)
at org.springframework.webflow.State.enter(State.java:201)
at org.springframework.webflow.Transition.execute(Transition.java:224)
at org.springframework.webflow.TransitionableState.onEvent(TransitionableState.java:105)
at org.springframework.webflow.Flow.onEvent(Flow.java:545)
at org.springframework.webflow.execution.impl.FlowExecutionControlContextImpl.signalEvent(FlowExecutionControlContextImpl.java:199)
at org.springframework.webflow.ActionState.doEnter(ActionState.java:188)
at org.springframework.webflow.State.enter(State.java:201)
at org.springframework.webflow.Transition.execute(Transition.java:224)
at org.springframework.webflow.TransitionableState.onEvent(TransitionableState.java:105)
at org.springframework.webflow.Flow.onEvent(Flow.java:545)
at org.springframework.webflow.execution.impl.FlowExecutionControlContextImpl.signalEvent(FlowExecutionControlContextImpl.java:199)
at org.springframework.webflow.execution.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:239)
at org.springframework.webflow.executor.FlowExecutorImpl.signalEvent(FlowExecutorImpl.java:177)
at org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:100)
at org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:198)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:792)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:726)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:134)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)



com.jaspersoft.jasperserver.api.JSExceptionWrapper: org.springframework.orm.hibernate3.HibernateSystemException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource; nested exception is org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource

com.jaspersoft.jasperserver.api.JSExceptionWrapper: org.springframework.orm.hibernate3.HibernateSystemException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource; nested exception is org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource
org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource
at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:79)
at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:106)
at org.hibernate.tuple.AbstractEntityTuplizer.instantiate(AbstractEntityTuplizer.java:344)
at org.hibernate.persister.entity.AbstractEntityPersister.instantiate(AbstractEntityPersister.java:3272)
at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1260)
at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1249)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1291)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1552)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at org.springframework.orm.hibernate3.HibernateTemplate$35.doInHibernate(HibernateTemplate.java:966)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:956)
at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:949)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.loadRepoResourceList(HibernateRepositoryServiceImpl.java:364)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.loadResourcesList(HibernateRepositoryServiceImpl.java:306)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.loadResources(HibernateRepositoryServiceImpl.java:319)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl$5.execute(HibernateRepositoryServiceImpl.java:286)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateDaoImpl.executeCallback(HibernateDaoImpl.java:56)
at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.findResource(HibernateRepositoryServiceImpl.java:284)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
at $Proxy2.findResource(Unknown Source)
at com.jaspersoft.jasperserver.war.action.ReportDataSourceAction.initAction(ReportDataSourceAction.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:231)
at org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:141)
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:67)
at org.springframework.webflow.AnnotatedAction.execute(AnnotatedAction.java:208)
at org.springframework.webflow.ActionExecutor.execute(ActionExecutor.java:54)
at org.springframework.webflow.ActionState.doEnter(ActionState.java:184)
at org.springframework.webflow.State.enter(State.java:201)
at org.springframework.webflow.Flow.start(Flow.java:531)
at org.springframework.webflow.execution.impl.FlowExecutionControlContextImpl.start(FlowExecutionControlContextImpl.java:187)
at org.springframework.webflow.SubflowState.doEnter(SubflowState.java:131)
at org.springframework.webflow.State.enter(State.java:201)
at org.springframework.webflow.Transition.execute(Transition.java:224)
at org.springframework.webflow.TransitionableState.onEvent(TransitionableState.java:105)
at org.springframework.webflow.Flow.onEvent(Flow.java:545)
at org.springframework.webflow.execution.impl.FlowExecutionControlContextImpl.signalEvent(FlowExecutionControlContextImpl.java:199)
at org.springframework.webflow.ActionState.doEnter(ActionState.java:188)
at org.springframework.webflow.State.enter(State.java:201)
at org.springframework.webflow.Transition.execute(Transition.java:224)
at org.springframework.webflow.TransitionableState.onEvent(TransitionableState.java:105)
at org.springframework.webflow.Flow.onEvent(Flow.java:545)
at org.springframework.webflow.execution.impl.FlowExecutionControlContextImpl.signalEvent(FlowExecutionControlContextImpl.java:199)
at org.springframework.webflow.execution.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:239)
at org.springframework.webflow.executor.FlowExecutorImpl.signalEvent(FlowExecutorImpl.java:177)
at org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:100)
at org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:198)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:792)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:726)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:134)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)


jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
This looks like a data issue to me, but I cannot know how the data got inconsistent. If you have the option of testing on a clean DB, you should do it and see whether the error still occurs.

Regards,
Lucian
lucianc's picture
64048
Joined: Jul 17 2006 - 1:10am
Last seen: 10 hours 3 min ago
A quick question :) i am making my own datasource and when i looked at you're sample code i noticed the procedure:
public Object createMondrianDataSourceService() throws IOException {
Here all the magic works rite?

But in your applicationContext you do not call the procedure or link it to anything, seems to me you only sets the parameters. Does he automaticly call the create procedure or does it happends somewhere else?

thanks in advance,

Niels
Grazy Mos's picture
404
Joined: Sep 12 2006 - 11:13pm
Last seen: 16 years 2 months ago
I`ve tried it with a clean version of JI but the same message appears when i want to create a new report. Has anybody a suggestion what the problem may be?#

Hope someone can help me
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
I installed another clean version of JI and no i am able to create the report. but now the error appears, that he does not find my schema file. i copied the file in the WEB-INF/mondrian/ folder (the mondrian folder was created by me) and renamed the file to the name of my file in the applicationcontext-mondrian-ds file.

any suggestions what my problem could be? and how do i have to discribe the jdbc connection in the applicationcontext-mondrian-ds file?


hope someone can help me
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
To Grazy Mos:

When you define a bean data source via the JI web app, you can specify a factory method name and that method will be called to produce a com.jaspersoft.jasperserver.api.engine.mondrian.ReportDataSourceService instance. In this case, the factory method name is createMondrianDataSourceService.

If you don't specify a method, then the bean created via Spring should be a ReportDataSourceService implementation. However, as [url=http://www.jasperforge.org/index.php?option=com_joomlaboard&Itemid=215&f... already know, there seems to be a bug that even if you leave the method name blank, it will still try to find/execute the method.

Regards,
Lucian
Post edited by: lucianc, at: 2006/11/07 11:06
lucianc's picture
64048
Joined: Jul 17 2006 - 1:10am
Last seen: 10 hours 3 min ago
Thanks!

It worked great when I putted the method createConsourceimp in jasperintelligence :)

Cheers,

Niels
Grazy Mos's picture
404
Joined: Sep 12 2006 - 11:13pm
Last seen: 16 years 2 months ago
To jens_noering:

No clue why the schema file is not found. You could try to put the schema file under WEB-INF/classes and use classpath:FoodMart.xml as catalog location.

I don't understand your second question. The sample bean uses a JDBC connection accessible via JNDI, so you need to configure a JDBC data source in your application context. If you want do directly configure the JDBC connection for the Mondrian connection, you'll have to change the bean implementation to include the JDBC connection properties and use them when creating a Mondrian connection.

Regards,
Lucian
lucianc's picture
64048
Joined: Jul 17 2006 - 1:10am
Last seen: 10 hours 3 min ago
the problem with the schema file is solved now. but now i`ve the problem, that he does not find my datasource:

I`ve built a bean in the application-context.xml that looks like this:

Code:
<bean id="DataSource2" class="org.apache.commons.dbcp.BasicDataSource"><br />
		<property name="driverClassName"><br />
			<value>com.mysql.jdbc.Driver</value><br />
			</property><br />
			<property name="url"><br />
			<value>jdbc:mysql://localhost:3306/OLAP?autoReconnect=true</value><br />
			</property><br />
			<property name="username"><br />
			<value>jasperadmin</value><br />
			</property><br />
			<property name="password"><br />
			<value>admin</value><br />
			</property><br />
	</bean><br />
</td></tr></tbody></table><br />
<br />
and my application-context-mondrian-ds.xml looks like this:<br />
<br />
<table align="center" border="0" cellpadding="3" cellspacing="1" width="90%"><tbody><tr><td><b>Code:</b></td></tr><tr><td><pre><?xml version="1.0" encoding="UTF-8"?><br />
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><br />
<br />
<beans><br />
<br />
	<bean name="olapSource" class="com.jaspersoft.jasperserver.api.engine.mondrian.MondrianDataSourceServiceFactory"><br />
		<property name="catalogName" value="olap"/><br />
		<property name="catalog" value="/WEB-INF/olap.xml"/><br />
		<property name="dbConnectionURI" value="java:comp/env/jdbc/DataSource2"/><br />
	</bean><br />
<br />
</beans><br />
</td></tr></tbody></table><br />
<br />
the jasperserver is starting corrcet. so i think my bean in the appclication context is right, but when i want to start the report the message <table cellpadding="0" cellspacing="0" align="center" width="525" bgcolor="#cccccc"><tr><td>Name DataSource2 is not bound in this Context</td></tr></table> appears. <br />
<br />
could anybody help me with this problem.
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
finally it works after writing the resource in the /meta-info/context.xml


thanxxs for your help!
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
I'm seeing and have seen similar types of errors on a completely fresh install of JasperServer on WebSphere 6.1. It seems like this error:

Cannot instantiate abstract class or interface: etc...

might be due to classpathing or class conflicts. The same app runs fine in Tomcat.

What I'm not sure about is how to resolve the issue.
Dave
dberning's picture
Joined: Jun 11 2008 - 4:16am
Last seen: 14 years 5 months ago

Is it still true for jaspersoft 4.5.

I can create a report in iReport based on mdx. But on uploading it to jasperserver there is no GUI support to connect to mondrian schema ?

This is really urgent for us. Any help would be appreciated.

nike_shikari's picture
Joined: Feb 15 2012 - 7:07am
Last seen: 10 years 9 months ago
This is a issue since js 4.1.
You can set the connection using the ireport repository connector.
Its not the best way, but it works.
Hope tis bug will be fixed in the next release.
jens_noering's picture
Joined: Feb 20 2007 - 11:54pm
Last seen: 7 years 4 months ago
Feedback
randomness