Jump to content
Changes to the Jaspersoft community edition download ×

vermaravi764

Members
  • Posts

    5
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by vermaravi764

  1. Hi Joseng62, Thanks for your help. Basically issue is in com.jaspersoft.ji.adhoc.strategy.DataStrategyServiceImpl class and this class define in ji-gyroscope-7.1.3.jar .this jar use in jasper report,when execute this line dataStrategyFromJRXML = adhocData.getDataset().getPropertiesMap().getProperty(PREFERRED_DATA_STRATEGY_PROPERTY); dhocData.getDataset().getPropertiesMap() getting null, that resaon generate null pointer execption. but because of this DataStrategyServiceImpl class define in ji-gyroscope-7.1.3.jar jar so we unable to handle null or we don't know why this dhocData.getDataset().getPropertiesMap() line of code getting null. below are the full method. Thanks,I am waiting for your response. private AdhocDataStrategy getDataStrategy(AdhocMetadata adhocData, String preferredDataStrategy, boolean wrap, Map<String, String> parameters) throws Exception { // ordered set of all beans (we put preferred beans in first, then add the rest later) Set<String> allSet = new LinkedHashSet<String>(); // list of enabled beans; start with base list, but add preferred beans if not present Set<String> enabledSet = new LinkedHashSet<String>(dataStrategyBeans); // if we can find a preferred data strategy, try that first if (preferredDataStrategy != null) { allSet.add(preferredDataStrategy); enabledSet.add(preferredDataStrategy); } // then try one from jrxml String dataStrategyFromJRXML = null; if (adhocData.getDataset() != null) { dataStrategyFromJRXML = adhocData.getDataset().getPropertiesMap().getProperty(PREFERRED_DATA_STRATEGY_PROPERTY); // special case of upgrading from 3.5; if a report was created from a domain with the domain ds off, // this property would be set to "classicDataStrategy" which is now a clone of "newClassicDataStrategy", // but in 3.7 we are using "classicDomainDataStrategy" for domains when domain ds is off if ("classicDataStrategy".equals(dataStrategyFromJRXML) && adhocData instanceof AdhocTopicMetadata) { String language = ((AdhocTopicMetadata) adhocData).getQueryLanguage(); if (language != null && language.equals(Query.SL_LANGUAGE)) { dataStrategyFromJRXML = "classicDomainDataStrategy"; } } } if (dataStrategyFromJRXML != null) { allSet.add(dataStrategyFromJRXML); enabledSet.add(dataStrategyFromJRXML); } // For diagnostic adhoc String diagnosticDataStrategy = null; Boolean isDiagnostic = false; String diagnosticMode = null; if (parameters != null) { if (parameters.containsKey(IS_DIAGNOSTIC)) isDiagnostic = Boolean.parseBoolean(parameters.get(IS_DIAGNOSTIC)); if (parameters.containsKey(DIAGNOSTIC_MODE)) diagnosticMode = parameters.get(DIAGNOSTIC_MODE); } if (isDiagnostic && diagnosticMode != null && beanFactory.containsBean(diagnosticMode)) { diagnosticDataStrategy = parameters.get(DIAGNOSTIC_MODE); allSet.add(diagnosticDataStrategy); enabledSet.add(diagnosticDataStrategy); } // try all others not mentioned previously // (note: this contains both enabled and disabled beans) allSet.addAll(getAllDataStrategyBeans()); AdhocDataStrategy validStrategy = null; for (String strategyBeanName : allSet) { // make sure it's in the set of enabled beans before testing if (!enabledSet.contains(strategyBeanName)) { continue; } AdhocDataStrategy strategy = (AdhocDataStrategy) beanFactory.getBean(strategyBeanName); strategy.setName(strategyBeanName); strategy.setAdhocData(adhocData); // strategy.setReportParameters(reportParameters); // don't check data strategy if it was specified in jrxml if (strategy.isValid() || strategyBeanName.equals(dataStrategyFromJRXML) || strategyBeanName.equals(diagnosticDataStrategy)) { validStrategy = strategy; break; } } if (validStrategy == null) { throw new RuntimeException("Can't find strategy to handle request"); } validStrategy.getProperties().put(IS_DIAGNOSTIC, isDiagnostic.toString()); // Wrapping no longer results in a new data strategy. // It is query dependent, and will be locally managed by the effective datastrategy. // // if there is a wrapper and wrapping is requested, apply it to your strategy // if (wrap && wrapper != null) { // //TODO: Sergey P. in wrapper query is used only for logging // //We need a way to get DataStrategy without query // validStrategy = wrapper.wrap(query, validStrategy); // } // Save wrapping, dataStrategy will try to wrap if appropriate. validStrategy.setWrap(wrap); validStrategy.init(); return validStrategy; }
  2. 2021-05-26 10:07:59,035 ERROR ErrorPageHandlerAction,default task-4:115 - Error UID e6251a20-c141-406b-8b87-40244433f7c1 com.jaspersoft.jasperserver.api.JSException: Error filling report Arguments: at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$FillResultListener.reportFillError(EngineServiceImpl.java:1327) at net.sf.jasperreports.engine.fill.BaseFillHandle.notifyError(BaseFillHandle.java:216) at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:138) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:952) at net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:169) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:903) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1831) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1150) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1079) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:974) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: net.sf.jasperreports.engine.JRException: java.lang.NullPointerException at com.jaspersoft.ji.adhoc.strategy.StrategyAwareDomainQueryExecuter.createDatasource(StrategyAwareDomainQueryExecuter.java:251) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1245) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:723) at net.sf.jasperreports.engine.fill.BaseReportFiller.setParameters(BaseReportFiller.java:429) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:570) at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:123) ... 10 more Caused by: java.lang.NullPointerException at com.jaspersoft.ji.adhoc.strategy.DataStrategyServiceImpl.getDataStrategy(DataStrategyServiceImpl.java:82) at com.jaspersoft.ji.adhoc.strategy.DataStrategyServiceImpl.getDataStrategy(DataStrategyServiceImpl.java:40) at com.jaspersoft.ji.adhoc.service.AdhocEngineServiceImpl.getDataStrategy(AdhocEngineServiceImpl.java:393) at com.jaspersoft.ji.adhoc.strategy.StrategyAwareDomainQueryExecuter.createDatasource(StrategyAwareDomainQueryExecuter.java:164) ... 15 more
  3. JRHtmlExporter class is available into jaspersoft report server-6.0.1 but after upgrading to report server-7.1.3 this class is missing. Missing class name and block of code- JRHtmlExporter exporter = new JRHtmlExporter(); exporter.setParameters(baseParam); Given above lines gives error- "JRHtmlExporter cannot be resolved to a type." Please provide support to resolve class is missing issue and provide their corresponding class name for the deprecated class (JRHtmlExporter).
  4. Hi,I am upgrading jaspersoft report server-6.0.1 to jaspersoft report server-7.1.3. In "CutsInfo.java" isCutNotEmpty(int index) method is available into jaspersoft report server-6.0.1 but after upgrading to report server-7.1.3, isCutNotEmpty(int index) method is not found. Missing Method detail and block of code- CutsInfo yCuts = layout.getYCuts(); boolean status=yCuts.isCutNotEmpty(y); Error shown by IDE - "The method isCutNotEmpty(int) is undefined for the type CutsInfo" Please provide the solution for the error and provide their corresponding method name.
  5. Hi I am upgrading jasper version 6.0.1 to jasper version 7.1.3 In ji-semantic-layer-6.0.1.jar there is class named "AbstractSemanticLayerDataSet" and we are using "resolveReferences()" method ,but after upgrading to ji-semantic-layer-7.1.3.jar. resolveReferences() method is not found in "AbstractSemanticLayerDataSet" class. Error shown by IDE -"The method resolveReferences() from the type AbstractSemanticLayerDataSet is not visible" Please suggest the solution for the error.
×
×
  • Create New...