@XmlElement

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

@XmlElement

Mark Carroll
I was converting some code to use a DateTime instead of a Date and a
property has an @XmlElement annotation. Having apparently stumbled on to
a web service, some Googling eventually found me
http://blog.bdoughan.com/2011/05/jaxb-and-joda-time-dates-and-times.html

Is that kind of thing presently the recommended approach? Is there some
semi-standard library we should be using or should I just roll my own
marshaller?

Mark

--
Mark Carroll
Software Engineer
[hidden email]
http://www.vecna.com/

Cambridge Research Laboratory
Vecna Technologies, Inc.
36 Cambridge Park Drive
Cambridge, MA 02140
Phone: (617) 864-0636
Fax: (617) 864-0638

Better Technology, Better World (TM)

The contents of this message may be privileged and confidential.
Therefore, if this message has been received in error, please delete it
without reading it. Your receipt of this message is not intended to
waive any applicable privilege. Please do not disseminate this message
without the permission of the author.

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Joda-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/joda-interest
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: @XmlElement

jodastephen
I've never used JAXB myself, nor have I heard of anyone doing an
integration library, so that blog post is probably the state of the
art.

Stephen


On 26 September 2011 21:06, Mark Carroll <[hidden email]> wrote:

> I was converting some code to use a DateTime instead of a Date and a
> property has an @XmlElement annotation. Having apparently stumbled on to
> a web service, some Googling eventually found me
> http://blog.bdoughan.com/2011/05/jaxb-and-joda-time-dates-and-times.html
>
> Is that kind of thing presently the recommended approach? Is there some
> semi-standard library we should be using or should I just roll my own
> marshaller?
>
> Mark
>
> --
> Mark Carroll
> Software Engineer
> [hidden email]
> http://www.vecna.com/
>
> Cambridge Research Laboratory
> Vecna Technologies, Inc.
> 36 Cambridge Park Drive
> Cambridge, MA 02140
> Phone: (617) 864-0636
> Fax: (617) 864-0638
>
> Better Technology, Better World (TM)
>
> The contents of this message may be privileged and confidential.
> Therefore, if this message has been received in error, please delete it
> without reading it. Your receipt of this message is not intended to
> waive any applicable privilege. Please do not disseminate this message
> without the permission of the author.
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2dcopy1
> _______________________________________________
> Joda-interest mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/joda-interest
>

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Joda-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/joda-interest
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: @XmlElement

Perfect, Richard
The blog post covers the basics. If you don't control the Web Service
and so can't add your annotations then there's a technique where you use
"xjb" to modify the generated source that you create using wsimport.

One issue you will typically find is that there isn't really a
"standard" when it comes to webservices - every webservice seems to be
ever so slightly different to each other. Date Times with or without
time and time zone is often a point of different despite the the
"standards".


---XeroCustomBindings.xjb
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
version="2.0" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">

        <!-- Using bindings
            xjc -classpath
/Users/rperfect/IdeaProjects/DataZime/XeroClient/build/classes -p
com.xero.domain -b XeroCustomBindings.xjb -d gen-src *.xsd
        -->
        <jaxb:globalBindings>
            <jaxb:javaType name="org.joda.time.DateTime"
xmlType="xs:date"
 
parseMethod="com.datazime.connector.xero.client.DateAdapter.parseDate"
 
printMethod="com.datazime.connector.xero.client.DateAdapter.printDate"
            />

            <jaxb:javaType name="org.joda.time.DateTime"
xmlType="xs:dateTime"
 
parseMethod="com.datazime.connector.xero.client.DateAdapter.parseDatetim
e"
 
printMethod="com.datazime.connector.xero.client.DateAdapter.printDatetim
e"
            />

            <xjc:simple />
        </jaxb:globalBindings>

</jaxb:bindings>


package com.datazime.connector.xero.client;


import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.joda.time.format.ISODateTimeFormat;

/**
 */
public class DateAdapter {

    private static final DateTimeFormatter XML_DATE_FORMAT =
ISODateTimeFormat.dateTimeNoMillis();
    private static final DateTimeFormatter XML_DATE_TIME_FORMAT =
ISODateTimeFormat.localDateOptionalTimeParser();

    private static final DateTimeFormatter DATE_PATTERN =
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSS");


    public static DateTime parseDatetime(String dateStr) {
        DateTime result = XML_DATE_TIME_FORMAT.parseDateTime(dateStr);
        return result;
    }

    public static String printDatetime(DateTime date) {
        String result = DATE_PATTERN.print(date);
        return result;
    }

    public static DateTime parseDate(String dateStr) {
        DateTime result = XML_DATE_FORMAT.parseDateTime(dateStr);
        return result;
    }

    public static String printDate(DateTime date) {
        String result = DATE_PATTERN.print(date);
        return result;
    }
}

 

-----Original Message-----
From: Stephen Colebourne [mailto:[hidden email]]
Sent: Tuesday, 27 September 2011 9:39 a.m.
To: Discussion of the Joda project
Subject: Re: [Joda-interest] @XmlElement

I've never used JAXB myself, nor have I heard of anyone doing an
integration library, so that blog post is probably the state of the art.

Stephen


On 26 September 2011 21:06, Mark Carroll <[hidden email]> wrote:
> I was converting some code to use a DateTime instead of a Date and a
> property has an @XmlElement annotation. Having apparently stumbled on
> to a web service, some Googling eventually found me
> http://blog.bdoughan.com/2011/05/jaxb-and-joda-time-dates-and-times.ht
> ml
>
> Is that kind of thing presently the recommended approach? Is there
> some semi-standard library we should be using or should I just roll my

> own marshaller?
>
> Mark
>
> --
> Mark Carroll
> Software Engineer
> [hidden email]
> http://www.vecna.com/
>
> Cambridge Research Laboratory
> Vecna Technologies, Inc.
> 36 Cambridge Park Drive
> Cambridge, MA 02140
> Phone: (617) 864-0636
> Fax: (617) 864-0638
>
> Better Technology, Better World (TM)
>
> The contents of this message may be privileged and confidential.
> Therefore, if this message has been received in error, please delete
> it without reading it. Your receipt of this message is not intended to

> waive any applicable privilege. Please do not disseminate this message

> without the permission of the author.
>
> ----------------------------------------------------------------------
> -------- All the data continuously generated in your IT infrastructure

> contains a definitive record of customers, application performance,
> security threats, fraudulent activity and more. Splunk takes this data

> and makes sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2dcopy1
> _______________________________________________
> Joda-interest mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/joda-interest
>

------------------------------------------------------------------------
------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Joda-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/joda-interest

"This e-mail and any attachments to it (the "Communication") is, unless otherwise stated, confidential,  may contain copyright material and is for the use only of the intended recipient. If you receive the Communication in error, please notify the sender immediately by return e-mail, delete the Communication and the return e-mail, and do not read, copy, retransmit or otherwise deal with it. Any views expressed in the Communication are those of the individual sender only, unless expressly stated to be those of Australia and New Zealand Banking Group Limited ABN 11 005 357 522, or any of its related entities including ANZ National Bank Limited (together "ANZ"). ANZ does not accept liability in connection with the integrity of or errors in the Communication, computer virus, data corruption, interference or delay arising from or in respect of the Communication."

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Joda-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/joda-interest
Loading...