diff --git a/README.md b/README.md index 036e3df..e51dd60 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Esta é uma aplicação feita para o projeto final de Computação II em 2021.2 ## Funcionamento -- Ao fazer deploy do .war no GlassFish 5, o caminho para a página inicial é em ***/TrabalhoFinal-1.0-SNAPSHOT/api/file*** +- Ao fazer deploy do .war no GlassFish 5 usando Java 1.8 (Temurin-1.8), o caminho para a página inicial é em ***/TrabalhoFinal-1.0-SNAPSHOT/api/file*** - Na página inicial, será requisitado o MP3 a ser lido ou modificado[^1]: diff --git a/src/main/java/br/ufrj/ic/trabalhofinal/FileUploadService.java b/src/main/java/br/ufrj/ic/trabalhofinal/FileUploadService.java index 906f854..40c7fc3 100644 --- a/src/main/java/br/ufrj/ic/trabalhofinal/FileUploadService.java +++ b/src/main/java/br/ufrj/ic/trabalhofinal/FileUploadService.java @@ -37,6 +37,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) } } + //Nomes com & dão problema ao ler private String nameWithoutAmpersand(String filename) { StringBuilder str = new StringBuilder(); diff --git a/src/main/java/br/ufrj/ic/trabalhofinal/MusicResource.java b/src/main/java/br/ufrj/ic/trabalhofinal/MusicResource.java index 9cb8c0a..c482173 100644 --- a/src/main/java/br/ufrj/ic/trabalhofinal/MusicResource.java +++ b/src/main/java/br/ufrj/ic/trabalhofinal/MusicResource.java @@ -110,6 +110,7 @@ private static LinkedHashMap genresMap() { return genres; } + //Gera um Select dos gêneros usando um for-loop no genresMap, pois o ID3v23 só permite gêneros predefinidos private static String GenreHtmlSelect() throws IOException, UnsupportedTagException, InvalidDataException { LinkedHashMap genres = genresMap(); LinkedHashMap mutableInfoMP3 = MusicApplication.mutableData(MusicApplication.FILEPATH); diff --git a/src/main/java/br/ufrj/ic/trabalhofinal/SalvarResource.java b/src/main/java/br/ufrj/ic/trabalhofinal/SalvarResource.java index a004540..65096dd 100644 --- a/src/main/java/br/ufrj/ic/trabalhofinal/SalvarResource.java +++ b/src/main/java/br/ufrj/ic/trabalhofinal/SalvarResource.java @@ -40,12 +40,14 @@ public String Salvar(@QueryParam("título") @DefaultValue("") String titulo, byte[] albumImageData = null; String mimeType = null; + //Uma tag ID3v2 pode ter uma capa de álbum, logo é necessário salvar if (mp3file.hasId3v2Tag()) { oldId3v2Tag = mp3file.getId3v2Tag(); albumImageData = oldId3v2Tag.getAlbumImage(); mimeType = oldId3v2Tag.getAlbumImageMimeType(); } + //remove o antigo para colocar os novos parâmetros sem interferência mp3file.removeId3v2Tag(); ID3v2 id3v2Tag; id3v2Tag = new ID3v24Tag(); @@ -64,10 +66,12 @@ public String Salvar(@QueryParam("título") @DefaultValue("") String titulo, id3v2Tag.setUrl(url); id3v2Tag.setEncoder(encoder); + //Se for selecionado "nenhum" como gênero não será configurado um gênero if (!genero.equals("-1")) { id3v2Tag.setGenre(Integer.parseInt(genero)); } + //Se a tag suporta capa, será recolocado aqui if (oldId3v2Tag != null) { id3v2Tag.setAlbumImage(albumImageData, mimeType); } diff --git a/src/main/java/br/ufrj/ic/trabalhofinal/css/music-resource.css b/src/main/java/br/ufrj/ic/trabalhofinal/css/music-resource.css deleted file mode 100644 index cf79c1e..0000000 --- a/src/main/java/br/ufrj/ic/trabalhofinal/css/music-resource.css +++ /dev/null @@ -1,113 +0,0 @@ -*{ - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: Verdana, SansSerif; -} - -body{ - background-color: #13293D; -} - -nav{ - display: flex; - justify-content: space-between; - align-items: center; - background: #006494; - height: 8vh; -} - -h1{ - color: white; - margin-left: 3vh; - -} - -a{ - color: white; - text-decoration: none; - margin-right: 3vh; -} - -a:hover{ - color: red; - opacity: 0.8; -} - -main{ - margin-top: 3vh; - display: grid; - grid-gap: 20px; - height: 89vh; -} - -form, .immutables{ - width: 99%; - background: #E8F1F2; - padding: 35px 35px; - margin-left: 5px; - margin-right: 5px; - border-radius: 10px; - grid-row: 2; -} - -form{ - grid-column: 2; -} - -fieldset{ - font-size: 15px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - border: none; -} - - -legend, h2{ - font-size: 40px; - margin-bottom: 10px; - font-weight: 500; -} - -.form-div{ - width: calc(100%/2 - 20px); - margin-bottom: 1vh; -} - -input, select{ - height: 30px; - width: 100%; - padding-left: 15px; - border-radius: 10px; - border: 2px; - border-style: inset; -} - -.mutable-label{ - font-weight: 500; - margin-bottom: 10px; -} - -.immutables{ - grid-column: 1; -} - -.immutables ul{ - list-style: none; -} - -.immutables li{ - margin-top: 5px; -} - -.immutables li::before{ - content: "■"; - padding-right: 8px; -} - -h1{ - text-align: center; - justify-content: center; - color: white; -} diff --git a/src/main/java/br/ufrj/ic/trabalhofinal/css/salvar-resource.css b/src/main/java/br/ufrj/ic/trabalhofinal/css/salvar-resource.css deleted file mode 100644 index 30be0ea..0000000 --- a/src/main/java/br/ufrj/ic/trabalhofinal/css/salvar-resource.css +++ /dev/null @@ -1,78 +0,0 @@ -*{ - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: Verdana, SansSerif; -} - -body{ - background-color: #13293D; - vertical-align: top; -} - -h1{ - color: white; - margin-left: 3vh; -} - -nav{ - display: flex; - justify-content: space-between; - align-items: center; - background: #006494; - height: 8vh; -} - -a{ - color: white; - text-decoration: none; -} - -a:hover{ - color: red; - opacity: 0.8; - margin-right: 3vh; -} - -main{ - width: 75vh; - height: 75vh; - background: #E8F1F2; - margin: auto; - top: 50%; - vertical-align: auto; - padding: 20px 35px 10px; - border-radius: 10px; - -} - -h2{ - flex-direction: column; - justify-content: center; - align-items: center; - display: flex; - width: 100%; -} - - - -download-div{ - position: absolute; - grid-row: 2/5; - background-color: rgba(0, 0, 255, 0.1); - border-radius: 10px; - margin-bottom: 10px; -} - -#download-image{ - width: 100%; - height: 100%; - color: black; - margin-bottom: auto; - background-color: rgba(0, 0, 255, 0.1);; -} - -#download-image:hover{ - color: black; - background-color: rgba(9, 236, 100, 0.2);; -} \ No newline at end of file diff --git a/src/main/java/br/ufrj/ic/trabalhofinal/css/upload-resource.css b/src/main/java/br/ufrj/ic/trabalhofinal/css/upload-resource.css deleted file mode 100644 index 5099b0d..0000000 --- a/src/main/java/br/ufrj/ic/trabalhofinal/css/upload-resource.css +++ /dev/null @@ -1,81 +0,0 @@ -*{ - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: Verdana, SansSerif; -} - -body{ - background-color: #13293D; - display: flex; - align-items: center; - justify-content: center; -} - -form{ - width: 75vh; - height: 75vh; - background: #E8F1F2; - margin: 5px; - padding: 20px 35px 10px; - border-radius: 10px; - display: grid; - box-sizing: border-box; - grid-template-rows: repeat(5, auto); - text-align: center; -} - -h1, label{ - display: flex; - text-align: center; - justify-content: center; - align-items: center; -} - -.file-selector{ - grid-row: 2/5; - background: rgba(0, 0, 255, 0.1); - border-radius: 10px; - margin-bottom: 10px; -} - -label{ - display: flex; - position: relative; - width: 100%; - height: 100%; - color: black; - align-items: center; - flex-direction: column; - justify-content: center ; - cursor: pointer; -} - - -#file{ - position: absolute; - bottom: 20px; - left: 20px; -} - -::file-selector-button { - display: none; -} - - -#enviar{ - border: none; - margin-left: auto; - margin-right: auto; - border-radius: 10px; - width: 50%; - text-decoration: none; - display: inline-block; - font-size: 16px; - background-color: rgba(0, 0, 255, 0.1);; -} - -#enviar:hover, .file-selector:hover{ - background-color: rgba(133, 25, 150, 0.1); -} - diff --git a/target/TrabalhoFinal-1.0-SNAPSHOT.war b/target/TrabalhoFinal-1.0-SNAPSHOT.war index 767b5a2..11210e8 100644 Binary files a/target/TrabalhoFinal-1.0-SNAPSHOT.war and b/target/TrabalhoFinal-1.0-SNAPSHOT.war differ diff --git a/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class b/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class index aed2696..6e45b1b 100644 Binary files a/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class and b/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class differ diff --git a/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/MusicResource.class b/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/MusicResource.class index 2942c50..a60b637 100644 Binary files a/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/MusicResource.class and b/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/MusicResource.class differ diff --git a/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class b/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class index 8d38ac1..d3ec952 100644 Binary files a/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class and b/target/TrabalhoFinal-1.0-SNAPSHOT/WEB-INF/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class differ diff --git a/target/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class b/target/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class index aed2696..6e45b1b 100644 Binary files a/target/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class and b/target/classes/br/ufrj/ic/trabalhofinal/FileUploadService.class differ diff --git a/target/classes/br/ufrj/ic/trabalhofinal/MusicResource.class b/target/classes/br/ufrj/ic/trabalhofinal/MusicResource.class index 2942c50..a60b637 100644 Binary files a/target/classes/br/ufrj/ic/trabalhofinal/MusicResource.class and b/target/classes/br/ufrj/ic/trabalhofinal/MusicResource.class differ diff --git a/target/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class b/target/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class index 8d38ac1..d3ec952 100644 Binary files a/target/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class and b/target/classes/br/ufrj/ic/trabalhofinal/SalvarResource.class differ