Re: JasperReports progress
Re: JasperReports progress
- Subject: Re: JasperReports progress
- From: Theodore Petrosky <email@hidden>
- Date: Wed, 04 Apr 2012 07:24:11 -0700 (PDT)
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@hidden> wrote:
> From: Kieran Kelleher <email@hidden>
> Subject: Re: JasperReports progress
> To: "Theodore Petrosky" <email@hidden>
> Cc: email@hidden
> 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@hidden>
> wrote:
> >
> >> From: Kieran Kelleher <email@hidden>
> >> Subject: Re: JasperReports progress
> >> To: "Theodore Petrosky" <email@hidden>
> >> Cc: email@hidden
> >> 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@hidden)
> >>> Help/Unsubscribe/Update your Subscription:
> >>>
> >>> This email sent to email@hidden
> >>
> >>
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden