diff --git a/app/build.gradle b/app/build.gradle index e420075fe8261c532f13d004bd8e2407daa66efd..bcfa6ed90629bc43cd7c155f6626f2a2ae5181b5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,9 +29,7 @@ dependencies { compile 'com.squareup.picasso:picasso:2.5.2' //Apache 2.0 compile 'com.github.thorbenprimke:realm-recyclerview:0.9.5' //Apache 2.0 compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' //Apache 2.0 - compile ('com.squareup.retrofit:converter-simplexml:2.0.0-beta2') { - exclude group: 'xpp3', module: 'xpp3' - exclude group: 'stax', module: 'stax-api' - exclude group: 'stax', module: 'stax' + compile ('com.thoughtworks.xstream:xstream:1.4.7') { //BSD + exclude group: 'xmlpull' } } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java index cbc97e10d2cc4e1883c24eac73e62bda610c22a3..99824ffb9db3f44fb03ba9cd06176674809620e4 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/api/MagnatuneAlbumsConverter.java @@ -1,10 +1,12 @@ package com.magnatune.eyecreate.companionformagnatune.api; import com.magnatune.eyecreate.companionformagnatune.model.AlbumResponse; +import com.magnatune.eyecreate.companionformagnatune.model.xml.Album; +import com.magnatune.eyecreate.companionformagnatune.model.xml.Track; import com.squareup.okhttp.ResponseBody; - -import org.simpleframework.xml.Serializer; -import org.simpleframework.xml.core.Persister; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.basic.DateConverter; +import com.thoughtworks.xstream.io.xml.Xpp3Driver; import java.io.IOException; import java.util.zip.GZIPInputStream; @@ -15,10 +17,15 @@ public class MagnatuneAlbumsConverter implements Converter albums; } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java index d536f35dcfd98a6fe25e8577535a379407456f8e..42b0f6e1d9ec0c9063b8a8af628e7288cee24848 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java @@ -1,51 +1,50 @@ package com.magnatune.eyecreate.companionformagnatune.model.xml; -import org.simpleframework.xml.Element; -import org.simpleframework.xml.ElementList; -import org.simpleframework.xml.Root; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; +import com.thoughtworks.xstream.annotations.XStreamOmitField; import java.util.Date; import java.util.List; -@Root(name="Album",strict = false) +@XStreamAlias("Album") public class Album { - @Element + public String artist; - @Element + public String artistdesc; - @Element + public String cover_small; - @Element + public String artistphoto; - @Element + public String albumname; - @Element + public int year; - @Element(required = false) public String album_notes; - @Element + public String mp3genre; - @Element + public String home; - @Element + public String magnatunegenres; - @Element + public Date launchdate; - @Element + public String albumsku; - @ElementList(inline=true,type=Track.class) + @XStreamImplicit(itemFieldName = "Track") public List tracks; } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java index 5f0187302a6bc43133e5e52d8e67268cd44b4007..00e135e9d8f6f4355b39608b978769d58593aceb 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java @@ -1,49 +1,48 @@ package com.magnatune.eyecreate.companionformagnatune.model.xml; -import org.simpleframework.xml.Element; -import org.simpleframework.xml.Root; +import com.thoughtworks.xstream.annotations.XStreamAlias; -@Root(name="Track",strict = false) +@XStreamAlias("Track") public class Track { - @Element + public String artist; - @Element + public String artistbio; - @Element + public String albumname; - @Element + public String trackname; - @Element + public int tracknum; - @Element + public int year; - @Element + public String mp3genre; - @Element + public String magnatunegenres; - @Element + public String license; - @Element + public long seconds; - @Element + public String url; - @Element + public String mp3lofi; - @Element + public String oggurl; - @Element + public String isrc; }