Jump to content

ghudson_1

Members
  • Posts

    284
  • Joined

  • Last visited

  • Days Won

    3

 Content Type 

Forum

Downloads

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Security Advisories

Events

Profiles

Everything posted by ghudson_1

  1. Use the jasperreports server plug-in (aka navigator in ireport or studio) to bring the jrxml down locally from the server into the client. Or use js-export (see admin guide) or the UI's export feature to export the report into xml format - this approach requires more delving, but down the right path you'll find an xml file representing the jrxml (and every other resource associated with the report you exported)
  2. Are you asking about mail-related logging for the scheduler in JasperReports Server? If so, the mail client the scheduler uses is Sun/Oracle's JavaMail api. JavaMail does logging a bit differently, so to get juicy logging: -Edit WEB-INF/applicationContext-report-scheduling -Search for <property name="javaMailProperties"> -Add <prop key="mail.debug">true</prop> to the set of javaMailProperties... beneath the "mail.smtp.auth" prop. -restart. - Depending on your appserver, the output might go into jasperserver.log, or catalina.out (or non-tomcat root logging file) or to the console output. For more info, just assume we're any java-based application using the javamail api described here: http://www.oracle.com/technetwork/java/javamail/index.html
  3. Treat this error message as if it was occurring within any java-based program or application. Googling the error message returns a few nice article which explain that the port your socket is connecting to seems not to be listening. Here are some descriptions and explanations: http://javarevisited.blogspot.com/2013/02/java-net-ConnectException-Connection-refused.html
  4. You should post the xml snippets of your jrxml for the parameter and the variable.
  5. Editing/setting com.jaspersoft.jasperreports.fusion.charts.render.type within jasperreports.properties will set this behavior at a server level. It can be overridden, like the doc says, at a report level by adding a report level property - net.sf.jasperreports.print.transfer.fusion Sounds like your config is probably okay. So if display is fine in regular reports, but not dashboards, then if this is easily reproducible it might be a defect in dashboards.
  6. This defect is resolved in JasperReports server 5.6, and a hotfix also exists for 5.5.
  7. Issue Description:Most JRXML reports require 'plsql' designated as the query language when executing store procedures. In these cases, extra configuration is required to run the stored procedures in JasperReports Server Pro v5.5. You must setup a QueryExecuterFactory for 'plsql', the query language associated with most stored procedures, and you must configure the webapp to add 'plsql' as an option in the "Query Language:" drop-downs for "Edit Query" pages. Resolution:Setup QueryExecuterFactory: Copy jasperreports-extensions-x.x.x.jar to <appserver>jasperserver-proWEB-INFlib. (The jar can be fetched from from <ireport>ireportmodulesext or you may request jasperreports-extensions-3_5_3.zip from Technical Support if you are using Jaspersoft Studio) Edit <appserver>jasperserver-proWEB-INFclassesjasperreports.properties, add: net.sf.jasperreports.query.executer.factory.plsql=com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory[/code]Configure UI display: In WEB-INF, create a new xml file to represent a new bean, named something like applicationContext-customQueryLang.xml. It should contain: <?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: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/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"> <bean id="queryLanguagesCustom" parent="queryLanguagesPro" class="org.springframework.beans.factory.config.ListFactoryBean"> <property name="sourceList"> <list merge="true"> <value>plsql</value> </list> </property> </bean></beans>[/code]Edit WEB-INF/js.spring.properties and set the value for bean.queryLanguages to queryLanguagesCustom instead of queryLanguagesPro. (optional) Edit WEB-INF/bundles/jasperserver_messages.properties or other internationalized bundles, create a new entry with values for "query.language.plsql.label", like: query.language.plsql.label=plsql Query[/code]Restart JasperReports Server Pro. ReferenceNo query executer factory registered for the "plsql" language in JasperServer 5.1Ref. Case #00045140
  8. Issue Description:Upon stopping Tomcat which is running JasperReports Server, sometimes you'll see an ominous error like: SEVERE: The web application jasperserver-pro appears to have started a thread named Thread-3 but has failed to stop it. This is very likely to create a memory leakResolution:The message from tomcat is benign and can be ignored. This is a common problem in Tomcat 6 and higher, and a third-party product has a nice thread describing it here: https://confluence.atlassian.com/pages/viewpage.action?pageId=218275753 If you are worried about memory leaks in general, the best approach is to use JConsole while the app is running to connect to the JVM to see if memory is increasing. For jcsonole information see: Jconsole and JasperReports Server Ref. Case #00044845
  9. Issue Description:Occasionally you need to present some data or value of a field based on the previous record's value. For example you might want to print the difference between the current and former value of a field. Below is technique for implementing this example. Resolution:When needing the difference between the current record and the previous record, you need to use a extra few variables to find your comparison. Variables are incremented in the order they are declared, so you can exploit this order to keep track of the "previous" records value. Here's how this would work: You need two report variables: one to hold the current value and the other to hold the previous value. The trick is to declare the "previous value" variable prior to the "current value" variable and make the first copy the value of the second like this: <variable name="INITIAL" class="java.math.BigDecimal" resetType="Report" calculation="Nothing"> <variableExpression><![CDATA[$V{AAA}]]></variableExpression> <initialValueExpression><![CDATA[new BigDecimal(0)]]></initialValueExpression> </variable> <variable name="AAA" class="java.lang.Integer" resetType="Report" calculation="Nothing"> <variableExpression><![CDATA[$F{FieldA}]]></variableExpression> </variable> Of course if you are creating a calculation for comparison, then you need a third variable to calculate the difference between the two: <variable name="DELTA" class="java.lang.Integer" resetType="Report" calculation="Nothing"> <variableExpression><![CDATA[$V{AAA}-$V{INITIAL}]]></variableExpression> </variable> (note the you are taking the default values for resetType which is 'report', and default calculation type which is 'nothing') Attached is an example that works with our foodmart database. It just highlights the next row if previous value is not the same. Ref. Case #00042350 deltavar.jrxml
  10. Issue Question:What are the options for showing a customized jsp immediately upon successful login? Answer:The JasperReports Server v5.5 loginController servlet, upon successful login, will typically route to jasperserver-proWEB-INFjspmoduleshomehome.jsp. This routing is based upon MVC code and spring webflow code. LoginController checks proHomePageByRole defined in WEB-INFjasperserver-servlet-pro.xml, and routes to the page/view defined there. It has something role-specific like: <value>ROLE_USER|redirect:/flow.html?_flowId=homeFlow</value> The redirect above creates calls into spring webflow and WEB-INFflowshomeFlow.xml defines the route for "homeFlow" as going to moduleshomehome.jsp. Some Solution options:Follow the JasperReports Server Ultimate Guide » Customizing the User Interface » Adding a Custom JSP Page in a Spring Web Flow and use the proHomePageByRole config to "flow" to this new jsp upon login. Add conditional statements within home.jsp to "include" your jsp on the initial view. Customize jasperreports-server-5.5-srcjasperserverjasperserver-war-jarsrcmainjavacomjaspersoftjasperserverwarcontrolLoginController.java to return a jsp directly without going thru our typical spring webflow setup. Ref. Case #00043224
  11. mapR is the hadoop distribution, but the underlying hadoop components like hbase, hive, etc are the actual components that we connect to and "talk" to. So we can work with mapR, any version, as long as the actual component within your hadoop/mapR ecosystem is a supported connection (hbase and hive 1, hive 2, virtual or native, etc).
  12. JR Ultimate Guide says : if you specify the SQL query in your report template, the reporting engine executes the specified SQL query and wraps the returned java.sql.ResultSet object in a net.sf.jasperreports.engine.JRResultSetDataSource instance. The only thing the engine needs to execute the query is a java.sql.Connection object. Your parent could do the same thing if needed, but if doing real-time querying, and your jdbc query returns the exact resultset needed, it won't be any quicker since most of the legwork is within the jdbc api itself (making the connection, executing the query, fetching the records). In both cases the implementation of JRDatasource will be using the next() method, which moves the record pointer to the next record in the virtual tabular data... not much room for improvement there. Have fun!
  13. This has been filed as a potential defect in 5.5 as well as previous versions. Hopefully it will be resolved in a future version soon. There is no other workaround aside from tweaking permissions.
  14. Please be aware that QR codes and bar codes are not the same thing. I may not be able to answer your question, but please clarify, are you using barcode component or something else? FYI, a wiki has been written regarding QR Code custom components: http://community.jaspersoft.com/wiki/introduction-custom-components-ireport-designer The barcode sample (and link to others) can be found here - http://jasperreports.sourceforge.net/sample.reference/barcode4j/index.html#barcodes
  15. ChartCustomizer's aren't applicable to Charts Pro, nor are Chart Themes (jrctx)
  16. looks good to me. I'd expect you'd see the "where StudyAdmin_UserRoleSite.Username in ('user001')" clause in your sql when ROLE_USER. But ROLE_USER is inherited by everyone, so theoretically everyone would be impacted by this. For grins & giggles, I'd try a different role, and I'd also restart your webapp (clearing the temp dir which contains ACL(user/role/permissions) cache values)
  17. Element width cannot stretch dynamically, it can only be set at design-time. Element height can stretch based upon your property settings for "stretch with overflow" (isStretchWithOverflow="true") or "stretch relative to band height" (stretchType="RelativeToBandHeight"), but the initial size must be set at design-time and cannot be based upon some dynamic variable.
  18. The JR Api is improved in every release, but I can't say whether or not memory-consumption improvements have been made in the SwapVirtualizer. I do that know that space-consumption improvements were made in 5.2 as well as 5.5. You code looks okay, but you could try reducing the maxsize from 50 to something lower (5), because you are allowing 50 objects to remain in memory prior to taking advantage of the virtual memory (disc): You could also increase (double or quadruple) the -Xmx given to the JVM via JAVA_OPT arguments to give yourself room since the machine has 16GB overall.
  19. yes, you can open it, modify it, save it. You should try it ;)
  20. The simple webapp example, using simply servlets and jsp, can be found in jasperreportsdemosampleswebapp and is described here: http://jasperreports.sourceforge.net/sample.reference/webapp/index.html#webapp
  21. The error you are encountering isn't related to JasperReports library, rather the way you are calling your servlet, it is a Servlet API related error. The processing of the http request at a servlet level is flawed so you need to review your usage of servlets, the struts framework, jsp, etc. A simple webapp example, using simply servlets and jsp, can be downloaded here: http://jasperreports.sourceforge.net/sample.reference/webapp/index.html#webapp good luck!
  22. Domain-based Topics, saved reports, and Ad Hoc Views will not dynamically be updated based upon changes you make to a domain in 5.5 or prior. You'd need to edit your Ad Hoc View to make it reflect any changes you make to your domain.
  23. The error you list is quite generic and not something associated with JasperReports library or Server - even the most generic messages (something security validation related) are more specific. It also doesn't sound browser-specific, or even webserver/appserver specific. My guess is that you have a network problem between your browser and the server hosting your jasperreports server. You could use firebug or browser dev tools to capture the request, then cross reference your appserver/webserver logs (like tomcat's accessvalve logging) to determine if the browser http request is actually making it to your server.
  24. Issue Description:There are multiple ways to use a parameter in your query when using mongo ISODate data formatted like: "timestamp" : ISODate("2009-01-14T00:26:04Z") Resolution:Use the jrxml below to render a query like the following in mongo: query test.logs query: { cs-bytes: 420, timestamp: { $gte: new Date(1006957607188) } } <parameter name="startdate" class="java.util.Date"> <defaultValueExpression><![CDATA[]]></defaultValueExpression> </parameter> <queryString language="MongoDbQuery"> <![CDATA[{ collectionName : 'logs', limit : 30, findQuery : { 'timestamp' : {'$gte':$P{startdate}} } }]]> If it is necessary that you pass a function, like the mongo $date function, through the query executor to your database, you can create a java.lang.String parameter and use concatenation to build the single string containing both the $date as well as your date-string: <defaultValueExpression> <![CDATA["$date: \"" + $P{stringDate} + "\""]]> </defaultValueExpression> In the above case the $P{stringDate} needs to be a java.lang.String representation of your date in the ISODate format, you can use java api methods to get it formatted correctly. Something like the following might work with a java.util.Date, userdate, depending on your format: <parameter name="stringDate" class="java.lang.String" isForPrompting="false" /> <defaultValueExpression> <![CDATA[new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").format($P{userdate})]]> </defaultValueExpression> Ref. Case #00041256
  25. Issue Description:By default the Maps Pro component will display short names for labels of countries, regions, etc depending on the map, like "NA" instead of "North America". This can be changed via Advanced Options for the component. Resolution:To show full names, the 'useSNameInLabels' property should be set to a value of "0". This can be done directly in the JRXML, like: <fm:mapProperty name="useSNameInLabels"> <fm:propertyExpression> <![CDATA["0"]]> </fm:propertyExpression> </fm:mapProperty>[/code]Or you can set this value via the UI. Go into "Edit Map Markers" for the main Map Configuration, and choose "Show Advanced Options", then add useSNameInLabels as the property name with a value or "0". Reference:http://docs.fusioncharts.com/maps/Contents/how_to_use/CustomLabels.htmlRef. Case #00041684
×
×
  • Create New...