Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package rmiserver;
- import javax.sound.sampled.*;
- import java.sql.*;
- import java .io.*;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Scanner;
- import javax.sound.sampled.AudioInputStream;
- class insertDB{
- Connection connection;
- public insertDB(){
- /*
- try{
- DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
- }
- catch(Exception e){
- System.out.println("Could not load driver");
- }
- */
- }
- private void connectToDB() {
- try{
- DriverManager.getConnection("jdbc:postgresql:///[::1]:5432/DropMusic", "postgres", "bd");
- System.out.println("connect to database");
- }
- catch(SQLException e) {
- e.printStackTrace();
- System.out.println("cannot connect to database");
- }
- }
- public void execSQL(){
- try{
- Statement stmt= connection.createStatement();
- BufferedReader input= new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Insira o nome da musica");
- String songName = input.readLine();
- System.out.println("Insira o nome da musica");
- String songArtist = input.readLine();
- System.out.println("Insira o nome da musica");
- String songGender = input.readLine();
- System.out.println("Insira o nome da musica");
- String songAlbum = input.readLine();
- System.out.println("Insira o nome da musica");
- String songDuration = input.readLine();
- String insert= "Insert into songs values (" + "'"+ songName + "','" + songArtist + "','" + songGender + "','" + songAlbum + "','" + songDuration + "')";
- System.out.println(insert);
- int inserted = stmt.executeUpdate(insert); //retorna 1 para sucesso, 0 para fail
- if(inserted>0){
- System.out.println("Successfully inserted");
- }
- }
- catch (Exception e){
- System.out.print("Error executing SQL");
- }
- }
- public static void main(String[] args){
- insertDB conn = new insertDB();
- conn.connectToDB();
- conn.execSQL();
- }
- }
- public class Connecting {
- Connection connect;
- Connection connect2;
- Connecting() {
- try {
- Class.forName("org.postgresql.Driver");
- connect = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/DropMusic", "postgres", "bd");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public int executeSQL(String sql) {
- //Connection connect= new Connection();
- try {
- Statement st = connect.createStatement();
- int res = st.executeUpdate(sql);
- //connect.close();
- return res;
- } catch (Exception e) {
- e.printStackTrace();
- return 0;
- }
- }
- public ResultSet executeSearch(String sql) {
- try {
- Statement stm = connect.createStatement();
- ResultSet rs = stm.executeQuery(sql);
- connect.close();
- return rs;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public boolean albumExists(String album){
- Connecting con = new Connecting();
- String sql="Select * from albums where \"albumName\"= "+"'" + album +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("albumName").equals(album)) {
- return true;
- }
- }
- System.out.println("Album não existe, tem de o criar primeiro");
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public boolean artistExists(String artist){
- Connecting con = new Connecting();
- String sql="Select * from artists where \"artistName\"= "+"'" + artist +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("artistName").equals(artist)) {
- return true;
- }
- }
- System.out.println("Artista não existe, tem de o criar primeiro");
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public boolean songExists(String song){
- Connecting con = new Connecting();
- String sql="Select * from songs where \"songName\"= "+"'" + song +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("songName").equals(song)) {
- System.out.println("EXiste");
- return true;
- }
- }
- System.out.println("Música não existe, tem de a criar primeiro");
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public boolean concertExists(String concert){
- Connecting con = new Connecting();
- String sql="Select * from concerts where \"concertName\"= "+"'" + concert +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("concertName").equals(concert)) {
- return true;
- }
- }
- System.out.println("Concerto não existe, tem de o criar primeiro");
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public boolean playlistExists(String playlist){
- Connecting con = new Connecting();
- String sql="Select * from playlists where \"playlistName\"= "+"'" + playlist +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("playlistName").equals(playlist)) {
- return true;
- }
- }
- System.out.println("Playlist não existe, tem de a criar primeiro");
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public boolean userExists(String username){
- Connecting con = new Connecting();
- String sql="Select * from users where \"username\"= "+"'" + username +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("username").equals(username)) {
- return true;
- }
- }
- System.out.println("Utilizador não existe, tem de o criar primeiro");
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public boolean addArtist(String username, String artistName,String artistGender, String artistBirthdate, String artistMusicGender, String artistDescription, String artistJob){
- String packet;
- if (checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- return false;
- }
- if(artistExists(artistName)==false) {
- String insert = "Insert into artists values (" + "'" + artistName + "','" + artistGender + "','" + artistBirthdate + "','" + artistMusicGender + "','" + artistDescription + "','" + artistJob + "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Artista " + artistName + " criado com sucesso!");
- return true;
- }
- else{
- System.out.println("Artista " + artistName + " ja criado");
- return false;
- }
- }
- public boolean addAlbum(String username, String albumName, String albumArtist, String albumGender, String albumDate, String albumDescription, String albumPublisher, double albumScore) throws IOException{
- String packet;
- Connecting con= new Connecting();
- if (con.checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- return false;
- }
- /*
- if (albumExists(albumName) == true) {
- packet = username "|answer|albumalreadyexists";
- return packet; }
- */
- if(artistExists(albumArtist) == true){
- String insert = "Insert into albums values (" + "'" + albumName + "','" + albumArtist + "','" + albumGender + "','" + albumDate + "','" + albumDescription+ "','" + albumPublisher+ "','" + albumScore + "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Album " + albumName + " criado com sucesso");
- return true;
- }
- else{
- //packet = username +"|answer|createartistfirst";
- //return packet;
- System.out.println(albumArtist + " inexistente, crie-o primeiro!");
- return false;
- /*
- System.out.println("Artista inexistente correspondente ao album! Temos de criá-lo primeiro!");
- BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Insira o sexo do artista");
- String artistGender = input.readLine();
- System.out.println("Insira a data de nascimento do artista");
- String artistBirthdate = input.readLine();
- System.out.println("Insira o género de música do artista");
- String artistMusicGender = input.readLine();
- System.out.println("Insira a descrição do artista");
- String artistDescription = input.readLine();
- try {
- Class.forName("org.postgresql.Driver");
- connect2 = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/DropMusic", "postgres", "bd");
- } catch (Exception e) {
- e.printStackTrace();
- }
- String insert = "Insert into artists values (" + "'" + albumArtist + "','" + artistGender + "','" + artistBirthdate + "','" + artistMusicGender + "','" + artistDescription + "')";
- String insert2 = "Insert into albums values (" + "'" + albumName + "','" + albumArtist + "','" + albumGender + "','" + albumDate + "','" + albumDescription + "')";
- try {
- Statement st = connect2.createStatement();
- Statement st2 = connect2.createStatement();
- int res = st.executeUpdate(insert);
- int res2 = st2.executeUpdate(insert2);
- connect2.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- */
- }
- }
- public boolean addSong(String username, String songName, String songArtist, String songGender, String songAlbum, String songDuration, String songPublisher, String songCompositor, String songWriter, String songOrder) throws IOException {
- String packet;
- if (checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- return false;
- }
- if(albumExists(songAlbum)==false){
- return false;
- }
- if(artistExists(songArtist) == true){
- double x=0.0;
- String insert = "Insert into songs values (" + "'" + songName + "','" + songArtist + "','" + songGender + "','" + songAlbum + "','" + songDuration+ "','" + songPublisher+ x +"','" + x+"','" + songCompositor+ "','" + songWriter+ "','" + songOrder + "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Musica " + songName + " criada com sucesso");
- return true;
- }
- else{
- System.out.println(songArtist + " inexistente, crie-o primeiro!");
- return false;
- }
- }
- public void addConcert(String username, String concertName,String concertLocation, String concertDate){
- String packet;
- if (checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- }
- String insert = "Insert into concerts values (" + "'" + concertName + "','" + concertLocation + "','" + concertDate + "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Concerto " + concertName + " criado com sucesso!");
- }
- public void addSongConcert(String username, String concert, String song, String order){
- String packet;
- if (checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- return;
- }
- if(concertExists(concert)) {
- if (songExists(song)) {
- String insert = "Insert into songs_concerts values (" + "'" + song + "','" + concert+ "','" + order + "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Musica " + song + " adicionada com sucesso ao concerto " + concert + "!");
- } else {
- System.out.println("Nao existe nenhuma musica com o nome " + song);
- }
- }
- else{
- System.out.println("Concerto nao existe");
- }
- }
- public void addPlaylist(String username, String playlistName){
- String packet;
- if (checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- }
- String insert = "Insert into playlists values (" + "'" + playlistName + "','" + username+ "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Playlist " + playlistName + " criada com sucesso!");
- }
- public void addSongPlaylist(String username, String playlist, String song, String order){
- String packet;
- if (checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- return;
- }
- if(playlistExists(playlist)) {
- if (songExists(song)) {
- String insert = "Insert into playlist_song values (" + "'" + playlist + "','" + song+ "','" + order + "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Musica " + song + " adicionada com sucesso a playlist " + playlist + "!");
- } else {
- System.out.println("Nao existe nenhuma musica com o nome " + song);
- }
- }
- else{
- System.out.println("Concerto nao existe");
- }
- }
- public void addArtistBand(String username, String band, String artist){
- String packet;
- if (checkIfEditor(username)==false) {
- //packet = username +"|answer|noteditor";
- //return packet;
- System.out.println(username + " nao e editor");
- return;
- }
- if (artistExists(artist)) {
- String insert = "Insert into artist_band values (" + "'" + artist + "','" + band + "')";
- executeSQL(insert);
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Artista " + artist + " adicionado com sucesso a banda " + band + "!");
- } else {
- System.out.println("Nao existe nenhum artist com o nome " + artist);
- }
- }
- //Quando o utilizador faz uma critica, a pontuacao do album e automaticamente atualizada no albumScore da tabela albums
- public boolean commentAlbum(String username,String album, String comment, double score) throws IOException{
- String packet;
- if (albumExists(album) == false) {
- //packet = username +"|answer|createalbumfirst";
- //return packet;
- System.out.println("Album " +album+ " nao existe!");
- return false;
- }
- try {
- Class.forName("org.postgresql.Driver");
- connect = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/DropMusic", "postgres", "bd");
- } catch (Exception e) {
- e.printStackTrace();
- }
- String insert = "Insert into albums_comments values (" + "'" + username + "','" + album + "','" + comment + "','" + score + "')";
- try {
- Statement st = connect.createStatement();
- int res = st.executeUpdate(insert);
- getAlbumAverage(username,album);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return true;
- //packet = username +"|answer|true";
- //return packet;
- }
- //Quando o utilizador faz uma critica, a pontuacao da musica e automaticamente atualizada no songScore da tabela songs
- public void commentSong(String username,String song, String comment, double score) throws IOException{
- String packet;
- if (songExists(song) == false) {
- //packet = username +"|answer|createalbumfirst";
- //return packet;
- System.out.println("Musica " +song+ " nao existe!");
- }
- try {
- Class.forName("org.postgresql.Driver");
- connect = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/DropMusic", "postgres", "bd");
- } catch (Exception e) {
- e.printStackTrace();
- }
- String insert = "Insert into songs_comments values (" + "'" + username + "','" + song + "','" + comment + "','" + score + "')";
- try {
- Statement st = connect.createStatement();
- int res = st.executeUpdate(insert);
- getSongAverage(username,song);
- } catch (Exception e) {
- e.printStackTrace();
- }
- //packet = username +"|answer|true";
- //return packet;
- }
- public void viewCommentsAlbum(String username, String albumPesquisa) throws SQLException{
- String packet;
- if(albumExists(albumPesquisa)==false){
- //packet = username +"|answer|createalbumfirst";
- //return packet;
- System.out.println("Album nao existe");
- }
- //Connecting con = new Connecting();
- //String sql="Select count(*) from albums_comments where \"album\"= "+"'" + albumPesquisa +"'";
- //ResultSet rs = con.executeSearch(sql);
- String sql2="Select * from albums_comments where \"album\"= "+"'" + albumPesquisa +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- ArrayList<String> comments = new ArrayList<String>();
- int number=0;
- /*
- while(rs.next()) {
- number = rs.getInt(1);
- }
- */
- while(rs2.next()){
- comments.add("\nUsername: " + rs2.getString("username")+"\nComentario: " +rs2.getString("comment")+"\nScore: "+rs2.getString("score"));
- }
- //packet = username +"|" + number + "|answer|" + comments;
- packet = "Comentarios do album " + albumPesquisa +" :\n" + comments;
- System.out.println(packet);
- }
- public void viewCommentsSong(String username, String songPesquisa) throws SQLException{
- String packet;
- if(songExists(songPesquisa)==false){
- //packet = username +"|answer|createsongfirst";
- //return packet;
- System.out.println("Musica nao existe");
- }
- //Connecting con = new Connecting();
- //String sql="Select count(*) from albums_comments where \"album\"= "+"'" + albumPesquisa +"'";
- //ResultSet rs = con.executeSearch(sql);
- String sql2="Select * from songs_comments where \"song\"= "+"'" + songPesquisa +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- ArrayList<String> comments = new ArrayList<String>();
- int number=0;
- /*
- while(rs.next()) {
- number = rs.getInt(1);
- }
- */
- while(rs2.next()){
- comments.add("\nUsername: " + rs2.getString("username")+"\nComentario: " +rs2.getString("comment")+"\nScore: "+rs2.getString("score"));
- }
- //packet = username +"|" + number + "|answer|" + comments;
- packet = "Comentarios da musica " + songPesquisa +" :\n" + comments;
- System.out.println(packet);
- }
- public void getAlbumAverage(String username, String album)throws IOException, SQLException {
- String packet;
- Connecting con = new Connecting();
- String sql = "Select count(*) from albums_comments where \"album\"= " + "'" + album + "'";
- ResultSet rs = con.executeSearch(sql);
- double total = 0.0, val = 0.0;
- while (rs.next()) {
- total = (rs.getFloat(1));
- }
- Connecting con2 = new Connecting();
- String sql2 = "Select sum(score) from albums_comments where \"album\"= " + "'" + album + "'";
- ResultSet rs2 = con2.executeSearch(sql2);
- while (rs2.next()) {
- val = rs2.getFloat(1);
- }
- double x = (val / total);
- double average = (double) Math.round(x * 100) / 100;
- //System.out.println(average);
- String update;
- update = "Update albums set \"albumScore\"= " + "'" + average + "'where \"albumName\"= " + "'" + album + "'";
- executeSQL(update);
- //packet = username + "|answer|" + average;
- //return packet;
- }
- public void getSongAverage(String username, String song)throws IOException, SQLException {
- String packet;
- Connecting con = new Connecting();
- String sql = "Select count(*) from songs_comments where \"song\"= " + "'" + song + "'";
- ResultSet rs = con.executeSearch(sql);
- double total = 0.0, val = 0.0;
- while (rs.next()) {
- total = (rs.getFloat(1));
- }
- Connecting con2 = new Connecting();
- String sql2 = "Select sum(score) from songs_comments where \"song\"= " + "'" + song + "'";
- ResultSet rs2 = con2.executeSearch(sql2);
- while (rs2.next()) {
- val = rs2.getFloat(1);
- }
- double x = (val / total);
- double average = (double) Math.round(x * 100) / 100;
- System.out.println(average);
- String update;
- update = "Update songs set \"songScore\"= " + "'" + average + "'where \"songName\"= " + "'" + song + "'";
- executeSQL(update);
- //packet = username + "|answer|" + average;
- //return packet;
- }
- public boolean checkUsername(String username){
- Connecting con = new Connecting();
- String sql="Select * from users where \"username\"= "+"'" + username +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("username").equals(username)) {
- return true;
- }
- }
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public String checkUsernameRMI(String username){
- String packet = "";
- if(checkUsername(username)){
- packet = username +"|answer|true";
- }
- else {
- packet = username +"|answer|false";
- }
- return packet;
- }
- public boolean checkPassword(String username, String password){
- Connecting con = new Connecting();
- String sql="Select * from users where \"username\"= "+"'" + username +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("password").equals(password)) {
- return true;
- }
- }
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public String checkPasswordRMI(String username, String password){
- String packet = "";
- if(checkPassword(username, password)){
- packet = username +"|answer|true";
- }
- else {
- packet = username +"|answer|false";
- }
- return packet;
- }
- public boolean createUser(String username, String password, String onlineStatus) throws IOException, SQLException {
- String packet="";
- if(checkUsername(username)==true){
- System.out.println("Esse username já está a ser utilizado");
- //packet = username +"|answer|usernamealreadyused";
- //return packet;
- return false;
- }
- try {
- Class.forName("org.postgresql.Driver");
- connect2 = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/DropMusic", "postgres", "bd");
- } catch (Exception e) {
- e.printStackTrace();
- }
- Connecting con = new Connecting();
- String sql = "Select count(*) from users";
- ResultSet rs = con.executeSearch(sql);
- int total=0;
- while (rs.next()) {
- total = (rs.getInt(1));
- }
- String editorStatus="";
- if(total==0){
- editorStatus="yes";
- }
- else{
- editorStatus="no";
- }
- String insert = "Insert into users values (" + "'" + username + "','" + password + "','" + editorStatus + "','"+ onlineStatus + "')";
- try {
- Statement st = connect2.createStatement();
- int res = st.executeUpdate(insert);
- connect2.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- //packet = username +"|answer|true";
- //return packet;
- System.out.println("Utilizador " + username + " foi criado com sucesso!");
- return true;
- }
- public boolean login(String username, String password){
- String packet;
- if(checkPassword(username, password)==true) {
- String update;
- String on = "on";
- update = "Update users set \"onlineStatus\"= " + "'" + on + "'where \"username\"= " + "'" + username + "'";
- executeSQL(update);
- //packet = username + "|answer|true";
- System.out.println("Esta agora online!");
- return true;
- }else{
- System.out.println("Password errada!");
- //packet = username +"|answer|false";
- return false;
- }
- //return packet;
- }
- public void logout(String username){
- String packet;
- String update;
- String off = "off";
- update = "Update users set \"onlineStatus\"= " + "'" + off + "'where \"username\"= " + "'" + username + "'";
- executeSQL(update);
- //packet = username + "|answer|true";
- //return packet;
- System.out.println("Esta agora offline");
- }
- public boolean checkIfEditor(String username){
- Connecting con = new Connecting();
- String sql="Select * from users where \"username\"= "+"'" + username +"'";
- ResultSet rs = con.executeSearch(sql);
- try{
- while(rs.next()) {
- if (rs.getString("editorStatus").equals("yes")) {
- return true;
- }
- }
- System.out.println("Não é editor, não tem privilégios");
- return false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return false;
- }
- public boolean makeEditor(String username, String newEditorToBe) throws SQLException{
- String packet = "";
- if(checkIfEditor(username)) {
- String sql = "Update users set \"editorStatus\"= 'yes' where \"username\"= " + "'" + newEditorToBe + "'";
- executeSQL(sql);
- //packet = username +"|answer|true";
- System.out.println(newEditorToBe + " e agora editor!");
- return true;
- }
- else{
- //packet = username +"|answer|false";
- System.out.println(username + " nao e editor!");
- return false;
- }
- }
- public void searchBySongName(String username, String songname) throws SQLException{
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from songs where \"songName\"= "+"'" + songname +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("songName")+ "\nNome do artista: " +rs2.getString("songArtist")+ "\nGenero da musica: " +rs2.getString("songGender")+ "\nNome do album: " +rs2.getString("songAlbum")+ "\nDuracao da musica: " +rs2.getString("songDuration")+ "\nEditora da musica: " +rs2.getString("songPublisher")+ "\nClassificacao da musica: " +rs2.getString("songScore")+ "\nCompositor da musica: " +rs2.getString("songCompositor")+ "\nLetrista da musica: " +rs2.getString("songWriter")+ "\nOrdem da musica: " +rs2.getString("songOrder")+"\n");
- }
- String packet = "Musicas com o nome " + songname +" :\n" + songs;
- System.out.println(packet);
- }
- public void searchByGender(String username, String gender) throws SQLException{
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from songs where \"songGender\"= "+"'" + gender +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("songName")+ "\nNome do artista: " +rs2.getString("songArtist")+ "\nGenero da musica: " +rs2.getString("songGender")+ "\nNome do album: " +rs2.getString("songAlbum")+ "\nDuracao da musica: " +rs2.getString("songDuration")+ "\nEditora da musica: " +rs2.getString("songPublisher")+ "\nClassificacao da musica: " +rs2.getString("songScore")+rs2.getString("songCompositor")+ "\nLetrista da musica: " +rs2.getString("songWriter")+ "\nOrdem da musica: " +rs2.getString("songOrder")+"\n");
- }
- String packet = "Musicas do genero " + gender +" :\n" + songs;
- System.out.println(packet);
- ArrayList<String> albums = new ArrayList<String>();
- String sql="Select * from albums where \"albumGender\"= "+"'" + gender +"'";
- Connecting con = new Connecting();
- ResultSet rs = con.executeSearch(sql);
- while(rs.next()){
- albums.add("\nNome do album: " + rs.getString("albumName")+ "\nNome do artista: " +rs.getString("albumArtist")+ "\nGenero do album: " +rs.getString("albumGender")+ "\nData do album: " +rs.getString("albumDate")+ "\nDescricao do album: " +rs.getString("albumDescription")+ "\nEditora do album: " +rs.getString("albumPublisher")+ "\nClassificacao do album: " +rs.getString("albumScore")+"\n");
- }
- String packet2 = "Albuns do genero " + gender +" :\n" + albums;
- System.out.println(packet2);
- }
- public void searchByArtist(String username, String artist) throws SQLException{
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from songs where \"songArtist\"= "+"'" + artist +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("songName")+ "\nNome do artista: " +rs2.getString("songArtist")+ "\nGenero da musica: " +rs2.getString("songGender")+ "\nNome do album: " +rs2.getString("songAlbum")+ "\nDuracao da musica: " +rs2.getString("songDuration")+ "\nEditora da musica: " +rs2.getString("songPublisher")+ "\nClassificacao da musica: " +rs2.getString("songScore")+rs2.getString("songCompositor")+ "\nLetrista da musica: " +rs2.getString("songWriter")+ "\nOrdem da musica: " +rs2.getString("songOrder")+"\n");
- }
- String packet = "Musicas do artista " + artist +" :\n" + songs;
- System.out.println(packet);
- ArrayList<String> albums = new ArrayList<String>();
- String sql="Select * from albums where \"albumArtist\"= "+"'" + artist +"'";
- Connecting con = new Connecting();
- ResultSet rs = con.executeSearch(sql);
- while(rs.next()){
- albums.add("\nNome do album: " + rs.getString("albumName")+ "\nNome do artista: " +rs.getString("albumArtist")+ "\nGenero do album: " +rs.getString("albumGender")+ "\nData do album: " +rs.getString("albumDate")+ "\nDescricao do album: " +rs.getString("albumDescription")+ "\nEditora do album: " +rs.getString("albumPublisher")+ "\nClassificacao do album: " +rs.getString("albumScore")+"\n");
- }
- String packet2 = "Albuns do artista " + artist +" :\n" + albums;
- System.out.println(packet2);
- }
- public void searchByCompositor(String username, String compositor) throws SQLException{
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from songs where \"songCompositor\"= "+"'" + compositor +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("songName")+ "\nNome do artista: " +rs2.getString("songArtist")+ "\nGenero da musica: " +rs2.getString("songGender")+ "\nNome do album: " +rs2.getString("songAlbum")+ "\nDuracao da musica: " +rs2.getString("songDuration")+ "\nEditora da musica: " +rs2.getString("songPublisher")+ "\nClassificacao da musica: " +rs2.getString("songScore")+rs2.getString("songCompositor")+ "\nLetrista da musica: " +rs2.getString("songWriter")+ "\nOrdem da musica: " +rs2.getString("songOrder")+"\n");
- }
- String packet = "Musicas do compositor " + compositor +" :\n" + songs;
- System.out.println(packet);
- }
- public void searchByAlbum(String username, String album) throws SQLException{
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from songs where \"songAlbum\"= "+"'" + album +"'"+"order by \"songOrder\" ";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("songName")+ "\nNome do artista: " +rs2.getString("songArtist")+ "\nGenero da musica: " +rs2.getString("songGender")+ "\nNome do album: " +rs2.getString("songAlbum")+ "\nDuracao da musica: " +rs2.getString("songDuration")+ "\nEditora da musica: " +rs2.getString("songPublisher")+ "\nClassificacao da musica: " +rs2.getString("songScore")+ "\nCompositor da musica: " +rs2.getString("songCompositor")+ "\nLetrista da musica: " +rs2.getString("songWriter")+ "\nOrdem da musica: " +rs2.getString("songOrder")+"\n");
- }
- String packet = "Album com o nome " + album +" :\n" + songs;
- System.out.println(packet);
- }
- public void searchByPlaylist(String username, String playlist) throws SQLException{
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from playlist_song where \"playlist\"= "+"'" + playlist +"'"+"order by \"order\" ";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("song")+ "\nOrdem da musica: " +rs2.getString("order"));
- }
- String packet = "Playlist com o nome " + playlist +" :\n" + songs;
- System.out.println(packet);
- }
- public void searchByBand(String username, String band) throws SQLException{
- ArrayList<String> artists = new ArrayList<String>();
- String sql2="Select * from artist_band where \"band\"= "+"'" + band +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- artists.add("\nNome do artista: " + rs2.getString("artist"));
- }
- String packet = "Artistas da banda " + band +" :\n" + artists;
- System.out.println(packet);
- }
- public void searchByPublisher(String username, String publisher) throws SQLException{
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from songs where \"songPublisher\"= "+"'" + publisher +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("songName")+ "\nNome do artista: " +rs2.getString("songArtist")+ "\nGenero da musica: " +rs2.getString("songGender")+ "\nNome do album: " +rs2.getString("songAlbum")+ "\nDuracao da musica: " +rs2.getString("songDuration")+ "\nEditora da musica: " +rs2.getString("songPublisher")+ "\nClassificacao da musica: " +rs2.getString("songScore")+rs2.getString("songCompositor")+ "\nLetrista da musica: " +rs2.getString("songWriter")+ "\nOrdem da musica: " +rs2.getString("songOrder")+"\n");
- }
- String packet = "Musicas da editora " + publisher +" :\n" + songs;
- System.out.println(packet);
- ArrayList<String> albums = new ArrayList<String>();
- String sql="Select * from albums where \"albumPublisher\"= "+"'" + publisher +"'";
- Connecting con = new Connecting();
- ResultSet rs = con.executeSearch(sql);
- while(rs.next()){
- albums.add("\nNome do album: " + rs.getString("albumName")+ "\nNome do artista: " +rs.getString("albumArtist")+ "\nGenero do album: " +rs.getString("albumGender")+ "\nData do album: " +rs.getString("albumDate")+ "\nDescricao do album: " +rs.getString("albumDescription")+ "\nEditora do album: " +rs.getString("albumPublisher")+ "\nClassificacao do album: " +rs.getString("albumScore")+"\n");
- }
- String packet2 = "Albuns da editora " + publisher +" :\n" + albums;
- System.out.println(packet2);
- }
- public void searchByConcert(String username, String concert) throws SQLException{
- ArrayList<String> concerts = new ArrayList<String>();
- String sql="Select * from concerts where \"concertName\"= "+"'" + concert +"'";
- Connecting con = new Connecting();
- ResultSet rs = con.executeSearch(sql);
- while(rs.next()){
- concerts.add("\nNome do concerto: " + rs.getString("concertName")+ "\nLocalizacao do concerto: " +rs.getString("concerLocation")+ "\nData do concerto: " +rs.getString("concertDate"));
- }
- String packet2 = "Informacoes do concerto " + concert +" :\n" + concerts;
- System.out.println(packet2);
- ArrayList<String> songs = new ArrayList<String>();
- String sql2="Select * from songs_concerts where \"concert\"= "+"'" + concert +"'"+"order by \"order\" ";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- songs.add("\nNome da musica: " + rs2.getString("song")+ "\nOrdem da musica: " +rs2.getString("order"));
- }
- String packet = "Musicas tocadas no concerto" + concert +" :\n" + songs;
- System.out.println(packet);
- }
- //Tabela musicfiles: type=uploaded -> utilizador fez uploaded
- // type=shared -> utilizador recebeu a partilha de um musicfile
- public void uploadFile(String username,String songName,String filepath){
- String insert = "Insert into musicfiles values (" + "'" + username + "','" + songName + "','" + filepath + "','" + "upload" + "')";
- executeSQL(insert);
- }
- public void shareFile(String userToShare, String filename) throws SQLException {
- if(userExists(userToShare)) {
- String newFile = "";
- String newSong = "";
- String sql = "Select * from musicfiles where \"filepath\"= " + "'" + filename + "'";
- Connecting con = new Connecting();
- ResultSet rs = con.executeSearch(sql);
- while (rs.next()) {
- newFile = rs.getString("filepath");
- newSong = rs.getString("song");
- }
- String insert = "Insert into musicfiles values (" + "'" + userToShare + "','" + newSong + "','" + newFile + "','" + "shared" + "')";
- executeSQL(insert);
- System.out.println("Musica " + newSong + " foi partilhada com " + userToShare + " com sucesso!");
- }
- else{
- return;
- }
- }
- //Ficheiros que o utilizador pode sacar porque foram partilhados com ele
- public void filesToDownload(String username) throws SQLException {
- ArrayList<String> files = new ArrayList<String>();
- String x="shared";
- String sql2="Select * from musicfiles where \"type\"='shared' and \"username\"= "+"'" + username +"'";
- Connecting con2 = new Connecting();
- ResultSet rs2 = con2.executeSearch(sql2);
- while(rs2.next()){
- files.add("\nNome do ficheiro: " + rs2.getString("filepath"));
- }
- String packet = "Ficheiros que foram partilhados com o utilizador " +username + " :\n" + files;
- System.out.println(packet);
- }
- public void deleteAlbum(String username, String album){
- checkIfEditor(username);
- albumExists(album);
- String delete = "Delete from albums where \"albumName\"= "+"'" + album +"'";
- executeSQL(delete);
- System.out.println("Album e todas as músicas associadas a ele foram apagadas");
- }
- public void deleteSong(String username, String song){
- checkIfEditor(username);
- songExists(song);
- String delete = "Delete from songs where \"songName\"= "+"'" + song +"'";
- executeSQL(delete);
- System.out.println("A música foi apagada");
- }
- public void deleteArtist(String username, String artist){
- checkIfEditor(username);
- artistExists(artist);
- String delete = "Delete from artists where \"artistName\"= "+"'" + artist +"'";
- executeSQL(delete);
- System.out.println("Artista e todos os álbuns associados a ele foram apagadas");
- }
- public void changeArtistData(String username, String artist) throws IOException, SQLException {
- Scanner sc = new Scanner(System.in);
- checkIfEditor(username);
- while(artistExists(artist)) {
- String newName = "";
- String delete = "";
- boolean flag = true;
- while (flag) {
- System.out.print("Alterar:\n1-Nome do artista;\n2-Sexo do artista;\n3-Data de nascimento do artista;\n4-Género de música do artista;\n5-Descrição do artista;\n6-Sair\n");
- int opcao = sc.nextInt();
- BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
- switch (opcao) {
- case 1:
- System.out.println("Alterar o nome do artista para:");
- newName = input.readLine();
- delete = "Update artists set \"artistName\"= " + "'" + newName + "'where \"artistName\"= " + "'" + artist + "'";
- executeSQL(delete);
- break;
- case 2:
- System.out.println("Alterar o sexo do artista para:");
- newName = input.readLine();
- delete = "Update artists set \"artistGender\"= " + "'" + newName + "'where \"artistName\"= " + "'" + artist + "'";
- executeSQL(delete);
- break;
- case 3:
- System.out.println("Alterar a data de nascimento do artista para:");
- newName = input.readLine();
- delete = "Update artists set \"artistBirthdate\"= " + "'" + newName + "'where \"artistName\"= " + "'" + artist + "'";
- executeSQL(delete);
- break;
- case 4:
- System.out.println("Alterar o género de música do artista para:");
- newName = input.readLine();
- delete = "Update artists set \"artistMusicGender\"= " + "'" + newName + "'where \"artistName\"= " + "'" + artist + "'";
- executeSQL(delete);
- break;
- case 5:
- System.out.println("Alterar a descrição do artista para:");
- newName = input.readLine();
- delete = "Update artists set \"artistDescription\"= " + "'" + newName + "'where \"artistName\"= " + "'" + artist + "'";
- executeSQL(delete);
- break;
- case 6:
- flag = false;
- }
- }
- }
- }
- public void changeAlbumData(String username, String album) throws IOException, SQLException {
- Scanner sc = new Scanner(System.in);
- checkIfEditor(username);
- while(albumExists(album)) {
- String newName = "";
- String delete = "";
- boolean flag = true;
- while (flag) {
- System.out.print("Alterar:\n1-Nome do álbum;\n2-Género do álbum;\n3-Data do álbum;\n4-Descrição do álbum;\n5-Sair;\n");
- int opcao = sc.nextInt();
- BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
- switch (opcao) {
- case 1:
- System.out.println("Alterar o nome do álbum para:");
- newName = input.readLine();
- delete = "Update albums set \"albumName\"= " + "'" + newName + "'where \"songName\"= " + "'" + album + "'";
- executeSQL(delete);
- case 2:
- System.out.println("Alterar o género do álbum para:");
- newName = input.readLine();
- delete = "Update albums set \"albumGender\"= " + "'" + newName + "'where \"albumName\"= " + "'" + album + "'";
- executeSQL(delete);
- case 3:
- System.out.println("Alterar a data do álbum para:");
- newName = input.readLine();
- delete = "Update albums set \"albumDate\"= " + "'" + newName + "'where \"albumName\"= " + "'" + album + "'";
- executeSQL(delete);
- case 4:
- System.out.println("Alterar a descrição do álbum para:");
- newName = input.readLine();
- delete = "Update albums set \"albumDescription\"= " + "'" + newName + "'where \"albumName\"= " + "'" + album + "'";
- executeSQL(delete);
- case 5:
- flag = false;
- }
- }
- }
- }
- public void changeSongData(String username, String song) throws IOException, SQLException {
- Scanner sc = new Scanner(System.in);
- checkIfEditor(username);
- String newName = "";
- String newSongName = "";
- String delete = "";
- boolean flag = true;
- while(songExists(song)) {
- while (flag) {
- System.out.print("Alterar:\n1-Nome da música;\n2-Género da música;\n3-Duração da música;\n4-Sair\n");
- int opcao = sc.nextInt();
- BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
- switch (opcao) {
- case 1:
- System.out.println("Alterar o nome da música para:");
- newSongName = input.readLine();
- break;
- case 2:
- System.out.println("Alterar o género da música para:");
- newName = input.readLine();
- delete = "Update songs set \"songGender\"= " + "'" + newName + "'where \"songName\"= " + "'" + song + "'";
- executeSQL(delete);
- break;
- case 3:
- System.out.println("Alterar a duração da música para:");
- newName = input.readLine();
- delete = "Update songs set \"songDuration\"= " + "'" + newName + "'where \"songName\"= " + "'" + song + "'";
- executeSQL(delete);
- break;
- case 4:
- delete = "Update songs set \"songName\"= " + "'" + newSongName + "'where \"songName\"= " + "'" + song + "'";
- executeSQL(delete);
- flag = false;
- }
- }
- }
- }
- public void changeArtistDescription(String username, String artist, String newDescription){
- checkIfEditor(username);
- artistExists(artist);
- String update;
- String update2;
- update = "Update artists set \"artistDescription\"= " + "'" + newDescription + "'where \"artistName\"= " + "'" + artist + "'";
- executeSQL(update);
- //update2 = "Insert into changed_description values (" + "'" + username + "','" + "artist" + "','" + artist + "')";
- //executeSQL(update2);
- }
- public void changeAlbumDescription(String username, String album, String newDescription){
- checkIfEditor(username);
- albumExists(album);
- String update;
- String update2;
- update = "Update albums set \"albumDescription\"= " + "'" + newDescription + "'where \"albumName\"= " + "'" + album + "'";
- executeSQL(update);
- //update2 = "Insert into changed_description values (" + "'" + username + "','" + "album" + "','" + album + "')";
- //executeSQL(update2);
- }
- /*
- public String clientsToBeNotified(String username, String album) throws SQLException{
- Connecting con = new Connecting();
- String sql = "Select * from editor_commented where \"album\"= "+"'" + album +"'";
- ResultSet rs = con.executeSearch(sql);
- ArrayList<String> users = new ArrayList<String>();
- while (rs.next()) {
- users.add(rs.getString("editorUsername"));
- }
- Connecting con2 = new Connecting();
- String sql2="Select count(*) from editor_commented where \"album\"= "+"'" + album +"'";
- ResultSet rs2 = con2.executeSearch(sql2);
- int number=0;
- while(rs2.next()) {
- number = rs2.getInt(1);
- }
- String packet = username + "|" + number + "|" + users;
- return packet;
- }
- public void editorsChangedDescription(String username, String album){
- }
- public void notifications(String username){
- Connecting con = new Connecting();
- String sql="Select count(*) from users_notfications where \"username\"= "+"'" + username +"'";
- ResultSet rs = con.executeSearch(sql);
- int number=0;
- while(rs.next()) {
- number = rs.getInt(1);
- }
- Connecting con2 = new Connecting();
- String sql2="Select * from users_notifications where \"username\"= "+"'" + username +"'";
- ResultSet rs2 = con2.executeSearch(sql2);
- ArrayList<String> notifications = new ArrayList<String>();
- while(rs2.next()) {
- notifications.add((rs2.getString("notification")));
- }
- String packet = username +"|" + number + "|answer|notifications" + notifications;
- }
- public String notificationsToDeliever(String username) throws SQLException{
- Connecting con = new Connecting();
- String sql="Select count(*) from users_notfications where \"username\"= "+"'" + username +"'";
- ResultSet rs = con.executeSearch(sql);
- int number=0;
- while(rs.next()) {
- number = rs.getInt(1);
- }
- Connecting con2 = new Connecting();
- String sql2="Select * from users_notifications where \"username\"= "+"'" + username +"'";
- ResultSet rs2 = con2.executeSearch(sql2);
- ArrayList<String> notifications = new ArrayList<String>();
- while(rs2.next()) {
- notifications.add((rs2.getString("notification")));
- }
- String packet = username +"|" + number + "|answer|notifications" + notifications;
- return packet;
- }
- */
- /*
- public void addaudioFile(String directory) throws IOException, SQLException, UnsupportedAudioFileException {
- File file=new File("C:\\Users\\jfmrb\\Desktop\\A");
- AudioInputStream ais=AudioSystem.getAudioInputStream(file);
- byte[] data=new byte[ais.available()];
- ais.read(data);
- }
- public byte[] convertToByte(String path) throws IOException {
- FileInputStream fis = new FileInputStream(path);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- byte[] b = new byte[1024];
- for (int readNum; (readNum = fis.read(b)) != -1;) {
- bos.write(b, 0, readNum);
- }
- byte[] bytes = bos.toByteArray();
- return bytes;
- }
- private void convertBytesToFile(byte[] bytearray) {
- try {
- File outputFile = File.createTempFile("file", "mp3", getCacheDir());
- outputFile.deleteOnExit();
- FileOutputStream fileoutputstream = new FileOutputStream(tempMp3);
- fileoutputstream.write(bytearray);
- fileoutputstream.close();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- */
- public static void main(String[] args) throws Exception {
- Connecting con = new Connecting();
- //con.addSong("xx","xx", "xx", "xx", "album horrivel");
- //con.createUser("juliana", "caodeagua", "no");
- //con.addAlbum("juliana", "xx", "rhcp", "rock", "2008", "muito bom");
- con.filesToDownload("maria");
- //con.makeEditor("juliana", "joao");
- //con.commentAlbum("joao", "xixio", "vavava", 2.5);
- //con.viewCommentsAlbum("joao","xixio" );
- //con.searchBySongGender("joao", "rock");
- //con.uploadFile("joao","macarena","C/Desktop/macarena.mp3");
- //con.shareFile("maria","C/Desktop/macarena.mp3");
- //con.searchBySongName("joao", "xau");
- //con.searchByArtist("joao","ze");
- //con.searchByGender("joao", "rock");
- //con.searchByAlbum("joao","xx");
- //con.songExists("xau");
- //con.deleteAlbum("melhoralbum");
- //con.changeSongData("juliana", "olaola");
- //con.getAlbumAverage("joao","xixio");
- //con.changeArtistDescription("joao", "paiva", "ola");
- /*
- String sql="Select * from albums";
- ResultSet rs = con.executeSearch(sql);
- con.albumExists("ola");
- try {
- while (rs.next()) {
- String nomedamusica = rs.getString("albumName");
- //String nomedoalbum = rs.getString("songAlbum");
- System.out.println(nomedamusica);
- }
- }
- catch (Exception e){
- e.printStackTrace();
- }
- */
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement