KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > SnowMailClient > gnupg > model > KeyIDFromSearchResult


1 package SnowMailClient.gnupg.model;
2
3 import java.util.*;
4 import SnowMailClient.Language.Language;
5 import java.text.*;
6
7 /**
8 (1) Vanessa Karlo <vanessa.karlo@iba-media.com>
9     Vanessa Karlo <vanessa@professionalexpert.com>
10       1024 bit DSA key 49D5900B, created: 2005-01-10
11 (2) Vanessa Gomes de Oliveira <gomes@comput.ibilce.unesp.br>
12       1024 bit DSA key 6071465E, created: 2004-11-30
13 (3) Vanessa <kf132595@hotmail.com>
14       2048 bit RSA key 5F0D372F, created: 2004-11-21, expires: 2004-12-22 (expired)
15 (4) Vanessa <99190001@webmail.stut.edu.tw>
16       2048 bit RSA key 0AFF37FF, created: 2004-11-16, expires: 2004-12-20 (expired)
17 (5) Vanessa Michele Rose Warner (personal gpg key) <ness@nessuk.org>
18       1024 bit DSA key 59309409, created: 2004-11-05
19 (6) Vanessa Karlo <vanessa@professionalexpert.com>
20       1024 bit DSA key 67D501DD, created: 2004-10-20 (revoked)
21 (7) Vanesssa Karlo <vanessa@professionalexpert.com>
22       1024 bit DSA key 5A887734, created: 2004-10-16
23
24 */

25 public final class KeyIDFromSearchResult
26 {
27   private final Vector<String JavaDoc> addresses = new Vector<String JavaDoc>();
28   private boolean revoked = false;
29   private boolean expired = false;
30   private int keyLength = -1;
31   private long created = -1;
32   private long expires = -1; // never
33
private String JavaDoc shortID = null;
34   private String JavaDoc algorithm = null;
35
36   public static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
37
38   public KeyIDFromSearchResult()
39   {
40
41   } // Constructor
42

43   /** can have multiple addresses
44   */

45   public void addAddress(String JavaDoc add)
46   {
47      addresses.add(add);
48   }
49
50   public void parseIDLine(String JavaDoc kid)
51   {
52      Scanner s = new Scanner(kid);
53      keyLength = s.nextInt();
54      s.next();
55      algorithm = s.next();
56      s.next();
57      shortID = this.removeComa(s.next());
58      s.next(); // created:
59
if(!s.hasNext()) return;
60
61      String JavaDoc n = s.next();
62
63      try
64      {
65        created = dateFormat.parse(n).getTime();
66      }
67      catch(Exception JavaDoc e)
68      {
69        e.printStackTrace();
70      }
71
72
73      if(!s.hasNext()) return;
74
75      n = s.next();
76
77      if(n.startsWith("expired"))
78      {
79         expired = true;
80         return;
81      }
82
83      if(n.indexOf("revoked")>=0)
84      {
85         revoked = true;
86      }
87
88      if(n.equalsIgnoreCase("expires:"))
89      {
90         try
91         {
92           n = s.next();
93           this.expires = dateFormat.parse(n).getTime();
94           if(System.currentTimeMillis() > expires) expired=true;
95         }
96         catch(Exception JavaDoc e)
97         {
98           e.printStackTrace();
99         }
100      }
101   }
102
103   private String JavaDoc removeComa(String JavaDoc in)
104   {
105     if(in.endsWith(","))return in.substring(0,in.length()-1);
106     return in;
107   }
108
109   public String JavaDoc getKeyShortID()
110   {
111      return shortID;
112   }
113
114   public String JavaDoc getRemarks()
115   {
116      if(revoked) return Language.translate("Revoqued").toUpperCase();
117      if(expired) return Language.translate("Expired").toUpperCase();
118      return "";
119   }
120
121   public String JavaDoc toString()
122   {
123      StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
124      if(getRemarks().length()>0)
125      {
126        sb.append(getRemarks()+"\t");
127      }
128      sb.append(toStringAddresses());
129      sb.append("\t");
130      sb.append(shortID);
131      sb.append("\t, created ");
132      sb.append(dateFormat.format(new Date(this.created)));
133      sb.append("\t, expires ");
134      sb.append(dateFormat.format(new Date(this.expires)));
135      return sb.toString();
136   }
137
138   public String JavaDoc toStringAddresses()
139   {
140      StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
141      if(addresses.size()==1)
142      {
143        sb.append(addresses.elementAt(0));
144      }
145      else
146      {
147        sb.append(addresses);
148      }
149      //sb.append("\t");
150
//sb.append(shortID);
151
return sb.toString();
152   }
153
154 } // KeyIDFromSearchResult
Popular Tags