1 32 33 package com.jeantessier.dependencyfinder.gui; 34 35 import java.awt.event.*; 36 import java.util.*; 37 38 import javax.swing.*; 39 40 import org.apache.oro.text.perl.*; 41 42 public class AllQueriesAction extends AbstractAction implements Runnable { 43 private DependencyFinder model = null; 44 45 public AllQueriesAction(DependencyFinder model) { 46 this.model = model; 47 48 putValue(Action.LONG_DESCRIPTION, "Compute graph, closure, and metrics"); 49 putValue(Action.NAME, "Compute All"); 50 putValue(Action.SMALL_ICON, new ImageIcon(getClass().getResource("icons/all-queries.gif"))); 51 } 52 53 public void actionPerformed(ActionEvent e) { 54 new Thread (this).start(); 55 } 56 57 public void run() { 58 try { 59 model.getStatusLine().showInfo("Processing all queries ..."); 60 61 Date start = new Date(); 62 63 model.clearDependencyResult(); 64 model.clearClosureResult(); 65 model.clearMetricsResult(); 66 67 model.getStatusLine().showInfo("Processing dependency query ..."); 68 model.doDependencyQuery(); 69 model.getStatusLine().showInfo("Processing closure query ..."); 70 model.doClosureQuery(); 71 model.getStatusLine().showInfo("Processing metrics query ..."); 72 model.doMetricsQuery(); 73 74 Date stop = new Date(); 75 76 model.getStatusLine().showInfo("Done (" + ((stop.getTime() - start.getTime()) / (double) 1000) + " secs)."); 77 } catch (MalformedPerl5PatternException ex) { 78 JOptionPane dialog = new JOptionPane(); 79 dialog.showMessageDialog(model, ex.getMessage(), "Malformed pattern", JOptionPane.ERROR_MESSAGE); 80 model.getStatusLine().showInfo("Ready."); 81 } catch (Exception ex) { 82 JOptionPane dialog = new JOptionPane(); 83 dialog.showMessageDialog(model, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); 84 model.getStatusLine().showInfo("Ready."); 85 } 86 } 87 } 88 | Popular Tags |