aboutsummaryrefslogtreecommitdiff
path: root/src/musichub/business/Album.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/musichub/business/Album.java')
-rw-r--r--src/musichub/business/Album.java145
1 files changed, 0 insertions, 145 deletions
diff --git a/src/musichub/business/Album.java b/src/musichub/business/Album.java
deleted file mode 100644
index 01fd179..0000000
--- a/src/musichub/business/Album.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package musichub.business;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-
-public class Album {
- private final String title;
- private final int lengthInSeconds;
- private final UUID uuid;
- private String artist;
- private Date date;
- private ArrayList<UUID> songsUIDs;
-
- public Album(String title, String artist, int lengthInSeconds, String id, String date, ArrayList<UUID> songsUIDs) {
- this.title = title;
- this.artist = artist;
- this.lengthInSeconds = lengthInSeconds;
- this.uuid = UUID.fromString(id);
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- this.date = sdf.parse(date);
- } catch (ParseException ex) {
- ex.printStackTrace();
- }
- this.songsUIDs = songsUIDs;
- }
-
- public Album(String title, String artist, int lengthInSeconds, String date) {
- this.title = title;
- this.artist = artist;
- this.lengthInSeconds = lengthInSeconds;
- this.uuid = UUID.randomUUID();
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- this.date = sdf.parse(date);
- } catch (ParseException ex) {
- ex.printStackTrace();
- }
- this.songsUIDs = new ArrayList<>();
- }
-
- public Album(Element xmlElement) throws Exception {
- {
- this.title = xmlElement.getElementsByTagName("title").item(0).getTextContent();
- this.lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName("lengthInSeconds").item(0).getTextContent());
- String uuid = null;
- try {
- uuid = xmlElement.getElementsByTagName("UUID").item(0).getTextContent();
- } catch (Exception ex) {
- System.out.println("Empty album UUID, will create a new one");
- }
- if ((uuid == null) || (uuid.isEmpty()))
- this.uuid = UUID.randomUUID();
- else this.uuid = UUID.fromString(uuid);
-
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- this.date = sdf.parse(xmlElement.getElementsByTagName("date").item(0).getTextContent());
- //parse list of songs:
- Node songsElement = xmlElement.getElementsByTagName("songs").item(0);
- NodeList songUUIDNodes = songsElement.getChildNodes();
- if (songUUIDNodes == null) return;
-
- this.songsUIDs = new ArrayList<>();
-
- for (int i = 0; i < songUUIDNodes.getLength(); i++) {
- if (songUUIDNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {
- Element songElement = (Element) songUUIDNodes.item(i);
- if (songElement.getNodeName().equals("UUID")) {
- try {
- this.addSong(UUID.fromString(songElement.getTextContent()));
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- }
- }
- }
- }
-
-
- public void addSong(UUID song) {
- songsUIDs.add(song);
- }
-
-
- public List<UUID> getSongs() {
- return songsUIDs;
- }
-
- public ArrayList<UUID> getSongsRandomly() {
- ArrayList<UUID> shuffledSongs = songsUIDs;
- Collections.shuffle(shuffledSongs);
- return shuffledSongs;
- }
-
- public String getTitle() {
- return title;
- }
-
- public Date getDate() {
- return date;
- }
-
- public void createXMLElement(Document document, Element parentElement) {
- Element albumElement = document.createElement("album");
- parentElement.appendChild(albumElement);
-
- Element nameElement = document.createElement("title");
- nameElement.appendChild(document.createTextNode(title));
- albumElement.appendChild(nameElement);
-
- Element artistElement = document.createElement("artist");
- artistElement.appendChild(document.createTextNode(artist));
- albumElement.appendChild(artistElement);
-
- Element lengthElement = document.createElement("lengthInSeconds");
- lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));
- albumElement.appendChild(lengthElement);
-
- Element UUIDElement = document.createElement("UUID");
- UUIDElement.appendChild(document.createTextNode(uuid.toString()));
- albumElement.appendChild(UUIDElement);
-
- Element dateElement = document.createElement("date");
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- dateElement.appendChild(document.createTextNode(sdf.format(date)));
- albumElement.appendChild(dateElement);
-
- Element songsElement = document.createElement("songs");
- for (UUID currentUUID : this.songsUIDs) {
- Element songUUIDElement = document.createElement("UUID");
- songUUIDElement.appendChild(document.createTextNode(currentUUID.toString()));
- songsElement.appendChild(songUUIDElement);
- }
- albumElement.appendChild(songsElement);
-
- }
-} \ No newline at end of file