From 22d53407aa128c3e3019733ddcbd3bb6dd5541bf Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sun, 27 Jun 2021 22:24:26 +0200 Subject: mvn package --- target/site/jacoco/musichub.util/Policy.java.html | 132 ++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 target/site/jacoco/musichub.util/Policy.java.html (limited to 'target/site/jacoco/musichub.util/Policy.java.html') diff --git a/target/site/jacoco/musichub.util/Policy.java.html b/target/site/jacoco/musichub.util/Policy.java.html new file mode 100644 index 0000000..2eeb294 --- /dev/null +++ b/target/site/jacoco/musichub.util/Policy.java.html @@ -0,0 +1,132 @@ +Policy.java

Policy.java

package musichub.util;
+
+import java.util.Scanner;
+
+/**
+ * Class ...
+ *
+ * @author Anthony BOULANT
+ * @version 1.0
+ */
+
+public final class Policy {
+
+    /**
+     * Method that just throws an AssertionError if the class is called
+     *
+     * @throws AssertionError you can't instantiate this class
+     * @author Anthony BOULANT
+     */
+
+    public Policy() {
+        throw new AssertionError("You just can't instantiate this class.");
+    }
+
+    public static void showTerm() {
+
+        String termsAndConditions = "Terms and Conditions\n" +
+                "\n" +
+                "\n" +
+                "In using this website you are deemed to have read and agreed to the following terms and conditions:\n" +
+                "\n" +
+                "\n" +
+                "The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and any or all Agreements: \"Client\", “You” and “Your” refers to you, the person accessing this website and accepting the Company’s terms and conditions. \"The Company\", “Ourselves”, “We” and \"Us\", refers to our Company. “Party”, “Parties”, or “Us”, refers to both the Client and ourselves, or either the Client or ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner, whether by formal meetings of a fixed duration, or any other means, for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services/products, in accordance with and subject to, prevailing English Law. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same.\n" +
+                "\n" +
+                "\n" +
+                "Privacy Statement\n" +
+                "We are committed to protecting your privacy. Authorized employees within the company on a need to know basis only use any information collected from individual customers. We constantly review our systems and data to ensure the best possible service to our customers. Parliament has created specific offences for unauthorised actions against computer systems and data. We will investigate any such actions with a view to prosecuting and/or taking civil proceedings to recover damages against those responsible\n" +
+                "\n" +
+                "\n" +
+                "Confidentiality\n" +
+                "We are registered under the Data Protection Act 1998 and as such, any information concerning the Client and their respective Client Records may be passed to third parties. However, Client records are regarded as confidential and therefore will not be divulged to any third party, other than if legally required to do so to the appropriate authorities. Clients have the right to request sight of, and copies of any and all Client Records we keep, on the proviso that we are given reasonable notice of such a request. Clients are requested to retain copies of any literature issued in relation to the provision of our services. Where appropriate, we shall issue Client’s with appropriate written information, handouts or copies of records as part of an agreed contract, for the benefit of both parties.\n" +
+                "\n" +
+                "We will not sell, share, or rent your personal information to any third party or use your e-mail address for unsolicited mail. Any emails sent by this Company will only be in connection with the provision of agreed services and products.\n" +
+                "\n" +
+                "\n" +
+                "Disclaimer\n" +
+                "Exclusions and Limitations \n" +
+                "The information on this web site is provided on an \"as is\" basis. To the fullest extent permitted by law, this Company:\n" +
+                "\uF0A7\texcludes all representations and warranties relating to this website and its contents or which is or may be provided by any affiliates or any other third party, including in relation to any inaccuracies or omissions in this website and/or the Company’s literature; and \n" +
+                "\uF0A7\texcludes all liability for damages arising out of or in connection with your use of this website. This includes, without limitation, direct loss, loss of business or profits (whether or not the loss of such profits was foreseeable, arose in the normal course of things or you have advised this Company of the possibility of such potential loss), damage caused to your computer, computer software, systems and programs and the data thereon or any other direct or indirect, consequential and incidental damages. \n" +
+                "This Company does not however exclude liability for death or personal injury caused by its negligence. The above exclusions and limitations apply only to the extent permitted by law. None of your statutory rights as a consumer are affected. \n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "Cancellation Policy\n" +
+                "Minimum 24 hours’ notice of cancellation required. Notification for instance, in person, via email, mobile phone ‘text message’ and/or fax, or any other means will be accepted subject to confirmation in writing. We reserve the right to levy a £30 charge to cover any subsequent administrative expenses.\n" +
+                "\n" +
+                "\n" +
+                "Termination of Agreements and Refunds Policy\n" +
+                "Both the Client and we have the right to terminate any Services Agreement for any reason, including the ending of services that are already underway. No refunds shall be offered, where a Service is deemed to have begun and is, for all intents and purposes, underway. Any monies that have been paid to us which constitute payment in respect of the provision of unused Services, shall be refunded.\n" +
+                "\n" +
+                "\n" +
+                "Availability \n" +
+                "Unless otherwise stated, the services featured on this website are only available in France, or in relation to postings from France. All advertising is intended solely for the France market. You are solely responsible for evaluating the fitness for a particular purpose of any downloads, programs and text available through this site. Redistribution or republication of any part of this site or its content is prohibited, including such by framing or other similar or any other means, without the express written consent of the Company. The Company does not warrant that the service from this site will be uninterrupted, timely or error free, although it is provided to the best ability. By using this service you thereby indemnify this Company, its employees, agents and affiliates against any loss or damage, in whatever manner, howsoever caused.\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "Copyright Notice \n" +
+                "Copyright and other relevant intellectual property rights exists on all text relating to the Company’s services and the full content of this application. \n" +
+                "\n" +
+                "\n" +
+                "Communication\n" +
+                "We have several different e-mail addresses for different queries. These, & other contact information, can be found on our Contact Us link on our website or via Company literature or via the Company’s stated telephone, facsimile or mobile telephone numbers.\n" +
+                "\n" +
+                "\n" +
+                "Force Majeure\n" +
+                "Neither party shall be liable to the other for any failure to perform any obligation under any Agreement which is due to an event beyond the control of such party including but not limited to any Act of God, terrorism, war, Political insurgence, insurrection, riot, civil unrest, act of civil or military authority, uprising, earthquake, flood or any other natural or manmade eventuality outside of our control, which causes the termination of an agreement or contract entered into, nor which could have been reasonably foreseen. Any Party affected by such event shall forthwith inform the other Party of the same and shall use all reasonable endeavours to comply with the terms and conditions of any Agreement contained herein.\n" +
+                "\n" +
+                "\n" +
+                "Waiver\n" +
+                "Failure of either Party to insist upon strict performance of any provision of this or any Agreement or the failure of either Party to exercise any right or remedy to which it, he or they are entitled hereunder shall not constitute a waiver thereof and shall not cause a diminution of the obligations under this or any Agreement. No waiver of any of the provisions of this or any Agreement shall be effective unless it is expressly stated to be such and signed by both Parties.\n" +
+                "\n" +
+                "\n" +
+                "General\n" +
+                "The laws of France govern these terms and conditions. By accessing this application, you consent to these terms and conditions and to the exclusive jurisdiction of the English courts in all disputes arising out of such access. If any of these terms are deemed invalid or unenforceable for any reason (including, but not limited to the exclusions and limitations set out above), then the invalid or unenforceable provision will be severed from these terms and the remaining terms will continue to apply. Failure of the Company to enforce any of the provisions set out in these Terms and Conditions and any Agreement, or failure to exercise any option to terminate, shall not be construed as waiver of such provisions and shall not affect the validity of these Terms and Conditions or of any Agreement or any part thereof, or the right thereafter to enforce each and every provision. These Terms and Conditions shall not be amended, modified, varied or supplemented except in writing and signed by duly authorised representatives of the Company.\n" +
+                "\n" +
+                "\n" +
+                "Notification of Changes\n" +
+                "The Company reserves the right to change these conditions from time to time as it sees fit and your continued use of the site will signify your acceptance of any adjustment to these terms. If there are any changes to our privacy policy, we will announce that these changes have been made on our home page and on other key pages on our site. If there are any changes in how we use our site customers’ Personally Identifiable Information, notification by e-mail or postal mail will be made to those affected by this change. Any changes to our privacy policy will be posted on our web site 30 days prior to these changes taking place. You are therefore advised to re-read this statement on a regular basis\n" +
+                "\n" +
+                "\n" +
+                "These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected.    \n" +
+                "© Company Name 2021 All Rights Reserved\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n" +
+                "\n";
+
+        printAgreement();
+        Scanner scan = new Scanner(System.in);
+        String choice = scan.nextLine().toLowerCase();
+
+        while (!choice.equals("y")) {
+            switch (choice.charAt(0)) {
+                case 'n' -> System.exit(0);
+                case 'r' -> {
+                    System.out.println(termsAndConditions);
+                    printAgreement();
+                    choice = scan.nextLine().toLowerCase();
+                }
+                default -> {
+                    printAgreement();
+                    choice = scan.nextLine().toLowerCase();
+                }
+            }
+        }
+    }
+
+    private static void printAgreement() {
+        System.out.println("By using our app, do you accept our Terms and Conditions ?");
+        System.out.println("[YES : y    NO :  n    READ : r]");
+    }
+}
+
\ No newline at end of file -- cgit v1.2.3 From 49196ae84aea338dbc6cd10f4d135e4b717cdd1f Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Mon, 28 Jun 2021 23:38:36 +0200 Subject: Latest package, javadoc and jacoco --- log/spoteezer.log | 6 +- src/main/java/musichub/util/Policy.java | 50 +-- .../classes/musichub/business/AudioElement.class | Bin 5422 -> 5594 bytes target/classes/musichub/business/MusicHub.class | Bin 13297 -> 13299 bytes .../classes/musichub/business/SortByAuthor.class | Bin 901 -> 901 bytes target/classes/musichub/business/SortByDate.class | Bin 854 -> 854 bytes target/classes/musichub/business/SortByGenre.class | Bin 858 -> 858 bytes target/classes/musichub/main/Main.class | Bin 11373 -> 12193 bytes target/classes/musichub/util/Policy.class | Bin 10860 -> 2690 bytes target/jacoco.exec | Bin 45918 -> 107422 bytes target/maven-javadoc-plugin-stale-data.txt | 39 +- target/original-spoteezer-0.1.0.jar | Bin 39074 -> 36814 bytes target/site/apidocs/allclasses-index.html | 14 +- target/site/apidocs/allpackages-index.html | 4 +- target/site/apidocs/help-doc.html | 4 +- target/site/apidocs/index-all.html | 26 +- target/site/apidocs/index.html | 4 +- target/site/apidocs/member-search-index.js | 2 +- target/site/apidocs/musichub/business/Album.html | 4 +- .../site/apidocs/musichub/business/AudioBook.html | 4 +- .../apidocs/musichub/business/AudioElement.html | 4 +- .../site/apidocs/musichub/business/Category.html | 4 +- target/site/apidocs/musichub/business/Genre.html | 4 +- .../site/apidocs/musichub/business/Language.html | 4 +- .../site/apidocs/musichub/business/MusicHub.html | 63 ++- .../musichub/business/NoAlbumFoundException.html | 4 +- .../musichub/business/NoElementFoundException.html | 4 +- .../business/NoPlayListFoundException.html | 4 +- .../site/apidocs/musichub/business/PlayList.html | 4 +- target/site/apidocs/musichub/business/Song.html | 4 +- .../apidocs/musichub/business/class-use/Album.html | 4 +- .../musichub/business/class-use/AudioBook.html | 4 +- .../musichub/business/class-use/AudioElement.html | 9 +- .../musichub/business/class-use/Category.html | 4 +- .../apidocs/musichub/business/class-use/Genre.html | 4 +- .../musichub/business/class-use/Language.html | 4 +- .../musichub/business/class-use/MusicHub.html | 4 +- .../business/class-use/NoAlbumFoundException.html | 23 +- .../class-use/NoElementFoundException.html | 7 +- .../class-use/NoPlayListFoundException.html | 9 +- .../musichub/business/class-use/PlayList.html | 4 +- .../apidocs/musichub/business/class-use/Song.html | 4 +- .../apidocs/musichub/business/package-summary.html | 4 +- .../apidocs/musichub/business/package-tree.html | 4 +- .../apidocs/musichub/business/package-use.html | 17 +- target/site/apidocs/musichub/main/Main.html | 8 +- .../site/apidocs/musichub/main/class-use/Main.html | 4 +- .../apidocs/musichub/main/package-summary.html | 4 +- .../site/apidocs/musichub/main/package-tree.html | 4 +- target/site/apidocs/musichub/main/package-use.html | 4 +- target/site/apidocs/musichub/util/LogHandler.html | 4 +- .../site/apidocs/musichub/util/PathValidation.html | 4 +- target/site/apidocs/musichub/util/Policy.html | 183 ++++++++ target/site/apidocs/musichub/util/XMLHandler.html | 4 +- .../musichub/util/class-use/LogHandler.html | 4 +- .../musichub/util/class-use/PathValidation.html | 4 +- .../apidocs/musichub/util/class-use/Policy.html | 65 +++ .../musichub/util/class-use/XMLHandler.html | 4 +- .../apidocs/musichub/util/package-summary.html | 12 +- .../site/apidocs/musichub/util/package-tree.html | 5 +- target/site/apidocs/musichub/util/package-use.html | 4 +- target/site/apidocs/overview-summary.html | 4 +- target/site/apidocs/overview-tree.html | 5 +- target/site/apidocs/serialized-form.html | 4 +- target/site/apidocs/type-search-index.js | 2 +- target/site/jacoco/index.html | 2 +- target/site/jacoco/jacoco-sessions.html | 2 +- target/site/jacoco/jacoco.csv | 8 +- target/site/jacoco/jacoco.xml | 2 +- .../jacoco/musichub.business/AudioElement.html | 2 +- .../musichub.business/AudioElement.java.html | 162 +++---- target/site/jacoco/musichub.business/MusicHub.html | 2 +- .../jacoco/musichub.business/MusicHub.java.html | 482 +++++++++++---------- .../jacoco/musichub.business/SortByAuthor.html | 2 +- .../site/jacoco/musichub.business/SortByDate.html | 2 +- .../site/jacoco/musichub.business/SortByGenre.html | 2 +- target/site/jacoco/musichub.business/index.html | 2 +- .../jacoco/musichub.business/index.source.html | 2 +- target/site/jacoco/musichub.main/Main.html | 2 +- target/site/jacoco/musichub.main/Main.java.html | 429 +++++++++--------- target/site/jacoco/musichub.main/index.html | 2 +- target/site/jacoco/musichub.main/index.source.html | 2 +- target/site/jacoco/musichub.util/Policy.html | 2 +- target/site/jacoco/musichub.util/Policy.java.html | 143 ++---- target/site/jacoco/musichub.util/index.html | 2 +- target/site/jacoco/musichub.util/index.source.html | 2 +- target/spoteezer-0.1.0-shaded.jar | Bin 374992 -> 372732 bytes target/spoteezer-0.1.0.jar | Bin 374992 -> 372732 bytes .../TEST-musichub.business.CategoryTest.xml | 4 +- .../TEST-musichub.business.LanguageTest.xml | 4 +- .../TEST-musichub.business.PlayListTest.xml | 8 +- .../TEST-musichub.business.SongTest.xml | 10 +- .../TEST-musichub.util.LogHandlerTest.xml | 12 +- .../TEST-musichub.util.PathValidationTest.xml | 6 +- .../TEST-musichub.util.XMLHandlerTest.xml | 8 +- .../musichub.business.PlayListTest.txt | 2 +- .../musichub.business.SongTest.txt | 2 +- .../musichub.util.LogHandlerTest.txt | 2 +- .../musichub.util.PathValidationTest.txt | 2 +- .../musichub.util.XMLHandlerTest.txt | 2 +- 100 files changed, 1192 insertions(+), 819 deletions(-) create mode 100644 target/site/apidocs/musichub/util/Policy.html create mode 100644 target/site/apidocs/musichub/util/class-use/Policy.html (limited to 'target/site/jacoco/musichub.util/Policy.java.html') diff --git a/log/spoteezer.log b/log/spoteezer.log index 7904af2..51a5d09 100644 --- a/log/spoteezer.log +++ b/log/spoteezer.log @@ -41,4 +41,8 @@ [2021-06-28 20:32:31.447] INFO: Music stopped [2021-06-28 20:32:32.647] INFO: Music stopped [2021-06-28 20:32:43.836] INFO: Music started -[2021-06-28 20:32:52.768] INFO: Music stopped \ No newline at end of file +[2021-06-28 20:32:52.768] INFO: Music stopped +[2021-06-28 23:30:48.508] TEST: JUnit test +[2021-06-28 23:31:59.503] TEST: JUnit test +[2021-06-28 23:36:26.824] TEST: JUnit test +[2021-06-28 23:36:31.897] TEST: JUnit test \ No newline at end of file diff --git a/src/main/java/musichub/util/Policy.java b/src/main/java/musichub/util/Policy.java index ac067b4..01c7d20 100644 --- a/src/main/java/musichub/util/Policy.java +++ b/src/main/java/musichub/util/Policy.java @@ -32,58 +32,10 @@ public final class Policy { String termsAndConditions = """ Terms and Conditions - In using this website you are deemed to have read and agreed to the following terms and conditions: - - The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and any or all Agreements: "Client", “You” and “Your” refers to you, the person accessing this website and accepting the Company’s terms and conditions. "The Company", “Ourselves”, “We” and "Us", refers to our Company. “Party”, “Parties”, or “Us”, refers to both the Client and ourselves, or either the Client or ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner, whether by formal meetings of a fixed duration, or any other means, for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services/products, in accordance with and subject to, prevailing English Law. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same. - Privacy Statement We are committed to protecting your privacy. Authorized employees within the company on a need to know basis only use any information collected from individual customers. We constantly review our systems and data to ensure the best possible service to our customers. Parliament has created specific offences for unauthorised actions against computer systems and data. We will investigate any such actions with a view to prosecuting and/or taking civil proceedings to recover damages against those responsible - - Confidentiality - We are registered under the Data Protection Act 1998 and as such, any information concerning the Client and their respective Client Records may be passed to third parties. However, Client records are regarded as confidential and therefore will not be divulged to any third party, other than if legally required to do so to the appropriate authorities. Clients have the right to request sight of, and copies of any and all Client Records we keep, on the proviso that we are given reasonable notice of such a request. Clients are requested to retain copies of any literature issued in relation to the provision of our services. Where appropriate, we shall issue Client’s with appropriate written information, handouts or copies of records as part of an agreed contract, for the benefit of both parties. - - We will not sell, share, or rent your personal information to any third party or use your e-mail address for unsolicited mail. Any emails sent by this Company will only be in connection with the provision of agreed services and products. - - - Disclaimer - Exclusions and Limitations\s - The information on this web site is provided on an "as is" basis. To the fullest extent permitted by law, this Company: - \uF0A7\texcludes all representations and warranties relating to this website and its contents or which is or may be provided by any affiliates or any other third party, including in relation to any inaccuracies or omissions in this website and/or the Company’s literature; and\s - \uF0A7\texcludes all liability for damages arising out of or in connection with your use of this website. This includes, without limitation, direct loss, loss of business or profits (whether or not the loss of such profits was foreseeable, arose in the normal course of things or you have advised this Company of the possibility of such potential loss), damage caused to your computer, computer software, systems and programs and the data thereon or any other direct or indirect, consequential and incidental damages.\s - This Company does not however exclude liability for death or personal injury caused by its negligence. The above exclusions and limitations apply only to the extent permitted by law. None of your statutory rights as a consumer are affected.\s - - - - Cancellation Policy - Minimum 24 hours’ notice of cancellation required. Notification for instance, in person, via email, mobile phone ‘text message’ and/or fax, or any other means will be accepted subject to confirmation in writing. We reserve the right to levy a £30 charge to cover any subsequent administrative expenses. - - Termination of Agreements and Refunds Policy - Both the Client and we have the right to terminate any Services Agreement for any reason, including the ending of services that are already underway. No refunds shall be offered, where a Service is deemed to have begun and is, for all intents and purposes, underway. Any monies that have been paid to us which constitute payment in respect of the provision of unused Services, shall be refunded. - - Availability\s - Unless otherwise stated, the services featured on this website are only available in France, or in relation to postings from France. All advertising is intended solely for the France market. You are solely responsible for evaluating the fitness for a particular purpose of any downloads, programs and text available through this site. Redistribution or republication of any part of this site or its content is prohibited, including such by framing or other similar or any other means, without the express written consent of the Company. The Company does not warrant that the service from this site will be uninterrupted, timely or error free, although it is provided to the best ability. By using this service you thereby indemnify this Company, its employees, agents and affiliates against any loss or damage, in whatever manner, howsoever caused. - - - Copyright Notice\s - Copyright and other relevant intellectual property rights exists on all text relating to the Company’s services and the full content of this application.\s - - Communication - We have several different e-mail addresses for different queries. These, & other contact information, can be found on our Contact Us link on our website or via Company literature or via the Company’s stated telephone, facsimile or mobile telephone numbers. - - Force Majeure - Neither party shall be liable to the other for any failure to perform any obligation under any Agreement which is due to an event beyond the control of such party including but not limited to any Act of God, terrorism, war, Political insurgence, insurrection, riot, civil unrest, act of civil or military authority, uprising, earthquake, flood or any other natural or manmade eventuality outside of our control, which causes the termination of an agreement or contract entered into, nor which could have been reasonably foreseen. Any Party affected by such event shall forthwith inform the other Party of the same and shall use all reasonable endeavours to comply with the terms and conditions of any Agreement contained herein. - - Waiver - Failure of either Party to insist upon strict performance of any provision of this or any Agreement or the failure of either Party to exercise any right or remedy to which it, he or they are entitled hereunder shall not constitute a waiver thereof and shall not cause a diminution of the obligations under this or any Agreement. No waiver of any of the provisions of this or any Agreement shall be effective unless it is expressly stated to be such and signed by both Parties. - - General - The laws of France govern these terms and conditions. By accessing this application, you consent to these terms and conditions and to the exclusive jurisdiction of the English courts in all disputes arising out of such access. If any of these terms are deemed invalid or unenforceable for any reason (including, but not limited to the exclusions and limitations set out above), then the invalid or unenforceable provision will be severed from these terms and the remaining terms will continue to apply. Failure of the Company to enforce any of the provisions set out in these Terms and Conditions and any Agreement, or failure to exercise any option to terminate, shall not be construed as waiver of such provisions and shall not affect the validity of these Terms and Conditions or of any Agreement or any part thereof, or the right thereafter to enforce each and every provision. These Terms and Conditions shall not be amended, modified, varied or supplemented except in writing and signed by duly authorised representatives of the Company. - - Notification of Changes - The Company reserves the right to change these conditions from time to time as it sees fit and your continued use of the site will signify your acceptance of any adjustment to these terms. If there are any changes to our privacy policy, we will announce that these changes have been made on our home page and on other key pages on our site. If there are any changes in how we use our site customers’ Personally Identifiable Information, notification by e-mail or postal mail will be made to those affected by this change. Any changes to our privacy policy will be posted on our web site 30 days prior to these changes taking place. You are therefore advised to re-read this statement on a regular basis - - These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected. \s + These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected. s © Company Name 2021 All Rights Reserved """; diff --git a/target/classes/musichub/business/AudioElement.class b/target/classes/musichub/business/AudioElement.class index bb0f170..f46a913 100644 Binary files a/target/classes/musichub/business/AudioElement.class and b/target/classes/musichub/business/AudioElement.class differ diff --git a/target/classes/musichub/business/MusicHub.class b/target/classes/musichub/business/MusicHub.class index 42d7480..f3ea4cc 100644 Binary files a/target/classes/musichub/business/MusicHub.class and b/target/classes/musichub/business/MusicHub.class differ diff --git a/target/classes/musichub/business/SortByAuthor.class b/target/classes/musichub/business/SortByAuthor.class index e366c32..ac4474a 100644 Binary files a/target/classes/musichub/business/SortByAuthor.class and b/target/classes/musichub/business/SortByAuthor.class differ diff --git a/target/classes/musichub/business/SortByDate.class b/target/classes/musichub/business/SortByDate.class index 9d330cb..6892059 100644 Binary files a/target/classes/musichub/business/SortByDate.class and b/target/classes/musichub/business/SortByDate.class differ diff --git a/target/classes/musichub/business/SortByGenre.class b/target/classes/musichub/business/SortByGenre.class index 512232f..7cabb3e 100644 Binary files a/target/classes/musichub/business/SortByGenre.class and b/target/classes/musichub/business/SortByGenre.class differ diff --git a/target/classes/musichub/main/Main.class b/target/classes/musichub/main/Main.class index d1f8ea2..03d8fc5 100644 Binary files a/target/classes/musichub/main/Main.class and b/target/classes/musichub/main/Main.class differ diff --git a/target/classes/musichub/util/Policy.class b/target/classes/musichub/util/Policy.class index 4bf6b23..a8c66c4 100644 Binary files a/target/classes/musichub/util/Policy.class and b/target/classes/musichub/util/Policy.class differ diff --git a/target/jacoco.exec b/target/jacoco.exec index c71133e..34e3b31 100644 Binary files a/target/jacoco.exec and b/target/jacoco.exec differ diff --git a/target/maven-javadoc-plugin-stale-data.txt b/target/maven-javadoc-plugin-stale-data.txt index 7723699..54d0d1a 100644 --- a/target/maven-javadoc-plugin-stale-data.txt +++ b/target/maven-javadoc-plugin-stale-data.txt @@ -39,28 +39,29 @@ 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/main/Main.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/LogHandler.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/PathValidation.java' +'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/Policy.java' 'C:/Users/SoftA/Documents/spoteezer/src/main/java/musichub/util/XMLHandler.java' C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.0.2\junit-jupiter-api-5.0.2.jar = 1624015816799 C:\Users\SoftA\.m2\repository\org\opentest4j\opentest4j\1.0.0\opentest4j-1.0.0.jar = 1624015816785 C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-commons\1.0.2\junit-platform-commons-1.0.2.jar = 1624015816770 C:\Users\SoftA\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.0.2\junit-jupiter-engine-5.0.2.jar = 1624015816790 C:\Users\SoftA\.m2\repository\org\junit\platform\junit-platform-engine\1.0.2\junit-platform-engine-1.0.2.jar = 1624015816783 -C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624708123937 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624793029572 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624793029575 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624793029464 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624793029599 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624793029596 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624793029553 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624793029620 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624793029579 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624793029576 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624793029597 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624793029548 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624793029577 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624793029602 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624793029605 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624793029489 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624793029601 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624793029580 -C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624793029578 \ No newline at end of file +C:\Users\SoftA\Documents\spoteezer\src\main\java = 1624912572607 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allclasses-index.html = 1624916173953 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\allpackages-index.html = 1624916173955 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\element-list = 1624916173845 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\help-doc.html = 1624916173978 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index-all.html = 1624916173975 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\index.html = 1624916173935 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\jquery-ui.overrides.css = 1624916173996 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\member-search-index.js = 1624916173958 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\module-search-index.js = 1624916173956 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-summary.html = 1624916173975 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\overview-tree.html = 1624916173932 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\package-search-index.js = 1624916173957 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\script.js = 1624916173981 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\search.js = 1624916173983 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\serialized-form.html = 1624916173866 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\stylesheet.css = 1624916173979 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\tag-search-index.js = 1624916173959 +C:\Users\SoftA\Documents\spoteezer\target\site\apidocs\type-search-index.js = 1624916173957 \ No newline at end of file diff --git a/target/original-spoteezer-0.1.0.jar b/target/original-spoteezer-0.1.0.jar index dee388f..96eb4fb 100644 Binary files a/target/original-spoteezer-0.1.0.jar and b/target/original-spoteezer-0.1.0.jar differ diff --git a/target/site/apidocs/allclasses-index.html b/target/site/apidocs/allclasses-index.html index f526bdf..46cc044 100644 --- a/target/site/apidocs/allclasses-index.html +++ b/target/site/apidocs/allclasses-index.html @@ -2,11 +2,11 @@ - + All Classes (spoteezer 0.1.0 API) - + @@ -96,10 +96,14 @@ loadScripts(document, 'script');
 
- -
 
- + +
+
Class offering methods to prompt a policy agreement form to the user.
+
+
 
+ +
 
diff --git a/target/site/apidocs/allpackages-index.html b/target/site/apidocs/allpackages-index.html index 76d905a..e7eec7c 100644 --- a/target/site/apidocs/allpackages-index.html +++ b/target/site/apidocs/allpackages-index.html @@ -2,11 +2,11 @@ - + All Packages (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/help-doc.html b/target/site/apidocs/help-doc.html index 98c4397..a2dc5e0 100644 --- a/target/site/apidocs/help-doc.html +++ b/target/site/apidocs/help-doc.html @@ -2,11 +2,11 @@ - + API Help (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/index-all.html b/target/site/apidocs/index-all.html index bb29e83..4154466 100644 --- a/target/site/apidocs/index-all.html +++ b/target/site/apidocs/index-all.html @@ -2,11 +2,11 @@ - + Index (spoteezer 0.1.0 API) - + @@ -182,6 +182,14 @@ loadScripts(document, 'script');
 
getLanguage() - Method in enum class musichub.business.Language
 
+
getPlayListSongs(String) - Method in class musichub.business.MusicHub
+
+
Method checking the songs contained in a chosen playlist and returning them if found.
+
+
getPlayListsTitles() - Method in class musichub.business.MusicHub
+
+
Method getting a list of playlists
+
getSongs() - Method in class musichub.business.Album
 
getSongsRandomly() - Method in class musichub.business.Album
@@ -291,6 +299,14 @@ loadScripts(document, 'script');
 
PLAYLISTS_FILE_PATH - Static variable in class musichub.business.MusicHub
 
+
Policy - Class in musichub.util
+
+
Class offering methods to prompt a policy agreement form to the user.
+
+
Policy() - Constructor for class musichub.util.Policy
+
+
Method that just throws an AssertionError if the class is called
+
POP - Enum constant in enum class musichub.business.Genre
 
@@ -313,12 +329,18 @@ loadScripts(document, 'script');
 
savePlayLists() - Method in class musichub.business.MusicHub
 
+
searchAudioElement() - Method in class musichub.business.MusicHub
+
 
setCategory(String) - Method in class musichub.business.AudioBook
 
setGenre(String) - Method in class musichub.business.Song
 
setLanguage(String) - Method in class musichub.business.AudioBook
 
+
showTerm() - Static method in class musichub.util.Policy
+
+
Method prompting the whole policy agreement process
+
Song - Class in musichub.business
 
Song(String, String, int, String, String) - Constructor for class musichub.business.Song
diff --git a/target/site/apidocs/index.html b/target/site/apidocs/index.html index e4f188e..4b86103 100644 --- a/target/site/apidocs/index.html +++ b/target/site/apidocs/index.html @@ -2,11 +2,11 @@ - + Overview (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/member-search-index.js b/target/site/apidocs/member-search-index.js index f583be9..3f8b8cd 100644 --- a/target/site/apidocs/member-search-index.js +++ b/target/site/apidocs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.util","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.util","c":"LogHandler","l":"LogHandler()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.util","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.util","c":"LogHandler","l":"read()"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"LogHandler","l":"write(String, String)","u":"write(java.lang.String,java.lang.String)"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"musichub.business","c":"MusicHub","l":"addAlbum(Album)","u":"addAlbum(musichub.business.Album)"},{"p":"musichub.business","c":"MusicHub","l":"addElement(AudioElement)","u":"addElement(musichub.business.AudioElement)"},{"p":"musichub.business","c":"PlayList","l":"addElement(UUID)","u":"addElement(java.util.UUID)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToAlbum(String, String)","u":"addElementToAlbum(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addElementToPlayList(String, String)","u":"addElementToPlayList(java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"addPlaylist(PlayList)","u":"addPlaylist(musichub.business.PlayList)"},{"p":"musichub.business","c":"Album","l":"addSong(UUID)","u":"addSong(java.util.UUID)"},{"p":"musichub.business","c":"Album","l":"Album(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"Album","l":"Album(String, String, int, String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"ALBUMS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"albums()"},{"p":"musichub.business","c":"AudioElement","l":"artist"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"AudioBook(String, String, int, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"musichub.business","c":"AudioElement","l":"AudioElement(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"CLASSIC"},{"p":"musichub.business","c":"AudioElement","l":"content"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLDocument()"},{"p":"musichub.business","c":"Album","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioBook","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"AudioElement","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"createXMLElement(Document, Element)","u":"createXMLElement(org.w3c.dom.Document,org.w3c.dom.Element)"},{"p":"musichub.util","c":"XMLHandler","l":"createXMLFile(Document, String)","u":"createXMLFile(org.w3c.dom.Document,java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"deletePlayList(String)","u":"deletePlayList(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"DIR"},{"p":"musichub.business","c":"Category","l":"DOCUMENTARY"},{"p":"musichub.business","c":"MusicHub","l":"ELEMENTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"elements()"},{"p":"musichub.business","c":"Language","l":"ENGLISH"},{"p":"musichub.business","c":"Language","l":"FRENCH"},{"p":"musichub.business","c":"Language","l":"GERMAN"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongs(String)","u":"getAlbumSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumSongsSortedByGenre(String)","u":"getAlbumSongsSortedByGenre(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getAlbumsTitlesSortedByDate()"},{"p":"musichub.business","c":"AudioElement","l":"getArtist()"},{"p":"musichub.business","c":"MusicHub","l":"getAudiobooksTitlesSortedByAuthor()"},{"p":"musichub.business","c":"MusicHub","l":"getAudioElement(List, String)","u":"getAudioElement(java.util.List,java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"getCategory()"},{"p":"musichub.business","c":"Category","l":"getCategory()"},{"p":"musichub.business","c":"Album","l":"getDate()"},{"p":"musichub.business","c":"PlayList","l":"getElements()"},{"p":"musichub.business","c":"Genre","l":"getGenre()"},{"p":"musichub.business","c":"Song","l":"getGenre()"},{"p":"musichub.business","c":"AudioBook","l":"getLanguage()"},{"p":"musichub.business","c":"Language","l":"getLanguage()"},{"p":"musichub.business","c":"MusicHub","l":"getPlayListSongs(String)","u":"getPlayListSongs(java.lang.String)"},{"p":"musichub.business","c":"MusicHub","l":"getPlayListsTitles()"},{"p":"musichub.business","c":"Album","l":"getSongs()"},{"p":"musichub.business","c":"Album","l":"getSongsRandomly()"},{"p":"musichub.business","c":"Album","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getTitle()"},{"p":"musichub.business","c":"PlayList","l":"getTitle()"},{"p":"musichub.business","c":"AudioElement","l":"getUUID()"},{"p":"musichub.business","c":"Genre","l":"HIPHOP"},{"p":"musichub.util","c":"PathValidation","l":"isPathValid(String)","u":"isPathValid(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"ITALIAN"},{"p":"musichub.business","c":"Genre","l":"JAZZ"},{"p":"musichub.business","c":"AudioElement","l":"lengthInSeconds"},{"p":"musichub.util","c":"LogHandler","l":"LogHandler()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"musichub.main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"musichub.business","c":"AudioElement","l":"manageAudioElement()"},{"p":"musichub.business","c":"MusicHub","l":"MusicHub()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"NoAlbumFoundException","l":"NoAlbumFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoElementFoundException","l":"NoElementFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"NoPlayListFoundException","l":"NoPlayListFoundException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"NOVEL"},{"p":"musichub.util","c":"XMLHandler","l":"parseXMLFile(String)","u":"parseXMLFile(java.lang.String)"},{"p":"musichub.util","c":"PathValidation","l":"PathValidation()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"PlayList","l":"PlayList(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"musichub.business","c":"PlayList","l":"PlayList(String, String, ArrayList)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.ArrayList)"},{"p":"musichub.business","c":"MusicHub","l":"PLAYLISTS_FILE_PATH"},{"p":"musichub.business","c":"MusicHub","l":"playlists()"},{"p":"musichub.util","c":"Policy","l":"Policy()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Genre","l":"POP"},{"p":"musichub.business","c":"Genre","l":"RAP"},{"p":"musichub.util","c":"LogHandler","l":"read()"},{"p":"musichub.business","c":"Genre","l":"ROCK"},{"p":"musichub.business","c":"MusicHub","l":"saveAlbums()"},{"p":"musichub.business","c":"MusicHub","l":"saveElements()"},{"p":"musichub.business","c":"MusicHub","l":"savePlayLists()"},{"p":"musichub.business","c":"MusicHub","l":"searchAudioElement()"},{"p":"musichub.business","c":"AudioBook","l":"setCategory(String)","u":"setCategory(java.lang.String)"},{"p":"musichub.business","c":"Song","l":"setGenre(String)","u":"setGenre(java.lang.String)"},{"p":"musichub.business","c":"AudioBook","l":"setLanguage(String)","u":"setLanguage(java.lang.String)"},{"p":"musichub.util","c":"Policy","l":"showTerm()"},{"p":"musichub.business","c":"Song","l":"Song(Element)","u":"%3Cinit%3E(org.w3c.dom.Element)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Song","l":"Song(String, String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"musichub.business","c":"Language","l":"SPANISH"},{"p":"musichub.business","c":"Category","l":"SPEECH"},{"p":"musichub.business","c":"Category","l":"THEATER"},{"p":"musichub.business","c":"AudioElement","l":"title"},{"p":"musichub.business","c":"AudioBook","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"toString()"},{"p":"musichub.business","c":"Song","l":"toString()"},{"p":"musichub.business","c":"AudioElement","l":"uuid"},{"p":"musichub.business","c":"Category","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Genre","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Language","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"musichub.business","c":"Category","l":"values()"},{"p":"musichub.business","c":"Genre","l":"values()"},{"p":"musichub.business","c":"Language","l":"values()"},{"p":"musichub.util","c":"LogHandler","l":"write(String, String)","u":"write(java.lang.String,java.lang.String)"},{"p":"musichub.util","c":"XMLHandler","l":"XMLHandler()","u":"%3Cinit%3E()"},{"p":"musichub.business","c":"Category","l":"YOUTH"}];updateSearchResults(); \ No newline at end of file diff --git a/target/site/apidocs/musichub/business/Album.html b/target/site/apidocs/musichub/business/Album.html index 1218e4a..05e3672 100644 --- a/target/site/apidocs/musichub/business/Album.html +++ b/target/site/apidocs/musichub/business/Album.html @@ -2,11 +2,11 @@ - + Album (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/AudioBook.html b/target/site/apidocs/musichub/business/AudioBook.html index 2947784..90aca57 100644 --- a/target/site/apidocs/musichub/business/AudioBook.html +++ b/target/site/apidocs/musichub/business/AudioBook.html @@ -2,11 +2,11 @@ - + AudioBook (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/AudioElement.html b/target/site/apidocs/musichub/business/AudioElement.html index 952130b..fc48e95 100644 --- a/target/site/apidocs/musichub/business/AudioElement.html +++ b/target/site/apidocs/musichub/business/AudioElement.html @@ -2,11 +2,11 @@ - + AudioElement (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/Category.html b/target/site/apidocs/musichub/business/Category.html index efdb113..81893ae 100644 --- a/target/site/apidocs/musichub/business/Category.html +++ b/target/site/apidocs/musichub/business/Category.html @@ -2,11 +2,11 @@ - + Category (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/Genre.html b/target/site/apidocs/musichub/business/Genre.html index fb61007..47e52f0 100644 --- a/target/site/apidocs/musichub/business/Genre.html +++ b/target/site/apidocs/musichub/business/Genre.html @@ -2,11 +2,11 @@ - + Genre (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/Language.html b/target/site/apidocs/musichub/business/Language.html index de6d02c..9bf8df2 100644 --- a/target/site/apidocs/musichub/business/Language.html +++ b/target/site/apidocs/musichub/business/Language.html @@ -2,11 +2,11 @@ - + Language (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/MusicHub.html b/target/site/apidocs/musichub/business/MusicHub.html index c9aa14b..b8a7d99 100644 --- a/target/site/apidocs/musichub/business/MusicHub.html +++ b/target/site/apidocs/musichub/business/MusicHub.html @@ -2,11 +2,11 @@ - + MusicHub (spoteezer 0.1.0 API) - + @@ -175,6 +175,16 @@ loadScripts(document, 'script');
getAudioElement​(List<AudioElement> audios, String elementTitle)
 
+ +
getPlayListSongs​(String playListTitle)
+
+
Method checking the songs contained in a chosen playlist and returning them if found.
+
+ + +
+
Method getting a list of playlists
+
 
@@ -187,6 +197,9 @@ loadScripts(document, 'script');
void
 
+
void
+ +
 
@@ -395,6 +408,52 @@ loadScripts(document, 'script'); +
  • +
    +

    searchAudioElement

    + +
    +
    Throws:
    +
    UnsupportedAudioFileException
    +
    NoAlbumFoundException
    +
    LineUnavailableException
    +
    IOException
    +
    NoElementFoundException
    +
    +
    +
  • +
  • +
    +

    getPlayListsTitles

    +
    public String getPlayListsTitles()
    +
    Method getting a list of playlists
    +
    +
    Returns:
    +
    a list of playlist titles
    +
    +
    +
  • +
  • +
    +

    getPlayListSongs

    +
    public List<AudioElement> getPlayListSongs(String playListTitle) + throws NoPlayListFoundException
    +
    Method checking the songs contained in a chosen playlist and returning them if found.
    +
    +
    Parameters:
    +
    playListTitle - the title of a (chosen) playlist
    +
    Returns:
    +
    a list of songs from a playlist
    +
    Throws:
    +
    NoPlayListFoundException - if the chosen playlist doesn't exist
    +
    +
    +
  • diff --git a/target/site/apidocs/musichub/business/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/NoAlbumFoundException.html index 8cd2100..074411d 100644 --- a/target/site/apidocs/musichub/business/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/NoAlbumFoundException.html @@ -2,11 +2,11 @@ - + NoAlbumFoundException (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/NoElementFoundException.html b/target/site/apidocs/musichub/business/NoElementFoundException.html index 41fa7a8..59f09c8 100644 --- a/target/site/apidocs/musichub/business/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/NoElementFoundException.html @@ -2,11 +2,11 @@ - + NoElementFoundException (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/NoPlayListFoundException.html index 65ad902..c5cadd8 100644 --- a/target/site/apidocs/musichub/business/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/NoPlayListFoundException.html @@ -2,11 +2,11 @@ - + NoPlayListFoundException (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/PlayList.html b/target/site/apidocs/musichub/business/PlayList.html index a0bd02b..e61a1f5 100644 --- a/target/site/apidocs/musichub/business/PlayList.html +++ b/target/site/apidocs/musichub/business/PlayList.html @@ -2,11 +2,11 @@ - + PlayList (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/Song.html b/target/site/apidocs/musichub/business/Song.html index 2550898..25364f2 100644 --- a/target/site/apidocs/musichub/business/Song.html +++ b/target/site/apidocs/musichub/business/Song.html @@ -2,11 +2,11 @@ - + Song (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/Album.html b/target/site/apidocs/musichub/business/class-use/Album.html index 846ce1e..04fb824 100644 --- a/target/site/apidocs/musichub/business/class-use/Album.html +++ b/target/site/apidocs/musichub/business/class-use/Album.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.Album (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/AudioBook.html b/target/site/apidocs/musichub/business/class-use/AudioBook.html index ac2d207..4563de1 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioBook.html +++ b/target/site/apidocs/musichub/business/class-use/AudioBook.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.AudioBook (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/AudioElement.html b/target/site/apidocs/musichub/business/class-use/AudioElement.html index 6721959..a522d81 100644 --- a/target/site/apidocs/musichub/business/class-use/AudioElement.html +++ b/target/site/apidocs/musichub/business/class-use/AudioElement.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.AudioElement (spoteezer 0.1.0 API) - + @@ -89,6 +89,11 @@ loadScripts(document, 'script');
    MusicHub.getAlbumSongs​(String albumTitle)
     
    + +
    MusicHub.getPlayListSongs​(String playListTitle)
    +
    +
    Method checking the songs contained in a chosen playlist and returning them if found.
    +
    Methods in musichub.business with parameters of type AudioElement
    diff --git a/target/site/apidocs/musichub/business/class-use/Category.html b/target/site/apidocs/musichub/business/class-use/Category.html index bf72525..a505a01 100644 --- a/target/site/apidocs/musichub/business/class-use/Category.html +++ b/target/site/apidocs/musichub/business/class-use/Category.html @@ -2,11 +2,11 @@ - + Uses of Enum Class musichub.business.Category (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/Genre.html b/target/site/apidocs/musichub/business/class-use/Genre.html index 45e4285..3b28e4b 100644 --- a/target/site/apidocs/musichub/business/class-use/Genre.html +++ b/target/site/apidocs/musichub/business/class-use/Genre.html @@ -2,11 +2,11 @@ - + Uses of Enum Class musichub.business.Genre (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/Language.html b/target/site/apidocs/musichub/business/class-use/Language.html index 2641403..8eef0cd 100644 --- a/target/site/apidocs/musichub/business/class-use/Language.html +++ b/target/site/apidocs/musichub/business/class-use/Language.html @@ -2,11 +2,11 @@ - + Uses of Enum Class musichub.business.Language (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/MusicHub.html b/target/site/apidocs/musichub/business/class-use/MusicHub.html index 6001814..66f825c 100644 --- a/target/site/apidocs/musichub/business/class-use/MusicHub.html +++ b/target/site/apidocs/musichub/business/class-use/MusicHub.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.MusicHub (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html index ec4794b..4afe620 100644 --- a/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoAlbumFoundException.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.NoAlbumFoundException (spoteezer 0.1.0 API) - + @@ -60,6 +60,8 @@ loadScripts(document, 'script');
    Description
     
    + +
     
    + +
  • +
    +

    Uses of NoAlbumFoundException in musichub.main

    +
    Methods in musichub.main that throw NoAlbumFoundException
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    +
    Main.main​(String[] args)
    +
     
  • diff --git a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html index 438ea7e..5a15a6e 100644 --- a/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoElementFoundException.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.NoElementFoundException (spoteezer 0.1.0 API) - + @@ -79,6 +79,9 @@ loadScripts(document, 'script');
    MusicHub.addElementToPlayList​(String elementTitle, String playListTitle)
     
    +
    void
    + +
     
    diff --git a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html index fc2e2e3..074b203 100644 --- a/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html +++ b/target/site/apidocs/musichub/business/class-use/NoPlayListFoundException.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.NoPlayListFoundException (spoteezer 0.1.0 API) - + @@ -78,6 +78,11 @@ loadScripts(document, 'script');
    void
    MusicHub.deletePlayList​(String playListTitle)
     
    + +
    MusicHub.getPlayListSongs​(String playListTitle)
    +
    +
    Method checking the songs contained in a chosen playlist and returning them if found.
    +
    diff --git a/target/site/apidocs/musichub/business/class-use/PlayList.html b/target/site/apidocs/musichub/business/class-use/PlayList.html index bda55e0..d482eb3 100644 --- a/target/site/apidocs/musichub/business/class-use/PlayList.html +++ b/target/site/apidocs/musichub/business/class-use/PlayList.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.PlayList (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/class-use/Song.html b/target/site/apidocs/musichub/business/class-use/Song.html index 3325f6e..8989a96 100644 --- a/target/site/apidocs/musichub/business/class-use/Song.html +++ b/target/site/apidocs/musichub/business/class-use/Song.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.business.Song (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/package-summary.html b/target/site/apidocs/musichub/business/package-summary.html index 6091b4c..687fe85 100644 --- a/target/site/apidocs/musichub/business/package-summary.html +++ b/target/site/apidocs/musichub/business/package-summary.html @@ -2,11 +2,11 @@ - + musichub.business (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/package-tree.html b/target/site/apidocs/musichub/business/package-tree.html index 043e924..0577411 100644 --- a/target/site/apidocs/musichub/business/package-tree.html +++ b/target/site/apidocs/musichub/business/package-tree.html @@ -2,11 +2,11 @@ - + musichub.business Class Hierarchy (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/business/package-use.html b/target/site/apidocs/musichub/business/package-use.html index 9e21dc4..fb82b92 100644 --- a/target/site/apidocs/musichub/business/package-use.html +++ b/target/site/apidocs/musichub/business/package-use.html @@ -2,11 +2,11 @@ - + Uses of Package musichub.business (spoteezer 0.1.0 API) - + @@ -60,6 +60,8 @@ loadScripts(document, 'script');
    Description
     
    + +
     
      @@ -92,6 +94,17 @@ loadScripts(document, 'script');
    +
  • +
    +
    Classes in musichub.business used by musichub.main
    +
    +
    Class
    +
    Description
    + +
     
    +
    +
    +
  • diff --git a/target/site/apidocs/musichub/main/Main.html b/target/site/apidocs/musichub/main/Main.html index 689df96..8e747c6 100644 --- a/target/site/apidocs/musichub/main/Main.html +++ b/target/site/apidocs/musichub/main/Main.html @@ -2,11 +2,11 @@ - + Main (spoteezer 0.1.0 API) - + @@ -149,12 +149,14 @@ loadScripts(document, 'script');
    public static void main(String[] args) throws UnsupportedAudioFileException, IOException, -LineUnavailableException
    +LineUnavailableException, +NoAlbumFoundException
    Throws:
    UnsupportedAudioFileException
    IOException
    LineUnavailableException
    +
    NoAlbumFoundException
    diff --git a/target/site/apidocs/musichub/main/class-use/Main.html b/target/site/apidocs/musichub/main/class-use/Main.html index 3510a5a..135db94 100644 --- a/target/site/apidocs/musichub/main/class-use/Main.html +++ b/target/site/apidocs/musichub/main/class-use/Main.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.main.Main (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/main/package-summary.html b/target/site/apidocs/musichub/main/package-summary.html index 3173f29..3e7843a 100644 --- a/target/site/apidocs/musichub/main/package-summary.html +++ b/target/site/apidocs/musichub/main/package-summary.html @@ -2,11 +2,11 @@ - + musichub.main (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/main/package-tree.html b/target/site/apidocs/musichub/main/package-tree.html index 28af7d3..b315db7 100644 --- a/target/site/apidocs/musichub/main/package-tree.html +++ b/target/site/apidocs/musichub/main/package-tree.html @@ -2,11 +2,11 @@ - + musichub.main Class Hierarchy (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/main/package-use.html b/target/site/apidocs/musichub/main/package-use.html index 91940dd..e258c4a 100644 --- a/target/site/apidocs/musichub/main/package-use.html +++ b/target/site/apidocs/musichub/main/package-use.html @@ -2,11 +2,11 @@ - + Uses of Package musichub.main (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/util/LogHandler.html b/target/site/apidocs/musichub/util/LogHandler.html index ef83ebd..fce5e8d 100644 --- a/target/site/apidocs/musichub/util/LogHandler.html +++ b/target/site/apidocs/musichub/util/LogHandler.html @@ -2,11 +2,11 @@ - + LogHandler (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/util/PathValidation.html b/target/site/apidocs/musichub/util/PathValidation.html index fefddad..06d60fe 100644 --- a/target/site/apidocs/musichub/util/PathValidation.html +++ b/target/site/apidocs/musichub/util/PathValidation.html @@ -2,11 +2,11 @@ - + PathValidation (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/util/Policy.html b/target/site/apidocs/musichub/util/Policy.html new file mode 100644 index 0000000..4cb02cb --- /dev/null +++ b/target/site/apidocs/musichub/util/Policy.html @@ -0,0 +1,183 @@ + + + + + +Policy (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    Package musichub.util
    +

    Class Policy

    +
    +
    java.lang.Object +
    musichub.util.Policy
    +
    +
    +
    +
    public final class Policy +extends Object
    +
    Class offering methods to prompt a policy agreement form to the user.
    +
    +
    Version:
    +
    1.0
    +
    Author:
    +
    Anthony BOULANT
    +
    +
    +
    +
      + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Constructor
      +
      Description
      + +
      +
      Method that just throws an AssertionError if the class is called
      +
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      static void
      + +
      +
      Method prompting the whole policy agreement process
      +
      +
      +
      +
      +
      +

      Methods inherited from class java.lang.Object

      +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Policy

        +
        public Policy()
        +
        Method that just throws an AssertionError if the class is called
        +
        +
        Throws:
        +
        AssertionError - you can't instantiate this class
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        showTerm

        +
        public static void showTerm()
        +
        Method prompting the whole policy agreement process
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/target/site/apidocs/musichub/util/XMLHandler.html b/target/site/apidocs/musichub/util/XMLHandler.html index 7236da3..b2d5bac 100644 --- a/target/site/apidocs/musichub/util/XMLHandler.html +++ b/target/site/apidocs/musichub/util/XMLHandler.html @@ -2,11 +2,11 @@ - + XMLHandler (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/util/class-use/LogHandler.html b/target/site/apidocs/musichub/util/class-use/LogHandler.html index 990f0fd..506f390 100644 --- a/target/site/apidocs/musichub/util/class-use/LogHandler.html +++ b/target/site/apidocs/musichub/util/class-use/LogHandler.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.util.LogHandler (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/util/class-use/PathValidation.html b/target/site/apidocs/musichub/util/class-use/PathValidation.html index 220526c..e41b131 100644 --- a/target/site/apidocs/musichub/util/class-use/PathValidation.html +++ b/target/site/apidocs/musichub/util/class-use/PathValidation.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.util.PathValidation (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/util/class-use/Policy.html b/target/site/apidocs/musichub/util/class-use/Policy.html new file mode 100644 index 0000000..ea71f0b --- /dev/null +++ b/target/site/apidocs/musichub/util/class-use/Policy.html @@ -0,0 +1,65 @@ + + + + + +Uses of Class musichub.util.Policy (spoteezer 0.1.0 API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    musichub.util.Policy

    +
    +No usage of musichub.util.Policy
    +
    +
    + +
    +
    +
    + + diff --git a/target/site/apidocs/musichub/util/class-use/XMLHandler.html b/target/site/apidocs/musichub/util/class-use/XMLHandler.html index 7a70382..c373d88 100644 --- a/target/site/apidocs/musichub/util/class-use/XMLHandler.html +++ b/target/site/apidocs/musichub/util/class-use/XMLHandler.html @@ -2,11 +2,11 @@ - + Uses of Class musichub.util.XMLHandler (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/musichub/util/package-summary.html b/target/site/apidocs/musichub/util/package-summary.html index f86937c..90a4118 100644 --- a/target/site/apidocs/musichub/util/package-summary.html +++ b/target/site/apidocs/musichub/util/package-summary.html @@ -2,11 +2,11 @@ - + musichub.util (spoteezer 0.1.0 API) - + @@ -71,8 +71,12 @@ loadScripts(document, 'script');
    Class offering a path validation method.
    - -
     
    + +
    +
    Class offering methods to prompt a policy agreement form to the user.
    +
    + +
     
    diff --git a/target/site/apidocs/musichub/util/package-tree.html b/target/site/apidocs/musichub/util/package-tree.html index ffec452..3975c7d 100644 --- a/target/site/apidocs/musichub/util/package-tree.html +++ b/target/site/apidocs/musichub/util/package-tree.html @@ -2,11 +2,11 @@ - + musichub.util Class Hierarchy (spoteezer 0.1.0 API) - + @@ -65,6 +65,7 @@ loadScripts(document, 'script'); diff --git a/target/site/apidocs/musichub/util/package-use.html b/target/site/apidocs/musichub/util/package-use.html index 5b04593..29e9afd 100644 --- a/target/site/apidocs/musichub/util/package-use.html +++ b/target/site/apidocs/musichub/util/package-use.html @@ -2,11 +2,11 @@ - + Uses of Package musichub.util (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/overview-summary.html b/target/site/apidocs/overview-summary.html index 4cc33e6..e04109c 100644 --- a/target/site/apidocs/overview-summary.html +++ b/target/site/apidocs/overview-summary.html @@ -2,11 +2,11 @@ - + spoteezer 0.1.0 API - + diff --git a/target/site/apidocs/overview-tree.html b/target/site/apidocs/overview-tree.html index cdf90ae..fa638f1 100644 --- a/target/site/apidocs/overview-tree.html +++ b/target/site/apidocs/overview-tree.html @@ -2,11 +2,11 @@ - + Class Hierarchy (spoteezer 0.1.0 API) - + @@ -77,6 +77,7 @@ loadScripts(document, 'script');
  • musichub.business.MusicHub
  • musichub.util.PathValidation
  • musichub.business.PlayList
  • +
  • musichub.util.Policy
  • java.lang.Throwable (implements java.io.Serializable)
    • java.lang.Exception diff --git a/target/site/apidocs/serialized-form.html b/target/site/apidocs/serialized-form.html index 4f1d9d0..6403fa7 100644 --- a/target/site/apidocs/serialized-form.html +++ b/target/site/apidocs/serialized-form.html @@ -2,11 +2,11 @@ - + Serialized Form (spoteezer 0.1.0 API) - + diff --git a/target/site/apidocs/type-search-index.js b/target/site/apidocs/type-search-index.js index 26dac6f..65bf426 100644 --- a/target/site/apidocs/type-search-index.js +++ b/target/site/apidocs/type-search-index.js @@ -1 +1 @@ -typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.util","l":"LogHandler"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.util","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults(); \ No newline at end of file +typeSearchIndex = [{"p":"musichub.business","l":"Album"},{"l":"All Classes","u":"allclasses-index.html"},{"p":"musichub.business","l":"AudioBook"},{"p":"musichub.business","l":"AudioElement"},{"p":"musichub.business","l":"Category"},{"p":"musichub.business","l":"Genre"},{"p":"musichub.business","l":"Language"},{"p":"musichub.util","l":"LogHandler"},{"p":"musichub.main","l":"Main"},{"p":"musichub.business","l":"MusicHub"},{"p":"musichub.business","l":"NoAlbumFoundException"},{"p":"musichub.business","l":"NoElementFoundException"},{"p":"musichub.business","l":"NoPlayListFoundException"},{"p":"musichub.util","l":"PathValidation"},{"p":"musichub.business","l":"PlayList"},{"p":"musichub.util","l":"Policy"},{"p":"musichub.business","l":"Song"},{"p":"musichub.util","l":"XMLHandler"}];updateSearchResults(); \ No newline at end of file diff --git a/target/site/jacoco/index.html b/target/site/jacoco/index.html index b7992f7..dc1c55c 100644 --- a/target/site/jacoco/index.html +++ b/target/site/jacoco/index.html @@ -1 +1 @@ -spoteezer

      spoteezer

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total2 167 of 2 96927 %207 of 23010 %17722661279457971020
      musichub.business1 48365130 %1601910 %1401783735135182815
      musichub.main6250 %420 %31312152153311
      musichub.util5915171 %5444 %617246631214
      \ No newline at end of file +spoteezer

      spoteezer

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total2 376 of 3 17825 %223 of 2469 %18723667285459991020
      musichub.business1 58865129 %175199 %1491873935335384815
      musichub.main7220 %430 %32322512513311
      musichub.util6615169 %5444 %617287031214
      \ No newline at end of file diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html index 59fcb45..2e5066f 100644 --- a/target/site/jacoco/jacoco-sessions.html +++ b/target/site/jacoco/jacoco-sessions.html @@ -1 +1 @@ -Sessions

      Sessions

      This coverage report is based on execution data from the following sessions:

      SessionStart TimeDump Time
      DESKTOP-M4INQND-91a7872b27 juin 2021, 13:23:3927 juin 2021, 13:23:40
      DESKTOP-M4INQND-11e0a09627 juin 2021, 18:57:0227 juin 2021, 18:57:02
      DESKTOP-M4INQND-7357f01027 juin 2021, 22:23:2727 juin 2021, 22:23:27

      Execution data for the following classes is considered in this report:

      ClassId
      java.sql.Dated25610486aed3f31
      java.sql.Timestampb848522074600355
      musichub.business.AudioBookaaa13ef213e0885f
      musichub.business.AudioElement776d9bc5621fe50f
      musichub.business.Categoryf9388aaddff9a152
      musichub.business.CategoryTest8046f4a9dc44152c
      musichub.business.Genreb2fbdfedce493822
      musichub.business.Languaged39e77f1c1a0f641
      musichub.business.LanguageTestf53b266ad5abf5d4
      musichub.business.PlayList5513ec76de07c419
      musichub.business.PlayListTest7e7a002919fb95e1
      musichub.business.Song44a87f7f8335b156
      musichub.business.SongTest88f03b022c5c7270
      musichub.util.LogHandler09990b742e8d897c
      musichub.util.LogHandlerTest49f271871a8ef7bf
      musichub.util.PathValidation170ad3c706c07f6b
      musichub.util.PathValidationTest9eabcd97683d6e01
      musichub.util.XMLHandlerab2fa919a374fd87
      musichub.util.XMLHandlerTest4852491d32ffd349
      org.apache.maven.plugin.surefire.log.api.NullConsoleLogger80d79e52a7499259
      org.apache.maven.surefire.booter.AbstractPathConfiguration8182fa1396653f01
      org.apache.maven.surefire.booter.BaseProviderFactory82593383b8ea92d6
      org.apache.maven.surefire.booter.BiProperty4945e268841ae2cb
      org.apache.maven.surefire.booter.BooterDeserializer5e68b147d2c4b22f
      org.apache.maven.surefire.booter.ClassLoaderConfigurationdc8fd5c18ebb0e44
      org.apache.maven.surefire.booter.Classpath6f6b6469b9fdf4dd
      org.apache.maven.surefire.booter.ClasspathConfiguration4c7a5282c74ba3e2
      org.apache.maven.surefire.booter.Commandeb1b53eb8cbe7b47
      org.apache.maven.surefire.booter.CommandReader0c8d3ca700ec7199
      org.apache.maven.surefire.booter.CommandReader.1fbfebde20e2b504c
      org.apache.maven.surefire.booter.CommandReader.CommandRunnableee59ae4d74408619
      org.apache.maven.surefire.booter.DumpErrorSingletona3fa02cb87e0e12b
      org.apache.maven.surefire.booter.ForkedBootera5c33895f0d22838
      org.apache.maven.surefire.booter.ForkedBooter.1c87487d278c3ea96
      org.apache.maven.surefire.booter.ForkedBooter.231c66931520df8eb
      org.apache.maven.surefire.booter.ForkedBooter.395d48141fa4dd03d
      org.apache.maven.surefire.booter.ForkedBooter.424dcd1c5bcf0d850
      org.apache.maven.surefire.booter.ForkedBooter.5862846325c16cf76
      org.apache.maven.surefire.booter.ForkedBooter.6b3ab24d3791d84dd
      org.apache.maven.surefire.booter.ForkedBooter.7401437f62a3b16ff
      org.apache.maven.surefire.booter.ForkedBooter.PingScheduler04bf02021dfc5e9c
      org.apache.maven.surefire.booter.ForkingReporterFactory076a6c0176f6238b
      org.apache.maven.surefire.booter.ForkingRunListener92d4b034b32ca2c0
      org.apache.maven.surefire.booter.MasterProcessCommandda65de332c2de19d
      org.apache.maven.surefire.booter.PpidChecker71b8c658da2ea8d3
      org.apache.maven.surefire.booter.PpidChecker.268d262a2c2ad8f14
      org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer73f319c21fab7e7f
      org.apache.maven.surefire.booter.ProcessInfob5b56cd86f3f0b31
      org.apache.maven.surefire.booter.PropertiesWrapperae4bf137cc5290c1
      org.apache.maven.surefire.booter.ProviderConfigurationd19986536a351b50
      org.apache.maven.surefire.booter.Shutdownee9c65017e107986
      org.apache.maven.surefire.booter.StartupConfigurationa8cc10b01ed27439
      org.apache.maven.surefire.booter.SystemPropertyManagerf47497b1dde50d64
      org.apache.maven.surefire.booter.TypeEncodedValue5ea9766678ac06a2
      org.apache.maven.surefire.cli.CommandLineOption467fc7f51b73863b
      org.apache.maven.surefire.junitplatform.JUnitPlatformProvider89b934b90ec6eb01
      org.apache.maven.surefire.junitplatform.RunListenerAdapter02cb8e87a6db2057
      org.apache.maven.surefire.junitplatform.TestPlanScannerFilter622558f718a42827
      org.apache.maven.surefire.providerapi.AbstractProvider90f3b08fe8a1c87c
      org.apache.maven.surefire.report.ConsoleOutputCaptureb8ae904ed8536017
      org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStreamf912ea5d2dac308e
      org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream8d05eb67510fd586
      org.apache.maven.surefire.report.ReporterConfiguration4281487891f02f69
      org.apache.maven.surefire.report.SimpleReportEntryced572f24a462295
      org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils31aed2fcfab3e082
      org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter6d33fec8cb3374c0
      org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersiona8452005cb20bb7d
      org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils4f785afa8bb3a23f
      org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtilsaba69a973b7ba06a
      org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtilsd0156407bff7b695
      org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils483d14212b21a3ea
      org.apache.maven.surefire.suite.RunResultf5c7c53a954bcafa
      org.apache.maven.surefire.testset.DirectoryScannerParameters2b5eeacae469cd1d
      org.apache.maven.surefire.testset.IncludedExcludedPatternsf39908e3b64d7090
      org.apache.maven.surefire.testset.ResolvedTesta598483e424232d4
      org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher79be7f2fa77ad8d7
      org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher7c71374a51e8e61b
      org.apache.maven.surefire.testset.ResolvedTest.Type90e4214668937845
      org.apache.maven.surefire.testset.RunOrderParametersb4c06223c3099700
      org.apache.maven.surefire.testset.TestArtifactInfof703953620e80b33
      org.apache.maven.surefire.testset.TestListResolver7d372c99b98a147d
      org.apache.maven.surefire.testset.TestRequest0fa2c0cc34345df2
      org.apache.maven.surefire.util.CloseableIteratorcc15bdebae86d5d2
      org.apache.maven.surefire.util.DefaultRunOrderCalculator1aeecbcd3bf6e89b
      org.apache.maven.surefire.util.DefaultScanResult7fefafdf8c793c36
      org.apache.maven.surefire.util.ReflectionUtils8d5f4b05d6d77207
      org.apache.maven.surefire.util.RunOrderd2292a6beb4b6337
      org.apache.maven.surefire.util.TestsToRuna95363e4b4ba2069
      org.apache.maven.surefire.util.TestsToRun.ClassesIterator84a139c598502c0b
      org.apache.maven.surefire.util.internal.DaemonThreadFactory21a589f6dedb169c
      org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory682458ca85b067a3
      org.apache.maven.surefire.util.internal.DumpFileUtilsfff19f49be3d8149
      org.apache.maven.surefire.util.internal.ImmutableMap72bcae5e55b4fabb
      org.apache.maven.surefire.util.internal.ObjectUtils69a2a92649b44645
      org.apache.maven.surefire.util.internal.StringUtils3a7e4daf0a993e1e
      org.apache.maven.surefire.util.internal.StringUtils.EncodedArray477f1d94d78cb50b
      org.apiguardian.api.API.Status0341e8d99fc36573
      org.junit.jupiter.api.AssertEquals12bfbbf2e4327e63
      org.junit.jupiter.api.AssertFalse32fea5a28fb6a114
      org.junit.jupiter.api.AssertNotEqualsc7953c8abfcb95d0
      org.junit.jupiter.api.AssertNull85f4114f65559fbd
      org.junit.jupiter.api.AssertTrue612f68f7274dd69c
      org.junit.jupiter.api.AssertionUtilsda37ffd9f98016fd
      org.junit.jupiter.api.Assertions041279bcf2826fff
      org.junit.jupiter.api.TestInstance.Lifecycle0e93858cc703e9fc
      org.junit.jupiter.api.extension.ConditionEvaluationResult2f9dc9ea54b57975
      org.junit.jupiter.api.extension.ExtensionContext222e1fc44c4844aa
      org.junit.jupiter.engine.DiscoveryFilterApplierae96a3ff3c2e2bc4
      org.junit.jupiter.engine.JupiterTestEnginec74f725c8cb223be
      org.junit.jupiter.engine.descriptor.AbstractExtensionContext1f7ed0b87a9f2cca
      org.junit.jupiter.engine.descriptor.ClassExtensionContextb85422abe06bbadd
      org.junit.jupiter.engine.descriptor.ClassTestDescriptor61a635a4acc3ee31
      org.junit.jupiter.engine.descriptor.JupiterEngineDescriptord025635c09450d0d
      org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext7ae853fe3a80d83c
      org.junit.jupiter.engine.descriptor.JupiterTestDescriptor606e5ec97816bda5
      org.junit.jupiter.engine.descriptor.LifecycleMethodUtils19c9fba5accef0fa
      org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor65654838f58d8b44
      org.junit.jupiter.engine.descriptor.MethodExtensionContextc098f6d0bb344d56
      org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtilsc42bb138e6a06252
      org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor54eb6a19bd953962
      org.junit.jupiter.engine.discovery.AbstractMethodResolver3934f16bf877b9f5
      org.junit.jupiter.engine.discovery.DiscoverySelectorResolvera858789f976fefbc
      org.junit.jupiter.engine.discovery.JavaElementsResolver32e9ea682e77049d
      org.junit.jupiter.engine.discovery.MethodFinder5ea468d2eb528361
      org.junit.jupiter.engine.discovery.NestedTestsResolver9d92451ae793af41
      org.junit.jupiter.engine.discovery.TestContainerResolver7db010f5e9c7301d
      org.junit.jupiter.engine.discovery.TestFactoryMethodResolver59fd27320e375440
      org.junit.jupiter.engine.discovery.TestMethodResolver1417c6356fa4b27f
      org.junit.jupiter.engine.discovery.TestTemplateMethodResolver47563eb55cd35171
      org.junit.jupiter.engine.discovery.predicates.IsInnerClassf7d9846d00228720
      org.junit.jupiter.engine.discovery.predicates.IsNestedTestClasse47ff7cd33073803
      org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer0f8df015b2d5841a
      org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass839db992754219f6
      org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests5ab134cc6ef3a81f
      org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethoda2c68978bd6bfbc6
      org.junit.jupiter.engine.discovery.predicates.IsTestMethod8b244977e441886e
      org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod0baf1066bf0cbad7
      org.junit.jupiter.engine.discovery.predicates.IsTestableMethod59a0b58a40803fe2
      org.junit.jupiter.engine.execution.ConditionEvaluatorfba35d945644501d
      org.junit.jupiter.engine.execution.ExecutableInvokerd64b9ef7a154ea95
      org.junit.jupiter.engine.execution.ExtensionValuesStore2517eb7835ca6234
      org.junit.jupiter.engine.execution.JupiterEngineExecutionContext65be276e3a954a94
      org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builderdd69537274ccbffc
      org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State38616672a2502408
      org.junit.jupiter.engine.execution.ThrowableCollector92102b13561afdcf
      org.junit.jupiter.engine.extension.DisabledConditiona967493a244329fa
      org.junit.jupiter.engine.extension.ExtensionRegistry20b847fc63fd255b
      org.junit.jupiter.engine.extension.RepeatedTestExtension1b7914cc8cf83732
      org.junit.jupiter.engine.extension.TestInfoParameterResolver1b5b370a56807cae
      org.junit.jupiter.engine.extension.TestReporterParameterResolver839c7c31b3ec6390
      org.junit.platform.commons.logging.LoggerFactoryca4e1a8773fb9bed
      org.junit.platform.commons.logging.LoggerFactory.DelegatingLoggerfd74fe2bb4edddd0
      org.junit.platform.commons.util.AnnotationUtils32499b01efc144e8
      org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKeyf04082259bc4a6ab
      org.junit.platform.commons.util.ClassLoaderUtilsebded5f4ecebd9d8
      org.junit.platform.commons.util.ClassUtils4982a89773933a90
      org.junit.platform.commons.util.ClasspathScanner8425ab535628f6b9
      org.junit.platform.commons.util.CollectionUtils59532d0e14166bc8
      org.junit.platform.commons.util.Preconditionsf9207dc44e9d043d
      org.junit.platform.commons.util.ReflectionUtils4d39f1033ae8eb12
      org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalModeb267f8ac562d551e
      org.junit.platform.commons.util.StringUtils3441f99393e2406b
      org.junit.platform.engine.CompositeFilterd9d6482243cc9fa3
      org.junit.platform.engine.CompositeFilter.175dffc26c0811b9d
      org.junit.platform.engine.ExecutionRequested3835cc21e5a048
      org.junit.platform.engine.Filterf932423ccd3b54bf
      org.junit.platform.engine.FilterResultbf731bc7f64ce694
      org.junit.platform.engine.TestDescriptore9574ca206cded64
      org.junit.platform.engine.TestDescriptor.Typeeb97fc5a29f3ee3a
      org.junit.platform.engine.TestExecutionResultabbab174d32db912
      org.junit.platform.engine.TestExecutionResult.Statusda0473a55d05e891
      org.junit.platform.engine.UniqueIdd23a178963e86ca7
      org.junit.platform.engine.UniqueId.Segment54a2765f04c8cab7
      org.junit.platform.engine.UniqueIdFormatc860ade4b928ce32
      org.junit.platform.engine.discovery.ClassSelector228aa96d72021db2
      org.junit.platform.engine.discovery.DiscoverySelectors8fefc6f1651cc3bd
      org.junit.platform.engine.support.descriptor.AbstractTestDescriptor2bfbf25c43491443
      org.junit.platform.engine.support.descriptor.ClassSource9727c5551a632c40
      org.junit.platform.engine.support.descriptor.EngineDescriptorb7dbf6dfb794516c
      org.junit.platform.engine.support.descriptor.MethodSource0a1b0f0f95f17b77
      org.junit.platform.engine.support.filter.ClasspathScanningSupport8223a02c2b9d8c89
      org.junit.platform.engine.support.hierarchical.ExecutionTrackercbd37bfd76595d62
      org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine410766a2a07e44b1
      org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor7b43a475463d740e
      org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1197b854565198af0
      org.junit.platform.engine.support.hierarchical.Node8a5379bd364a5bf6
      org.junit.platform.engine.support.hierarchical.Node.SkipResultd4551dfb7a813206
      org.junit.platform.engine.support.hierarchical.SingleTestExecutord75bd01628eef7be
      org.junit.platform.launcher.TestIdentifier225bb434f8f223e2
      org.junit.platform.launcher.TestPlan9a2b71b572924cbc
      org.junit.platform.launcher.core.DefaultDiscoveryRequest7dda3ad9a0e6a666
      org.junit.platform.launcher.core.DefaultLauncher1a1f88af87dc6ec1
      org.junit.platform.launcher.core.ExecutionListenerAdapter52cf3c3c69d4dfba
      org.junit.platform.launcher.core.LauncherConfigurationParametersef55cacb5e47a902
      org.junit.platform.launcher.core.LauncherDiscoveryRequestBuildere78a71b91c159e69
      org.junit.platform.launcher.core.LauncherFactorye2bd67b8a72737b5
      org.junit.platform.launcher.core.Root32394ca895f9fb9a
      org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry7c054c4cf76cb0f6
      org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry2299bac1075a6bf3
      org.junit.platform.launcher.core.TestExecutionListenerRegistry190f4fb2b0ab865d
      org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener7538d2d860e1f9cb
      org.junit.platform.launcher.listeners.LegacyReportingUtilsf3c021e100a54063
      sun.nio.cs.ext.AbstractCharsetProvider9a72c9e39fdac365
      sun.nio.cs.ext.Big57f7799a4239d3d01
      sun.nio.cs.ext.EUC_CNdaed57327edf3023
      sun.nio.cs.ext.EUC_JPf0c718c92ac0cabc
      sun.nio.cs.ext.EUC_KR3d50c0e84dcd54e6
      sun.nio.cs.ext.EUC_TW4fbeba8ab3b0661e
      sun.nio.cs.ext.ExtendedCharsets7715d4380ab405a8
      sun.nio.cs.ext.IBM037b9b8c9ec2e056149
      sun.nio.cs.ext.IBM1047e368b4c70681ed2e
      sun.nio.cs.ext.IBM2777b5b55809ca60de9
      sun.nio.cs.ext.IBM278326393dad6851723
      sun.nio.cs.ext.IBM2809d9334ffd18e4e40
      sun.nio.cs.ext.IBM28401c4a83f23f1b53d
      sun.nio.cs.ext.IBM285be059d13431c468f
      sun.nio.cs.ext.IBM29709fd5ed2f7ce33cb
      sun.nio.cs.ext.IBM420dfa9e617bd0f689b
      sun.nio.cs.ext.IBM424edd26be1d2ed5a00
      sun.nio.cs.ext.IBM50058b3c90789d546a5
      sun.nio.cs.ext.IBM8604bc938afb837212f
      sun.nio.cs.ext.IBM870ad9dcff6cd8f8661
      sun.nio.cs.ext.IBM871ef144f207fc359f5
      sun.nio.cs.ext.IBM918a83d0db73f26c654
      sun.nio.cs.ext.ISO202292bf931cea04ba69
      sun.nio.cs.ext.ISO2022_JP4839eaacbb85c150
      sun.nio.cs.ext.ISO2022_KRe2e5b9cbb3d44823
      sun.nio.cs.ext.ISO_8859_11cb3ce4182f6717e0
      sun.nio.cs.ext.ISO_8859_3550e89cba9076937
      sun.nio.cs.ext.ISO_8859_67e467e744bd3ad13
      sun.nio.cs.ext.ISO_8859_8bb93af1e031c8697
      sun.nio.cs.ext.MacRoman7007321b9dd9c10d
      sun.text.resources.cldr.ext.FormatData_frcfe4ef8ff7428512
      sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo888d0e6a76acb845
      sun.util.resources.provider.LocaleDataProvider36ca29d59ab35e5c
      \ No newline at end of file +Sessions

      Sessions

      This coverage report is based on execution data from the following sessions:

      SessionStart TimeDump Time
      DESKTOP-M4INQND-91a7872b27 juin 2021, 13:23:3927 juin 2021, 13:23:40
      DESKTOP-M4INQND-11e0a09627 juin 2021, 18:57:0227 juin 2021, 18:57:02
      DESKTOP-M4INQND-7357f01027 juin 2021, 22:23:2727 juin 2021, 22:23:27
      DESKTOP-M4INQND-811f3cc528 juin 2021, 23:30:4728 juin 2021, 23:30:48
      DESKTOP-M4INQND-b70e956328 juin 2021, 23:31:5828 juin 2021, 23:31:59
      DESKTOP-M4INQND-a94600a728 juin 2021, 23:36:2628 juin 2021, 23:36:27
      DESKTOP-M4INQND-cbfb49a828 juin 2021, 23:36:3128 juin 2021, 23:36:32

      Execution data for the following classes is considered in this report:

      ClassId
      java.sql.Dated25610486aed3f31
      java.sql.Timestampb848522074600355
      musichub.business.AudioBookaaa13ef213e0885f
      musichub.business.AudioElementf7fee30268ca924b
      musichub.business.AudioElement776d9bc5621fe50f
      musichub.business.Categoryf9388aaddff9a152
      musichub.business.CategoryTest8046f4a9dc44152c
      musichub.business.Genreb2fbdfedce493822
      musichub.business.Languaged39e77f1c1a0f641
      musichub.business.LanguageTestf53b266ad5abf5d4
      musichub.business.PlayList5513ec76de07c419
      musichub.business.PlayListTest7e7a002919fb95e1
      musichub.business.Song44a87f7f8335b156
      musichub.business.SongTest88f03b022c5c7270
      musichub.util.LogHandler09990b742e8d897c
      musichub.util.LogHandlerTest49f271871a8ef7bf
      musichub.util.PathValidation170ad3c706c07f6b
      musichub.util.PathValidationTest9eabcd97683d6e01
      musichub.util.XMLHandlerab2fa919a374fd87
      musichub.util.XMLHandlerTest4852491d32ffd349
      org.apache.maven.plugin.surefire.log.api.NullConsoleLogger80d79e52a7499259
      org.apache.maven.surefire.booter.AbstractPathConfiguration8182fa1396653f01
      org.apache.maven.surefire.booter.BaseProviderFactory82593383b8ea92d6
      org.apache.maven.surefire.booter.BiProperty4945e268841ae2cb
      org.apache.maven.surefire.booter.BooterDeserializer5e68b147d2c4b22f
      org.apache.maven.surefire.booter.ClassLoaderConfigurationdc8fd5c18ebb0e44
      org.apache.maven.surefire.booter.Classpath6f6b6469b9fdf4dd
      org.apache.maven.surefire.booter.ClasspathConfiguration4c7a5282c74ba3e2
      org.apache.maven.surefire.booter.Commandeb1b53eb8cbe7b47
      org.apache.maven.surefire.booter.CommandReader0c8d3ca700ec7199
      org.apache.maven.surefire.booter.CommandReader.1fbfebde20e2b504c
      org.apache.maven.surefire.booter.CommandReader.CommandRunnableee59ae4d74408619
      org.apache.maven.surefire.booter.DumpErrorSingletona3fa02cb87e0e12b
      org.apache.maven.surefire.booter.ForkedBootera5c33895f0d22838
      org.apache.maven.surefire.booter.ForkedBooter.1c87487d278c3ea96
      org.apache.maven.surefire.booter.ForkedBooter.231c66931520df8eb
      org.apache.maven.surefire.booter.ForkedBooter.395d48141fa4dd03d
      org.apache.maven.surefire.booter.ForkedBooter.424dcd1c5bcf0d850
      org.apache.maven.surefire.booter.ForkedBooter.5862846325c16cf76
      org.apache.maven.surefire.booter.ForkedBooter.6b3ab24d3791d84dd
      org.apache.maven.surefire.booter.ForkedBooter.7401437f62a3b16ff
      org.apache.maven.surefire.booter.ForkedBooter.PingScheduler04bf02021dfc5e9c
      org.apache.maven.surefire.booter.ForkingReporterFactory076a6c0176f6238b
      org.apache.maven.surefire.booter.ForkingRunListener92d4b034b32ca2c0
      org.apache.maven.surefire.booter.MasterProcessCommandda65de332c2de19d
      org.apache.maven.surefire.booter.PpidChecker71b8c658da2ea8d3
      org.apache.maven.surefire.booter.PpidChecker.268d262a2c2ad8f14
      org.apache.maven.surefire.booter.PpidChecker.ProcessInfoConsumer73f319c21fab7e7f
      org.apache.maven.surefire.booter.ProcessInfob5b56cd86f3f0b31
      org.apache.maven.surefire.booter.PropertiesWrapperae4bf137cc5290c1
      org.apache.maven.surefire.booter.ProviderConfigurationd19986536a351b50
      org.apache.maven.surefire.booter.Shutdownee9c65017e107986
      org.apache.maven.surefire.booter.StartupConfigurationa8cc10b01ed27439
      org.apache.maven.surefire.booter.SystemPropertyManagerf47497b1dde50d64
      org.apache.maven.surefire.booter.TypeEncodedValue5ea9766678ac06a2
      org.apache.maven.surefire.cli.CommandLineOption467fc7f51b73863b
      org.apache.maven.surefire.junitplatform.JUnitPlatformProvider89b934b90ec6eb01
      org.apache.maven.surefire.junitplatform.RunListenerAdapter02cb8e87a6db2057
      org.apache.maven.surefire.junitplatform.TestPlanScannerFilter622558f718a42827
      org.apache.maven.surefire.providerapi.AbstractProvider90f3b08fe8a1c87c
      org.apache.maven.surefire.report.ConsoleOutputCaptureb8ae904ed8536017
      org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStreamf912ea5d2dac308e
      org.apache.maven.surefire.report.ConsoleOutputCapture.NullOutputStream8d05eb67510fd586
      org.apache.maven.surefire.report.ReporterConfiguration4281487891f02f69
      org.apache.maven.surefire.report.SimpleReportEntryced572f24a462295
      org.apache.maven.surefire.shade.org.apache.commons.io.IOUtils31aed2fcfab3e082
      org.apache.maven.surefire.shade.org.apache.commons.io.output.StringBuilderWriter6d33fec8cb3374c0
      org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersiona8452005cb20bb7d
      org.apache.maven.surefire.shade.org.apache.commons.lang3.StringUtils4f785afa8bb3a23f
      org.apache.maven.surefire.shade.org.apache.commons.lang3.SystemUtilsaba69a973b7ba06a
      org.apache.maven.surefire.shade.org.apache.commons.lang3.math.NumberUtilsd0156407bff7b695
      org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils483d14212b21a3ea
      org.apache.maven.surefire.suite.RunResultf5c7c53a954bcafa
      org.apache.maven.surefire.testset.DirectoryScannerParameters2b5eeacae469cd1d
      org.apache.maven.surefire.testset.IncludedExcludedPatternsf39908e3b64d7090
      org.apache.maven.surefire.testset.ResolvedTesta598483e424232d4
      org.apache.maven.surefire.testset.ResolvedTest.ClassMatcher79be7f2fa77ad8d7
      org.apache.maven.surefire.testset.ResolvedTest.MethodMatcher7c71374a51e8e61b
      org.apache.maven.surefire.testset.ResolvedTest.Type90e4214668937845
      org.apache.maven.surefire.testset.RunOrderParametersb4c06223c3099700
      org.apache.maven.surefire.testset.TestArtifactInfof703953620e80b33
      org.apache.maven.surefire.testset.TestListResolver7d372c99b98a147d
      org.apache.maven.surefire.testset.TestRequest0fa2c0cc34345df2
      org.apache.maven.surefire.util.CloseableIteratorcc15bdebae86d5d2
      org.apache.maven.surefire.util.DefaultRunOrderCalculator1aeecbcd3bf6e89b
      org.apache.maven.surefire.util.DefaultScanResult7fefafdf8c793c36
      org.apache.maven.surefire.util.ReflectionUtils8d5f4b05d6d77207
      org.apache.maven.surefire.util.RunOrderd2292a6beb4b6337
      org.apache.maven.surefire.util.TestsToRuna95363e4b4ba2069
      org.apache.maven.surefire.util.TestsToRun.ClassesIterator84a139c598502c0b
      org.apache.maven.surefire.util.internal.DaemonThreadFactory21a589f6dedb169c
      org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactory682458ca85b067a3
      org.apache.maven.surefire.util.internal.DumpFileUtilsfff19f49be3d8149
      org.apache.maven.surefire.util.internal.ImmutableMap72bcae5e55b4fabb
      org.apache.maven.surefire.util.internal.ObjectUtils69a2a92649b44645
      org.apache.maven.surefire.util.internal.StringUtils3a7e4daf0a993e1e
      org.apache.maven.surefire.util.internal.StringUtils.EncodedArray477f1d94d78cb50b
      org.apiguardian.api.API.Status0341e8d99fc36573
      org.junit.jupiter.api.AssertEquals12bfbbf2e4327e63
      org.junit.jupiter.api.AssertFalse32fea5a28fb6a114
      org.junit.jupiter.api.AssertNotEqualsc7953c8abfcb95d0
      org.junit.jupiter.api.AssertNull85f4114f65559fbd
      org.junit.jupiter.api.AssertTrue612f68f7274dd69c
      org.junit.jupiter.api.AssertionUtilsda37ffd9f98016fd
      org.junit.jupiter.api.Assertions041279bcf2826fff
      org.junit.jupiter.api.TestInstance.Lifecycle0e93858cc703e9fc
      org.junit.jupiter.api.extension.ConditionEvaluationResult2f9dc9ea54b57975
      org.junit.jupiter.api.extension.ExtensionContext222e1fc44c4844aa
      org.junit.jupiter.engine.DiscoveryFilterApplierae96a3ff3c2e2bc4
      org.junit.jupiter.engine.JupiterTestEnginec74f725c8cb223be
      org.junit.jupiter.engine.descriptor.AbstractExtensionContext1f7ed0b87a9f2cca
      org.junit.jupiter.engine.descriptor.ClassExtensionContextb85422abe06bbadd
      org.junit.jupiter.engine.descriptor.ClassTestDescriptor61a635a4acc3ee31
      org.junit.jupiter.engine.descriptor.JupiterEngineDescriptord025635c09450d0d
      org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext7ae853fe3a80d83c
      org.junit.jupiter.engine.descriptor.JupiterTestDescriptor606e5ec97816bda5
      org.junit.jupiter.engine.descriptor.LifecycleMethodUtils19c9fba5accef0fa
      org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor65654838f58d8b44
      org.junit.jupiter.engine.descriptor.MethodExtensionContextc098f6d0bb344d56
      org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtilsc42bb138e6a06252
      org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor54eb6a19bd953962
      org.junit.jupiter.engine.discovery.AbstractMethodResolver3934f16bf877b9f5
      org.junit.jupiter.engine.discovery.DiscoverySelectorResolvera858789f976fefbc
      org.junit.jupiter.engine.discovery.JavaElementsResolver32e9ea682e77049d
      org.junit.jupiter.engine.discovery.MethodFinder5ea468d2eb528361
      org.junit.jupiter.engine.discovery.NestedTestsResolver9d92451ae793af41
      org.junit.jupiter.engine.discovery.TestContainerResolver7db010f5e9c7301d
      org.junit.jupiter.engine.discovery.TestFactoryMethodResolver59fd27320e375440
      org.junit.jupiter.engine.discovery.TestMethodResolver1417c6356fa4b27f
      org.junit.jupiter.engine.discovery.TestTemplateMethodResolver47563eb55cd35171
      org.junit.jupiter.engine.discovery.predicates.IsInnerClassf7d9846d00228720
      org.junit.jupiter.engine.discovery.predicates.IsNestedTestClasse47ff7cd33073803
      org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer0f8df015b2d5841a
      org.junit.jupiter.engine.discovery.predicates.IsScannableTestClass839db992754219f6
      org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests5ab134cc6ef3a81f
      org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethoda2c68978bd6bfbc6
      org.junit.jupiter.engine.discovery.predicates.IsTestMethod8b244977e441886e
      org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod0baf1066bf0cbad7
      org.junit.jupiter.engine.discovery.predicates.IsTestableMethod59a0b58a40803fe2
      org.junit.jupiter.engine.execution.ConditionEvaluatorfba35d945644501d
      org.junit.jupiter.engine.execution.ExecutableInvokerd64b9ef7a154ea95
      org.junit.jupiter.engine.execution.ExtensionValuesStore2517eb7835ca6234
      org.junit.jupiter.engine.execution.JupiterEngineExecutionContext65be276e3a954a94
      org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builderdd69537274ccbffc
      org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State38616672a2502408
      org.junit.jupiter.engine.execution.ThrowableCollector92102b13561afdcf
      org.junit.jupiter.engine.extension.DisabledConditiona967493a244329fa
      org.junit.jupiter.engine.extension.ExtensionRegistry20b847fc63fd255b
      org.junit.jupiter.engine.extension.RepeatedTestExtension1b7914cc8cf83732
      org.junit.jupiter.engine.extension.TestInfoParameterResolver1b5b370a56807cae
      org.junit.jupiter.engine.extension.TestReporterParameterResolver839c7c31b3ec6390
      org.junit.platform.commons.logging.LoggerFactoryca4e1a8773fb9bed
      org.junit.platform.commons.logging.LoggerFactory.DelegatingLoggerfd74fe2bb4edddd0
      org.junit.platform.commons.util.AnnotationUtils32499b01efc144e8
      org.junit.platform.commons.util.AnnotationUtils.AnnotationCacheKeyf04082259bc4a6ab
      org.junit.platform.commons.util.ClassLoaderUtilsebded5f4ecebd9d8
      org.junit.platform.commons.util.ClassUtils4982a89773933a90
      org.junit.platform.commons.util.ClasspathScanner8425ab535628f6b9
      org.junit.platform.commons.util.CollectionUtils59532d0e14166bc8
      org.junit.platform.commons.util.Preconditionsf9207dc44e9d043d
      org.junit.platform.commons.util.ReflectionUtils4d39f1033ae8eb12
      org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalModeb267f8ac562d551e
      org.junit.platform.commons.util.StringUtils3441f99393e2406b
      org.junit.platform.engine.CompositeFilterd9d6482243cc9fa3
      org.junit.platform.engine.CompositeFilter.175dffc26c0811b9d
      org.junit.platform.engine.ExecutionRequested3835cc21e5a048
      org.junit.platform.engine.Filterf932423ccd3b54bf
      org.junit.platform.engine.FilterResultbf731bc7f64ce694
      org.junit.platform.engine.TestDescriptore9574ca206cded64
      org.junit.platform.engine.TestDescriptor.Typeeb97fc5a29f3ee3a
      org.junit.platform.engine.TestExecutionResultabbab174d32db912
      org.junit.platform.engine.TestExecutionResult.Statusda0473a55d05e891
      org.junit.platform.engine.UniqueIdd23a178963e86ca7
      org.junit.platform.engine.UniqueId.Segment54a2765f04c8cab7
      org.junit.platform.engine.UniqueIdFormatc860ade4b928ce32
      org.junit.platform.engine.discovery.ClassSelector228aa96d72021db2
      org.junit.platform.engine.discovery.DiscoverySelectors8fefc6f1651cc3bd
      org.junit.platform.engine.support.descriptor.AbstractTestDescriptor2bfbf25c43491443
      org.junit.platform.engine.support.descriptor.ClassSource9727c5551a632c40
      org.junit.platform.engine.support.descriptor.EngineDescriptorb7dbf6dfb794516c
      org.junit.platform.engine.support.descriptor.MethodSource0a1b0f0f95f17b77
      org.junit.platform.engine.support.filter.ClasspathScanningSupport8223a02c2b9d8c89
      org.junit.platform.engine.support.hierarchical.ExecutionTrackercbd37bfd76595d62
      org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine410766a2a07e44b1
      org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor7b43a475463d740e
      org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.1197b854565198af0
      org.junit.platform.engine.support.hierarchical.Node8a5379bd364a5bf6
      org.junit.platform.engine.support.hierarchical.Node.SkipResultd4551dfb7a813206
      org.junit.platform.engine.support.hierarchical.SingleTestExecutord75bd01628eef7be
      org.junit.platform.launcher.TestIdentifier225bb434f8f223e2
      org.junit.platform.launcher.TestPlan9a2b71b572924cbc
      org.junit.platform.launcher.core.DefaultDiscoveryRequest7dda3ad9a0e6a666
      org.junit.platform.launcher.core.DefaultLauncher1a1f88af87dc6ec1
      org.junit.platform.launcher.core.ExecutionListenerAdapter52cf3c3c69d4dfba
      org.junit.platform.launcher.core.LauncherConfigurationParametersef55cacb5e47a902
      org.junit.platform.launcher.core.LauncherDiscoveryRequestBuildere78a71b91c159e69
      org.junit.platform.launcher.core.LauncherFactorye2bd67b8a72737b5
      org.junit.platform.launcher.core.Root32394ca895f9fb9a
      org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry7c054c4cf76cb0f6
      org.junit.platform.launcher.core.ServiceLoaderTestExecutionListenerRegistry2299bac1075a6bf3
      org.junit.platform.launcher.core.TestExecutionListenerRegistry190f4fb2b0ab865d
      org.junit.platform.launcher.core.TestExecutionListenerRegistry.CompositeTestExecutionListener7538d2d860e1f9cb
      org.junit.platform.launcher.listeners.LegacyReportingUtilsf3c021e100a54063
      sun.nio.cs.ext.AbstractCharsetProvider9a72c9e39fdac365
      sun.nio.cs.ext.Big57f7799a4239d3d01
      sun.nio.cs.ext.EUC_CNdaed57327edf3023
      sun.nio.cs.ext.EUC_JPf0c718c92ac0cabc
      sun.nio.cs.ext.EUC_KR3d50c0e84dcd54e6
      sun.nio.cs.ext.EUC_TW4fbeba8ab3b0661e
      sun.nio.cs.ext.ExtendedCharsets7715d4380ab405a8
      sun.nio.cs.ext.IBM037b9b8c9ec2e056149
      sun.nio.cs.ext.IBM1047e368b4c70681ed2e
      sun.nio.cs.ext.IBM2777b5b55809ca60de9
      sun.nio.cs.ext.IBM278326393dad6851723
      sun.nio.cs.ext.IBM2809d9334ffd18e4e40
      sun.nio.cs.ext.IBM28401c4a83f23f1b53d
      sun.nio.cs.ext.IBM285be059d13431c468f
      sun.nio.cs.ext.IBM29709fd5ed2f7ce33cb
      sun.nio.cs.ext.IBM420dfa9e617bd0f689b
      sun.nio.cs.ext.IBM424edd26be1d2ed5a00
      sun.nio.cs.ext.IBM50058b3c90789d546a5
      sun.nio.cs.ext.IBM8604bc938afb837212f
      sun.nio.cs.ext.IBM870ad9dcff6cd8f8661
      sun.nio.cs.ext.IBM871ef144f207fc359f5
      sun.nio.cs.ext.IBM918a83d0db73f26c654
      sun.nio.cs.ext.ISO202292bf931cea04ba69
      sun.nio.cs.ext.ISO2022_JP4839eaacbb85c150
      sun.nio.cs.ext.ISO2022_KRe2e5b9cbb3d44823
      sun.nio.cs.ext.ISO_8859_11cb3ce4182f6717e0
      sun.nio.cs.ext.ISO_8859_3550e89cba9076937
      sun.nio.cs.ext.ISO_8859_67e467e744bd3ad13
      sun.nio.cs.ext.ISO_8859_8bb93af1e031c8697
      sun.nio.cs.ext.MacRoman7007321b9dd9c10d
      sun.text.resources.cldr.ext.FormatData_frcfe4ef8ff7428512
      sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo888d0e6a76acb845
      sun.util.resources.provider.LocaleDataProvider36ca29d59ab35e5c
      \ No newline at end of file diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv index 555d233..7b39bb6 100644 --- a/target/site/jacoco/jacoco.csv +++ b/target/site/jacoco/jacoco.csv @@ -2,13 +2,13 @@ GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_ spoteezer,musichub.util,PathValidation,0,39,0,4,0,10,0,4,0,2 spoteezer,musichub.util,LogHandler,0,46,0,0,0,11,0,3,0,3 spoteezer,musichub.util,XMLHandler,6,66,0,0,4,21,0,4,0,4 -spoteezer,musichub.util,Policy,53,0,5,0,20,0,6,0,3,0 +spoteezer,musichub.util,Policy,60,0,5,0,24,0,6,0,3,0 spoteezer,musichub.business,Album,330,0,14,0,84,0,16,0,9,0 spoteezer,musichub.business,SortByAuthor,9,0,0,0,2,0,2,0,2,0 spoteezer,musichub.business,NoAlbumFoundException,4,0,0,0,2,0,1,0,1,0 spoteezer,musichub.business,Language,3,46,0,0,1,5,1,2,1,2 spoteezer,musichub.business,SortByDate,9,0,0,0,2,0,2,0,2,0 -spoteezer,musichub.business,MusicHub,874,0,124,0,209,0,85,0,23,0 +spoteezer,musichub.business,MusicHub,973,0,140,0,228,0,95,0,25,0 spoteezer,musichub.business,Category,3,46,0,0,1,5,1,2,1,2 spoteezer,musichub.business,Song,0,105,0,6,0,26,0,12,0,7 spoteezer,musichub.business,NoPlayListFoundException,4,0,0,0,2,0,1,0,1,0 @@ -17,5 +17,5 @@ spoteezer,musichub.business,AudioBook,117,47,8,2,27,12,12,5,4,5 spoteezer,musichub.business,SortByGenre,9,0,0,0,2,0,2,0,2,0 spoteezer,musichub.business,NoElementFoundException,4,0,0,0,2,0,1,0,1,0 spoteezer,musichub.business,Genre,0,56,0,0,0,6,0,3,0,3 -spoteezer,musichub.business,AudioElement,85,181,9,2,30,42,11,5,4,5 -spoteezer,musichub.main,Main,625,0,42,0,215,0,31,0,3,0 +spoteezer,musichub.business,AudioElement,91,181,8,2,31,42,10,5,4,5 +spoteezer,musichub.main,Main,722,0,43,0,251,0,32,0,3,0 diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml index e10770f..30a884a 100644 --- a/target/site/jacoco/jacoco.xml +++ b/target/site/jacoco/jacoco.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/AudioElement.html b/target/site/jacoco/musichub.business/AudioElement.html index 18f7368..6498736 100644 --- a/target/site/jacoco/musichub.business/AudioElement.html +++ b/target/site/jacoco/musichub.business/AudioElement.html @@ -1 +1 @@ -AudioElement

      AudioElement

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total85 of 26668 %9 of 1118 %1116307249
      manageAudioElement()680 %70 %66242411
      AudioElement(Element)85587 %2250 %2331401
      getUUID()30 %n/a111111
      getArtist()30 %n/a111111
      getTitle()30 %n/a111111
      createXMLElement(Document, Element)79100 %n/a0101601
      AudioElement(String, String, int, String, String)19100 %n/a010701
      AudioElement(String, String, int, String)18100 %n/a010701
      toString()10100 %n/a010101
      \ No newline at end of file +AudioElement

      AudioElement

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total91 of 27266 %8 of 1020 %1015317349
      manageAudioElement()740 %60 %55252511
      AudioElement(Element)85587 %2250 %2331401
      getUUID()30 %n/a111111
      getArtist()30 %n/a111111
      getTitle()30 %n/a111111
      createXMLElement(Document, Element)79100 %n/a0101601
      AudioElement(String, String, int, String, String)19100 %n/a010701
      AudioElement(String, String, int, String)18100 %n/a010701
      toString()10100 %n/a010101
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/AudioElement.java.html b/target/site/jacoco/musichub.business/AudioElement.java.html index 7863e1a..34bbc3b 100644 --- a/target/site/jacoco/musichub.business/AudioElement.java.html +++ b/target/site/jacoco/musichub.business/AudioElement.java.html @@ -1,19 +1,15 @@ AudioElement.java

      AudioElement.java

      package musichub.business;
       
      +import musichub.util.LogHandler;
       import org.w3c.dom.Document;
       import org.w3c.dom.Element;
       
      +import javax.sound.sampled.*;
       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;
      @@ -21,109 +17,113 @@ public abstract class AudioElement {
           protected UUID uuid;
           protected String content;
       
      -    public AudioElement(String title, String artist, int lengthInSeconds, String id, String content) {
      -        this.title = title;
      -        this.artist = artist;
      -        this.lengthInSeconds = lengthInSeconds;
      -        this.uuid = UUID.fromString(id);
      -        this.content = content;
      -    }
      -
      -    public AudioElement(String title, String artist, int lengthInSeconds, String content) {
      -        this.title = title;
      -        this.artist = artist;
      -        this.lengthInSeconds = lengthInSeconds;
      -        this.content = content;
      -        this.uuid = UUID.randomUUID();
      -    }
      -
      -    public AudioElement(Element xmlElement) {
      +    public AudioElement(String title, String artist, int lengthInSeconds, String id, String content) {
      +        this.title = title;
      +        this.artist = artist;
      +        this.lengthInSeconds = lengthInSeconds;
      +        this.uuid = UUID.fromString(id);
      +        this.content = content;
      +    }
      +
      +    public AudioElement(String title, String artist, int lengthInSeconds, String content) {
      +        this.title = title;
      +        this.artist = artist;
      +        this.lengthInSeconds = lengthInSeconds;
      +        this.content = content;
      +        this.uuid = UUID.randomUUID();
      +    }
      +
      +    public AudioElement(Element xmlElement) {
               {
      -            title = xmlElement.getElementsByTagName("title").item(0).getTextContent();
      -            artist = xmlElement.getElementsByTagName("artist").item(0).getTextContent();
      -            lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName("length").item(0).getTextContent());
      -            content = xmlElement.getElementsByTagName("content").item(0).getTextContent();
      -            String uuid = null;
      +            title = xmlElement.getElementsByTagName("title").item(0).getTextContent();
      +            artist = xmlElement.getElementsByTagName("artist").item(0).getTextContent();
      +            lengthInSeconds = Integer.parseInt(xmlElement.getElementsByTagName("length").item(0).getTextContent());
      +            content = xmlElement.getElementsByTagName("content").item(0).getTextContent();
      +            String uuid = null;
                   try {
      -                uuid = xmlElement.getElementsByTagName("UUID").item(0).getTextContent();
      -            } catch (Exception ex) {
      -                System.out.println("Empty element UUID, will create a new one");
      -            }
      -            if ((uuid == null) || (uuid.isEmpty()))
      -                this.uuid = UUID.randomUUID();
      -            else this.uuid = UUID.fromString(uuid);
      +                uuid = xmlElement.getElementsByTagName("UUID").item(0).getTextContent();
      +            } catch (Exception ex) {
      +                System.out.println("Empty element UUID, will create a new one");
      +            }
      +            if ((uuid == null) || (uuid.isEmpty()))
      +                this.uuid = UUID.randomUUID();
      +            else this.uuid = UUID.fromString(uuid);
               }
      -    }
      +    }
       
           public UUID getUUID() {
      -        return this.uuid;
      +        return this.uuid;
           }
       
           public String getArtist() {
      -        return this.artist;
      +        return this.artist;
           }
       
           public String getTitle() {
      -        return this.title;
      +        return this.title;
           }
       
           public String toString() {
      -        return "Title = " + this.title + ", Artist = " + this.artist + ", Length = " + this.lengthInSeconds + ", Content = " + this.content;
      +        return "Title = " + this.title + ", Artist = " + this.artist + ", Length = " + this.lengthInSeconds + ", Content = " + this.content;
           }
       
           public void createXMLElement(Document document, Element parentElement) {
      -        Element nameElement = document.createElement("title");
      -        nameElement.appendChild(document.createTextNode(title));
      -        parentElement.appendChild(nameElement);
      +        Element nameElement = document.createElement("title");
      +        nameElement.appendChild(document.createTextNode(title));
      +        parentElement.appendChild(nameElement);
       
      -        Element artistElement = document.createElement("artist");
      -        artistElement.appendChild(document.createTextNode(artist));
      -        parentElement.appendChild(artistElement);
      +        Element artistElement = document.createElement("artist");
      +        artistElement.appendChild(document.createTextNode(artist));
      +        parentElement.appendChild(artistElement);
       
      -        Element lengthElement = document.createElement("length");
      -        lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));
      -        parentElement.appendChild(lengthElement);
      +        Element lengthElement = document.createElement("length");
      +        lengthElement.appendChild(document.createTextNode(Integer.valueOf(lengthInSeconds).toString()));
      +        parentElement.appendChild(lengthElement);
       
      -        Element UUIDElement = document.createElement("UUID");
      -        UUIDElement.appendChild(document.createTextNode(uuid.toString()));
      -        parentElement.appendChild(UUIDElement);
      +        Element UUIDElement = document.createElement("UUID");
      +        UUIDElement.appendChild(document.createTextNode(uuid.toString()));
      +        parentElement.appendChild(UUIDElement);
       
      -        Element contentElement = document.createElement("content");
      -        contentElement.appendChild(document.createTextNode(content));
      -        parentElement.appendChild(contentElement);
      +        Element contentElement = document.createElement("content");
      +        contentElement.appendChild(document.createTextNode(content));
      +        parentElement.appendChild(contentElement);
       
      -    }
      +    }
           
           public void manageAudioElement() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
           	
      -    	Scanner scanner = new Scanner(System.in); 
      +    	Scanner scanner = new Scanner(System.in); 
           	
      -    	File file = new File(this.content);
      -    	AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);
      -    	Clip clip = AudioSystem.getClip();
      -    	clip.open(audioStream);
      +    	File file = new File(this.content);
      +    	AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);
      +    	Clip clip = AudioSystem.getClip();
      +    	clip.open(audioStream);
           	
      -    	String action = "";
      +    	String action = "";
           			
      -    	while(!action.equals("Q")) {
      -    		System.out.println("P = Play \b S = Stop \b R = Reset \b Q = Quit");
      -    		System.out.println("Enter your choice");
      -    		action = scanner.next();
      -        	action = action.toUpperCase();
      -        	
      -        	switch(action) {
      -        		case "S" : clip.stop();
      -        		break;
      -        		case "P" : clip.start();
      -        		break;
      -        		case "R" : clip.setMicrosecondPosition(0);
      -        		break;
      -        		case "Q" : clip.stop();
      -        		break;
      -        		default : System.out.println("try again");
      -        	}
      -        	System.out.println("You stoped the Audio element");
      -    	}
      +    	while(!action.equals("Q")) {
      +            System.out.println("P = Play \b S = Stop \b R = Reset \b Q = Quit");
      +            System.out.println("Enter your choice");
      +            action = scanner.next();
      +            action = action.toUpperCase();
      +
      +            switch (action) {
      +                case "S", "Q" -> {
      +                    clip.stop();
      +                    LogHandler.write("Music stopped", "INFO");
      +                }
      +                case "P" -> {
      +                    clip.start();
      +                    LogHandler.write("Music started", "INFO");
      +                }
      +                case "R" -> {
      +                    clip.setMicrosecondPosition(0);
      +                    LogHandler.write("Music reseted", "INFO");
      +                }
      +                default -> System.out.println("try again");
      +            }
      +            System.out.println("You stopped the Audio element");
      +        }
           	
           	clip.close();
           
      diff --git a/target/site/jacoco/musichub.business/MusicHub.html b/target/site/jacoco/musichub.business/MusicHub.html
      index 4ed5db0..43c8490 100644
      --- a/target/site/jacoco/musichub.business/MusicHub.html
      +++ b/target/site/jacoco/musichub.business/MusicHub.html
      @@ -1 +1 @@
      -MusicHub

      MusicHub

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total874 of 8740 %124 of 1240 %85852092092323
      addElementToAlbum(String, String)820 %120 %77202011
      addElementToPlayList(String, String)820 %120 %77202011
      getAlbumSongsSortedByGenre(String)790 %140 %88161611
      getAlbumSongs(String)730 %140 %88151511
      searchAudioElement()710 %100 %66141411
      loadElements()640 %100 %66181811
      getAudiobooksTitlesSortedByAuthor()530 %60 %449911
      saveElements()470 %80 %55121211
      loadAlbums()440 %80 %55111111
      loadPlaylists()440 %80 %55111111
      deletePlayList(String)400 %80 %55111111
      saveAlbums()360 %40 %33101011
      savePlayLists()360 %40 %33101011
      getAlbumsTitlesSortedByDate()320 %20 %225511
      MusicHub()290 %n/a119911
      getAudioElement(List, String)190 %40 %335511
      static {...}130 %n/a114411
      addElement(AudioElement)60 %n/a112211
      addAlbum(Album)60 %n/a112211
      addPlaylist(PlayList)60 %n/a112211
      albums()40 %n/a111111
      playlists()40 %n/a111111
      elements()40 %n/a111111
      \ No newline at end of file +MusicHub

      MusicHub

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total973 of 9730 %140 of 1400 %95952282282525
      addElementToAlbum(String, String)820 %120 %77202011
      addElementToPlayList(String, String)820 %120 %77202011
      getAlbumSongsSortedByGenre(String)790 %140 %88161611
      getAlbumSongs(String)730 %140 %88151511
      getPlayListSongs(String)730 %140 %88151511
      searchAudioElement()710 %100 %66141411
      loadElements()640 %100 %66181811
      getAudiobooksTitlesSortedByAuthor()530 %60 %449911
      saveElements()470 %80 %55121211
      loadAlbums()440 %80 %55111111
      loadPlaylists()440 %80 %55111111
      deletePlayList(String)400 %80 %55111111
      saveAlbums()360 %40 %33101011
      savePlayLists()360 %40 %33101011
      getAlbumsTitlesSortedByDate()320 %20 %225511
      MusicHub()290 %n/a119911
      getPlayListsTitles()260 %20 %224411
      getAudioElement(List, String)190 %40 %335511
      static {...}130 %n/a114411
      addElement(AudioElement)60 %n/a112211
      addAlbum(Album)60 %n/a112211
      addPlaylist(PlayList)60 %n/a112211
      albums()40 %n/a111111
      playlists()40 %n/a111111
      elements()40 %n/a111111
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/MusicHub.java.html b/target/site/jacoco/musichub.business/MusicHub.java.html index ec5e661..deb88a0 100644 --- a/target/site/jacoco/musichub.business/MusicHub.java.html +++ b/target/site/jacoco/musichub.business/MusicHub.java.html @@ -6,359 +6,401 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import java.io.IOException; -import java.util.*; - import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.UnsupportedAudioFileException; +import java.io.IOException; +import java.util.*; -class SortByDate implements Comparator<Album> { +class SortByDate implements Comparator<Album> { public int compare(Album a1, Album a2) { - return a1.getDate().compareTo(a2.getDate()); + return a1.getDate().compareTo(a2.getDate()); } } -class SortByGenre implements Comparator<Song> { +class SortByGenre implements Comparator<Song> { public int compare(Song s1, Song s2) { - return s1.getGenre().compareTo(s2.getGenre()); + return s1.getGenre().compareTo(s2.getGenre()); } } -class SortByAuthor implements Comparator<AudioElement> { +class SortByAuthor implements Comparator<AudioElement> { public int compare(AudioElement e1, AudioElement e2) { - return e1.getArtist().compareTo(e2.getArtist()); + return e1.getArtist().compareTo(e2.getArtist()); } } public class MusicHub { - public static final String DIR = System.getProperty("user.dir"); - public static final String ALBUMS_FILE_PATH = DIR + "/files/albums.xml"; - public static final String PLAYLISTS_FILE_PATH = DIR + "/files/playlists.xml"; - public static final String ELEMENTS_FILE_PATH = DIR + "/files/elements.xml"; + public static final String DIR = System.getProperty("user.dir"); + public static final String ALBUMS_FILE_PATH = DIR + "/files/albums.xml"; + public static final String PLAYLISTS_FILE_PATH = DIR + "/files/playlists.xml"; + public static final String ELEMENTS_FILE_PATH = DIR + "/files/elements.xml"; private final List<Album> albums; private final List<PlayList> playlists; private final List<AudioElement> elements; - private final XMLHandler xmlHandler = new XMLHandler(); + private final XMLHandler xmlHandler = new XMLHandler(); - public MusicHub() { - albums = new LinkedList<>(); - playlists = new LinkedList<>(); - elements = new LinkedList<>(); - this.loadElements(); - this.loadAlbums(); - this.loadPlaylists(); - } + public MusicHub() { + albums = new LinkedList<>(); + playlists = new LinkedList<>(); + elements = new LinkedList<>(); + this.loadElements(); + this.loadAlbums(); + this.loadPlaylists(); + } public void addElement(AudioElement element) { - elements.add(element); - } + elements.add(element); + } public void addAlbum(Album album) { - albums.add(album); - } + albums.add(album); + } public void addPlaylist(PlayList playlist) { - playlists.add(playlist); - } + playlists.add(playlist); + } public void deletePlayList(String playListTitle) throws NoPlayListFoundException { - PlayList thePlayList = null; - boolean result = false; - for (PlayList pl : playlists) { - if (pl.getTitle().equalsIgnoreCase(playListTitle)) { - thePlayList = pl; - break; + PlayList thePlayList = null; + boolean result = false; + for (PlayList pl : playlists) { + if (pl.getTitle().equalsIgnoreCase(playListTitle)) { + thePlayList = pl; + break; } - } + } - if (thePlayList != null) - result = playlists.remove(thePlayList); - if (!result) throw new NoPlayListFoundException("Playlist " + playListTitle + " not found!"); - } + if (thePlayList != null) + result = playlists.remove(thePlayList); + if (!result) throw new NoPlayListFoundException("Playlist " + playListTitle + " not found!"); + } public Iterator<Album> albums() { - return albums.listIterator(); + return albums.listIterator(); } public Iterator<PlayList> playlists() { - return playlists.listIterator(); + return playlists.listIterator(); } public Iterator<AudioElement> elements() { - return elements.listIterator(); + return elements.listIterator(); } public String getAlbumsTitlesSortedByDate() { - StringBuilder titleList = new StringBuilder(); - albums.sort(new SortByDate()); - for (Album al : albums) - titleList.append(al.getTitle()).append("\n"); - return titleList.toString(); + StringBuilder titleList = new StringBuilder(); + albums.sort(new SortByDate()); + for (Album al : albums) + titleList.append(al.getTitle()).append("\n"); + return titleList.toString(); } public String getAudiobooksTitlesSortedByAuthor() { - StringBuilder titleList = new StringBuilder(); - List<AudioElement> audioBookList = new ArrayList<>(); - for (AudioElement ae : elements) - if (ae instanceof AudioBook) - audioBookList.add(ae); - audioBookList.sort(new SortByAuthor()); - for (AudioElement ab : audioBookList) - titleList.append(ab.getArtist()).append("\n"); - return titleList.toString(); + StringBuilder titleList = new StringBuilder(); + List<AudioElement> audioBookList = new ArrayList<>(); + for (AudioElement ae : elements) + if (ae instanceof AudioBook) + audioBookList.add(ae); + audioBookList.sort(new SortByAuthor()); + for (AudioElement ab : audioBookList) + titleList.append(ab.getArtist()).append("\n"); + return titleList.toString(); } public List<AudioElement> getAlbumSongs(String albumTitle) throws NoAlbumFoundException { - Album theAlbum = null; - ArrayList<AudioElement> songsInAlbum = new ArrayList<>(); - for (Album al : albums) { - if (al.getTitle().equalsIgnoreCase(albumTitle)) { - theAlbum = al; - break; + Album theAlbum = null; + ArrayList<AudioElement> songsInAlbum = new ArrayList<>(); + for (Album al : albums) { + if (al.getTitle().equalsIgnoreCase(albumTitle)) { + theAlbum = al; + break; } - } - if (theAlbum == null) throw new NoAlbumFoundException("No album with this title in the MusicHub!"); - - List<UUID> songIDs = theAlbum.getSongs(); - for (UUID id : songIDs) - for (AudioElement el : elements) { - if (el instanceof Song) { - if (el.getUUID().equals(id)) songsInAlbum.add(el); + } + if (theAlbum == null) throw new NoAlbumFoundException("No album with this title in the MusicHub!"); + + List<UUID> songIDs = theAlbum.getSongs(); + for (UUID id : songIDs) + for (AudioElement el : elements) { + if (el instanceof Song) { + if (el.getUUID().equals(id)) songsInAlbum.add(el); } - } - return songsInAlbum; + } + return songsInAlbum; } public List<Song> getAlbumSongsSortedByGenre(String albumTitle) throws NoAlbumFoundException { - Album theAlbum = null; - ArrayList<Song> songsInAlbum = new ArrayList<>(); - for (Album al : albums) { - if (al.getTitle().equalsIgnoreCase(albumTitle)) { - theAlbum = al; - break; + Album theAlbum = null; + ArrayList<Song> songsInAlbum = new ArrayList<>(); + for (Album al : albums) { + if (al.getTitle().equalsIgnoreCase(albumTitle)) { + theAlbum = al; + break; } - } - if (theAlbum == null) throw new NoAlbumFoundException("No album with this title in the MusicHub!"); - - List<UUID> songIDs = theAlbum.getSongs(); - for (UUID id : songIDs) - for (AudioElement el : elements) { - if (el instanceof Song) { - if (el.getUUID().equals(id)) songsInAlbum.add((Song) el); + } + if (theAlbum == null) throw new NoAlbumFoundException("No album with this title in the MusicHub!"); + + List<UUID> songIDs = theAlbum.getSongs(); + for (UUID id : songIDs) + for (AudioElement el : elements) { + if (el instanceof Song) { + if (el.getUUID().equals(id)) songsInAlbum.add((Song) el); } - } - songsInAlbum.sort(new SortByGenre()); - return songsInAlbum; + } + songsInAlbum.sort(new SortByGenre()); + return songsInAlbum; } public void addElementToAlbum(String elementTitle, String albumTitle) throws NoAlbumFoundException, NoElementFoundException { - Album theAlbum = null; + Album theAlbum = null; int i; - boolean found = false; - for (i = 0; i < albums.size(); i++) { - if (albums.get(i).getTitle().equalsIgnoreCase(albumTitle)) { - theAlbum = albums.get(i); - found = true; - break; + boolean found = false; + for (i = 0; i < albums.size(); i++) { + if (albums.get(i).getTitle().equalsIgnoreCase(albumTitle)) { + theAlbum = albums.get(i); + found = true; + break; } } - if (found) { - AudioElement theElement = null; - for (AudioElement ae : elements) { - if (ae.getTitle().equalsIgnoreCase(elementTitle)) { - theElement = ae; - break; + if (found) { + AudioElement theElement = null; + for (AudioElement ae : elements) { + if (ae.getTitle().equalsIgnoreCase(elementTitle)) { + theElement = ae; + break; } - } - if (theElement != null) { - theAlbum.addSong(theElement.getUUID()); + } + if (theElement != null) { + theAlbum.addSong(theElement.getUUID()); //replace the album in the list - albums.set(i, theAlbum); - } else throw new NoElementFoundException("Element " + elementTitle + " not found!"); - } else throw new NoAlbumFoundException("Album " + albumTitle + " not found!"); + albums.set(i, theAlbum); + } else throw new NoElementFoundException("Element " + elementTitle + " not found!"); + } else throw new NoAlbumFoundException("Album " + albumTitle + " not found!"); - } + } public void addElementToPlayList(String elementTitle, String playListTitle) throws NoPlayListFoundException, NoElementFoundException { - PlayList thePlaylist = null; + PlayList thePlaylist = null; int i; - boolean found = false; + boolean found = false; - for (i = 0; i < playlists.size(); i++) { - if (playlists.get(i).getTitle().equalsIgnoreCase(playListTitle)) { - thePlaylist = playlists.get(i); - found = true; - break; + for (i = 0; i < playlists.size(); i++) { + if (playlists.get(i).getTitle().equalsIgnoreCase(playListTitle)) { + thePlaylist = playlists.get(i); + found = true; + break; } } - if (found) { - AudioElement theElement = null; - for (AudioElement ae : elements) { - if (ae.getTitle().equalsIgnoreCase(elementTitle)) { - theElement = ae; - break; + if (found) { + AudioElement theElement = null; + for (AudioElement ae : elements) { + if (ae.getTitle().equalsIgnoreCase(elementTitle)) { + theElement = ae; + break; } - } - if (theElement != null) { - thePlaylist.addElement(theElement.getUUID()); + } + if (theElement != null) { + thePlaylist.addElement(theElement.getUUID()); //replace the album in the list - playlists.set(i, thePlaylist); - } else throw new NoElementFoundException("Element " + elementTitle + " not found!"); + playlists.set(i, thePlaylist); + } else throw new NoElementFoundException("Element " + elementTitle + " not found!"); - } else throw new NoPlayListFoundException("Playlist " + playListTitle + " not found!"); + } else throw new NoPlayListFoundException("Playlist " + playListTitle + " not found!"); - } + } private void loadAlbums() { - NodeList albumNodes = xmlHandler.parseXMLFile(ALBUMS_FILE_PATH); - if (albumNodes == null) return; + NodeList albumNodes = xmlHandler.parseXMLFile(ALBUMS_FILE_PATH); + if (albumNodes == null) return; - for (int i = 0; i < albumNodes.getLength(); i++) { - if (albumNodes.item(i).getNodeType() == Node.ELEMENT_NODE) { - Element albumElement = (Element) albumNodes.item(i); - if (albumElement.getNodeName().equals("album")) { + for (int i = 0; i < albumNodes.getLength(); i++) { + if (albumNodes.item(i).getNodeType() == Node.ELEMENT_NODE) { + Element albumElement = (Element) albumNodes.item(i); + if (albumElement.getNodeName().equals("album")) { try { - this.addAlbum(new Album(albumElement)); - } catch (Exception ex) { - System.out.println("Something is wrong with the XML album element"); - } + this.addAlbum(new Album(albumElement)); + } catch (Exception ex) { + System.out.println("Something is wrong with the XML album element"); + } } } } - } + } private void loadPlaylists() { - NodeList playlistNodes = xmlHandler.parseXMLFile(PLAYLISTS_FILE_PATH); - if (playlistNodes == null) return; + NodeList playlistNodes = xmlHandler.parseXMLFile(PLAYLISTS_FILE_PATH); + if (playlistNodes == null) return; - for (int i = 0; i < playlistNodes.getLength(); i++) { - if (playlistNodes.item(i).getNodeType() == Node.ELEMENT_NODE) { - Element playlistElement = (Element) playlistNodes.item(i); - if (playlistElement.getNodeName().equals("playlist")) { + for (int i = 0; i < playlistNodes.getLength(); i++) { + if (playlistNodes.item(i).getNodeType() == Node.ELEMENT_NODE) { + Element playlistElement = (Element) playlistNodes.item(i); + if (playlistElement.getNodeName().equals("playlist")) { try { - this.addPlaylist(new PlayList(playlistElement)); - } catch (Exception ex) { - System.out.println("Something is wrong with the XML playlist element"); - } + this.addPlaylist(new PlayList(playlistElement)); + } catch (Exception ex) { + System.out.println("Something is wrong with the XML playlist element"); + } } } } - } + } private void loadElements() { - NodeList audioelementsNodes = xmlHandler.parseXMLFile(ELEMENTS_FILE_PATH); - if (audioelementsNodes == null) return; + NodeList audioelementsNodes = xmlHandler.parseXMLFile(ELEMENTS_FILE_PATH); + if (audioelementsNodes == null) return; - for (int i = 0; i < audioelementsNodes.getLength(); i++) { - if (audioelementsNodes.item(i).getNodeType() == Node.ELEMENT_NODE) { - Element audioElement = (Element) audioelementsNodes.item(i); - if (audioElement.getNodeName().equals("song")) { + for (int i = 0; i < audioelementsNodes.getLength(); i++) { + if (audioelementsNodes.item(i).getNodeType() == Node.ELEMENT_NODE) { + Element audioElement = (Element) audioelementsNodes.item(i); + if (audioElement.getNodeName().equals("song")) { try { - AudioElement newSong = new Song(audioElement); - this.addElement(newSong); - } catch (Exception ex) { - System.out.println("Something is wrong with the XML song element"); - } + AudioElement newSong = new Song(audioElement); + this.addElement(newSong); + } catch (Exception ex) { + System.out.println("Something is wrong with the XML song element"); + } } - if (audioElement.getNodeName().equals("audiobook")) { + if (audioElement.getNodeName().equals("audiobook")) { try { - AudioElement newAudioBook = new AudioBook(audioElement); - this.addElement(newAudioBook); - } catch (Exception ex) { - System.out.println("Something is wrong with the XML audiobook element"); - } + AudioElement newAudioBook = new AudioBook(audioElement); + this.addElement(newAudioBook); + } catch (Exception ex) { + System.out.println("Something is wrong with the XML audiobook element"); + } } } } - } + } public void saveAlbums() { - Document document = xmlHandler.createXMLDocument(); - if (document == null) return; + Document document = xmlHandler.createXMLDocument(); + if (document == null) return; // root element - Element root = document.createElement("albums"); - document.appendChild(root); + Element root = document.createElement("albums"); + document.appendChild(root); //save all albums - for (Iterator<Album> albumsIter = this.albums(); albumsIter.hasNext(); ) { - Album currentAlbum = albumsIter.next(); - currentAlbum.createXMLElement(document, root); - } - xmlHandler.createXMLFile(document, ALBUMS_FILE_PATH); - } + for (Iterator<Album> albumsIter = this.albums(); albumsIter.hasNext(); ) { + Album currentAlbum = albumsIter.next(); + currentAlbum.createXMLElement(document, root); + } + xmlHandler.createXMLFile(document, ALBUMS_FILE_PATH); + } public void savePlayLists() { - Document document = xmlHandler.createXMLDocument(); - if (document == null) return; + Document document = xmlHandler.createXMLDocument(); + if (document == null) return; // root element - Element root = document.createElement("playlists"); - document.appendChild(root); + Element root = document.createElement("playlists"); + document.appendChild(root); //save all playlists - for (Iterator<PlayList> playlistsIter = this.playlists(); playlistsIter.hasNext(); ) { - PlayList currentPlayList = playlistsIter.next(); - currentPlayList.createXMLElement(document, root); - } - xmlHandler.createXMLFile(document, PLAYLISTS_FILE_PATH); - } + for (Iterator<PlayList> playlistsIter = this.playlists(); playlistsIter.hasNext(); ) { + PlayList currentPlayList = playlistsIter.next(); + currentPlayList.createXMLElement(document, root); + } + xmlHandler.createXMLFile(document, PLAYLISTS_FILE_PATH); + } public void saveElements() { - Document document = xmlHandler.createXMLDocument(); - if (document == null) return; + Document document = xmlHandler.createXMLDocument(); + if (document == null) return; // root element - Element root = document.createElement("elements"); - document.appendChild(root); + Element root = document.createElement("elements"); + document.appendChild(root); //save all AudioElements - for (AudioElement currentElement : elements) { + for (AudioElement currentElement : elements) { - if (currentElement instanceof Song) { - currentElement.createXMLElement(document, root); + if (currentElement instanceof Song) { + currentElement.createXMLElement(document, root); } - if (currentElement instanceof AudioBook) { - currentElement.createXMLElement(document, root); + if (currentElement instanceof AudioBook) { + currentElement.createXMLElement(document, root); } - } - xmlHandler.createXMLFile(document, ELEMENTS_FILE_PATH); - } + } + xmlHandler.createXMLFile(document, ELEMENTS_FILE_PATH); + } public void getAudioElement(List<AudioElement> audios, String elementTitle) throws NoAlbumFoundException, UnsupportedAudioFileException, IOException, LineUnavailableException { - for (AudioElement el : audios) { - if (el.getTitle().equalsIgnoreCase(elementTitle)) { - el.manageAudioElement(); + for (AudioElement el : audios) { + if (el.getTitle().equalsIgnoreCase(elementTitle)) { + el.manageAudioElement(); } - } + } - } + } public void searchAudioElement() throws UnsupportedAudioFileException, NoAlbumFoundException, LineUnavailableException, IOException, NoElementFoundException { - Scanner scanner = new Scanner(System.in); - System.out.println("Entrez le titre ou l'artiste de la musique que vous souhaitez chercher dans la base de données"); - String word = scanner.next().toLowerCase(Locale.ROOT); - List<AudioElement> searchResult = new ArrayList<>(); - for(AudioElement el : elements){ - if(el.getTitle().toLowerCase(Locale.ROOT).contains(word) || el.getArtist().toLowerCase(Locale.ROOT).contains(word)){ - searchResult.add(el); - System.out.println(el); + Scanner scanner = new Scanner(System.in); + System.out.println("Entrez le titre ou l'artiste de la musique que vous souhaitez chercher dans la base de données"); + String word = scanner.next().toLowerCase(Locale.ROOT); + List<AudioElement> searchResult = new ArrayList<>(); + for(AudioElement el : elements){ + if(el.getTitle().toLowerCase(Locale.ROOT).contains(word) || el.getArtist().toLowerCase(Locale.ROOT).contains(word)){ + searchResult.add(el); + System.out.println(el); } - } + } - if(searchResult.isEmpty()){ - throw new NoElementFoundException("Any result for your search"); + if (searchResult.isEmpty()) { + throw new NoElementFoundException("Any result for your search"); } - if (searchResult.size()==1){ - this.getAudioElement(searchResult, searchResult.get(0).getTitle()); + if (searchResult.size() == 1) { + this.getAudioElement(searchResult, searchResult.get(0).getTitle()); } - } + } + + /** + * Method getting a list of playlists + * + * @return a list of playlist titles + * @author Anthony BOULANT + */ + public String getPlayListsTitles() { + StringBuilder titleList = new StringBuilder(); + + for (PlayList pl : playlists) + titleList.append(pl.getTitle()).append("\n"); + return titleList.toString(); + } + /** + * Method checking the songs contained in a chosen playlist and returning them if found. + * + * @param playListTitle the title of a (chosen) playlist + * @return a list of songs from a playlist + * @throws NoPlayListFoundException if the chosen playlist doesn't exist + * @author Anthony BOULANT + */ + public List<AudioElement> getPlayListSongs(String playListTitle) throws NoPlayListFoundException { + PlayList thePlayList = null; + ArrayList<AudioElement> songsInPlayList = new ArrayList<>(); + for (PlayList pl : playlists) { + if (pl.getTitle().equalsIgnoreCase(playListTitle)) { + thePlayList = pl; + break; + } + } + if (thePlayList == null) throw new NoPlayListFoundException("No playlist with this title in the MusicHub!"); + + List<UUID> songIDs = thePlayList.getElements(); + for (UUID id : songIDs) + for (AudioElement el : elements) { + if (el instanceof Song) { + if (el.getUUID().equals(id)) songsInPlayList.add(el); + } + } + return songsInPlayList; + + } }
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/SortByAuthor.html b/target/site/jacoco/musichub.business/SortByAuthor.html index 851cdce..b762715 100644 --- a/target/site/jacoco/musichub.business/SortByAuthor.html +++ b/target/site/jacoco/musichub.business/SortByAuthor.html @@ -1 +1 @@ -SortByAuthor

      SortByAuthor

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total9 of 90 %0 of 0n/a222222
      compare(AudioElement, AudioElement)60 %n/a111111
      SortByAuthor()30 %n/a111111
      \ No newline at end of file +SortByAuthor

      SortByAuthor

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total9 of 90 %0 of 0n/a222222
      compare(AudioElement, AudioElement)60 %n/a111111
      SortByAuthor()30 %n/a111111
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/SortByDate.html b/target/site/jacoco/musichub.business/SortByDate.html index 8f4b2f7..6f9a099 100644 --- a/target/site/jacoco/musichub.business/SortByDate.html +++ b/target/site/jacoco/musichub.business/SortByDate.html @@ -1 +1 @@ -SortByDate

      SortByDate

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total9 of 90 %0 of 0n/a222222
      compare(Album, Album)60 %n/a111111
      SortByDate()30 %n/a111111
      \ No newline at end of file +SortByDate

      SortByDate

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total9 of 90 %0 of 0n/a222222
      compare(Album, Album)60 %n/a111111
      SortByDate()30 %n/a111111
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/SortByGenre.html b/target/site/jacoco/musichub.business/SortByGenre.html index 6dd6e7d..d89caea 100644 --- a/target/site/jacoco/musichub.business/SortByGenre.html +++ b/target/site/jacoco/musichub.business/SortByGenre.html @@ -1 +1 @@ -SortByGenre

      SortByGenre

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total9 of 90 %0 of 0n/a222222
      compare(Song, Song)60 %n/a111111
      SortByGenre()30 %n/a111111
      \ No newline at end of file +SortByGenre

      SortByGenre

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total9 of 90 %0 of 0n/a222222
      compare(Song, Song)60 %n/a111111
      SortByGenre()30 %n/a111111
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/index.html b/target/site/jacoco/musichub.business/index.html index f7cd669..2f40e82 100644 --- a/target/site/jacoco/musichub.business/index.html +++ b/target/site/jacoco/musichub.business/index.html @@ -1 +1 @@ -musichub.business

      musichub.business

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total1 483 of 2 13430 %160 of 17910 %1401783735135182815
      MusicHub8740 %1240 %8585209209232311
      Album3300 %140 %161684849911
      AudioBook1174728 %8220 %121727394901
      AudioElement8518168 %9218 %111630724901
      PlayList3217084 %5964 %5149530701
      SortByAuthor90 %n/a22222211
      SortByDate90 %n/a22222211
      SortByGenre90 %n/a22222211
      NoAlbumFoundException0 %n/a11221111
      NoPlayListFoundException0 %n/a11221111
      NoElementFoundException0 %n/a11221111
      Language4693 %n/a13161301
      Category4693 %n/a13161301
      Song105100 %6100 %0120260701
      Genre56100 %n/a03060301
      \ No newline at end of file +musichub.business

      musichub.business

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total1 588 of 2 23929 %175 of 1949 %1491873935335384815
      MusicHub9730 %1400 %9595228228252511
      Album3300 %140 %161684849911
      AudioBook1174728 %8220 %121727394901
      AudioElement9118166 %8220 %101531734901
      PlayList3217084 %5964 %5149530701
      SortByAuthor90 %n/a22222211
      SortByDate90 %n/a22222211
      SortByGenre90 %n/a22222211
      NoAlbumFoundException0 %n/a11221111
      NoPlayListFoundException0 %n/a11221111
      NoElementFoundException0 %n/a11221111
      Language4693 %n/a13161301
      Category4693 %n/a13161301
      Song105100 %6100 %0120260701
      Genre56100 %n/a03060301
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.business/index.source.html b/target/site/jacoco/musichub.business/index.source.html index 15d2893..8bc89c8 100644 --- a/target/site/jacoco/musichub.business/index.source.html +++ b/target/site/jacoco/musichub.business/index.source.html @@ -1 +1 @@ -musichub.business

      musichub.business

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total1 483 of 2 13430 %160 of 17910 %1401783735135182815
      MusicHub.java9010 %1240 %9191215215292944
      Album.java3300 %140 %161684849911
      AudioBook.java1174728 %8220 %121727394901
      AudioElement.java8518168 %9218 %111630724901
      PlayList.java3217084 %5964 %5149530701
      NoAlbumFoundException.java0 %n/a11221111
      NoPlayListFoundException.java0 %n/a11221111
      NoElementFoundException.java0 %n/a11221111
      Language.java4693 %n/a13161301
      Category.java4693 %n/a13161301
      Song.java105100 %6100 %0120260701
      Genre.java56100 %n/a03060301
      \ No newline at end of file +musichub.business

      musichub.business

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total1 588 of 2 23929 %175 of 1949 %1491873935335384815
      MusicHub.java1 0000 %1400 %101101234234313144
      Album.java3300 %140 %161684849911
      AudioBook.java1174728 %8220 %121727394901
      AudioElement.java9118166 %8220 %101531734901
      PlayList.java3217084 %5964 %5149530701
      NoAlbumFoundException.java0 %n/a11221111
      NoPlayListFoundException.java0 %n/a11221111
      NoElementFoundException.java0 %n/a11221111
      Language.java4693 %n/a13161301
      Category.java4693 %n/a13161301
      Song.java105100 %6100 %0120260701
      Genre.java56100 %n/a03060301
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.main/Main.html b/target/site/jacoco/musichub.main/Main.html index 3666c2b..f24445f 100644 --- a/target/site/jacoco/musichub.main/Main.html +++ b/target/site/jacoco/musichub.main/Main.html @@ -1 +1 @@ -Main

      Main

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total625 of 6250 %42 of 420 %313121521533
      main(String[])5790 %420 %292919919911
      printAvailableCommands()430 %n/a11151511
      Main()0 %n/a111111
      \ No newline at end of file +Main

      Main

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total722 of 7220 %43 of 430 %323225125133
      main(String[])6730 %430 %303023423411
      printAvailableCommands()460 %n/a11161611
      Main()0 %n/a111111
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.main/Main.java.html b/target/site/jacoco/musichub.main/Main.java.html index 121cc55..d2b3fb0 100644 --- a/target/site/jacoco/musichub.main/Main.java.html +++ b/target/site/jacoco/musichub.main/Main.java.html @@ -31,7 +31,7 @@ import static musichub.util.Policy.showTerm; if (choice.length() == 0) System.exit(0); while (!choice.equals("")) { //if the user puts nothing, quit the loop/system - switch (choice.charAt(0)) { + switch (choice.charAt(0)) { case 'q': //added the option directly in the switch instead of the loop System.exit(0); case 'h': @@ -54,240 +54,283 @@ import static musichub.util.Policy.showTerm; List<Song> songs = theHub.getAlbumSongsSortedByGenre(albumTitle); System.out.println(songs); } catch (NoAlbumFoundException ex) { - System.out.println("No album found with the requested title " + ex.getMessage()); - } - printAvailableCommands(); - choice = scan.nextLine(); - break; + LogHandler.write("No album found with the requested title", "WARNING"); + System.out.println("No album found with the requested title " + ex.getMessage()); + } + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'd': //songs of an album - System.out.println("Songs of an album will be displayed; enter the album name, available albums are:"); - System.out.println(theHub.getAlbumsTitlesSortedByDate()); + System.out.println("Songs of an album will be displayed; enter the album name, available albums are:"); + System.out.println(theHub.getAlbumsTitlesSortedByDate()); - albumTitle = scan.nextLine(); + albumTitle = scan.nextLine(); try { - List<AudioElement> songs = theHub.getAlbumSongs(albumTitle); - System.out.println(theHub.getAlbumSongs(albumTitle)); - String song = scan.nextLine(); - theHub.getAudioElement(songs, song); - } catch (NoAlbumFoundException ex) { - System.out.println("No album found with the requested title " + ex.getMessage()); - } - printAvailableCommands(); - choice = scan.nextLine(); - break; + List<AudioElement> songs = theHub.getAlbumSongs(albumTitle); + System.out.println(theHub.getAlbumSongs(albumTitle)); + String song = scan.nextLine(); + theHub.getAudioElement(songs, song); + } catch (NoAlbumFoundException ex) { + LogHandler.write("No album found with the requested title", "WARNING"); + System.out.println("No album found with the requested title " + ex.getMessage()); + } + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'u': //audiobooks ordered by author - System.out.println(theHub.getAudiobooksTitlesSortedByAuthor()); - printAvailableCommands(); - choice = scan.nextLine(); - break; + System.out.println(theHub.getAudiobooksTitlesSortedByAuthor()); + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'c': // add a new song - System.out.println("Enter a new song: "); - System.out.println("Song title: "); - String title = scan.nextLine(); - System.out.println("Song genre (jazz, classic, hiphop, rock, pop, rap):"); - String genre = scan.nextLine(); - System.out.println("Song artist: "); - String artist = scan.nextLine(); - System.out.println("Song length in seconds: "); - int length = Integer.parseInt(scan.nextLine()); + System.out.println("Enter a new song: "); + System.out.println("Song title: "); + String title = scan.nextLine(); + System.out.println("Song genre (jazz, classic, hiphop, rock, pop, rap):"); + String genre = scan.nextLine(); + System.out.println("Song artist: "); + String artist = scan.nextLine(); - System.out.println("Song content: "); - String content = scan.nextLine(); - if (!isPathValid(content)) { - String logMsg = "The music file was not found with the path you've provided or the extension is not .wav"; - LogHandler.write(logMsg, "WARNING"); //write a line in the log file - System.out.println(logMsg + "\nType h for available commands"); - choice = scan.nextLine(); - break; + int length; + try { + System.out.println("Song length in seconds: "); + length = Integer.parseInt(scan.nextLine()); + } catch (NumberFormatException ex) { + String logMsg = "You've not provided a number for the length."; + LogHandler.write(logMsg, "ERROR"); //write a line in the log file + System.err.println(logMsg); + System.out.println("Type h for available commands"); + choice = scan.nextLine(); + break; + } + + System.out.println("Song content: "); + String content = scan.nextLine(); + if (!isPathValid(content)) { + String logMsg = "The music file cannot be found with the path you've provided or the extension is not .wav"; + LogHandler.write(logMsg, "ERROR"); //write a line in the log file + System.err.println(logMsg); + System.out.println("Type h for available commands"); + choice = scan.nextLine(); + break; } - Song s = new Song(title, artist, length, content, genre); - theHub.addElement(s); - System.out.println("New element list: "); - Iterator<AudioElement> it = theHub.elements(); - while (it.hasNext()) System.out.println(it.next().getTitle()); - System.out.println("Song created!"); - printAvailableCommands(); - choice = scan.nextLine(); - break; + Song s = new Song(title, artist, length, content, genre); + theHub.addElement(s); + System.out.println("New element list: "); + Iterator<AudioElement> it = theHub.elements(); + while (it.hasNext()) System.out.println(it.next().getTitle()); + LogHandler.write("Song successfully created", "INFO"); + System.out.println("Song created!"); + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'a': // add a new album - System.out.println("Enter a new album: "); - System.out.println("Album title: "); - String aTitle = scan.nextLine(); - System.out.println("Album artist: "); - String aArtist = scan.nextLine(); - System.out.println("Album length in seconds: "); - int aLength = Integer.parseInt(scan.nextLine()); - System.out.println("Album date as YYYY-DD-MM: "); - String aDate = scan.nextLine(); - Album a = new Album(aTitle, aArtist, aLength, aDate); - theHub.addAlbum(a); - System.out.println("New list of albums: "); - Iterator<Album> ita = theHub.albums(); - while (ita.hasNext()) System.out.println(ita.next().getTitle()); - System.out.println("Album created!"); - printAvailableCommands(); - choice = scan.nextLine(); - break; + System.out.println("Enter a new album: "); + System.out.println("Album title: "); + String aTitle = scan.nextLine(); + System.out.println("Album artist: "); + String aArtist = scan.nextLine(); + System.out.println("Album length in seconds: "); + int aLength = Integer.parseInt(scan.nextLine()); + System.out.println("Album date as YYYY-DD-MM: "); + String aDate = scan.nextLine(); + Album a = new Album(aTitle, aArtist, aLength, aDate); + theHub.addAlbum(a); + System.out.println("New list of albums: "); + Iterator<Album> ita = theHub.albums(); + while (ita.hasNext()) System.out.println(ita.next().getTitle()); + LogHandler.write("Album successfully created", "INFO"); + System.out.println("Album created!"); + printAvailableCommands(); + choice = scan.nextLine(); + break; case '+': //add a song to an album: - System.out.println("Add an existing song to an existing album"); - System.out.println("Type the name of the song you wish to add. Available songs: "); - Iterator<AudioElement> itae = theHub.elements(); - while (itae.hasNext()) { - AudioElement ae = itae.next(); - if (ae instanceof Song) System.out.println(ae.getTitle()); - } - String songTitle = scan.nextLine(); + System.out.println("Add an existing song to an existing album"); + System.out.println("Type the name of the song you wish to add. Available songs: "); + Iterator<AudioElement> itae = theHub.elements(); + while (itae.hasNext()) { + AudioElement ae = itae.next(); + if (ae instanceof Song) System.out.println(ae.getTitle()); + } + String songTitle = scan.nextLine(); - System.out.println("Type the name of the album you wish to enrich. Available albums: "); - Iterator<Album> ait = theHub.albums(); - while (ait.hasNext()) { - Album al = ait.next(); - System.out.println(al.getTitle()); - } - String titleAlbum = scan.nextLine(); + System.out.println("Type the name of the album you wish to enrich. Available albums: "); + Iterator<Album> ait = theHub.albums(); + while (ait.hasNext()) { + Album al = ait.next(); + System.out.println(al.getTitle()); + } + String titleAlbum = scan.nextLine(); try { - theHub.addElementToAlbum(songTitle, titleAlbum); - } catch (NoAlbumFoundException | NoElementFoundException ex) { - System.out.println(ex.getMessage()); - } - System.out.println("Song added to the album!"); - printAvailableCommands(); - choice = scan.nextLine(); - break; + theHub.addElementToAlbum(songTitle, titleAlbum); + } catch (NoAlbumFoundException | NoElementFoundException ex) { + System.out.println(ex.getMessage()); + } + LogHandler.write("Song successfully added to the album", "INFO"); + System.out.println("Song added to the album!"); + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'l': // add a new audiobook - System.out.println("Enter a new audiobook: "); - System.out.println("AudioBook title: "); - String bTitle = scan.nextLine(); - System.out.println("AudioBook category (youth, novel, theater, documentary, speech)"); - String bCategory = scan.nextLine(); - System.out.println("AudioBook artist: "); - String bArtist = scan.nextLine(); - System.out.println("AudioBook length in seconds: "); - int bLength = Integer.parseInt(scan.nextLine()); - System.out.println("AudioBook content: "); - String bContent = scan.nextLine(); - System.out.println("AudioBook language (french, english, italian, spanish, german)"); - String bLanguage = scan.nextLine(); - AudioBook b = new AudioBook(bTitle, bArtist, bLength, bContent, bLanguage, bCategory); - theHub.addElement(b); - System.out.println("Audiobook created! New element list: "); - Iterator<AudioElement> itl = theHub.elements(); - while (itl.hasNext()) System.out.println(itl.next().getTitle()); - printAvailableCommands(); - choice = scan.nextLine(); - break; + System.out.println("Enter a new audiobook: "); + System.out.println("AudioBook title: "); + String bTitle = scan.nextLine(); + System.out.println("AudioBook category (youth, novel, theater, documentary, speech)"); + String bCategory = scan.nextLine(); + System.out.println("AudioBook artist: "); + String bArtist = scan.nextLine(); + System.out.println("AudioBook length in seconds: "); + int bLength = Integer.parseInt(scan.nextLine()); + System.out.println("AudioBook content: "); + String bContent = scan.nextLine(); + System.out.println("AudioBook language (french, english, italian, spanish, german)"); + String bLanguage = scan.nextLine(); + AudioBook b = new AudioBook(bTitle, bArtist, bLength, bContent, bLanguage, bCategory); + theHub.addElement(b); + LogHandler.write("Audiobook successfully created", "INFO"); + System.out.println("Audiobook created! New element list: "); + Iterator<AudioElement> itl = theHub.elements(); + while (itl.hasNext()) System.out.println(itl.next().getTitle()); + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'p': //create a new playlist from existing elements - System.out.println("Add an existing song or audiobook to a new playlist"); - System.out.println("Existing playlists:"); - Iterator<PlayList> itpl = theHub.playlists(); - while (itpl.hasNext()) { - PlayList pl = itpl.next(); - System.out.println(pl.getTitle()); - } - System.out.println("Type the name of the playlist you wish to create:"); - String playListTitle = scan.nextLine(); - PlayList pl = new PlayList(playListTitle); - theHub.addPlaylist(pl); - System.out.println("Available elements: "); + System.out.println("Add an existing song or audiobook to a new playlist"); + System.out.println("Existing playlists:"); + Iterator<PlayList> itpl = theHub.playlists(); + while (itpl.hasNext()) { + PlayList pl = itpl.next(); + System.out.println(pl.getTitle()); + } + System.out.println("Type the name of the playlist you wish to create:"); + String playListTitle = scan.nextLine(); + PlayList pl = new PlayList(playListTitle); + theHub.addPlaylist(pl); + System.out.println("Available elements: "); - Iterator<AudioElement> itael = theHub.elements(); - while (itael.hasNext()) { - AudioElement ae = itael.next(); - System.out.println(ae.getTitle()); - } - while (choice.charAt(0) != 'n') { - System.out.println("Type the name of the audio element you wish to add or 'n' to exit:"); - String elementTitle = scan.nextLine(); + Iterator<AudioElement> itael = theHub.elements(); + while (itael.hasNext()) { + AudioElement ae = itael.next(); + System.out.println(ae.getTitle()); + } + while (choice.charAt(0) != 'n') { + System.out.println("Type the name of the audio element you wish to add or 'n' to exit:"); + String elementTitle = scan.nextLine(); try { - theHub.addElementToPlayList(elementTitle, playListTitle); - } catch (NoPlayListFoundException | NoElementFoundException ex) { - System.out.println(ex.getMessage()); - } + theHub.addElementToPlayList(elementTitle, playListTitle); + } catch (NoPlayListFoundException | NoElementFoundException ex) { + System.out.println(ex.getMessage()); + } - System.out.println("Type y to add a new one, n to end"); - choice = scan.nextLine(); - } - System.out.println("Playlist created!"); - printAvailableCommands(); - choice = scan.nextLine(); - break; + System.out.println("Type y to add a new one, n to end"); + choice = scan.nextLine(); + } + LogHandler.write("Playlist successfully created", "INFO"); + System.out.println("Playlist created!"); + printAvailableCommands(); + choice = scan.nextLine(); + break; case '-': //delete a playlist - System.out.println("Delete an existing playlist. Available playlists:"); - Iterator<PlayList> itp = theHub.playlists(); - while (itp.hasNext()) { - PlayList p = itp.next(); - System.out.println(p.getTitle()); - } - String plTitle = scan.nextLine(); + System.out.println("Delete an existing playlist. Available playlists:"); + Iterator<PlayList> itp = theHub.playlists(); + while (itp.hasNext()) { + PlayList p = itp.next(); + System.out.println(p.getTitle()); + } + String plTitle = scan.nextLine(); try { - theHub.deletePlayList(plTitle); - } catch (NoPlayListFoundException ex) { - System.out.println(ex.getMessage()); - } - System.out.println("Playlist deleted!"); - printAvailableCommands(); - choice = scan.nextLine(); - break; + theHub.deletePlayList(plTitle); + } catch (NoPlayListFoundException ex) { + System.out.println(ex.getMessage()); + } + LogHandler.write("Playlist successfully deleted", "INFO"); + System.out.println("Playlist deleted!"); + printAvailableCommands(); + choice = scan.nextLine(); + break; case 's': //save elements, albums, playlists - theHub.saveElements(); - theHub.saveAlbums(); - theHub.savePlayLists(); - System.out.println("Elements, albums and playlists saved!"); - printAvailableCommands(); - choice = scan.nextLine(); - break; + theHub.saveElements(); + theHub.saveAlbums(); + theHub.savePlayLists(); + LogHandler.write("Elements, albums and playlists successfully saved", "INFO"); + System.out.println("Elements, albums and playlists saved!"); + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'r': //search a music try { - theHub.searchAudioElement(); + theHub.searchAudioElement(); } - catch (NoElementFoundException e){ - System.err.println(e.getMessage()); + catch (NoElementFoundException e){ + System.err.println(e.getMessage()); } - catch (java.io.FileNotFoundException e){ - System.err.println(e.getMessage()+" Please create a file with the extension .wav inside the song folder at root of the app"); - } - printAvailableCommands(); + catch (java.io.FileNotFoundException e){ + LogHandler.write("Please create a file with the extension .wav inside the song folder at root of the app", "ERROR"); + System.err.println(e.getMessage() + " Please create a file with the extension .wav inside the song folder at root of the app"); + } + printAvailableCommands(); + choice = scan.nextLine(); + break; case 'o': //consult the app logs - LogHandler.read(); - System.out.println("Type h for available commands"); - choice = scan.nextLine(); - break; + LogHandler.read(); + System.out.println("Type h for available commands"); + choice = scan.nextLine(); + break; + case 'm': + //songs of a playlist + System.out.println("Songs of a playlist will be displayed; enter the playlist name, available playlists are:"); + System.out.println(theHub.getPlayListsTitles()); + + playListTitle = scan.nextLine(); + try { + List<AudioElement> songs = theHub.getPlayListSongs(playListTitle); + System.out.println(theHub.getPlayListSongs(playListTitle)); + String song = scan.nextLine(); + theHub.getAudioElement(songs, song); + } catch (NoPlayListFoundException ex) { + LogHandler.write("No playlist found with the requested title", "WARNING"); + System.out.println("No playlist found with the requested title " + ex.getMessage()); + } + printAvailableCommands(); + choice = scan.nextLine(); + break; default: - break; + break; } } - scan.close(); - } + scan.close(); + } private static void printAvailableCommands() { - System.out.println("t: display the album titles, ordered by date"); - System.out.println("g: display songs of an album, ordered by genre"); - System.out.println("d: display songs of an album"); - System.out.println("u: display audiobooks ordered by author"); - System.out.println("r: search audio elements"); - System.out.println("c: add a new song"); - System.out.println("a: add a new album"); - System.out.println("+: add a song to an album"); - System.out.println("l: add a new audiobook"); - System.out.println("p: create a new playlist from existing songs and audio books"); - System.out.println("-: delete an existing playlist"); - System.out.println("s: save elements, albums, playlists"); - System.out.println("o: consult the app logs"); - System.out.println("q: quit program"); - } + System.out.println("t: display the album titles, ordered by date"); + System.out.println("g: display songs of an album, ordered by genre"); + System.out.println("d: display songs of an album"); + System.out.println("u: display audiobooks ordered by author"); + System.out.println("r: search audio elements"); + System.out.println("c: add a new song"); + System.out.println("a: add a new album"); + System.out.println("+: add a song to an album"); + System.out.println("l: add a new audiobook"); + System.out.println("p: create a new playlist from existing songs and audio books"); + System.out.println("m: display songs of a playlist"); + System.out.println("-: delete an existing playlist"); + System.out.println("s: save elements, albums, playlists"); + System.out.println("o: consult the app logs"); + System.out.println("q: quit program"); + } } \ No newline at end of file diff --git a/target/site/jacoco/musichub.main/index.html b/target/site/jacoco/musichub.main/index.html index cd2b4c7..9101830 100644 --- a/target/site/jacoco/musichub.main/index.html +++ b/target/site/jacoco/musichub.main/index.html @@ -1 +1 @@ -musichub.main

      musichub.main

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total625 of 6250 %42 of 420 %31312152153311
      Main6250 %420 %31312152153311
      \ No newline at end of file +musichub.main

      musichub.main

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total722 of 7220 %43 of 430 %32322512513311
      Main7220 %430 %32322512513311
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.main/index.source.html b/target/site/jacoco/musichub.main/index.source.html index 60b6575..a2635d9 100644 --- a/target/site/jacoco/musichub.main/index.source.html +++ b/target/site/jacoco/musichub.main/index.source.html @@ -1 +1 @@ -musichub.main

      musichub.main

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total625 of 6250 %42 of 420 %31312152153311
      Main.java6250 %420 %31312152153311
      \ No newline at end of file +musichub.main

      musichub.main

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total722 of 7220 %43 of 430 %32322512513311
      Main.java7220 %430 %32322512513311
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.util/Policy.html b/target/site/jacoco/musichub.util/Policy.html index 11ce779..e87278e 100644 --- a/target/site/jacoco/musichub.util/Policy.html +++ b/target/site/jacoco/musichub.util/Policy.html @@ -1 +1 @@ -Policy

      Policy

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total53 of 530 %5 of 50 %66202033
      showTerm()390 %50 %44151511
      Policy()70 %n/a112211
      printAgreement()70 %n/a113311
      \ No newline at end of file +Policy

      Policy

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total60 of 600 %5 of 50 %66242433
      showTerm()460 %50 %44191911
      Policy()70 %n/a112211
      printAgreement()70 %n/a113311
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.util/Policy.java.html b/target/site/jacoco/musichub.util/Policy.java.html index 2eeb294..9739279 100644 --- a/target/site/jacoco/musichub.util/Policy.java.html +++ b/target/site/jacoco/musichub.util/Policy.java.html @@ -1,9 +1,10 @@ Policy.java

      Policy.java

      package musichub.util;
       
      +import java.io.IOException;
       import java.util.Scanner;
       
       /**
      - * Class ...
      + * Class offering methods to prompt a policy agreement form to the user.
        *
        * @author Anthony BOULANT
        * @version 1.0
      @@ -18,115 +19,59 @@ public final class Policy {
            * @author Anthony BOULANT
            */
       
      -    public Policy() {
      -        throw new AssertionError("You just can't instantiate this class.");
      +    public Policy() {
      +        throw new AssertionError("You just can't instantiate this class.");
           }
       
      +    /**
      +     * Method prompting the whole policy agreement process
      +     *
      +     * @author Anthony BOULANT
      +     */
           public static void showTerm() {
       
      -        String termsAndConditions = "Terms and Conditions\n" +
      -                "\n" +
      -                "\n" +
      -                "In using this website you are deemed to have read and agreed to the following terms and conditions:\n" +
      -                "\n" +
      -                "\n" +
      -                "The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and any or all Agreements: \"Client\", “You” and “Your” refers to you, the person accessing this website and accepting the Company’s terms and conditions. \"The Company\", “Ourselves”, “We” and \"Us\", refers to our Company. “Party”, “Parties”, or “Us”, refers to both the Client and ourselves, or either the Client or ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner, whether by formal meetings of a fixed duration, or any other means, for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services/products, in accordance with and subject to, prevailing English Law. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same.\n" +
      -                "\n" +
      -                "\n" +
      -                "Privacy Statement\n" +
      -                "We are committed to protecting your privacy. Authorized employees within the company on a need to know basis only use any information collected from individual customers. We constantly review our systems and data to ensure the best possible service to our customers. Parliament has created specific offences for unauthorised actions against computer systems and data. We will investigate any such actions with a view to prosecuting and/or taking civil proceedings to recover damages against those responsible\n" +
      -                "\n" +
      -                "\n" +
      -                "Confidentiality\n" +
      -                "We are registered under the Data Protection Act 1998 and as such, any information concerning the Client and their respective Client Records may be passed to third parties. However, Client records are regarded as confidential and therefore will not be divulged to any third party, other than if legally required to do so to the appropriate authorities. Clients have the right to request sight of, and copies of any and all Client Records we keep, on the proviso that we are given reasonable notice of such a request. Clients are requested to retain copies of any literature issued in relation to the provision of our services. Where appropriate, we shall issue Client’s with appropriate written information, handouts or copies of records as part of an agreed contract, for the benefit of both parties.\n" +
      -                "\n" +
      -                "We will not sell, share, or rent your personal information to any third party or use your e-mail address for unsolicited mail. Any emails sent by this Company will only be in connection with the provision of agreed services and products.\n" +
      -                "\n" +
      -                "\n" +
      -                "Disclaimer\n" +
      -                "Exclusions and Limitations \n" +
      -                "The information on this web site is provided on an \"as is\" basis. To the fullest extent permitted by law, this Company:\n" +
      -                "\uF0A7\texcludes all representations and warranties relating to this website and its contents or which is or may be provided by any affiliates or any other third party, including in relation to any inaccuracies or omissions in this website and/or the Company’s literature; and \n" +
      -                "\uF0A7\texcludes all liability for damages arising out of or in connection with your use of this website. This includes, without limitation, direct loss, loss of business or profits (whether or not the loss of such profits was foreseeable, arose in the normal course of things or you have advised this Company of the possibility of such potential loss), damage caused to your computer, computer software, systems and programs and the data thereon or any other direct or indirect, consequential and incidental damages. \n" +
      -                "This Company does not however exclude liability for death or personal injury caused by its negligence. The above exclusions and limitations apply only to the extent permitted by law. None of your statutory rights as a consumer are affected. \n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "Cancellation Policy\n" +
      -                "Minimum 24 hours’ notice of cancellation required. Notification for instance, in person, via email, mobile phone ‘text message’ and/or fax, or any other means will be accepted subject to confirmation in writing. We reserve the right to levy a £30 charge to cover any subsequent administrative expenses.\n" +
      -                "\n" +
      -                "\n" +
      -                "Termination of Agreements and Refunds Policy\n" +
      -                "Both the Client and we have the right to terminate any Services Agreement for any reason, including the ending of services that are already underway. No refunds shall be offered, where a Service is deemed to have begun and is, for all intents and purposes, underway. Any monies that have been paid to us which constitute payment in respect of the provision of unused Services, shall be refunded.\n" +
      -                "\n" +
      -                "\n" +
      -                "Availability \n" +
      -                "Unless otherwise stated, the services featured on this website are only available in France, or in relation to postings from France. All advertising is intended solely for the France market. You are solely responsible for evaluating the fitness for a particular purpose of any downloads, programs and text available through this site. Redistribution or republication of any part of this site or its content is prohibited, including such by framing or other similar or any other means, without the express written consent of the Company. The Company does not warrant that the service from this site will be uninterrupted, timely or error free, although it is provided to the best ability. By using this service you thereby indemnify this Company, its employees, agents and affiliates against any loss or damage, in whatever manner, howsoever caused.\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "Copyright Notice \n" +
      -                "Copyright and other relevant intellectual property rights exists on all text relating to the Company’s services and the full content of this application. \n" +
      -                "\n" +
      -                "\n" +
      -                "Communication\n" +
      -                "We have several different e-mail addresses for different queries. These, & other contact information, can be found on our Contact Us link on our website or via Company literature or via the Company’s stated telephone, facsimile or mobile telephone numbers.\n" +
      -                "\n" +
      -                "\n" +
      -                "Force Majeure\n" +
      -                "Neither party shall be liable to the other for any failure to perform any obligation under any Agreement which is due to an event beyond the control of such party including but not limited to any Act of God, terrorism, war, Political insurgence, insurrection, riot, civil unrest, act of civil or military authority, uprising, earthquake, flood or any other natural or manmade eventuality outside of our control, which causes the termination of an agreement or contract entered into, nor which could have been reasonably foreseen. Any Party affected by such event shall forthwith inform the other Party of the same and shall use all reasonable endeavours to comply with the terms and conditions of any Agreement contained herein.\n" +
      -                "\n" +
      -                "\n" +
      -                "Waiver\n" +
      -                "Failure of either Party to insist upon strict performance of any provision of this or any Agreement or the failure of either Party to exercise any right or remedy to which it, he or they are entitled hereunder shall not constitute a waiver thereof and shall not cause a diminution of the obligations under this or any Agreement. No waiver of any of the provisions of this or any Agreement shall be effective unless it is expressly stated to be such and signed by both Parties.\n" +
      -                "\n" +
      -                "\n" +
      -                "General\n" +
      -                "The laws of France govern these terms and conditions. By accessing this application, you consent to these terms and conditions and to the exclusive jurisdiction of the English courts in all disputes arising out of such access. If any of these terms are deemed invalid or unenforceable for any reason (including, but not limited to the exclusions and limitations set out above), then the invalid or unenforceable provision will be severed from these terms and the remaining terms will continue to apply. Failure of the Company to enforce any of the provisions set out in these Terms and Conditions and any Agreement, or failure to exercise any option to terminate, shall not be construed as waiver of such provisions and shall not affect the validity of these Terms and Conditions or of any Agreement or any part thereof, or the right thereafter to enforce each and every provision. These Terms and Conditions shall not be amended, modified, varied or supplemented except in writing and signed by duly authorised representatives of the Company.\n" +
      -                "\n" +
      -                "\n" +
      -                "Notification of Changes\n" +
      -                "The Company reserves the right to change these conditions from time to time as it sees fit and your continued use of the site will signify your acceptance of any adjustment to these terms. If there are any changes to our privacy policy, we will announce that these changes have been made on our home page and on other key pages on our site. If there are any changes in how we use our site customers’ Personally Identifiable Information, notification by e-mail or postal mail will be made to those affected by this change. Any changes to our privacy policy will be posted on our web site 30 days prior to these changes taking place. You are therefore advised to re-read this statement on a regular basis\n" +
      -                "\n" +
      -                "\n" +
      -                "These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected.    \n" +
      -                "© Company Name 2021 All Rights Reserved\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n" +
      -                "\n";
      +        String termsAndConditions = """
      +                Terms and Conditions
      +                In using this website you are deemed to have read and agreed to the following terms and conditions:
      +                Privacy Statement
      +                We are committed to protecting your privacy. Authorized employees within the company on a need to know basis only use any information collected from individual customers. We constantly review our systems and data to ensure the best possible service to our customers. Parliament has created specific offences for unauthorised actions against computer systems and data. We will investigate any such actions with a view to prosecuting and/or taking civil proceedings to recover damages against those responsible
      +                These terms and conditions form part of the Agreement between the Client and ourselves. Your accessing of this website and/or undertaking of a booking or Agreement indicates your understanding, agreement to and acceptance, of the Disclaimer Notice and the full Terms and Conditions contained herein. Your statutory Consumer Rights are unaffected.   s
      +                © Company Name 2021 All Rights Reserved
      +                """;
       
      -        printAgreement();
      -        Scanner scan = new Scanner(System.in);
      -        String choice = scan.nextLine().toLowerCase();
      +        printAgreement();
      +        Scanner scan = new Scanner(System.in);
      +        String choice = scan.nextLine().toLowerCase();
       
      -        while (!choice.equals("y")) {
      -            switch (choice.charAt(0)) {
      -                case 'n' -> System.exit(0);
      -                case 'r' -> {
      -                    System.out.println(termsAndConditions);
      -                    printAgreement();
      -                    choice = scan.nextLine().toLowerCase();
      +        while (!choice.equals("y")) {
      +            switch (choice.charAt(0)) {
      +                case 'n' -> System.exit(0);
      +                case 'r' -> {
      +                    System.out.println(termsAndConditions);
      +                    printAgreement();
      +                    choice = scan.nextLine().toLowerCase();
                       }
      -                default -> {
      -                    printAgreement();
      -                    choice = scan.nextLine().toLowerCase();
      +                default -> {
      +                    printAgreement();
      +                    choice = scan.nextLine().toLowerCase();
                       }
                   }
               }
      -    }
      +        try {
      +            LogHandler.write("Terms accepted by the user.", "INFO");
      +        } catch (IOException e) {
      +            e.printStackTrace();
      +        }
      +    }
       
      +    /**
      +     * Method printing the commands the user can use.
      +     *
      +     * @author Anthony BOULANT
      +     */
           private static void printAgreement() {
      -        System.out.println("By using our app, do you accept our Terms and Conditions ?");
      -        System.out.println("[YES : y    NO :  n    READ : r]");
      -    }
      +        System.out.println("By using our app, do you accept our Terms and Conditions ?");
      +        System.out.println("[YES : y    NO :  n    READ : r]");
      +    }
       }
       
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.util/index.html b/target/site/jacoco/musichub.util/index.html index 936c84a..59a15e9 100644 --- a/target/site/jacoco/musichub.util/index.html +++ b/target/site/jacoco/musichub.util/index.html @@ -1 +1 @@ -musichub.util

      musichub.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total59 of 21071 %5 of 944 %617246631214
      Policy530 %50 %6620203311
      XMLHandler66691 %n/a044250401
      LogHandler46100 %n/a030110301
      PathValidation39100 %4100 %040100201
      \ No newline at end of file +musichub.util

      musichub.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total66 of 21769 %5 of 944 %617287031214
      Policy600 %50 %6624243311
      XMLHandler66691 %n/a044250401
      LogHandler46100 %n/a030110301
      PathValidation39100 %4100 %040100201
      \ No newline at end of file diff --git a/target/site/jacoco/musichub.util/index.source.html b/target/site/jacoco/musichub.util/index.source.html index b7009ee..f534830 100644 --- a/target/site/jacoco/musichub.util/index.source.html +++ b/target/site/jacoco/musichub.util/index.source.html @@ -1 +1 @@ -musichub.util

      musichub.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total59 of 21071 %5 of 944 %617246631214
      Policy.java530 %50 %6620203311
      XMLHandler.java66691 %n/a044250401
      LogHandler.java46100 %n/a030110301
      PathValidation.java39100 %4100 %040100201
      \ No newline at end of file +musichub.util

      musichub.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total66 of 21769 %5 of 944 %617287031214
      Policy.java600 %50 %6624243311
      XMLHandler.java66691 %n/a044250401
      LogHandler.java46100 %n/a030110301
      PathValidation.java39100 %4100 %040100201
      \ No newline at end of file diff --git a/target/spoteezer-0.1.0-shaded.jar b/target/spoteezer-0.1.0-shaded.jar index 4c8e6af..424434b 100644 Binary files a/target/spoteezer-0.1.0-shaded.jar and b/target/spoteezer-0.1.0-shaded.jar differ diff --git a/target/spoteezer-0.1.0.jar b/target/spoteezer-0.1.0.jar index 4c8e6af..424434b 100644 Binary files a/target/spoteezer-0.1.0.jar and b/target/spoteezer-0.1.0.jar differ diff --git a/target/surefire-reports/TEST-musichub.business.CategoryTest.xml b/target/surefire-reports/TEST-musichub.business.CategoryTest.xml index bb2ca30..e925716 100644 --- a/target/surefire-reports/TEST-musichub.business.CategoryTest.xml +++ b/target/surefire-reports/TEST-musichub.business.CategoryTest.xml @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ - + diff --git a/target/surefire-reports/TEST-musichub.business.LanguageTest.xml b/target/surefire-reports/TEST-musichub.business.LanguageTest.xml index 5ebb15c..62f74fc 100644 --- a/target/surefire-reports/TEST-musichub.business.LanguageTest.xml +++ b/target/surefire-reports/TEST-musichub.business.LanguageTest.xml @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ - + diff --git a/target/surefire-reports/TEST-musichub.business.PlayListTest.xml b/target/surefire-reports/TEST-musichub.business.PlayListTest.xml index dde9373..5c92f89 100644 --- a/target/surefire-reports/TEST-musichub.business.PlayListTest.xml +++ b/target/surefire-reports/TEST-musichub.business.PlayListTest.xml @@ -1,5 +1,5 @@ - + @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/target/surefire-reports/TEST-musichub.business.SongTest.xml b/target/surefire-reports/TEST-musichub.business.SongTest.xml index 2bfbc93..4623ab2 100644 --- a/target/surefire-reports/TEST-musichub.business.SongTest.xml +++ b/target/surefire-reports/TEST-musichub.business.SongTest.xml @@ -1,5 +1,5 @@ - + @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -55,9 +55,9 @@ - + - + diff --git a/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml b/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml index b5707c9..303888b 100644 --- a/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml +++ b/target/surefire-reports/TEST-musichub.util.LogHandlerTest.xml @@ -1,5 +1,5 @@ - + @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -55,7 +55,7 @@ - - - + + + \ No newline at end of file diff --git a/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml b/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml index 10ec3d9..2ed37c9 100644 --- a/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml +++ b/target/surefire-reports/TEST-musichub.util.PathValidationTest.xml @@ -1,5 +1,5 @@ - + @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ - + diff --git a/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml b/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml index 3022713..6ee5744 100644 --- a/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml +++ b/target/surefire-reports/TEST-musichub.util.XMLHandlerTest.xml @@ -1,5 +1,5 @@ - + @@ -15,7 +15,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -55,6 +55,6 @@ - + \ No newline at end of file diff --git a/target/surefire-reports/musichub.business.PlayListTest.txt b/target/surefire-reports/musichub.business.PlayListTest.txt index c738c60..7109820 100644 --- a/target/surefire-reports/musichub.business.PlayListTest.txt +++ b/target/surefire-reports/musichub.business.PlayListTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: musichub.business.PlayListTest ------------------------------------------------------------------------------- -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 s - in musichub.business.PlayListTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 s - in musichub.business.PlayListTest diff --git a/target/surefire-reports/musichub.business.SongTest.txt b/target/surefire-reports/musichub.business.SongTest.txt index 4e87759..b940dd9 100644 --- a/target/surefire-reports/musichub.business.SongTest.txt +++ b/target/surefire-reports/musichub.business.SongTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: musichub.business.SongTest ------------------------------------------------------------------------------- -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 s - in musichub.business.SongTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s - in musichub.business.SongTest diff --git a/target/surefire-reports/musichub.util.LogHandlerTest.txt b/target/surefire-reports/musichub.util.LogHandlerTest.txt index 14d9938..520c865 100644 --- a/target/surefire-reports/musichub.util.LogHandlerTest.txt +++ b/target/surefire-reports/musichub.util.LogHandlerTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: musichub.util.LogHandlerTest ------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 s - in musichub.util.LogHandlerTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.075 s - in musichub.util.LogHandlerTest diff --git a/target/surefire-reports/musichub.util.PathValidationTest.txt b/target/surefire-reports/musichub.util.PathValidationTest.txt index 39ffd40..73b70d5 100644 --- a/target/surefire-reports/musichub.util.PathValidationTest.txt +++ b/target/surefire-reports/musichub.util.PathValidationTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: musichub.util.PathValidationTest ------------------------------------------------------------------------------- -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s - in musichub.util.PathValidationTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 s - in musichub.util.PathValidationTest diff --git a/target/surefire-reports/musichub.util.XMLHandlerTest.txt b/target/surefire-reports/musichub.util.XMLHandlerTest.txt index 8938cdc..975dc3e 100644 --- a/target/surefire-reports/musichub.util.XMLHandlerTest.txt +++ b/target/surefire-reports/musichub.util.XMLHandlerTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: musichub.util.XMLHandlerTest ------------------------------------------------------------------------------- -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.119 s - in musichub.util.XMLHandlerTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 s - in musichub.util.XMLHandlerTest -- cgit v1.2.3