All pastes #591789 Raw Edit

Miscellany

public java v1 · immutable
#591789 ·published 2007-06-27 11:59 UTC
rendered paste body
/* * 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.     */    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                              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();    }// </editor-fold>                            public void syncro () {        Task task1 = null;              for (int i=0; i<jList.getModel().getSize(); i++) {            persistDrop();            jList.setSelectedIndex(i);            task1 = persistSearchTask();            Parcours.parcours(task1);            List<Filelisting> 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; i<ls.size(); i++) {                model.addElement(((List)ls.get(i)).get(0));            }            jList.setModel(model);            if (model.getSize()>0){                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<Filelisting> persistGetResultList() {        List<Filelisting> filelisting = null;        EntityManager em = emf.createEntityManager();        em.getTransaction().begin();        try {                        Query q = em.createNamedQuery("Filelisting.all");            filelisting = (List<Filelisting>)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();        }    }    }