I did read the errors. The problem was understanding what the errors were 
telling me. And the next issue is determining what I can do about it with my 
limited knowledge. 

I am using the Joda example that was discussed before (from the Henrique Prange 
example).

With the information you gave me, this is what I did.

googled java class inheritance to learn what this is:

The syntax for creating a subclass is simple. At the beginning of your class 
declaration, use the extends keyword, followed by the name of the class to 
inherit from:

class MountainBike extends Bicycle {

     // new fields and methods defining a mountain bike would go here

}
 
so what do I have in LocalTime:

/**
 * LocalDate custom type.
 * 
 * @author <a href="mailto:[email protected]";>Henrique Prange</a>
 */
public class LocalDate implements ReadablePartial, Comparable<Object>
{

}
 
great the example never mentions implements. so googling "java class extends 
implements" gives a tutorial:

class MyClass extends MySuperClass implements YourInterface {
    //field, constructor, and method declarations
}

So my attempt is to add into LocalDate the extends like this:

public class LocalDate  extends java.util.Date implements ReadablePartial, 
Comparable<Object>
{

}

but then there is an error:

- The interface Comparable cannot be implemented more than once with different 
arguments: Comparable<Date> and 
         Comparable<Object>

so I checked the docs on java.util.Date:

public class Date
extends Object
implements Serializable, Cloneable, Comparable<Date>

so he implements Comparable<Date> but LocalDate had Comparable<Object>.

I hate this stuff. So I deleted Comparable from LocalDate and now there is an 
error with a method:

Name clash: The method compareTo(Object) of type LocalDate has the same erasure 
as compareTo(T) of type Comparable<T> but does 
 not override it

I made the executive decision to comment out the compareTo() method in 
LocalDate.

And to my complete surprise, it works.

But without your help reading the error log, I didn't even have an idea where 
to start looking.

Of course, maybe my hacking is actually making things worse. I guess I will 
have to keep my fingers crossed and hope youse guys don't get too tired helping 
people like me.

Thank you,

Ted

--- On Sun, 1/30/11, Pascal Robert <[email protected]> wrote:

