diff options
author | Clyhtsuriva <aimeric@adjutor.xyz> | 2021-06-26 14:32:12 +0200 |
---|---|---|
committer | Clyhtsuriva <aimeric@adjutor.xyz> | 2021-06-26 14:32:12 +0200 |
commit | e9ee951e570c441151385d1ccd8c4230abf704ca (patch) | |
tree | a0c875335ce68efd4959ee031dfa8671c9eaa78a /target/site/jacoco/musichub.business/AudioElement.java.html | |
parent | a57fd29902578adf7238d71cf9bbd55408584557 (diff) |
Updated javadoc, added jacoco and the necessary JUnit for this feature.
Diffstat (limited to 'target/site/jacoco/musichub.business/AudioElement.java.html')
-rw-r--r-- | target/site/jacoco/musichub.business/AudioElement.java.html | 133 |
1 files changed, 133 insertions, 0 deletions
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> > <a href="index.source.html" class="el_package">musichub.business</a> > <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("title").item(0).getTextContent();</span> +<span class="nc" id="L43"> artist = xmlElement.getElementsByTagName("artist").item(0).getTextContent();</span> +<span class="nc" id="L44"> lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName("length").item(0).getTextContent());</span> +<span class="nc" id="L45"> content = xmlElement.getElementsByTagName("content").item(0).getTextContent();</span> +<span class="nc" id="L46"> String uuid = null;</span> + try { +<span class="nc" id="L48"> uuid = xmlElement.getElementsByTagName("UUID").item(0).getTextContent();</span> +<span class="nc" id="L49"> } catch (Exception ex) {</span> +<span class="nc" id="L50"> System.out.println("Empty element UUID, will create a new one");</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 "Title = " + this.title + ", Artist = " + this.artist + ", Length = " + this.lengthInSeconds + ", Content = " + this.content;</span> + } + + public void createXMLElement(Document document, Element parentElement) { +<span class="nc" id="L75"> Element nameElement = document.createElement("title");</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("artist");</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("length");</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("UUID");</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("content");</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 = "";</span> + +<span class="nc bnc" id="L108" title="All 2 branches missed."> while(!action.equals("Q")) {</span> +<span class="nc" id="L109"> System.out.println("P = Play \b S = Stop \b R = Reset \b Q = Quit");</span> +<span class="nc" id="L110"> System.out.println("Enter your choice");</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 "S" : clip.stop();</span> +<span class="nc" id="L116"> break;</span> +<span class="nc" id="L117"> case "P" : clip.start();</span> +<span class="nc" id="L118"> break;</span> +<span class="nc" id="L119"> case "R" : clip.setMicrosecondPosition(0);</span> +<span class="nc" id="L120"> break;</span> +<span class="nc" id="L121"> case "Q" : clip.stop();</span> +<span class="nc" id="L122"> break;</span> +<span class="nc" id="L123"> default : System.out.println("try again");</span> + } +<span class="nc" id="L125"> System.out.println("You stoped the Audio element");</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 |