You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by sgjava <sg...@gmail.com> on 2016/05/24 18:32:09 UTC
JAX-RS return empty collection instead of null?
I have a requirement where I need to return an empty collection instead of
null for null collections using JAX-RS. Is there such a setting in TomEE 7
for Johnzon?
--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/JAX-RS-return-empty-collection-instead-of-null-tp4678582.html
Sent from the TomEE Users mailing list archive at Nabble.com.
Re: JAX-RS return empty collection instead of null?
Posted by Steve Goldsmith <sg...@gmail.com>.
Yea, I use jaxb-basics and it generates nillable = true, but I'm not sure
what settings to use for null == empty collection.
On Tue, May 24, 2016 at 4:47 PM, Romain Manni-Bucau <rm...@gmail.com>
wrote:
> Maybe through jaxb customizations or using jaxb mvn plugin once you
> downloaded xsd.
> Le 24 mai 2016 22:09, "Steve Goldsmith" <sg...@gmail.com> a écrit :
>
> > Hmmm, looks like JAX-WS returns null by default. I use jaxws-maven-plugin
> > to generate the artifacts, but I didn't see an xjc setting for
> >
> > @XmlElementWrapper(nillable = true, name = "return")
> >
> >
> > On Tue, May 24, 2016 at 3:49 PM, Romain Manni-Bucau <
> rmannibucau@gmail.com
> > >
> > wrote:
> >
> > > So https://issues.apache.org/jira/browse/CXF-2978 ?
> > > Le 24 mai 2016 21:25, "Steve Goldsmith" <sg...@gmail.com> a écrit :
> > >
> > > > It's actually a JAX-WS embedded object like:
> > > >
> > > > public class RecordedEvents
> > > > implements Serializable, Cloneable, CopyTo, Equals, HashCode,
> > > ToString
> > > > {
> > > >
> > > > protected short returnedEventCount;
> > > > @XmlElement(nillable = true)
> > > > protected List<RecordedEventWrapper> returnedEvents;
> > > >
> > > > public List<RecordedEventWrapper> getReturnedEvents() {
> > > > if (returnedEvents == null) {
> > > > returnedEvents = new ArrayList<RecordedEventWrapper>();
> > > > }
> > > > return this.returnedEvents;
> > > > }
> > > >
> > > > public void setReturnedEvents(List<RecordedEventWrapper> value) {
> > > > this.returnedEvents = null;
> > > > List<RecordedEventWrapper> draftl = this.getReturnedEvents();
> > > > draftl.addAll(value);
> > > > }
> > > >
> > > > Then the JAX-RS DTO has:
> > > >
> > > > private RecordedEvents recordedEvents;
> > > >
> > > > public RecordedEventsDto(final String customerGuid, final String
> > > masIp,
> > > > final Long maxAgeMs, final Long transId, final String
> > stbMac,
> > > > final Short startIndex, final Short maxEventCount) {
> > > > super(customerGuid, masIp, maxAgeMs, transId);
> > > > this.stbMac = stbMac;
> > > > this.startIndex = startIndex;
> > > > this.maxEventCount = maxEventCount;
> > > > // IPVS needs empty lists
> > > > recordedEvents = new RecordedEvents();
> > > > recordedEvents.setReturnedEvents(new ArrayList<>());
> > > > }
> > > >
> > > > So returnedEvents is initilized as an empty ArrayList, thus if I get
> a
> > > > failure I should ge an empty List, but I get null. So it's actually
> the
> > > > JAX-WS object demarshalling as null instead of empty.
> > > >
> > > >
> > > > On Tue, May 24, 2016 at 3:20 PM, Romain Manni-Bucau <
> > > rmannibucau@gmail.com
> > > > >
> > > > wrote:
> > > >
> > > > > Hi
> > > > >
> > > > > Johnzon shouldnt skip them by default. Do you return an empty
> > > array/list?
> > > > > Le 24 mai 2016 21:09, "sgjava" <sg...@gmail.com> a écrit :
> > > > >
> > > > > > I have a requirement where I need to return an empty collection
> > > instead
> > > > > of
> > > > > > null for null collections using JAX-RS. Is there such a setting
> in
> > > > TomEE
> > > > > 7
> > > > > > for Johnzon?
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > View this message in context:
> > > > > >
> > > > >
> > > >
> > >
> >
> http://tomee-openejb.979440.n4.nabble.com/JAX-RS-return-empty-collection-instead-of-null-tp4678582.html
> > > > > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Steven P. Goldsmith
> > > >
> > >
> >
> >
> >
> > --
> > Steven P. Goldsmith
> >
>
--
Steven P. Goldsmith
Re: JAX-RS return empty collection instead of null?
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Maybe through jaxb customizations or using jaxb mvn plugin once you
downloaded xsd.
Le 24 mai 2016 22:09, "Steve Goldsmith" <sg...@gmail.com> a écrit :
> Hmmm, looks like JAX-WS returns null by default. I use jaxws-maven-plugin
> to generate the artifacts, but I didn't see an xjc setting for
>
> @XmlElementWrapper(nillable = true, name = "return")
>
>
> On Tue, May 24, 2016 at 3:49 PM, Romain Manni-Bucau <rmannibucau@gmail.com
> >
> wrote:
>
> > So https://issues.apache.org/jira/browse/CXF-2978 ?
> > Le 24 mai 2016 21:25, "Steve Goldsmith" <sg...@gmail.com> a écrit :
> >
> > > It's actually a JAX-WS embedded object like:
> > >
> > > public class RecordedEvents
> > > implements Serializable, Cloneable, CopyTo, Equals, HashCode,
> > ToString
> > > {
> > >
> > > protected short returnedEventCount;
> > > @XmlElement(nillable = true)
> > > protected List<RecordedEventWrapper> returnedEvents;
> > >
> > > public List<RecordedEventWrapper> getReturnedEvents() {
> > > if (returnedEvents == null) {
> > > returnedEvents = new ArrayList<RecordedEventWrapper>();
> > > }
> > > return this.returnedEvents;
> > > }
> > >
> > > public void setReturnedEvents(List<RecordedEventWrapper> value) {
> > > this.returnedEvents = null;
> > > List<RecordedEventWrapper> draftl = this.getReturnedEvents();
> > > draftl.addAll(value);
> > > }
> > >
> > > Then the JAX-RS DTO has:
> > >
> > > private RecordedEvents recordedEvents;
> > >
> > > public RecordedEventsDto(final String customerGuid, final String
> > masIp,
> > > final Long maxAgeMs, final Long transId, final String
> stbMac,
> > > final Short startIndex, final Short maxEventCount) {
> > > super(customerGuid, masIp, maxAgeMs, transId);
> > > this.stbMac = stbMac;
> > > this.startIndex = startIndex;
> > > this.maxEventCount = maxEventCount;
> > > // IPVS needs empty lists
> > > recordedEvents = new RecordedEvents();
> > > recordedEvents.setReturnedEvents(new ArrayList<>());
> > > }
> > >
> > > So returnedEvents is initilized as an empty ArrayList, thus if I get a
> > > failure I should ge an empty List, but I get null. So it's actually the
> > > JAX-WS object demarshalling as null instead of empty.
> > >
> > >
> > > On Tue, May 24, 2016 at 3:20 PM, Romain Manni-Bucau <
> > rmannibucau@gmail.com
> > > >
> > > wrote:
> > >
> > > > Hi
> > > >
> > > > Johnzon shouldnt skip them by default. Do you return an empty
> > array/list?
> > > > Le 24 mai 2016 21:09, "sgjava" <sg...@gmail.com> a écrit :
> > > >
> > > > > I have a requirement where I need to return an empty collection
> > instead
> > > > of
> > > > > null for null collections using JAX-RS. Is there such a setting in
> > > TomEE
> > > > 7
> > > > > for Johnzon?
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > View this message in context:
> > > > >
> > > >
> > >
> >
> http://tomee-openejb.979440.n4.nabble.com/JAX-RS-return-empty-collection-instead-of-null-tp4678582.html
> > > > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Steven P. Goldsmith
> > >
> >
>
>
>
> --
> Steven P. Goldsmith
>
Re: JAX-RS return empty collection instead of null?
Posted by Steve Goldsmith <sg...@gmail.com>.
Hmmm, looks like JAX-WS returns null by default. I use jaxws-maven-plugin
to generate the artifacts, but I didn't see an xjc setting for
@XmlElementWrapper(nillable = true, name = "return")
On Tue, May 24, 2016 at 3:49 PM, Romain Manni-Bucau <rm...@gmail.com>
wrote:
> So https://issues.apache.org/jira/browse/CXF-2978 ?
> Le 24 mai 2016 21:25, "Steve Goldsmith" <sg...@gmail.com> a écrit :
>
> > It's actually a JAX-WS embedded object like:
> >
> > public class RecordedEvents
> > implements Serializable, Cloneable, CopyTo, Equals, HashCode,
> ToString
> > {
> >
> > protected short returnedEventCount;
> > @XmlElement(nillable = true)
> > protected List<RecordedEventWrapper> returnedEvents;
> >
> > public List<RecordedEventWrapper> getReturnedEvents() {
> > if (returnedEvents == null) {
> > returnedEvents = new ArrayList<RecordedEventWrapper>();
> > }
> > return this.returnedEvents;
> > }
> >
> > public void setReturnedEvents(List<RecordedEventWrapper> value) {
> > this.returnedEvents = null;
> > List<RecordedEventWrapper> draftl = this.getReturnedEvents();
> > draftl.addAll(value);
> > }
> >
> > Then the JAX-RS DTO has:
> >
> > private RecordedEvents recordedEvents;
> >
> > public RecordedEventsDto(final String customerGuid, final String
> masIp,
> > final Long maxAgeMs, final Long transId, final String stbMac,
> > final Short startIndex, final Short maxEventCount) {
> > super(customerGuid, masIp, maxAgeMs, transId);
> > this.stbMac = stbMac;
> > this.startIndex = startIndex;
> > this.maxEventCount = maxEventCount;
> > // IPVS needs empty lists
> > recordedEvents = new RecordedEvents();
> > recordedEvents.setReturnedEvents(new ArrayList<>());
> > }
> >
> > So returnedEvents is initilized as an empty ArrayList, thus if I get a
> > failure I should ge an empty List, but I get null. So it's actually the
> > JAX-WS object demarshalling as null instead of empty.
> >
> >
> > On Tue, May 24, 2016 at 3:20 PM, Romain Manni-Bucau <
> rmannibucau@gmail.com
> > >
> > wrote:
> >
> > > Hi
> > >
> > > Johnzon shouldnt skip them by default. Do you return an empty
> array/list?
> > > Le 24 mai 2016 21:09, "sgjava" <sg...@gmail.com> a écrit :
> > >
> > > > I have a requirement where I need to return an empty collection
> instead
> > > of
> > > > null for null collections using JAX-RS. Is there such a setting in
> > TomEE
> > > 7
> > > > for Johnzon?
> > > >
> > > >
> > > >
> > > > --
> > > > View this message in context:
> > > >
> > >
> >
> http://tomee-openejb.979440.n4.nabble.com/JAX-RS-return-empty-collection-instead-of-null-tp4678582.html
> > > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > > >
> > >
> >
> >
> >
> > --
> > Steven P. Goldsmith
> >
>
--
Steven P. Goldsmith
Re: JAX-RS return empty collection instead of null?
Posted by Romain Manni-Bucau <rm...@gmail.com>.
So https://issues.apache.org/jira/browse/CXF-2978 ?
Le 24 mai 2016 21:25, "Steve Goldsmith" <sg...@gmail.com> a écrit :
> It's actually a JAX-WS embedded object like:
>
> public class RecordedEvents
> implements Serializable, Cloneable, CopyTo, Equals, HashCode, ToString
> {
>
> protected short returnedEventCount;
> @XmlElement(nillable = true)
> protected List<RecordedEventWrapper> returnedEvents;
>
> public List<RecordedEventWrapper> getReturnedEvents() {
> if (returnedEvents == null) {
> returnedEvents = new ArrayList<RecordedEventWrapper>();
> }
> return this.returnedEvents;
> }
>
> public void setReturnedEvents(List<RecordedEventWrapper> value) {
> this.returnedEvents = null;
> List<RecordedEventWrapper> draftl = this.getReturnedEvents();
> draftl.addAll(value);
> }
>
> Then the JAX-RS DTO has:
>
> private RecordedEvents recordedEvents;
>
> public RecordedEventsDto(final String customerGuid, final String masIp,
> final Long maxAgeMs, final Long transId, final String stbMac,
> final Short startIndex, final Short maxEventCount) {
> super(customerGuid, masIp, maxAgeMs, transId);
> this.stbMac = stbMac;
> this.startIndex = startIndex;
> this.maxEventCount = maxEventCount;
> // IPVS needs empty lists
> recordedEvents = new RecordedEvents();
> recordedEvents.setReturnedEvents(new ArrayList<>());
> }
>
> So returnedEvents is initilized as an empty ArrayList, thus if I get a
> failure I should ge an empty List, but I get null. So it's actually the
> JAX-WS object demarshalling as null instead of empty.
>
>
> On Tue, May 24, 2016 at 3:20 PM, Romain Manni-Bucau <rmannibucau@gmail.com
> >
> wrote:
>
> > Hi
> >
> > Johnzon shouldnt skip them by default. Do you return an empty array/list?
> > Le 24 mai 2016 21:09, "sgjava" <sg...@gmail.com> a écrit :
> >
> > > I have a requirement where I need to return an empty collection instead
> > of
> > > null for null collections using JAX-RS. Is there such a setting in
> TomEE
> > 7
> > > for Johnzon?
> > >
> > >
> > >
> > > --
> > > View this message in context:
> > >
> >
> http://tomee-openejb.979440.n4.nabble.com/JAX-RS-return-empty-collection-instead-of-null-tp4678582.html
> > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > >
> >
>
>
>
> --
> Steven P. Goldsmith
>
Re: JAX-RS return empty collection instead of null?
Posted by Steve Goldsmith <sg...@gmail.com>.
It's actually a JAX-WS embedded object like:
public class RecordedEvents
implements Serializable, Cloneable, CopyTo, Equals, HashCode, ToString
{
protected short returnedEventCount;
@XmlElement(nillable = true)
protected List<RecordedEventWrapper> returnedEvents;
public List<RecordedEventWrapper> getReturnedEvents() {
if (returnedEvents == null) {
returnedEvents = new ArrayList<RecordedEventWrapper>();
}
return this.returnedEvents;
}
public void setReturnedEvents(List<RecordedEventWrapper> value) {
this.returnedEvents = null;
List<RecordedEventWrapper> draftl = this.getReturnedEvents();
draftl.addAll(value);
}
Then the JAX-RS DTO has:
private RecordedEvents recordedEvents;
public RecordedEventsDto(final String customerGuid, final String masIp,
final Long maxAgeMs, final Long transId, final String stbMac,
final Short startIndex, final Short maxEventCount) {
super(customerGuid, masIp, maxAgeMs, transId);
this.stbMac = stbMac;
this.startIndex = startIndex;
this.maxEventCount = maxEventCount;
// IPVS needs empty lists
recordedEvents = new RecordedEvents();
recordedEvents.setReturnedEvents(new ArrayList<>());
}
So returnedEvents is initilized as an empty ArrayList, thus if I get a
failure I should ge an empty List, but I get null. So it's actually the
JAX-WS object demarshalling as null instead of empty.
On Tue, May 24, 2016 at 3:20 PM, Romain Manni-Bucau <rm...@gmail.com>
wrote:
> Hi
>
> Johnzon shouldnt skip them by default. Do you return an empty array/list?
> Le 24 mai 2016 21:09, "sgjava" <sg...@gmail.com> a écrit :
>
> > I have a requirement where I need to return an empty collection instead
> of
> > null for null collections using JAX-RS. Is there such a setting in TomEE
> 7
> > for Johnzon?
> >
> >
> >
> > --
> > View this message in context:
> >
> http://tomee-openejb.979440.n4.nabble.com/JAX-RS-return-empty-collection-instead-of-null-tp4678582.html
> > Sent from the TomEE Users mailing list archive at Nabble.com.
> >
>
--
Steven P. Goldsmith
Re: JAX-RS return empty collection instead of null?
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi
Johnzon shouldnt skip them by default. Do you return an empty array/list?
Le 24 mai 2016 21:09, "sgjava" <sg...@gmail.com> a écrit :
> I have a requirement where I need to return an empty collection instead of
> null for null collections using JAX-RS. Is there such a setting in TomEE 7
> for Johnzon?
>
>
>
> --
> View this message in context:
> http://tomee-openejb.979440.n4.nabble.com/JAX-RS-return-empty-collection-instead-of-null-tp4678582.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>