> From: Pascal Robert <[email protected]>
> Subject: Re: JasperReport LocalDate question
> To: "Theodore Petrosky" <[email protected]>
> Cc: [email protected]
> Date: Sunday, January 30, 2011, 4:31 AM
> You just have to read the errors:
> 
> > Jan 30 08:03:52 TheWorkTracker[56046] ERROR
> er.jasperreports.ERJRFetchSpecificationReportTask  -
> Error in JR task
> > ClassCastException: com.eltek.utilities.LocalDate
> cannot be cast to java.util.Date
> 
> From what class com.eltek.utilities.LocalDate inherits? If
> it's from JodaTime's LocalDate, well that class don't
> inherits from java.util.Date!
> 
> > I think I am almost there. Well maybe.
> > 
> > I have an EO with attributes that are dates in the
> postgresql db.
> > 
> > invoiceBookedDate is a date. It is modeled as a
> LocalDate. In my UI, I have an AjaxDatePicker which appears
> to only create NSTimestamps. So I create a cover methods
> (setter and getter) that accept the NSTimestamp and convert
> LocalDates.
> > 
> > invoiceList = Invoice.fetchInvoices(versionListEC,
> ERXQ.equals(Invoice.INVOICE_BOOKED_DATE_KEY,
> theLocalDate()), null);
> > 
> > works beautifully to get the list of all Invoices
> booked on the date from the AjaxDatePicker.
> > 
> > but when I try to populate the JasperReport using the
> WOWODC 2010 example, I get errors.
> > 
> > public static Callable<File>
> createSingleDateReportTask(NSTimestamp theDate) {
> >     
> >       
> NSLog.out.appendln("NSTimestamp theDate = " +
> theDate);    
> >         
> >     String myDate =
> mainDateFormatter.format(theDate);
> >     LocalDate reportLocalDate = 
> new LocalDate(myDate);       
>         
> >         
> >    
> ERXFetchSpecification<Invoice> fs = new
> ERXFetchSpecification<Invoice>(Invoice.ENTITY_NAME, 
> >        
>        
> ERXQ.equals(Invoice.INVOICE_BOOKED_DATE_KEY,
> reportLocalDate), null);
> >         
> >     NSLog.out.appendln("fs = " + fs);
> >         
> >     String reportDescription = "A
> report on Invoices booked on: ";
> >         
> >     HashMap<String, Object>
> parameters = new HashMap<String, Object>();
> >     parameters.put("reportDescription",
> reportDescription);
> >         
> >     // Builder pattern for constructor
> since.
> >     ERJRFetchSpecificationReportTask
> reportTask = new ERJRFetchSpecificationReportTask(fs,
> "BillingToday.jasper", parameters);
> >        
>         
> >     return reportTask;
> > }
> > 
> > I know the above qualifier works, as it is working to
> create the array that I use in the displayGroup.
> > 
> > Here is the error trace:
> > 
> > Jan 30 08:03:51 TheWorkTracker[56046] INFO 
> NSLog  - NSTimestamp theDate = 2010-12-06 00:00:00
> Etc/GMT
> > Jan 30 08:03:51 TheWorkTracker[56046] INFO 
> NSLog  - fs = <class
> er.extensions.eof.ERXFetchSpecification(entityName=Invoice,
> > qualifier=(invoiceBookedDate =
> (org.joda.time.LocalDate)'2010-12-06'),
> > isDeep=true, usesDistinct=false,
> > sortOrdering=null,
> > hints=null,
> > _prefetchingRelationshipKeyPaths = null)>
> > Jan 30 08:03:51 TheWorkTracker[56046] INFO 
> er.jrexample.controllers.AbstractPageController  -
> Controller named
> 'er.jrexample.controllers.FileTaskDownloadController' just
> instantiated in page named
> 'com.eltek.components.TWTBilling_DailyReportComponent'
> > Jan 30 08:03:51 TheWorkTracker[56046] INFO 
> NSLog  - FileTaskDownloadController called
> > Jan 30 08:03:51 TheWorkTracker[56046] INFO 
> NSLog  - nextPageController called = Billing List
> > Jan 30 08:03:52 TheWorkTracker[56046] ERROR
> er.jasperreports.ERJRFetchSpecificationReportTask  -
> Error in JR task
> > ClassCastException: com.eltek.utilities.LocalDate
> cannot be cast to java.util.Date
> >  at
> BillingToday_1296250490999_974810.evaluate(BillingToday_1296250490999_974810:171)
> >  at
> net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:182)
> >  at
> net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:589)
> >  at
> net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:557)
> >  at
> net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:929)
> >  at
> net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:383)
> >  at
> net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368)
> >  at
> net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
> >  at
> net.sf.jasperreports.engine.fill.JRFillFrame.evaluate(JRFillFrame.java:147)
> >  at
> net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
> >  at
> net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
> >  at
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:325)
> >  at
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:261)
> >  at
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:127)
> >  at
> net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942)
> >  at
> net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:860)
> >  at
> net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
> >  at
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
> >  at
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
> >  at
> net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:351)
> >  at
> er.jasperreports.ERJRUtilities.runCompiledReportToPDFFile(ERJRUtilities.java:54)
> >  at
> er.jasperreports.ERJRFetchSpecificationReportTask._call(ERJRFetchSpecificationReportTask.java:131)
> >  at
> er.jasperreports.ERJRFetchSpecificationReportTask.call(ERJRFetchSpecificationReportTask.java:98)
> >  at
> er.jasperreports.ERJRFetchSpecificationReportTask.call(ERJRFetchSpecificationReportTask.java:1)
> >  at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> >  at
> java.util.concurrent.FutureTask.run(FutureTask.java:138)
> >  at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >  at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >  ... skipped 1 stack elements
> > nextPage action fired
> > Jan 30 08:03:53 TheWorkTracker[56046] ERROR
> er.jrexample.components.GenericAjaxLongResponsePage  -
> Long Response Error:
> > {}
> > ClassCastException: com.eltek.utilities.LocalDate
> cannot be cast to java.util.Date
> >  at
> BillingToday_1296250490999_974810.evaluate(BillingToday_1296250490999_974810:171)
> >  at
> net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:182)
> >  at
> net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:589)
> >  at
> net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:557)
> >  at
> net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:929)
> >  at
> net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:383)
> >  at
> net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368)
> >  at
> net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
> >  at
> net.sf.jasperreports.engine.fill.JRFillFrame.evaluate(JRFillFrame.java:147)
> >  at
> net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
> >  at
> net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
> >  at
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:325)
> >  at
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:261)
> >  at
> net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:127)
> >  at
> net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942)
> >  at
> net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:860)
> >  at
> net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
> >  at
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
> >  at
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
> >  at
> net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:351)
> >  at
> er.jasperreports.ERJRUtilities.runCompiledReportToPDFFile(ERJRUtilities.java:54)
> >  at
> er.jasperreports.ERJRFetchSpecificationReportTask._call(ERJRFetchSpecificationReportTask.java:131)
> >  at
> er.jasperreports.ERJRFetchSpecificationReportTask.call(ERJRFetchSpecificationReportTask.java:98)
> >  at
> er.jasperreports.ERJRFetchSpecificationReportTask.call(ERJRFetchSpecificationReportTask.java:1)
> >  at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> >  at
> java.util.concurrent.FutureTask.run(FutureTask.java:138)
> >  at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >  at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >  ... skipped 1 stack elements
> > Jan 30 08:03:54 TheWorkTracker[56046] ERROR
> er.jrexample.controllers.FileTaskDownloadController  -
> Error
> > 
> > what can I do? I am lost.
> > 
> > Ted
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > Do not post admin requests to the list. They will be
> ignored.
> > Webobjects-dev mailing list      ([email protected])
> > Help/Unsubscribe/Update your Subscription:
> > http://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> > 
> > 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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to