Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: plugins/Hotlist/Hotlist.java


1   /*
2    * Bookmarks.java
3    *
4    * Created on November 7, 2002, 5:45 PM
5    */
6   
7   package plugins.Hotlist;
8   
9   import dexter.core.DefaultEntry;
10  import java.util.Vector;
11  import javax.swing.tree.DefaultMutableTreeNode;
12  import dexter.property.Property;
13  
14  /**
15   *
16   * @author  Tobias Riemer
17   */
18  public class Hotlist extends dexter.core.AbstractService {
19      
20      private Property pUrls  = new Property("Urls",  Property.VECTOR_VALUE, false);
21      private Property pEmail = new Property("E-Mail",Property.VECTOR_VALUE, false);
22      private Property pPhone = new Property("Phone", Property.VECTOR_VALUE, false);
23      private DefaultMutableTreeNode urlNode;
24      private DefaultMutableTreeNode emailNode;
25      private DefaultMutableTreeNode phoneNode;
26      /** Creates a new instance of Bookmarks */
27      public Hotlist() {
28          setServiceName("Hotlist");
29          propertyFile.setFileName(dexter.core.Dexter.getInstance().getHomeDir() + "hotlist");
30          dexter.core.Dexter.getInstance().getEventDispatcher().addActionListener("grabberAction", 
31                  new dexter.events.ActionListener() {
32                      public void actionPerformed(dexter.events.Event event) {
33                          addHotlist(event);
34                      }
35          });
36             
37          pUrls.setVector(new Vector());
38          propertyFile.getHiddenPropertyGroup().addProperty(pUrls);
39          propertyFile.getHiddenPropertyGroup().addProperty(pEmail);
40          propertyFile.getHiddenPropertyGroup().addProperty(pPhone);
41          
42          loadIcons();
43          setIcon(dexter.core.Dexter.resourceFactory().getIcon("plugins/Hotlist","HOTLIST"));
44  
45          fireNodeChanged(root); 
46          
47          urlNode = new DefaultMutableTreeNode(new DefaultEntry("Bookmarks", dexter.core.Dexter.resourceFactory().getIcon("plugins/Hotlist","BOOKMARK"),null));
48          fireNodeAdded(root,urlNode);        
49          emailNode = new DefaultMutableTreeNode(new DefaultEntry("E-Mail Addresses",dexter.core.Dexter.resourceFactory().getIcon("plugins/Hotlist","EMAIL"),null));        
50          fireNodeAdded(root,emailNode);        
51          phoneNode = new DefaultMutableTreeNode(new DefaultEntry("Phone Numbers",dexter.core.Dexter.resourceFactory().getIcon("plugins/Hotlist","PHONE"),null));        
52          fireNodeAdded(root,phoneNode);        
53      }
54      
55      private void loadIcons() {
56          dexter.core.Dexter.resourceFactory().registerIcon("plugins/Hotlist", "BOOKMARK", "html.gif");
57          dexter.core.Dexter.resourceFactory().registerIcon("plugins/Hotlist", "EMAIL",    "email.gif");
58          dexter.core.Dexter.resourceFactory().registerIcon("plugins/Hotlist", "PHONE",    "phone.gif");
59          dexter.core.Dexter.resourceFactory().registerIcon("plugins/Hotlist", "HOTLIST",  "bookmark.gif");
60      }
61      
62      public void init() {
63          super.init();
64          loadEntries(urlNode,   pUrls.getVector());
65          loadEntries(emailNode, pEmail.getVector());
66          loadEntries(phoneNode, pPhone.getVector());
67      }
68      
69      private void loadEntries(DefaultMutableTreeNode node, Vector entries) {
70          for (int i=0;i<entries.size();i++) {
71              HotListEntry entry = new HotListEntry(entries.get(i).toString());
72              fireNodeAdded(node,new DefaultMutableTreeNode(new DefaultEntry(entry.entry,null,entry.from)));         
73          }                
74      }
75      
76      public void addHotlist(dexter.events.Event event) {        
77          Vector v = (Vector) event.getValue();
78          if (v.size() < 3) return ;
79          if (v.get(0).toString().equals("http")) addBookmark(v.get(1).toString(), "received from:" + v.get(2).toString());
80          if (v.get(0).toString().equals("email")) addEmail(v.get(1).toString(), "received from:" + v.get(2).toString());        
81          if (v.get(0).toString().equals("phone")) addPhone(v.get(1).toString(), "received from:" + v.get(2).toString());        
82      }
83      
84      
85      public void addBookmark(String url, String from) {        
86          fireNodeAdded(urlNode,new DefaultMutableTreeNode(new DefaultEntry(url,null,from)));        
87          pUrls.getVector().add(new HotListEntry(url,from));
88      }
89      
90      public void addEmail(String email, String from) {        
91          fireNodeAdded(emailNode,new DefaultMutableTreeNode(new DefaultEntry(email,null,from)));                
92          pEmail.getVector().add(new HotListEntry(email,from));
93      }
94      
95      public void addPhone(String phone, String from) {        
96          fireNodeAdded(phoneNode,new DefaultMutableTreeNode(new DefaultEntry(phone,null,from)));        
97          pPhone.getVector().add(new HotListEntry(phone,from));
98      }
99      
100     public boolean isDestroyed() {
101         return true;
102     }
103         
104     
105     class HotListEntry  {
106         
107         String from;
108         String entry;
109         
110         public HotListEntry(String line) {
111             int i = line.indexOf('-');
112             if ( i== -1 ) entry = line;
113             else {
114                 entry = line.substring(0,i);
115                 from  = line.substring(i+1);
116             }
117         }
118         
119         public HotListEntry(String entry, String from) {
120             this.entry = entry;
121             this.from  = from;
122         }                   
123         
124         public String toString() {
125             return entry + "-" + from;
126         }
127     }
128     
129 }