Jump to content
We've recently updated our Privacy Statement, available here ×

ict-programmer

Members
  • Posts

    17
  • Joined

  • Last visited

ict-programmer's Achievements

  1. I had previously asked another question about a list and a frame that was causing a similar problem (https://community.jaspersoft.com/questions/1097311/list-element-frame-element-produces-blank-second-page). That was "solved" by moving the list into the Background band. However, now I have another list in the Summary band and I am seeing the same problem. I'm thinking that there is a problem with Lists, but maybe I'm missing something. Here are some screen shots to demonstrate the problem: First, here is the design with no list element: And here is the result of that report (note that there are two pages): Now if I add the list element, here is the design: Here is the jrxml for the summary band: <summary> <band height="554"> <printWhenExpression> <![CDATA[!$F{drawingRevision}.getPartsList().isEmpty() || !$F{drawingRevision}.getProcesses().isEmpty() || !$F{drawingRevision}.getParameters().isEmpty()]]> </printWhenExpression> <staticText> <reportElement positionType="Float" x="80" y="30" width="100" height="20" uuid="3210d220-35e0-4984-a00d-be4ad58feca4"/> <text><![CDATA[static Text]]></text> </staticText> <rectangle radius="5"> <reportElement x="0" y="0" width="284" height="16" backcolor="#E1E3FC" uuid="88870baf-afe8-4c0a-9b5f-fe88eb0f4dd3"/> <graphicElement> <pen lineWidth="0.0"/> </graphicElement> </rectangle> <staticText> <reportElement x="5" y="0" width="113" height="16" uuid="9231dea5-26f2-40a8-8b45-2ce560e0f2ba"/> <textElement> <font size="12"/> </textElement> <text><![CDATA[Design Parameters]]></text> </staticText> <componentElement> <reportElement x="0" y="16" width="284" height="13" uuid="12a8a577-6c77-4849-84c6-362544413192"> <property name="net.sf.jasperreports.export.headertoolbar.table.name" value="Parameters"/> </reportElement> <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical"> <datasetRun subDataset="DrawingRevisionParameters" uuid="5ff517f3-e25b-4ed5-8589-33076f52c2c2"> <dataSourceExpression> <![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{drawingRevision}.getParameters())]]> </dataSourceExpression> </datasetRun> <jr:listContents height="13" width="284"> <textField pattern="#,##0.####"> <reportElement x="0" y="0" width="50" height="12" uuid="9239498a-9b30-495f-a571-b505fceba75a"/> <textElement textAlignment="Right"> <font size="9"/> </textElement> <textFieldExpression> <![CDATA[$F{parameter}.getParameterValue()]]> </textFieldExpression> </textField> <textField> <reportElement x="54" y="0" width="72" height="12" uuid="f2c8d327-e8b4-4f5b-af0c-dad19c0fc4bb"/> <textElement> <font size="9"/> </textElement> <textFieldExpression> <![CDATA[$F{parameter}.getParameterUnit().getUnitAbbr()]]> </textFieldExpression> </textField> <textField> <reportElement x="132" y="0" width="150" height="12" uuid="0e48fb28-af4b-4fac-8069-63bc1f880d80"/> <textElement markup="rtf"> <font size="9"/> </textElement> <textFieldExpression> <![CDATA[$F{parameter}.getSpecification().getSpecificationName()]]> </textFieldExpression> </textField> </jr:listContents> </jr:list> </componentElement> </band></summary>[/code]And finally here is the result of that report. Note that the floating "Static Text" label moved down appropriately, but not nearly enough to add an extra page to the report. However, you'll see that there are now 3 pages to the report anyway: The only thing that changed was adding the list element. How can I make it so that it doesn't add the extra page? Or what am I not understanding with regard to lists? I could probably also pass the data into a sub-report so that the data is presented in the detail band of the sub-report, but I would much prefer to use a list if I could, since it seems much simpler to me. I am using version 6.6.0. Thanks!
  2. The answer given by @shertage does work, but I would not consider it as a solution. The problem occurs when there are only two elements in the list, so it is not stretching beyond limits. Also, as stated in the question, if the frame element is not there, then the report stays at one page, even for multiple items in the list. In my case, I was able to put the frame and list elements into the Background band instead of the Detail band, and then everything worked as expected. So it may be that the problem only occurs in the Detail band. Again, though, this is only a work-around and not a solution.
  3. I have a full report where I noticed that I was getting an unexpected second page. I finally narrowed it down so that if there is a list element along with a frame element in the detail, the second page is produced. It doesn't matter whether the list is inside the frame or not. It also doesn't matter where on the page the elements are or what order they are in. If I have the list element by itself, it is one page as expected. If I have the frame element by itself, it is one page as expected. But if both are present, then I get two page. I don't know how helpful it will be, but here is the jrxml: <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 --><jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Drawing" pageWidth="792" pageHeight="612" orientation="Landscape" columnWidth="752" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" whenResourceMissingType="Error" uuid="6747abfb-9ad6-45e5-a564-b6da649b46e5"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> <property name="com.jaspersoft.studio.unit." value="pixel"/> <property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/> <property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/> <property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/> <property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/> <subDataset name="DrawingApprovals" uuid="8cdc55f9-47a4-431a-abe8-9ab37ae10ed5"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> <queryString> <![CDATA[]]> </queryString> <field name="revisionID" class="java.lang.String"> <fieldDescription><![CDATA[revisionID]]></fieldDescription> </field> </subDataset> <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA["static/"]]></defaultValueExpression> </parameter> <queryString> <![CDATA[]]> </queryString> <field name="drawingRevision" class="engineering.domain.drawings.DrawingRevision"> <fieldDescription><![CDATA[drawingRevision]]></fieldDescription> </field> <background> <band splitType="Stretch"/> </background> <detail> <band height="554" splitType="Stretch"> <frame> <reportElement x="410" y="20" width="267" height="110" uuid="538352a2-83bd-416a-af27-ec1546145e1e"> <property name="ShowOutOfBoundContent" value="false"/> </reportElement> </frame> <componentElement> <reportElement x="90" y="20" width="81" height="9" uuid="a2f86aad-b3fe-4b05-9cb0-20eef7478c82"> <property name="net.sf.jasperreports.export.headertoolbar.table.name" value="Approvals"/> <printWhenExpression><![CDATA[$F{drawingRevision}.getRevision().getRevisionType().getRevisionTypeID()==1]]></printWhenExpression> </reportElement> <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical"> <datasetRun subDataset="DrawingApprovals" uuid="5e5e3a02-1c4b-4a13-902a-e1e0123b2d0d"> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{drawingRevision}.getApprovals())]]></dataSourceExpression> </datasetRun> <jr:listContents height="9" width="81"> <textField> <reportElement x="0" y="0" width="17" height="9" uuid="75775639-d63c-42ae-bb1c-b2a2b277581e"/> <textElement textAlignment="Center"> <font size="7"/> </textElement> <textFieldExpression><![CDATA[$F{revisionID}]]></textFieldExpression> </textField> </jr:listContents> </jr:list> </componentElement> </band> </detail> <pageFooter> <band height="12" splitType="Stretch"> <textField> <reportElement x="687" y="0" width="50" height="12" uuid="743f47fd-714c-4d54-ad05-b6504c6568d0"/> <textElement textAlignment="Right"> <font size="7"/> </textElement> <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression> </textField> <textField evaluationTime="Report"> <reportElement x="737" y="0" width="15" height="12" uuid="8bd1a6e9-953d-43f1-ad5f-89f45975ae5f"/> <textElement> <font size="7"/> </textElement> <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression> </textField> </band> </pageFooter></jasperReport>[/code]If the Java Bean has only one element, then a single page is produced as expected. However, if there are two or more elements, then 2 pages are produced, even though there is nothing on the second page. It is NOT that the list is too long with more than one element, since getting rid of the frame produces only one page as expected. Has anyone else seen this behavior or know how to fix it? Thanks!
  4. Depending on what you need to do with it, you can use scriptlets. From a scriptlet, you can pull together as many data sources as you wish. It is fairly simple to use them to get single pieces of information from multiple sources, but you can also create List objects in the scriptlet that you can use to populate a List element in Jasper. Scriptlets are a fairly broad topic, but this post should get you started: http://community.jaspersoft.com/blog/all-you-want-know-about-scriptlets
  5. We are using external authentication with Active Directory. We are also using roles defined in Active Directory for Jasper roles. From the jasperadmin Roles screen, all of those roles are set as "externally defined." I can change permissions for any of these roles when logged in as jasperadmin. Everything is working great in that regard. Here is what I want to happen: When a new role is created in Active Directory, I want to programmatically add the role in Jasper and set up some default permissions for that new role. Idea #1: First, I just added the role and set the permissions directly in the database. This works great, except that it doesn't take effect until the application server is restarted. This is due to cacheing issues as described here: http://community.jaspersoft.com/wiki/jasperreports-server-resource-permission-caching-issue Idea #2: To resolve the cache issue, I then tried to do everything via the REST web services. This was somewhat successful, except that I cannot figure out how to make a REST call that creates the role as an "externally defined" role. Because of this, when logging in as a user with the new role, the permissions have no effect because the new role is only internally defined, and the user has an externally defined role. Idea #3: When a user has a role from Active Directory and they log in to jasperserver, any roles the user has are automatically created in Jasper and are set up as "externally defined." Therefore, I thought that if I could log in as a test user (who has the new role) using the REST API, then maybe the role would be created automatically in jasper, and then I could change the permissions from there. However, apparently logging in using this method does not set up the new role. I also noticed that if I am logged in as jasperadmin, and from there log in as another user with the new role, the new role is not set up. So, is there anything else I should be doing?? It seems like I either need to be able to force the role to be "externally defined" from a REST call, or figure out a different way to login as a user with the new role. Or maybe there is another approach that I have completely missed. Any help would be appreciated. Thanks.
  6. Can you create the input control successfully if you log in to your jasperserver instance directly? In other words, is the problem just with Jaspersoft Studio, and you want to know why; or is there no way for you to create the input control at all?
  7. Eventually I figured this out based on the samples provided. To summarize: The UserDataSourceServiceFactory class is no longer needed, so it can be deleted.Create the applicationContext-XXX.xml and /bundles/XXX.properties files based on the samples provided.When creating a new data source using the web interface, you no longer choose "Bean Data Source." Instead, the bean that you created in applicationContext-XXX.xml will now be an item on the list. Choose that, and then you can set any properties for the bean that you made in step 2. Finally, name the data source to whatever you wish.
  8. I have a bunch of custom data sources which have been working fine in JasperReports Server 5.5. I am trying to upgrade to 6.3.0, and my existing data sources no longer work due to the changes in the spring configuration discussed at http://community.jaspersoft.com/wiki/updating-custom-data-source-jasperreports-server-60-and-higher Here is the code that was working: public final class UserDataSourceServiceFactory implements ReportDataSourceServiceFactory { public UserDataSourceServiceFactory() { } public static UserDataSourceService createDataSourceService() { return new UserDataSourceService(); } @Override public ReportDataSourceService createService(ReportDataSource dataSource) { return new UserDataSourceService(); }}[/code]In /jasperserver/WEB_INF/applicationContext-UserDataSource.xml, the bean was defined as: <bean id="JDB-UserAccounts' class="org.ntmpng.UserDataSourceServiceFactory"></bean>[/code]Then from the JasperReports Server interface, I use these settings: I am having a very hard time understanding what changes I need to make in order to get my custom data sources to work again. I followed the example in the /samples/customDataSource folder to modify my bean definition .xml, but then I don't understand what to put in the "Bean Method" field when I create the data source in Jasper. I would think it would only require some fairly simple changes, but I am at a loss to figure out what they are. Any direction would be much appreciated. If needed, here are my other existing classes: public class UserDataSourceService implements ReportDataSourceService { JRDataSource jrds; private RepositoryService repository; private Map propertyMap; public UserDataSourceService() { jrds = new UserDataSource(); } public UserDataSourceService(JRDataSource ds) { this.jrds = ds; } @Override public void setReportParameterValues(Map parameterValues) { parameterValues.put(JRParameter.REPORT_DATA_SOURCE, jrds); } @Override public void closeConnection() { // Do nothing } public Map getPropertyMap() { return propertyMap; } public void setPropertyMap(Map propertyMap) { this.propertyMap = propertyMap; } public RepositoryService getRepository() { return repository; } public void setRepository(RepositoryService repository) { this.repository = repository; }}[/code]public class UserDataSource implements JRDataSource { private int index = -1; private List<UserAccount> data; public UserDataSource() { data = AccountsConstructor.createUsersBean(); } public UserDataSource(String param) { data = AccountsConstructor.createUsersBean(param); } public UserDataSource(String query, String account) { data = AccountsConstructor.createUsersBean(query, account); } public UserDataSource(String[] param) { data = AccountsConstructor.createUsersBean(param[0]); } @Override public boolean next() throws JRException { index++; return (index < data.size()); } @Override public Object getFieldValue(JRField field) throws JRException { Object value = null; String fieldName = field.getName(); switch (fieldName) { case "userLogin": value = data.get(index).getUserLogin(); break; case "accountCode": value = data.get(index).getAccountCode(); break; case "isPersonal": value = data.get(index).getIsPersonal(); break; case "isExternal": value = data.get(index).getIsExternal(); break; case "accountDesc": value = data.get(index).getAccountDescription(); break; case "accountBalance": value = data.get(index).getAccountBalance(); break; } return value; }}[/code]public class AccountsConstructor { private static List<UserAccount> useraccounts; public static List<UserAccount> createUsersBean() { // code to create the List return useraccounts; } ...}[/code]
  9. To some degree, this can be solved by simply adding ProxyPreserveHost On to the VirtualHost like <VirtualHost *:80> ProxyPreserveHost On ProxyPass /jasperserver http://localhost:8080/jasperserver ProxyPassReverse /jasperserver http://localhost:8080/jasperserver</VirtualHost>[/code]I say "to some degree" because although everything behaves correctly from the user's perspective, I am still seeing an error in the logs with: I'm not sure what that is about, but at least it seems to display correctly. EDIT: My next step was to use SSL for Apache so that the VirtualHost is *:443. When using the same proxy settings, I now get an infinite loop again. Help! EDIT 2: The issue is apparently caused by CSRFGuard where the request is coming from https://domain.com/jasperserver but after the proxy it is http://domain.com/jasperserver. For now, in /WEB-INF/csrf/jrs.csrfguard.properties, I just set "org.owasp.csrfguard.JavascriptServlet.refererMatchDomain = false" and that fixes the problem. However, I don't know that that is the best long term solution, so I am certainly open to more suggesstions. There is probably something with how the request is forwarded that would fix this.
  10. I am using Apache Tomcat 8.5.4 with JasperReports Server 6.3.0. When I access the server using http://localhost:8080/jasperserver everything works great. In my httpd.conf file for Apache 2.4, I have <VirtualHost *:80> ProxyPass /jasperserver http://localhost:8080/jasperserver ProxyPassReverse /jasperserver http://localhost:8080/jasperserver</VirtualHost>[/code]I also have some other webapps on the Tomcat server, and the proxy for them works perfectly. When I go to http://localhost/jasperserver (without the port), the login page displays without problem. However, as soon as I log in, everything goes crazy. It appears that the browser will try to reload the page indefinitely. The url switches back and forth between /jasperserver and /jasperserver/whatever_page_it_is_supposed_to_load. Anyone have any explanation for this behavior or have any ideas on how to fix it? EDIT: It appears from the logs that this has to do with the cross-site request forgery (CSRF) prevention, but I'm still not sure how to solve it.
  11. I am trying to upgrade everything and use Apache Tomcat 8.5.4 with JasperReports server 6.3.0. I have a folder with a bunch of custom jars that I need to reference for some reports. If I put them in $CATALINA_HOME/lib or in webapps/jasperserver/WEB-INF/lib, then everything is okay. But I would like to keep all of my custom jars in their own folder. From what I understand, the way to do this is by adding the folder to the shared.loader property in $CATALINA_HOME/conf/catalina.properties. Although that works for my other wepapps, jasperserver does not seem to be able to find the jars. Am I doing something wrong or is there a better way to go about doing this?
  12. Given a class that implements JRDataSource, such as: import java.util.List;import net.sf.jasperreports.engine.JRDataSource;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JRField;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.joda.time.DateTime;public class TestDataSource implements JRDataSource { private int index = -1; private List<TestObject> data; private Logger logger=LogManager.getLogger(); public EBDataSource(java.sql.Date param) { logger.debug("Single date parameter submitted: "+param.toString()); data = TestDataConstructor.createBean(param); } @Override public boolean next() throws JRException { index++; return (index < data.size()); } @Override public Object getFieldValue(JRField field) throws JRException { Object value = null; String fieldName = field.getName(); switch (fieldName) { case "field1": value = data.get(index).getField1(); break; case "field2": value = data.get(index).getField2(); break; } return value; }}[/code]Note that TestDataConstructor.createBean(param) is a static method to get whatever information you want. The TestDataSource class above must be called from another class that implements ReportDataSourceService, such as: import java.util.Map;import net.sf.jasperreports.engine.JRDataSource;import net.sf.jasperreports.engine.JRParameter;import com.jaspersoft.jasperserver.api.metadata.common.service.RepositoryService;import com.jaspersoft.jasperserver.api.metadata.jasperreports.service.ReportDataSourceService;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;public class TestDataSourceService implements ReportDataSourceService { JRDataSource jrds; private RepositoryService repository; private Map propertyMap; private Logger logger=LogManager.getLogger(); public TestDataSourceService() { //jrds = new TestDataSource(); } public TestDataSourceService(JRDataSource ds) { this.jrds = ds; } @Override public void setReportParameterValues(Map parameterValues) { for (Object obj : parameterValues.entrySet()) { logger.debug("Parameter "+obj.toString()); } jrds = new TestDataSource((java.sql.Date) parameterValues.get("PeriodEndDate")); parameterValues.put(JRParameter.REPORT_DATA_SOURCE, jrds); } @Override public void closeConnection() { // Do nothing } public Map getPropertyMap() { return propertyMap; } public void setPropertyMap(Map propertyMap) { this.propertyMap = propertyMap; } public RepositoryService getRepository() { return repository; } public void setRepository(RepositoryService repository) { this.repository = repository; }}[/code]The key to passing parameters to a custom datasource is to create the data source after the parameter Map is passed in, and then use that parameter in your bean. For the sake of completeness, you also need: import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportDataSource;import com.jaspersoft.jasperserver.api.metadata.jasperreports.service.ReportDataSourceService;import com.jaspersoft.jasperserver.api.metadata.jasperreports.service.ReportDataSourceServiceFactory;public class TestDataSourceServiceFactory implements ReportDataSourceServiceFactory { public TestDataSourceServiceFactory() { } public TestDataSourceService createDataSourceService() { return new TestDataSourceService(); } @Override public ReportDataSourceService createService(ReportDataSource dataSource) { return new TestDataSourceService(); }}[/code]
  13. I have a custom query executer which extends JRAbstractQueryExecuter. Everything seems to be working beautifully with that--meaning: I created a new query in the repositoryI attached that query to an input controlI attached the input control to a reportWhen the report runs, the expected items are in the input control dropdown, andChanging the selection changes the report as expected.The problem comes when I go to that report via a hyperlink from another report. Let's say I have a report showing all my bank accounts. Then I want to click on an account, and it opens another report with all the transactions for that account. In the input control, all those bank accounts are listed, so that on the transactions report I can switch between accounts without having to go back to the overview report. If I use my custom query executer, when I click on the hyperlink to see the transactions for an account, it always only shows the first item from the input control dropdown, no matter which account is clicked. If I create a dummy database that uses SQL, make a query that produces the same results as my custom query, and make the input control draw from that query, then my hyperlinks all work exactly as expected. So I know that my hyperlink parameters are all correct, and I know that once the report is opened, I can switch to anything in the dropdown successfully. Is it possible that there is something in the timing of how a report is executed that is different when using a custom query executer? Why won't the hyperlink pull up the correct report parameters right away? I'm using JasperServer 5.5. If I need to post some portion of code, let me know what would be helpful to see. Thanks! UPDATE: Thanks, marianol, for the suggestions. I switched the logging to DEBUG, and this is the output in jasperserver.log: Note that in both of the cases below, the url is: server:8443/jasperserver/flow.html?_flowId=viewReportFlow& reportUnit=%2FPersonal%2FAccountStatement-DD&deb_accountcode=10001&PeriodStartDate=2015-04-01&PeriodEndDate=2015-04-18& _eventId_drillReport=&_flowExecutionKey=e1s2&reportLocale=en_US Using my custom query executer for the input control: 2015-04-18 12:01:32,363 DEBUG valueQueryLog,http-bio-8443-exec-6:2133 - query took 54 ms: personal2015-04-18 12:01:32,366 DEBUG valueQueryLog,http-bio-8443-exec-6:2134 - params: {LoggedInUser=MetadataUserDetails: my_user, LoggedInUsername=my_user, datasourceURI=/BackEndResources/DataSources/JDB_UserAccounts, REPORT_DATA_SOURCE=org.test.UserDataSource@310e6e9c}Note that the lines above are for my custom query on the input control, where "personal" is the complete text of the query. 2015-04-18 12:01:32,798 DEBUG JRJdbcQueryExecuter,pool-4-thread-37:254 - SQL query string: EXECUTE FUNCTION getPersonalAccountData( ? , ? , ? );2015-04-18 12:01:32,799 DEBUG JRJdbcQueryExecuter,pool-4-thread-37:396 - Parameter #1 (deb_accountcode of type java.lang.String): 10000 2015-04-18 12:01:32,800 DEBUG JRJdbcQueryExecuter,pool-4-thread-37:396 - Parameter #2 (PeriodStartDate of type java.sql.Date): 2015-04-012015-04-18 12:01:32,801 DEBUG JRJdbcQueryExecuter,pool-4-thread-37:396 - Parameter #3 (PeriodEndDate of type java.sql.Date): 2015-04-18 Using a standard SQL query executer for the input control: 2015-04-18 12:19:12,678 DEBUG JRJdbcQueryExecuter,http-bio-8443-exec-1:254 - SQL query string: SELECT TRIM(accountcode) AS deb_accountcode, TRIM(accountcode) AS accountcode, shortname FROM deb_master WHERE dr_deb_notes LIKE '%' || ? || '%' ORDER BY 12015-04-18 12:19:12,681 DEBUG JRJdbcQueryExecuter,http-bio-8443-exec-1:396 - Parameter #1 (LoggedInUsername of type java.lang.String): my_user2015-04-18 12:19:12,702 DEBUG valueQueryLog,http-bio-8443-exec-1:2133 - query took 25 ms: SELECT TRIM(accountcode) AS deb_accountcode, TRIM(accountcode) AS accountcode, shortname FROM deb_master WHERE dr_deb_notes LIKE '%' || $P{LoggedInUsername} || '%' ORDER BY 12015-04-18 12:19:12,705 DEBUG valueQueryLog,http-bio-8443-exec-1:2134 - params: {DATABASE_TIMEZONE=sun.util.calendar.ZoneInfo[id="Pacific/Port_Moresby",offset=36000000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null], LoggedInUser=MetadataUserDetails: my_user, LoggedInUsername=my_user, REPORT_CONNECTION=org.apache.commons.dbcp.PoolableConnection@68be9898, datasourceURI=/BackEndResources/DataSources/InformixPronto}Note that all of the above relates to the input control query. 2015-04-18 12:19:13,141 DEBUG JRJdbcQueryExecuter,pool-4-thread-39:254 - SQL query string: EXECUTE FUNCTION getPersonalAccountData( ? , ? , ? );2015-04-18 12:19:13,142 DEBUG JRJdbcQueryExecuter,pool-4-thread-39:396 - Parameter #1 (deb_accountcode of type java.lang.String): 100012015-04-18 12:19:13,143 DEBUG JRJdbcQueryExecuter,pool-4-thread-39:396 - Parameter #2 (PeriodStartDate of type java.sql.Date): 2015-04-012015-04-18 12:19:13,144 DEBUG JRJdbcQueryExecuter,pool-4-thread-39:396 - Parameter #3 (PeriodEndDate of type java.sql.Date): 2015-04-18I don't see any indications of why in one case, Parameter #1 for the report query would be "10000" and it the other case it would be the correct "10001". If I just input the URL above, I get the same behavior as I do with the hyperlink. There is no default value set for that report parameter.
  14. As of 5.5, you also need to make some changes in applicationContext-security-web.xml in order to use a role other than ROLE_USER.
×
×
  • Create New...