diff --git a/config.properties b/config.properties index a7e5c31..0e7a735 100644 --- a/config.properties +++ b/config.properties @@ -1,14 +1,13 @@ -#Mon Nov 25 01:07:20 BRST 2019 +#Mon Dec 02 21:39:21 BRST 2019 +db.scriptSource=filesystem\:C\:\\Users\\"Lucas Oliveira"\\Projetos\\atualizador-java\\atualizacao +update.frequency=1 db.connector=org.sqlite.JDBC -db.scriptSource=filesystem\:D\:\\Renato\\Downloads\\atualizador-java\\atualizador-java-develop\\atualizacao -db.password= -update.frequency= -down.origem=atualizacao -db.dataScriptSource=D\:\\Renato\\Downloads\\atualizador-java\\atualizador-java-develop\\atualizacao\\data.sql -app.version=0.0.0 -db.user= git.url=https\://github.com/renatofritola/QueijosBiopark +db.url=jdbc\:sqlite\:C\:/queijo/bancoqueijos.db +app.version=0.0.0 +down.origem=atualizacao +down.destino=C\:\\queijo zip.file=queijo.zip -down.destino=D\:\\queijo +db.user= app.name=queijo.jar -db.url=jdbc\:sqlite\:D\:/queijo/bancoqueijos.db +db.password= diff --git a/src/main/java/br/biopark/queijos/atualizador/Main.java b/src/main/java/br/biopark/queijos/atualizador/Main.java index 74d99b5..fe8b9ed 100644 --- a/src/main/java/br/biopark/queijos/atualizador/Main.java +++ b/src/main/java/br/biopark/queijos/atualizador/Main.java @@ -16,6 +16,8 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; +import java.awt.MenuItem; +import java.awt.PopupMenu; import java.awt.Rectangle; import java.awt.RenderingHints; import java.awt.SystemTray; @@ -24,11 +26,12 @@ import java.awt.TrayIcon.MessageType; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.Timer; +import java.util.TimerTask; import javax.swing.JComponent; -import javax.swing.JRootPane; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicProgressBarUI; @@ -45,61 +48,77 @@ public class Main { private static String novaVersao = ""; private SystemTray tray; private static TrayIcon trayIcon; + private static Main main; public TrayIcon getTrayIcon() { return trayIcon; } - public static void main(String[] args) { - Main main = new Main(); + public void setTrayIcon(TrayIcon trayIcon) { + Main.trayIcon = trayIcon; + } - try { + public static Main getMain() { + return main; + } - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - UIManager.put("ProgressBar.background", Color.gray); - UIManager.put("ProgressBar.foreground", Color.orange); - UIManager.put("ProgressBar.selectionBackground", Color.white); - UIManager.put("ProgressBar.selectionForeground", Color.white); + public static void setMain(Main main) { + Main.main = main; + } + + public static void main(String[] args) { + main = new Main(); + try { + updateUI(); } catch (Exception ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } try { - main.displayTray(); + TrayIconController.displayTray(); } catch (AWTException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } - int delay = 5000; // delay de 5 seg. - int interval = 50000;//Integer.parseInt(prop.readPropertie(EPropertie.UPDATE_CHECK_FREQUENCY)) * 3600; // intervalo configurado. + int interval = prop.readPropertie(EPropertie.UPDATE_CHECK_FREQUENCY) != null ? Integer.parseInt(prop.readPropertie(EPropertie.UPDATE_CHECK_FREQUENCY)) * 60000 : 60 * 60000; // intervalo configurado. Timer timer = new Timer(); - //timer.scheduleAtFixedRate(new TimerTask() { - // public void run() { - versaoAtual = prop.readPropertie(EPropertie.APLICATION_VERSION); - GitUtil git = new GitUtil(); - versoes = git.buscaVersoes(prop.readPropertie(EPropertie.URL_BASE_GIT)); - - if (main.checkNewVersion()) { -// main.iniciarAtualizacao(); - main.getTrayIcon().displayMessage("Atualizador Queijos", "Uma nova versão foi encontrada. \nClique aqui para atualizar.", MessageType.INFO); - main.getTrayIcon().addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - Versao versao = new Versao(Progress.getInstance(), true, versaoAtual, versoes, trayIcon); - main.getTrayIcon().addActionListener(null); - versao.setLocationRelativeTo(null); - versao.getRootPane().setWindowDecorationStyle(JRootPane.NONE); - versao.getjLabel1().setText("Nova versão "+novaVersao); - versao.setVisible(true); - } - }); - + timer.scheduleAtFixedRate(new TimerTask() { + public void run() { + checarVersao(false); + + } + }, interval, interval); + } + public static void checarVersao(boolean menu) { + if (!TrayIconController.processandoVersao) { + versaoAtual = prop.readPropertie(EPropertie.APLICATION_VERSION); + GitUtil git = new GitUtil(); + versoes = git.buscaVersoes(prop.readPropertie(EPropertie.URL_BASE_GIT)); + + if (main.checkNewVersion()) { + + if (menu) { + TrayIconController.showVersionFrame(trayIcon, versaoAtual, versoes, novaVersao); + } else { + TrayIconController.notifyVersion(main.getTrayIcon(), versaoAtual, versoes, novaVersao); + } + }else{ + URL url = main.getClass().getResource("/queijo.png"); + Image imgQueijo = Toolkit.getDefaultToolkit().getImage(url); + main.getTrayIcon().setImage(imgQueijo); + } } - //} - // }, delay, interval); + } + private static void updateUI() throws Exception { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + UIManager.put("ProgressBar.background", Color.gray); + UIManager.put("ProgressBar.foreground", Color.orange); + UIManager.put("ProgressBar.selectionBackground", Color.white); + UIManager.put("ProgressBar.selectionForeground", Color.white); } private boolean checkNewVersion() { @@ -119,40 +138,4 @@ private boolean checkNewVersion() { return false; } - - static class MyProgressUI extends BasicProgressBarUI { - - Rectangle r = new Rectangle(); - - @Override - protected void paintIndeterminate(Graphics g, JComponent c) { - Graphics2D g2d = (Graphics2D) g; - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_ON); - r = getBox(r); - g.setColor(progressBar.getForeground()); - g.fillRect(r.x, r.y, r.width, r.height); - } - } - - public void displayTray() throws AWTException { - //Obtain only one instance of the SystemTray object - tray = SystemTray.getSystemTray(); - - //If the icon is a file - //Image image = Toolkit.getDefaultToolkit().createImage("icon.png"); - //Alternative (if the icon is on the classpath): - Image image = Toolkit.getDefaultToolkit().createImage(getClass().getResource("/queijo.png")); - - trayIcon = new TrayIcon(image, "Atualizador Queijos"); - //Let the system resize the image if needed - trayIcon.setImageAutoSize(true); - - //Set tooltip text for the tray icon - trayIcon.setToolTip("Atualizados Queijos"); - tray.add(trayIcon); - - trayIcon.displayMessage("Atualizador Queijos", "Atualizador sendo executado em segundo plano.", MessageType.INFO); - } - -} +} \ No newline at end of file diff --git a/src/main/java/br/biopark/queijos/atualizador/Progress.java b/src/main/java/br/biopark/queijos/atualizador/Progress.java index bfb4771..09f28c4 100644 --- a/src/main/java/br/biopark/queijos/atualizador/Progress.java +++ b/src/main/java/br/biopark/queijos/atualizador/Progress.java @@ -11,18 +11,27 @@ import br.biopark.queijos.atualizador.util.PropFile; import br.biopark.queijos.atualizador.util.UnzipFiles; import br.biopark.queijos.atualizador.util.Util; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; +import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JRootPane; +import javax.swing.plaf.basic.BasicProgressBarUI; /** * @@ -36,11 +45,13 @@ public class Progress extends javax.swing.JFrame { private static Downloader downloader = new Downloader(); private static String versaoAtual = ""; private static List versoes = new ArrayList(); - private static TrayIcon trayIcon; private static Progress INSTANCE; private Progress() { initComponents(); + URL url = this.getClass().getResource("/queijo.png"); + Image iconeTitulo = Toolkit.getDefaultToolkit().getImage(url); + this.setIconImage(iconeTitulo); } public static Progress getInstance() { @@ -204,6 +215,51 @@ private void initComponents() { private javax.swing.JLabel lbVersaoNova; // End of variables declaration//GEN-END:variables + public static void updateProgress(int val, boolean sp, String st, String verA, String verN, int sleep, boolean indt) { + getInstance().getJpProgress().setValue(val); + getInstance().getJpProgress().setStringPainted(sp); + getInstance().repaint(); + getInstance().lbStatus.setText(st); + + if (verA != null) { + getInstance().lbVersaoNova.setText(verA); + } + + if (verN != null) { + getInstance().lbVersaoNova.setText(verN); + } + + if (indt) { + getInstance().getJpProgress().setIndeterminate(indt); + } + + getInstance().repaint(); + util.sleep(sleep); + } + + public static void downloadApplication(String v, UnzipFiles unzip) { + downloader.download(prop.readPropertie(EPropertie.URL_BASE_GIT), v, + prop.readPropertie(EPropertie.ARQUIVO_ZIP)); + unzip.unzip(prop.readPropertie(EPropertie.ARQUIVO_ZIP), + prop.readPropertie(EPropertie.LOCAL_ORIGEM)); + } + + public static void extractFiles(UnzipFiles unzip) { + util.sleep(5000); + unzip.createDir(prop.readPropertie(EPropertie.LOCAL_DESTINO)); + unzip.copiar(prop.readPropertie(EPropertie.LOCAL_ORIGEM) + "/bancoqueijos.db", + prop.readPropertie(EPropertie.LOCAL_DESTINO) + "/bancoqueijos.db"); + } + + public static void updateDatabase(int versao) { + flywayDb.updateDataBase(prop.readPropertie(EPropertie.DATABASE_URL), + prop.readPropertie(EPropertie.DATABASE_USER), + prop.readPropertie(EPropertie.DATABASE_PASSWORD), + prop.readPropertie(EPropertie.DATABASE_SCRIPT_LOCATION), + versao == 0); + util.sleep(2000); + } + public static void processar(List versoes, String versaoAtual, TrayIcon trayicon) { Progress progress = getInstance(); @@ -218,90 +274,42 @@ public static void processar(List versoes, String versaoAtual, TrayIcon int vRem = Integer.parseInt(v.replace(".", "")); if (vRem > vAtual) { - progress.getJpProgress().setValue(0); - progress.getJpProgress().setStringPainted(true); - progress.repaint(); - progress.lbStatus.setText("Iniciando Download da nova versão..."); - progress.lbVersaoNova.setText(v); - progress.repaint(); - util.sleep(4000); - - downloader.download(prop.readPropertie(EPropertie.URL_BASE_GIT), v, - prop.readPropertie(EPropertie.ARQUIVO_ZIP)); - unzip.unzip(prop.readPropertie(EPropertie.ARQUIVO_ZIP), - prop.readPropertie(EPropertie.LOCAL_ORIGEM)); + updateProgress(0, true, "Iniciando Download da nova versão...", v, null, 4000, false); + + downloadApplication(v, unzip); versaoAtual = v; - progress.getJpProgress().setValue(0); - progress.getJpProgress().setStringPainted(false); - progress.lbStatus.setText("Extraindo arquivos..."); - progress.repaint(); - progress.getJpProgress().setIndeterminate(true); - progress.repaint(); + updateProgress(0, false, "Extraindo arquivos...", null, null, 0, true); if (vRem == 100) { + extractFiles(unzip); + } - util.sleep(5000); - - unzip.createDir(prop.readPropertie(EPropertie.LOCAL_DESTINO)); - - unzip.copiar(prop.readPropertie(EPropertie.LOCAL_ORIGEM) + "/bancoqueijos.db", - prop.readPropertie(EPropertie.LOCAL_DESTINO) + "/bancoqueijos.db"); + updateProgress(0, false, "Atualizando banco de dados...", versaoAtual, "", 500, false); - } + updateDatabase(vAtual); - progress.lbStatus.setText("Atualizando banco de dados..."); - progress.lbVersao.setText(versaoAtual); - progress.lbVersaoNova.setText(""); - progress.repaint(); - util.sleep(500); - - flywayDb.updateDataBase(prop.readPropertie(EPropertie.DATABASE_URL), - prop.readPropertie(EPropertie.DATABASE_USER), - prop.readPropertie(EPropertie.DATABASE_PASSWORD), - prop.readPropertie(EPropertie.DATABASE_SCRIPT_LOCATION), - prop.readPropertie(EPropertie.DATABASE_DATASCRIPT_LOCATION)); - util.sleep(2000); - - progress.lbStatus.setText("Instalando nova versão..."); - progress.lbVersao.setText(versaoAtual); - progress.lbVersaoNova.setText(""); - progress.repaint(); + updateProgress(0, false, "Instalando nova versão...", versaoAtual, "", 2000, false); unzip.copiar(prop.readPropertie(EPropertie.LOCAL_ORIGEM) + "/" + prop.readPropertie(EPropertie.APLICATION_NAME), prop.readPropertie(EPropertie.LOCAL_DESTINO) + "/" + prop.readPropertie(EPropertie.APLICATION_NAME)); - util.sleep(2000); - prop.setProperty(EPropertie.APLICATION_VERSION, versaoAtual); - progress.lbStatus.setText("Removendo arquivos temporários..."); - progress.lbVersao.setText(versaoAtual); - progress.lbVersaoNova.setText(""); - progress.repaint(); - util.sleep(2000); + updateProgress(0, false, "Removendo arquivos temporários...", versaoAtual, "", 2000, false); unzip.deleteDownloadedContent(prop.readPropertie(EPropertie.ARQUIVO_ZIP), prop.readPropertie(EPropertie.LOCAL_ORIGEM)); - progress.lbStatus.setText("Versão " + versaoAtual + " atualziada com sucesso!"); - progress.lbVersao.setText(versaoAtual); - progress.lbVersaoNova.setText(""); - progress.repaint(); - util.sleep(2000); - + updateProgress(0, false, "Versão " + versaoAtual + " atualizada com sucesso!", versaoAtual, "", 2000, false); } sucesso = true; } if (sucesso) { - progress.lbStatus.setText("Processo de atualização finalizado!"); - progress.lbVersao.setText(versaoAtual); - progress.lbVersaoNova.setText(""); - progress.repaint(); - util.sleep(2000); + updateProgress(0, false, "Processo de atualização finalizado!", versaoAtual, "", 2000, false); progress.dispose(); - abrirAplicacao(); + abrirAplicacao(trayicon); } } @@ -349,15 +357,14 @@ public static void execCommand(String command) { } - public static void abrirAplicacao() { - + public static void abrirAplicacao(TrayIcon trayIcon) { trayIcon.displayMessage("Atualizador Queijos", "Clique aqui para abrir o sistema", TrayIcon.MessageType.INFO); trayIcon.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Runtime runTime = Runtime.getRuntime(); try { Process process = runTime.exec("java -jar " - + prop.readPropertie(EPropertie.LOCAL_DESTINO) + + prop.readPropertie(EPropertie.LOCAL_DESTINO).replace("\\", "/") + "/" + prop.readPropertie(EPropertie.APLICATION_NAME)); } catch (IOException ex) { Logger.getLogger(Progress.class.getName()).log(Level.SEVERE, null, ex); @@ -379,16 +386,12 @@ public static void setVersoes(List versoes) { Progress.versoes = versoes; } - public void setTrayIcon(TrayIcon trayIcon) { - this.trayIcon = trayIcon; - } - public void iniciarAtualizacao(List versoes, String versaoAtual, TrayIcon trayicon) { Progress janela = Progress.getInstance(); janela.getJpProgress().setIndeterminate(true); - janela.getJpProgress().setUI(new Main.MyProgressUI()); + janela.getJpProgress().setUI(new MyProgressUI()); janela.getLbVersao().setText(versaoAtual); janela.getJpProgress().setVisible(true); @@ -396,8 +399,28 @@ public void iniciarAtualizacao(List versoes, String versaoAtual, TrayIco janela.repaint(); - janela.processar(versoes, versaoAtual, trayIcon); + janela.processar(versoes, versaoAtual, trayicon); + TrayIconController.processandoVersao = false; + } + + static class MyProgressUI extends BasicProgressBarUI { + + Rectangle r; + @Override + protected void paintIndeterminate(Graphics g, JComponent c) { + Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + + if (r == null) { + r = new Rectangle(); + } + + r = getBox(r); + g.setColor(progressBar.getForeground()); + g.fillRect(r.x, r.y, r.width, r.height); + } } } diff --git a/src/main/java/br/biopark/queijos/atualizador/TrayIconController.java b/src/main/java/br/biopark/queijos/atualizador/TrayIconController.java new file mode 100644 index 0000000..1772f53 --- /dev/null +++ b/src/main/java/br/biopark/queijos/atualizador/TrayIconController.java @@ -0,0 +1,91 @@ +package br.biopark.queijos.atualizador; + +import java.awt.AWTException; +import java.awt.Image; +import java.awt.MenuItem; +import java.awt.PopupMenu; +import java.awt.SystemTray; +import java.awt.Toolkit; +import java.awt.TrayIcon; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.net.URL; +import java.util.List; +import javax.swing.JRootPane; + +/** + * + * @author Lucas Oliveira + */ +public class TrayIconController { + + private static SystemTray tray; + public static boolean processandoVersao = false; + + public static ActionListener showVersao(TrayIcon trayIcon, String vAtual, List versoes, String novaVersao) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + showVersionFrame(trayIcon, vAtual, versoes, novaVersao); + } + }; + } + + public static void showVersionFrame(TrayIcon trayIcon, String vAtual, List versoes, String novaVersao) { + + Versao versao = new Versao(Progress.getInstance(), true, vAtual, versoes, trayIcon); + trayIcon.addActionListener(null); + versao.setLocationRelativeTo(null); + versao.getRootPane().setWindowDecorationStyle(JRootPane.NONE); + versao.getjLabel1().setText("Nova versão " + novaVersao); + processandoVersao = true; + versao.setVisible(true); + + } + + public static void notifyVersion(TrayIcon tIcon, String vAtual, List versoes, String vNova) { + URL url = TrayIconController.class.getClass().getResource("/queijo-alert.png"); + Image imgQueijo = Toolkit.getDefaultToolkit().getImage(url); + tIcon.setImage(imgQueijo); + tIcon.displayMessage("Atualizador Queijos", "Uma nova versão foi encontrada. \nClique aqui para atualizar.", TrayIcon.MessageType.INFO); + tIcon.addActionListener(TrayIconController + .showVersao(tIcon, vAtual, versoes, vNova)); + } + + private static ActionListener quitItem_onClick() { + return new ActionListener() { + public void actionPerformed(ActionEvent evt) { + Main.checarVersao(true); + } + }; + } + + public static void displayTray() throws AWTException { + //Obtain only one instance of the SystemTray object + TrayIconController.tray = SystemTray.getSystemTray(); + + PopupMenu menu = new PopupMenu("Atualizador"); + menu.add("Atualizador Queijos - Versão 1.0.0"); + menu.addSeparator(); + MenuItem quitItem = new MenuItem("Verificar Atualizações"); + quitItem.addActionListener(quitItem_onClick()); + + menu.add(quitItem); + + //If the icon is a file + //Image image = Toolkit.getDefaultToolkit().createImage("icon.png"); + //Alternative (if the icon is on the classpath): + Image image = Toolkit.getDefaultToolkit() + .createImage(TrayIconController.class.getClass().getResource("/queijo.png")); + + Main.getMain().setTrayIcon(new TrayIcon(image, "Atualizador Queijos", menu)); + //Let the system resize the image if needed + Main.getMain().getTrayIcon().setImageAutoSize(true); + + //Set tooltip text for the tray icon + Main.getMain().getTrayIcon().setToolTip("Atualizador Queijos"); + tray.add(Main.getMain().getTrayIcon()); + + Main.getMain().getTrayIcon().displayMessage("Atualizador Queijos", "Atualizador sendo executado em segundo plano.", TrayIcon.MessageType.INFO); + } +} diff --git a/src/main/java/br/biopark/queijos/atualizador/Versao.form b/src/main/java/br/biopark/queijos/atualizador/Versao.form index a512ab9..b1104cb 100644 --- a/src/main/java/br/biopark/queijos/atualizador/Versao.form +++ b/src/main/java/br/biopark/queijos/atualizador/Versao.form @@ -138,6 +138,7 @@ + diff --git a/src/main/java/br/biopark/queijos/atualizador/Versao.java b/src/main/java/br/biopark/queijos/atualizador/Versao.java index 658958a..3975ce3 100644 --- a/src/main/java/br/biopark/queijos/atualizador/Versao.java +++ b/src/main/java/br/biopark/queijos/atualizador/Versao.java @@ -5,7 +5,11 @@ */ package br.biopark.queijos.atualizador; +import java.awt.Image; +import java.awt.Toolkit; import java.awt.TrayIcon; +import java.awt.event.ActionListener; +import java.net.URL; import java.util.ArrayList; import java.util.List; import javax.swing.JLabel; @@ -26,6 +30,9 @@ public class Versao extends javax.swing.JDialog { public Versao(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); + URL url = this.getClass().getResource("/queijo.png"); + Image iconeTitulo = Toolkit.getDefaultToolkit().getImage(url); + this.setIconImage(iconeTitulo); } public Versao(java.awt.Frame parent, boolean modal, String versao, List versoes, TrayIcon trayicon) { @@ -36,6 +43,7 @@ public Versao(java.awt.Frame parent, boolean modal, String versao, List this.versoes = versoes; initComponents(); + clearTrayIconActions(); } /** * This method is called from within the constructor to initialize the form. @@ -70,6 +78,7 @@ private void initComponents() { jButton1.setText("Atualizar"); jButton1.setToolTipText(""); jButton1.setBorder(null); + jButton1.setBorderPainted(false); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); @@ -184,5 +193,11 @@ public JLabel getjLabel1() { return jLabel1; } + private void clearTrayIconActions() { + for(ActionListener al : trayIcon.getActionListeners()) { + trayIcon.removeActionListener(al); + } + } + } diff --git a/src/main/java/br/biopark/queijos/atualizador/enumerator/EPropertie.java b/src/main/java/br/biopark/queijos/atualizador/enumerator/EPropertie.java index 675fe0c..3dc3e1d 100644 --- a/src/main/java/br/biopark/queijos/atualizador/enumerator/EPropertie.java +++ b/src/main/java/br/biopark/queijos/atualizador/enumerator/EPropertie.java @@ -35,4 +35,4 @@ public String getDescricao() { return descricao; } -} +} \ No newline at end of file diff --git a/src/main/java/br/biopark/queijos/atualizador/util/Downloader.java b/src/main/java/br/biopark/queijos/atualizador/util/Downloader.java index 2477d91..0306dd5 100644 --- a/src/main/java/br/biopark/queijos/atualizador/util/Downloader.java +++ b/src/main/java/br/biopark/queijos/atualizador/util/Downloader.java @@ -81,4 +81,4 @@ public void run() { } -} +} \ No newline at end of file diff --git a/src/main/java/br/biopark/queijos/atualizador/util/FlywayDatabase.java b/src/main/java/br/biopark/queijos/atualizador/util/FlywayDatabase.java index d6581b4..324cf7b 100644 --- a/src/main/java/br/biopark/queijos/atualizador/util/FlywayDatabase.java +++ b/src/main/java/br/biopark/queijos/atualizador/util/FlywayDatabase.java @@ -14,6 +14,7 @@ import org.flywaydb.core.Flyway; import org.flywaydb.core.api.MigrationInfo; import org.flywaydb.core.api.MigrationInfoService; +import org.flywaydb.core.api.configuration.FluentConfiguration; /** * @@ -21,28 +22,29 @@ */ public class FlywayDatabase { - public void updateDataBase(String dbUrl, String user, String paswd, String sqlScriptLocations, String pathData) { + public void updateDataBase(String dbUrl, String user, String paswd, String sqlScriptLocations, boolean firstVersion) { - Flyway flyway = Flyway.configure() - .dataSource(dbUrl, user, paswd) - .locations(sqlScriptLocations) - .baselineOnMigrate(true) - .load(); + FluentConfiguration config = Flyway.configure(); - flyway.migrate(); - - File tmpDir = new File(pathData); - - if (tmpDir.exists()){ - - flyway = Flyway.configure() - .dataSource(dbUrl, user, paswd) - .initSql(readLineByLineJava8(pathData)) - .load(); - - flyway.migrate(); + config.dataSource(dbUrl, user, paswd); + if (firstVersion) { + File tmpDir = new File(sqlScriptLocations.replace("filesystem:", "") + "/V1.0.0__Script_Inicial.sql"); + + if (tmpDir.exists()) { + + String sql = readLineByLineJava8(tmpDir.getPath()); + config.initSql(sql); + config.baselineOnMigrate(true); + } + + } else { + config.locations(sqlScriptLocations); } - + + Flyway flyway = config.load(); + + flyway.migrate(); + /** * Find which versions are not applied yet. */ @@ -54,7 +56,6 @@ public void updateDataBase(String dbUrl, String user, String paswd, String sqlSc String state = mi.getState().isApplied() + ""; System.out.println(String.format("Is target version %s applied? %s", version, state)); } - // progress.lbStatus.setText("Versão de banco aplicada: "+migrationInfo[migrationInfo.length-1].getVersion().toString()); // progress.repaint(); // sleep(2000); @@ -70,4 +71,4 @@ private String readLineByLineJava8(String filePath) { return contentBuilder.toString(); } -} +} \ No newline at end of file diff --git a/src/main/java/br/biopark/queijos/atualizador/util/GitUtil.java b/src/main/java/br/biopark/queijos/atualizador/util/GitUtil.java index bddb82d..9d2171e 100644 --- a/src/main/java/br/biopark/queijos/atualizador/util/GitUtil.java +++ b/src/main/java/br/biopark/queijos/atualizador/util/GitUtil.java @@ -67,4 +67,4 @@ private List readVersions(Map map) { return versoes; } -} +} \ No newline at end of file diff --git a/src/main/java/br/biopark/queijos/atualizador/util/PropFile.java b/src/main/java/br/biopark/queijos/atualizador/util/PropFile.java index d2a1093..801c877 100644 --- a/src/main/java/br/biopark/queijos/atualizador/util/PropFile.java +++ b/src/main/java/br/biopark/queijos/atualizador/util/PropFile.java @@ -97,4 +97,4 @@ public void setProperty(EPropertie propriedade, String valor) { } -} +} \ No newline at end of file diff --git a/src/main/java/br/biopark/queijos/atualizador/util/UnzipFiles.java b/src/main/java/br/biopark/queijos/atualizador/util/UnzipFiles.java index a72c915..b0f6807 100644 --- a/src/main/java/br/biopark/queijos/atualizador/util/UnzipFiles.java +++ b/src/main/java/br/biopark/queijos/atualizador/util/UnzipFiles.java @@ -83,6 +83,7 @@ public void deleteDir(File file) { } public void copiar(String origem, String destino) { + destino = destino.replace("\"", ""); try { @@ -110,4 +111,4 @@ public String createDir(String destDir){ } return dir.getAbsolutePath(); } -} +} \ No newline at end of file diff --git a/src/main/java/br/biopark/queijos/atualizador/util/Util.java b/src/main/java/br/biopark/queijos/atualizador/util/Util.java index 39ebd1e..e9985d7 100644 --- a/src/main/java/br/biopark/queijos/atualizador/util/Util.java +++ b/src/main/java/br/biopark/queijos/atualizador/util/Util.java @@ -44,4 +44,4 @@ public double round(double value, int places) { return (double) tmp / factor; } -} +} \ No newline at end of file diff --git a/src/main/resources/queijo-alert.png b/src/main/resources/queijo-alert.png new file mode 100644 index 0000000..2c48a60 Binary files /dev/null and b/src/main/resources/queijo-alert.png differ diff --git a/target/atualizador-1.0-SNAPSHOT.jar b/target/atualizador-1.0-SNAPSHOT.jar index 37ae470..53df717 100644 Binary files a/target/atualizador-1.0-SNAPSHOT.jar and b/target/atualizador-1.0-SNAPSHOT.jar differ diff --git a/target/classes/br/biopark/queijos/atualizador/Main$1.class b/target/classes/br/biopark/queijos/atualizador/Main$1.class index 667e6d3..35ccbdc 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Main$1.class and b/target/classes/br/biopark/queijos/atualizador/Main$1.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Main$2.class b/target/classes/br/biopark/queijos/atualizador/Main$2.class new file mode 100644 index 0000000..7d15f2e Binary files /dev/null and b/target/classes/br/biopark/queijos/atualizador/Main$2.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Main$MyProgressUI.class b/target/classes/br/biopark/queijos/atualizador/Main$MyProgressUI.class index 3992e7b..a08067d 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Main$MyProgressUI.class and b/target/classes/br/biopark/queijos/atualizador/Main$MyProgressUI.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Main.class b/target/classes/br/biopark/queijos/atualizador/Main.class index b1e0de1..9482179 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Main.class and b/target/classes/br/biopark/queijos/atualizador/Main.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Progress$1.class b/target/classes/br/biopark/queijos/atualizador/Progress$1.class index bb68672..f835616 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Progress$1.class and b/target/classes/br/biopark/queijos/atualizador/Progress$1.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Progress$MyProgressUI.class b/target/classes/br/biopark/queijos/atualizador/Progress$MyProgressUI.class new file mode 100644 index 0000000..9210dc8 Binary files /dev/null and b/target/classes/br/biopark/queijos/atualizador/Progress$MyProgressUI.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Progress.class b/target/classes/br/biopark/queijos/atualizador/Progress.class index 5f1dd2e..1b88284 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Progress.class and b/target/classes/br/biopark/queijos/atualizador/Progress.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/TrayIconController$1.class b/target/classes/br/biopark/queijos/atualizador/TrayIconController$1.class new file mode 100644 index 0000000..f63c4ee Binary files /dev/null and b/target/classes/br/biopark/queijos/atualizador/TrayIconController$1.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/TrayIconController$2.class b/target/classes/br/biopark/queijos/atualizador/TrayIconController$2.class new file mode 100644 index 0000000..8f4532b Binary files /dev/null and b/target/classes/br/biopark/queijos/atualizador/TrayIconController$2.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/TrayIconController.class b/target/classes/br/biopark/queijos/atualizador/TrayIconController.class new file mode 100644 index 0000000..39ca7c8 Binary files /dev/null and b/target/classes/br/biopark/queijos/atualizador/TrayIconController.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Versao$1.class b/target/classes/br/biopark/queijos/atualizador/Versao$1.class index 92d626a..25a80e7 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Versao$1.class and b/target/classes/br/biopark/queijos/atualizador/Versao$1.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Versao$2.class b/target/classes/br/biopark/queijos/atualizador/Versao$2.class index 699aca4..83001ab 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Versao$2.class and b/target/classes/br/biopark/queijos/atualizador/Versao$2.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Versao$3.class b/target/classes/br/biopark/queijos/atualizador/Versao$3.class index 4d48583..a54e37c 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Versao$3.class and b/target/classes/br/biopark/queijos/atualizador/Versao$3.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/Versao.class b/target/classes/br/biopark/queijos/atualizador/Versao.class index 2e91d7a..160584d 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/Versao.class and b/target/classes/br/biopark/queijos/atualizador/Versao.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/enumerator/EPropertie.class b/target/classes/br/biopark/queijos/atualizador/enumerator/EPropertie.class index 73cd286..f2e5388 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/enumerator/EPropertie.class and b/target/classes/br/biopark/queijos/atualizador/enumerator/EPropertie.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/util/Downloader$1.class b/target/classes/br/biopark/queijos/atualizador/util/Downloader$1.class index 1b82842..7ff609f 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/util/Downloader$1.class and b/target/classes/br/biopark/queijos/atualizador/util/Downloader$1.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/util/Downloader.class b/target/classes/br/biopark/queijos/atualizador/util/Downloader.class index 94a69aa..e50169d 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/util/Downloader.class and b/target/classes/br/biopark/queijos/atualizador/util/Downloader.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/util/FlywayDatabase.class b/target/classes/br/biopark/queijos/atualizador/util/FlywayDatabase.class index 47f2b64..2526bb5 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/util/FlywayDatabase.class and b/target/classes/br/biopark/queijos/atualizador/util/FlywayDatabase.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/util/GitUtil.class b/target/classes/br/biopark/queijos/atualizador/util/GitUtil.class index e775214..915234b 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/util/GitUtil.class and b/target/classes/br/biopark/queijos/atualizador/util/GitUtil.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/util/PropFile.class b/target/classes/br/biopark/queijos/atualizador/util/PropFile.class index 25085ee..f817867 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/util/PropFile.class and b/target/classes/br/biopark/queijos/atualizador/util/PropFile.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/util/UnzipFiles.class b/target/classes/br/biopark/queijos/atualizador/util/UnzipFiles.class index 99735d0..6827189 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/util/UnzipFiles.class and b/target/classes/br/biopark/queijos/atualizador/util/UnzipFiles.class differ diff --git a/target/classes/br/biopark/queijos/atualizador/util/Util.class b/target/classes/br/biopark/queijos/atualizador/util/Util.class index c0d1d7e..93a6249 100644 Binary files a/target/classes/br/biopark/queijos/atualizador/util/Util.class and b/target/classes/br/biopark/queijos/atualizador/util/Util.class differ diff --git a/target/classes/queijo-alert.png b/target/classes/queijo-alert.png new file mode 100644 index 0000000..2c48a60 Binary files /dev/null and b/target/classes/queijo-alert.png differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index d3ec86f..ff2bf0a 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,4 +1,4 @@ -#Created by Apache Maven 3.3.9 +#Created by Apache Maven 3.0.5 +version=1.0-SNAPSHOT groupId=br.biopark.queijos artifactId=atualizador -version=1.0-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 0f9db05..0000000 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,11 +0,0 @@ -br\biopark\queijos\atualizador\util\Util.class -br\biopark\queijos\atualizador\Main.class -br\biopark\queijos\atualizador\Progress.class -br\biopark\queijos\atualizador\Main$MyProgressUI.class -br\biopark\queijos\atualizador\util\UnzipFiles.class -br\biopark\queijos\atualizador\util\Downloader.class -br\biopark\queijos\atualizador\util\FlywayDatabase.class -br\biopark\queijos\atualizador\enumerator\EPropertie.class -br\biopark\queijos\atualizador\util\Downloader$1.class -br\biopark\queijos\atualizador\util\GitUtil.class -br\biopark\queijos\atualizador\util\PropFile.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index cb03f92..0000000 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,9 +0,0 @@ -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\util\UnzipFiles.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\util\FlywayDatabase.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\Progress.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\util\GitUtil.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\Main.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\util\Util.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\util\PropFile.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\util\Downloader.java -D:\Renato\Downloads\atualizador-java\atualizador-java-develop\src\main\java\br\biopark\queijos\atualizador\enumerator\EPropertie.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index e69de29..0000000