Ted it would be great if you could document what you did to get this working! It is a requirement many of us will have going forward.
David Sent from my iPad On 2012-04-04, at 7:24 AM, Theodore Petrosky <[email protected]> wrote: > I found the jasper version (3.7.4) and downloaded the correct iReport version > and voila. I get no errors and it creates the PDF. The only issue is that the > report is not using the fonts I selected. > > Is there something I must do to tell JR to use the fonts I selected? > > Ted > > --- On Wed, 4/4/12, Kieran Kelleher <[email protected]> wrote: > >> From: Kieran Kelleher <[email protected]> >> Subject: Re: JasperReports progress >> To: "Theodore Petrosky" <[email protected]> >> Cc: [email protected] >> Date: Wednesday, April 4, 2012, 6:56 AM >> Seems to me like D2W integration of >> long response pages is your issue here and the d2wcontext is >> getting lost. CCAjaxLongResponsePage knows nothing about D2W >> for a start, neither the nextpage controllers being used >> there. The jasper task is a background Callable task that >> returns a File result. The Jasper example project is not a >> D2W project. So, at this stage I have to defer to the D2W >> experts on the list for advice on integrating a background >> task with a File (to be downloaded result) into a D2W >> scenario. >> >> >> The iReport MUST match the JasperReports version in this >> project. You have been warned. >> Look in Libraries directory of this project for the jar >> named something like jasperreports-X.X.X.jar. >> That file has the current version number. >> >> Currently Wonder version is at 3.7.4. It will probably stay >> that way for a while. Jasper has many other dependencies and >> those dependencies are used across other Wonder projects >> .... iText for example. So it is not just a case of drop the >> latest jasper and all its dependencies into Libraries. >> >> >> On Apr 3, 2012, at 10:48 PM, Theodore Petrosky wrote: >> >>> here's what we have. >>> >>> in a stock D2W app there is a method in pageWrapper: >>> >>> public String bodyClass() { >>> String result = null; >>> String pageConfig = >> (String)d2wContext().valueForKey("pageConfiguration"); >>> if (pageConfig != null && >> pageConfig.length() > 0) { >>> result = >> pageConfig + "Body"; >>> } >>> return result; >>> } >>> >>> Obviously it is setting the css class for the context. >> When I return from making the jasper report pdf, the >> d2wcontect is null and there is the NPE. >>> >>> as a work around, I added to the method that checks the >> context: >>> >>> if (d2wContext() != null) { >>> >>> NSLog.out.appendln("*** pageWrapper >> pageConfiguration is not null = ***** "); >> >>> >>> pageConfig = >> (String)d2wContext().valueForKey("pageConfiguration"); >>> } >>> >>> I get a very ugly page. now I can figure out why the >> compiled jasper report is not using any of the fonts that I >> am specifying. >>> >>> Are there any gotchas with the different versions of >> iReport and the version of Jasper Reports in wonder? >>> >>> Ted >>> >>> --- On Tue, 4/3/12, Kieran Kelleher <[email protected]> >> wrote: >>> >>>> From: Kieran Kelleher <[email protected]> >>>> Subject: Re: JasperReports progress >>>> To: "Theodore Petrosky" <[email protected]> >>>> Cc: [email protected] >>>> Date: Tuesday, April 3, 2012, 6:34 PM >>>> The NPE is at: >>>> >>>> at >>>> >> com.as.application.ui.components.PageWrapper.bodyClass(PageWrapper.java:27) >>>> >>>> that is your component ..... so why don't you look >> there to >>>> see what is causing the NPE? >>>> >>>> On Apr 3, 2012, at 4:00 PM, Theodore Petrosky >> wrote: >>>> >>>>> So I've made progress but am stumped. I created >> a >>>> customcomponent and used a rule to make one of the >>>> displayPropertyKeys a hyperlink. >>>>> >>>>> I am basically using the JasperReportExample. I >> created >>>> a hyperlink as one of the property keys. this will >> fire off >>>> the method that starts the jasper reports process: >>>>> >>>>> public WOActionResults printBrief() >> { >>>> >>>>> >>>>> Brief >> theBrief = >>>> (Brief)object(); >>>>> >>>>> >>>> Callable<File> reportTask = >>>> Reports.createBriefReportTask(theBrief); >>>>> >>>>> >>>> CCAjaxLongResponsePage nextPage = >>>> pageWithName(CCAjaxLongResponsePage.class); >>>>> >>>>> // Push >> the task >>>> into the long response page >>>>> >>>> nextPage.setTask(reportTask); >>>>> >>>>> // >> Controller for >>>> handling the Callable result in the long response >> page >>>>> >>>> FileTaskDownloadController nextPageController = >> new >>>> FileTaskDownloadController(); >>>>> >>>>> // >> Hyperlink text >>>> on the "Your file is downloaded page" to get back >> here >>>>> >>>> nextPageController.setReturnLinkText("Reports >> Menu"); >>>>> >>>>> // The >> filename >>>> for the download >>>>> >>>> >> nextPageController.setDownloadFileNameForClient("BriefReport.pdf"); >>>>> >>>>> >>>> >> nextPage.setNextPageForResultController(nextPageController); >>>>> >>>>> >>>> NSLog.out.appendln("*** nextPage = ***** " + >>>> nextPage); >>>>> >>>>> >>>>> return >> nextPage; >>>>> } >>>>> >>>>> Here is the Reports method: >>>>> >>>>> public static >> Callable<File> >>>> createBriefReportTask(Brief b) { >>>>> >>>> >>>>> String >>>> reportDescription = "Printed Brief"; >>>>> >>>>> >>>> HashMap<String, Object> parameters = new >>>> HashMap<String, Object>(); >>>>> >>>> parameters.put("reportDescription", >> reportDescription); >>>>> >>>> parameters.put("userName", "User From session"); >>>>> >>>>> >> EOQualifier >>>> qualifier = ERXQ.equals(Brief.JOB_NUMBER_KEY, >>>> b.jobNumber()); >>>>> >>>>> >>>> ERXFetchSpecification<Brief> fs = new >>>> >> ERXFetchSpecification<Brief>(Brief.ENTITY_NAME, >>>> qualifier, null); >>>>> >>>>> >>>> ERJRFetchSpecificationReportTask reportTask = new >>>> ERJRFetchSpecificationReportTask(fs, >>>> jasperCompiledReportFileName, parameters); >>>>> >>>>> return >>>> reportTask; >>>>> >>>>> } >>>>> >>>>> indeed it goes out and starts to create the >> pdf. I see >>>> the the pdf in >>>> >> /var/folders/2d/23408oihsdvh08r23/T/Brief3234987239872398472.pdf >>>>> >>>>> However, just when DownloadIsComplete's >>>> appendToResponse method is called I get errors: >>>>> >>>>> >>>>> Apr 03 15:33:34 ASBriefsD2W[57285] WARN >>>> NSLog - >>>> >> <com.webobjects.appserver._private.WOComponentRequestHandler>: >>>> Exception occurred while handling request: >>>>> java.lang.NullPointerException >>>>> [2012-4-3 15:33:34 EDT] <WorkerThread0> >>>> java.lang.NullPointerException >>>>> at >>>> >> com.as.application.ui.components.PageWrapper.bodyClass(PageWrapper.java:27) >>>>> 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:597) >>>>> at >>>> >> com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636) >>>>> at >>>> >> com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134) >>>>> at >>>> >> com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324) >>>>> at >>>> >> com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736) >>>>> at >>>> >> com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447) >>>>> at >>>> >> com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212) >>>>> at >>>> >> com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804) >>>>> at >>>> >> com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50) >>>>> at >>>> >> com.webobjects.appserver._private.WOHTMLDynamicElement.stringValueInContext(WOHTMLDynamicElement.java:537) >>>>> at >>>> >> com.webobjects.appserver._private.WOHTMLDynamicElement.classInContext(WOHTMLDynamicElement.java:542) >>>>> at >>>> >> com.webobjects.appserver._private.WOHTMLDynamicElement._appendClassAndIdToResponse(WOHTMLDynamicElement.java:518) >>>>> >>>>> I can provide more but I have to start >> somewhere. >>>>> >>>>> I don't know what else to says other >> than >>>> 'HELP'!!! i'm drowning. >>>>> >>>>> Ted >>>>> >>>>> >>>>> >> _______________________________________________ >>>>> Do not post admin requests to the list. They >> will be >>>> ignored. >>>>> Webobjects-dev mailing list >> ([email protected]) >>>>> Help/Unsubscribe/Update your Subscription: >>>>> https://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com >>>>> >>>>> This email sent to [email protected] >>>> >>>> >> >> > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.com > > This email sent to [email protected] _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
