From e9ee951e570c441151385d1ccd8c4230abf704ca Mon Sep 17 00:00:00 2001
From: Clyhtsuriva <aimeric@adjutor.xyz>
Date: Sat, 26 Jun 2021 14:32:12 +0200
Subject: Updated javadoc, added jacoco and the necessary JUnit for this
 feature.

---
 .../musichub.business/AudioElement.java.html       | 133 +++++++++++++++++++++
 1 file changed, 133 insertions(+)
 create mode 100644 target/site/jacoco/musichub.business/AudioElement.java.html

(limited to 'target/site/jacoco/musichub.business/AudioElement.java.html')

diff --git a/target/site/jacoco/musichub.business/AudioElement.java.html b/target/site/jacoco/musichub.business/AudioElement.java.html
new file mode 100644
index 0000000..4401836
--- /dev/null
+++ b/target/site/jacoco/musichub.business/AudioElement.java.html
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AudioElement.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">spoteezer</a> &gt; <a href="index.source.html" class="el_package">musichub.business</a> &gt; <span class="el_source">AudioElement.java</span></div><h1>AudioElement.java</h1><pre class="source lang-java linenums">package musichub.business;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Scanner;
+import java.util.UUID;
+
+import javax.sound.sampled.AudioInputStream;
+import javax.sound.sampled.AudioSystem;
+import javax.sound.sampled.Clip;
+import javax.sound.sampled.LineUnavailableException;
+import javax.sound.sampled.UnsupportedAudioFileException;
+
+public abstract class AudioElement {
+    protected String title;
+    protected String artist;
+    protected int lengthInSeconds;
+    protected UUID uuid;
+    protected String content;
+
+<span class="nc" id="L24">    public AudioElement(String title, String artist, int lengthInSeconds, String id, String content) {</span>
+<span class="nc" id="L25">        this.title = title;</span>
+<span class="nc" id="L26">        this.artist = artist;</span>
+<span class="nc" id="L27">        this.lengthInSeconds = lengthInSeconds;</span>
+<span class="nc" id="L28">        this.uuid = UUID.fromString(id);</span>
+<span class="nc" id="L29">        this.content = content;</span>
+<span class="nc" id="L30">    }</span>
+
+<span class="nc" id="L32">    public AudioElement(String title, String artist, int lengthInSeconds, String content) {</span>
+<span class="nc" id="L33">        this.title = title;</span>
+<span class="nc" id="L34">        this.artist = artist;</span>
+<span class="nc" id="L35">        this.lengthInSeconds = lengthInSeconds;</span>
+<span class="nc" id="L36">        this.content = content;</span>
+<span class="nc" id="L37">        this.uuid = UUID.randomUUID();</span>
+<span class="nc" id="L38">    }</span>
+
+<span class="nc" id="L40">    public AudioElement(Element xmlElement) {</span>
+        {
+<span class="nc" id="L42">            title = xmlElement.getElementsByTagName(&quot;title&quot;).item(0).getTextContent();</span>
+<span class="nc" id="L43">            artist = xmlElement.getElementsByTagName(&quot;artist&quot;).item(0).getTextContent();</span>
+<span class="nc" id="L44">            lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName(&quot;length&quot;).item(0).getTextContent());</span>
+<span class="nc" id="L45">            content = xmlElement.getElementsByTagName(&quot;content&quot;).item(0).getTextContent();</span>
+<span class="nc" id="L46">            String uuid = null;</span>
+            try {
+<span class="nc" id="L48">                uuid = xmlElement.getElementsByTagName(&quot;UUID&quot;).item(0).getTextContent();</span>
+<span class="nc" id="L49">            } catch (Exception ex) {</span>
+<span class="nc" id="L50">                System.out.println(&quot;Empty element UUID, will create a new one&quot;);</span>
+<span class="nc" id="L51">            }</span>
+<span class="nc bnc" id="L52" title="All 4 branches missed.">            if ((uuid == null) || (uuid.isEmpty()))</span>
+<span class="nc" id="L53">                this.uuid = UUID.randomUUID();</span>
+<span class="nc" id="L54">            else this.uuid = UUID.fromString(uuid);</span>
+        }
+<span class="nc" id="L56">    }</span>
+
+    public UUID getUUID() {
+<span class="nc" id="L59">        return this.uuid;</span>
+    }
+
+    public String getArtist() {
+<span class="nc" id="L63">        return this.artist;</span>
+    }
+
+    public String getTitle() {
+<span class="nc" id="L67">        return this.title;</span>
+    }
+
+    public String toString() {
+<span class="nc" id="L71">        return &quot;Title = &quot; + this.title + &quot;, Artist = &quot; + this.artist + &quot;, Length = &quot; + this.lengthInSeconds + &quot;, Content = &quot; + this.content;</span>
+    }
+
+    public void createXMLElement(Document document, Element parentElement) {
+<span class="nc" id="L75">        Element nameElement = document.createElement(&quot;title&quot;);</span>
+<span class="nc" id="L76">        nameElement.appendChild(document.createTextNode(title));</span>
+<span class="nc" id="L77">        parentElement.appendChild(nameElement);</span>
+
+<span class="nc" id="L79">        Element artistElement = document.createElement(&quot;artist&quot;);</span>
+<span class="nc" id="L80">        artistElement.appendChild(document.createTextNode(artist));</span>
+<span class="nc" id="L81">        parentElement.appendChild(artistElement);</span>
+
+<span class="nc" id="L83">        Element lengthElement = document.createElement(&quot;length&quot;);</span>
+<span class="nc" id="L84">        lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));</span>
+<span class="nc" id="L85">        parentElement.appendChild(lengthElement);</span>
+
+<span class="nc" id="L87">        Element UUIDElement = document.createElement(&quot;UUID&quot;);</span>
+<span class="nc" id="L88">        UUIDElement.appendChild(document.createTextNode(uuid.toString()));</span>
+<span class="nc" id="L89">        parentElement.appendChild(UUIDElement);</span>
+
+<span class="nc" id="L91">        Element contentElement = document.createElement(&quot;content&quot;);</span>
+<span class="nc" id="L92">        contentElement.appendChild(document.createTextNode(content));</span>
+<span class="nc" id="L93">        parentElement.appendChild(contentElement);</span>
+
+<span class="nc" id="L95">    }</span>
+    
+    public void manageAudioElement() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
+    	
+<span class="nc" id="L99">    	Scanner scanner = new Scanner(System.in); </span>
+    	
+<span class="nc" id="L101">    	File file = new File(this.content);</span>
+<span class="nc" id="L102">    	AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);</span>
+<span class="nc" id="L103">    	Clip clip = AudioSystem.getClip();</span>
+<span class="nc" id="L104">    	clip.open(audioStream);</span>
+    	
+<span class="nc" id="L106">    	String action = &quot;&quot;;</span>
+    			
+<span class="nc bnc" id="L108" title="All 2 branches missed.">    	while(!action.equals(&quot;Q&quot;)) {</span>
+<span class="nc" id="L109">    		System.out.println(&quot;P = Play \b S = Stop \b R = Reset \b Q = Quit&quot;);</span>
+<span class="nc" id="L110">    		System.out.println(&quot;Enter your choice&quot;);</span>
+<span class="nc" id="L111">    		action = scanner.next();</span>
+<span class="nc" id="L112">        	action = action.toUpperCase();</span>
+        	
+<span class="nc bnc" id="L114" title="All 5 branches missed.">        	switch(action) {</span>
+<span class="nc" id="L115">        		case &quot;S&quot; : clip.stop();</span>
+<span class="nc" id="L116">        		break;</span>
+<span class="nc" id="L117">        		case &quot;P&quot; : clip.start();</span>
+<span class="nc" id="L118">        		break;</span>
+<span class="nc" id="L119">        		case &quot;R&quot; : clip.setMicrosecondPosition(0);</span>
+<span class="nc" id="L120">        		break;</span>
+<span class="nc" id="L121">        		case &quot;Q&quot; : clip.stop();</span>
+<span class="nc" id="L122">        		break;</span>
+<span class="nc" id="L123">        		default : System.out.println(&quot;try again&quot;);</span>
+        	}
+<span class="nc" id="L125">        	System.out.println(&quot;You stoped the Audio element&quot;);</span>
+    	}
+    	
+<span class="nc" id="L128">    	clip.close();</span>
+    
+<span class="nc" id="L130">    }</span>
+
+}
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span></div></body></html>
\ No newline at end of file
-- 
cgit v1.2.3