/* * FrameMain.java * * Created on June 12, 2007, 6:43 PM */ package jsaveme.ui; import java.awt.Component; import java.awt.EventQueue; import java.awt.PopupMenu; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.WindowEvent; import java.awt.event.WindowFocusListener; import java.io.File; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.Vector; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query; import javax.swing.DefaultListModel; import javax.swing.GroupLayout; import javax.swing.GroupLayout.Alignment; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JToolBar; import javax.swing.LayoutStyle.ComponentPlacement; import javax.swing.ListSelectionModel; import javax.swing.WindowConstants; import jsaveme.Main; import jsaveme.config.IfFileNotExist; import jsaveme.db.entities.Filelisting; import jsaveme.db.entities.Task; import jsaveme.func.ExecuteSyncro; import jsaveme.func.Parcours; import oracle.toplink.essentials.internal.parsing.LiteralNode; /** * * @author remi */ public class FrameMain extends JFrame { // private String taskSource; // private String taskDestination; // private Task task; private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JSaveMePU"); private static EntityManager em = emf.createEntityManager(); /** * Creates new form FrameMain */ public FrameMain() { initComponents(); this.persistUpdateList(); if (Main.automatic) { syncro(); System.exit(0); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // private void initComponents() { jToolBar1 = new javax.swing.JToolBar(); jButtonAjouter = new javax.swing.JButton(); jButtonSupprimer = new javax.swing.JButton(); jButtonModifier = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); jList = new javax.swing.JList(); jButtonSynchroniser = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("JSaveME"); addWindowFocusListener(new java.awt.event.WindowFocusListener() { public void windowGainedFocus(java.awt.event.WindowEvent evt) { formWindowGainedFocus(evt); } public void windowLostFocus(java.awt.event.WindowEvent evt) { } }); jToolBar1.setFloatable(false); jButtonAjouter.setIcon(new javax.swing.ImageIcon(getClass().getResource("/data/icons/list-add.png"))); jButtonAjouter.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAjouterActionPerformed(evt); } }); jToolBar1.add(jButtonAjouter); jButtonSupprimer.setIcon(new javax.swing.ImageIcon(getClass().getResource("/data/icons/list-remove.png"))); jButtonSupprimer.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonSupprimerActionPerformed(evt); } }); jToolBar1.add(jButtonSupprimer); jButtonModifier.setText("Modifier"); jButtonModifier.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonModifierActionPerformed(evt); } }); jToolBar1.add(jButtonModifier); jList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); jScrollPane1.setViewportView(jList); jButtonSynchroniser.setText("Synchroniser"); jButtonSynchroniser.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonSynchroniserActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jToolBar1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jButtonSynchroniser) .addContainerGap(74, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 183, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButtonSynchroniser, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); pack(); }// public void syncro () { Task task1 = null; for (int i=0; i filelisting = persistGetResultList(); for (Filelisting fl : filelisting) ExecuteSyncro.exec(fl, task1); } } private void jButtonSynchroniserActionPerformed(ActionEvent evt) { syncro (); } private void jButtonSupprimerActionPerformed(ActionEvent evt) { this.persistDeleteTask(); this.persistUpdateList(); } private void formWindowGainedFocus(WindowEvent evt) { this.persistUpdateList(); } private void jButtonAjouterActionPerformed(ActionEvent evt) { FrameParametrage.main(""); } private void jButtonModifierActionPerformed(ActionEvent evt) { System.out.println(jList.getSelectedValue()); FrameParametrage.main((String) jList.getSelectedValue()); } /** * @param args the command line arguments */ public static void main() { EventQueue.invokeLater(new Runnable() { public void run() { new FrameMain().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton jButtonAjouter; private javax.swing.JButton jButtonModifier; private javax.swing.JButton jButtonSupprimer; private javax.swing.JButton jButtonSynchroniser; private javax.swing.JList jList; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JToolBar jToolBar1; // End of variables declaration /* * Mettre à jour l'affichage de la liste */ public void persistUpdateList() { EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); try { DefaultListModel model = new DefaultListModel(); List ls = (List) em.createNativeQuery("SELECT name FROM task").getResultList(); for (int i = 0; i0){ jList.setSelectedIndex(0); } } catch (Exception e) { e.printStackTrace(); em.getTransaction().rollback(); } finally { em.close(); } } /* *supprimer une tache de la liste */ public void persistDeleteTask () { EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); try { Task task = (Task) em.createNamedQuery("Task.findByName") .setParameter("name", (String) jList.getSelectedValue()).getSingleResult(); em.remove(task); em.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); em.getTransaction().rollback(); } finally { em.close(); } } /* * Récuperer les infos pour la tache courante (ex : source / destination) */ public Task persistSearchTask() { Task task = null; em.getTransaction().begin(); try { // TODO: task = (Task) em.createNamedQuery("Task.findByName") .setParameter("name", jList.getSelectedValue()).getSingleResult(); em.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); em.getTransaction().rollback(); } finally { // em.close(); } return task; } // SYNCRO public List persistGetResultList() { List filelisting = null; EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); try { Query q = em.createNamedQuery("Filelisting.all"); filelisting = (List)q.getResultList(); em.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); em.getTransaction().rollback(); } finally { em.close(); } return filelisting; } private void persistDrop() { //EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); try { em.createNativeQuery("DROP TABLE \"USER\".\"FILELISTING\"").executeUpdate(); em.createNativeQuery("create table \"USER\".\"FILELISTING\" ( \"ID\" INTEGER not null generated always as identity primary key,\"IDTASK\" INTEGER not null, \"FILENAME\" VARCHAR(32672) not null, \"FILEDATE\" VARCHAR(32672) not null, \"FILETYPE\" CHAR(1) not null, \"UPDATEACTION\" CHAR(2))").executeUpdate(); em.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); em.getTransaction().rollback(); } finally { //em.close(); } } }