Re: JasperReports progress
Re: JasperReports progress
- Subject: Re: JasperReports progress
- From: Theodore Petrosky <email@hidden>
- Date: Wed, 04 Apr 2012 08:29:40 -0700 (PDT)
It wasn't too bad, really. I only have a problem with the report not using the fonts that are available in the system.
Everything I read, says that it (the final report) should use the truetype fonts in the system. but alas it isn't playing nice.
Ted
--- On Wed, 4/4/12, David Holt <email@hidden> wrote:
> From: David Holt <email@hidden>
> Subject: Re: JasperReports progress
> To: "Theodore Petrosky" <email@hidden>
> Cc: "Kieran Kelleher" <email@hidden>, "email@hidden" <email@hidden>
> Date: Wednesday, April 4, 2012, 11:01 AM
> 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@hidden>
> 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@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
>
_______________________________________________
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