|
|
@ -9,14 +9,13 @@ import com.amihaiemil.eoyaml.Yaml; |
|
|
|
import com.amihaiemil.eoyaml.YamlMapping; |
|
|
|
import com.amihaiemil.eoyaml.YamlMapping; |
|
|
|
import com.amihaiemil.eoyaml.YamlSequence; |
|
|
|
import com.amihaiemil.eoyaml.YamlSequence; |
|
|
|
import com.amihaiemil.eoyaml.YamlSequenceBuilder; |
|
|
|
import com.amihaiemil.eoyaml.YamlSequenceBuilder; |
|
|
|
import java.io.File; |
|
|
|
import java.io.*; |
|
|
|
import java.io.FileInputStream; |
|
|
|
|
|
|
|
import java.io.FileNotFoundException; |
|
|
|
|
|
|
|
import java.io.InputStream; |
|
|
|
|
|
|
|
import java.net.MalformedURLException; |
|
|
|
import java.net.MalformedURLException; |
|
|
|
import java.net.URL; |
|
|
|
import java.net.URL; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import java.util.logging.Level; |
|
|
|
|
|
|
|
import java.util.logging.Logger; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* |
|
|
|
* |
|
|
@ -63,31 +62,39 @@ public class Track implements Comparable<Track> |
|
|
|
.add("url", url.toExternalForm()) |
|
|
|
.add("url", url.toExternalForm()) |
|
|
|
.add("location", location.getAbsolutePath()) |
|
|
|
.add("location", location.getAbsolutePath()) |
|
|
|
.add("num", Integer.toString(number)) |
|
|
|
.add("num", Integer.toString(number)) |
|
|
|
.add("formats", build.build()) |
|
|
|
// .add("formats", build.build())
|
|
|
|
|
|
|
|
.add("artist", artist) |
|
|
|
// .add("requestedBy", requestedBy)
|
|
|
|
// .add("requestedBy", requestedBy)
|
|
|
|
// .add("requestedIn", requestedIn)
|
|
|
|
// .add("requestedIn", requestedIn)
|
|
|
|
.add("kept", Boolean.toString(kept)) |
|
|
|
.add("kept", Boolean.toString(kept)) |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static Track fromYaml(YamlMapping map) throws MalformedURLException |
|
|
|
public static Track fromYaml(YamlMapping map) |
|
|
|
{ |
|
|
|
{ |
|
|
|
Track track = new Track(new URL(map.string("url")), null); |
|
|
|
try |
|
|
|
track.setArtist(map.string("artist")); |
|
|
|
{ |
|
|
|
track.setTitle(map.string("title")); |
|
|
|
Track track = new Track(new URL(map.string("url")), null); |
|
|
|
track.setLocation(new File(map.string("location"))); |
|
|
|
track.setArtist(map.string("artist")); |
|
|
|
track.setNumber(map.integer("num")); |
|
|
|
track.setTitle(map.string("title")); |
|
|
|
track.setKept(Boolean.parseBoolean(map.string("kept"))); |
|
|
|
track.setLocation(new File(map.string("location"))); |
|
|
|
|
|
|
|
track.setNumber(map.integer("num")); |
|
|
|
|
|
|
|
track.setKept(Boolean.parseBoolean(map.string("kept"))); |
|
|
|
// track.setRequestedBy(map.string("requestedBy"));
|
|
|
|
// track.setRequestedBy(map.string("requestedBy"));
|
|
|
|
// track.setRequestedIn(map.string("requestedIn"));
|
|
|
|
// track.setRequestedIn(map.string("requestedIn"));
|
|
|
|
|
|
|
|
|
|
|
|
List<Format> formats = new ArrayList<>(); |
|
|
|
// List<Format> formats = new ArrayList<>();
|
|
|
|
YamlSequence formatSeq = map.yamlSequence("formats"); |
|
|
|
// YamlSequence formatSeq = map.yamlSequence("formats");
|
|
|
|
for (int i = 0; i < formats.size(); i++) |
|
|
|
// for (int i = 0; i < formats.size(); i++)
|
|
|
|
formats.add(Format.fromYaml(formatSeq.yamlMapping(i))); |
|
|
|
// formats.add(Format.fromYaml(formatSeq.yamlMapping(i)));
|
|
|
|
track.setFormats(formats); |
|
|
|
// track.setFormats(formats);
|
|
|
|
|
|
|
|
|
|
|
|
return track; |
|
|
|
return track; |
|
|
|
|
|
|
|
} catch (MalformedURLException ex) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Logger.getLogger(Track.class.getName()).log(Level.SEVERE, null, ex); |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public boolean isDownloaded() |
|
|
|
public boolean isDownloaded() |
|
|
@ -152,6 +159,21 @@ public class Track implements Comparable<Track> |
|
|
|
this.inputStream = inputStream; |
|
|
|
this.inputStream = inputStream; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void clearInputStream() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (inputStream != null) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
try |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
inputStream.close(); |
|
|
|
|
|
|
|
} catch (IOException ex) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Logger.getLogger(Track.class.getName()).log(Level.SEVERE, null, ex); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
inputStream = null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void delete() |
|
|
|
void delete() |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (location != null) |
|
|
|
if (location != null) |
|
|
|