1 package org.eparapher.rcp.tools;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.util.StringTokenizer;
6
7 import org.apache.log4j.Logger;
8 import org.eclipse.jface.preference.IPreferenceStore;
9 import org.eparapher.core.crypto.EPKeystoreManager;
10 import org.eparapher.core.interfaces.EParapherSettings;
11 import org.eparapher.core.tools.JVMSettings;
12 import org.eparapher.rcp.Activator;
13 import org.eparapher.rcp.preferences.PreferenceConstants;
14
15
16 public class RCPSettings implements EParapherSettings {
17
18 private static Logger log = Logger.getLogger(RCPSettings.class);
19
20 public static String getRCPString(String s) {
21 return Activator.getDefault().getPreferenceStore().getString(s);
22 }
23 public static boolean getRCPboolean(String s) {
24 return Activator.getDefault().getPreferenceStore().getBoolean(s);
25 }
26 public static int getRCPInt(String s) {
27 return Activator.getDefault().getPreferenceStore().getInt(s);
28 }
29 private static float getRCPFloat(String s) {
30 return Activator.getDefault().getPreferenceStore().getFloat(s);
31 }
32
33
34 public static String[] getSecureDocumentPath() {
35
36 String allDirectories = Activator.getDefault().getPreferenceStore().getString(PreferenceConstants.P_LOCALDOCPATH);
37 StringTokenizer pathtokens = new StringTokenizer(allDirectories,File.pathSeparator,false);
38
39 String[] returnedPath = new String[pathtokens.countTokens()];
40 int counter=0;
41
42 while (pathtokens.hasMoreElements()) {
43 String path = (String) pathtokens.nextElement();
44 if (path!=null && !path.equals(""))
45 returnedPath[counter++]=path;
46 }
47 return returnedPath;
48 }
49 public String getEPLogLevel() {
50 return getRCPString(PreferenceConstants.P_LOGLEVEL);
51 }
52
53 public String getOpenOfficeBinaryPath() {
54 return getRCPString(PreferenceConstants.P_LOCALOOBINPATH);
55 }
56 public String getOpenOfficeLibraryPath() {
57 return getRCPString(PreferenceConstants.P_LOCALOOLIBPATH);
58 }
59 public String getOpenOfficeDaemonParams() {
60 return getRCPString(PreferenceConstants.P_LOCALOOOPTIONS);
61 }
62
63
64
65 public boolean isOpenOfficeAutostart() {
66 return getRCPboolean(PreferenceConstants.P_LOCALOO_AUTOSTART);
67 }
68
69 public String getPersonalSafePath() {
70 return getRCPString(PreferenceConstants.P_LOCALPSAFEPATH);
71 }
72
73 public String getFileKeystorePath() {
74 if ( EPKeystoreManager.isBCUsed() )
75 return getRCPString(PreferenceConstants.P_USERBCFILEPATH);
76 if ( EPKeystoreManager.isUBERUsed() )
77 return getRCPString(PreferenceConstants.P_USERUBERBCFILEPATH);
78 if ( EPKeystoreManager.isCMSKSUsed() )
79 return getRCPString(PreferenceConstants.P_USERKDBFILEPATH);
80 if ( EPKeystoreManager.isJCEKSUsed() )
81 return getRCPString(PreferenceConstants.P_USERJCEKSFILEPATH);
82 if ( EPKeystoreManager.isJKSUsed() )
83 return getRCPString(PreferenceConstants.P_USERJKSFILEPATH);
84 if ( EPKeystoreManager.isPKCS12Used() )
85 return getRCPString(PreferenceConstants.P_USERPKCS12FILEPATH);
86 return "";
87 }
88
89 public String getFileKeystorePassphrase() {
90 if ( EPKeystoreManager.isBCUsed() )
91 return getRCPString(PreferenceConstants.P_USERBCPASSPHRASE);
92 if ( EPKeystoreManager.isUBERUsed() )
93 return getRCPString(PreferenceConstants.P_USERUBERBCPASSPHRASE);
94 if ( EPKeystoreManager.isCMSKSUsed() )
95 return getRCPString(PreferenceConstants.P_USERKDBPASSPHRASE);
96 if ( EPKeystoreManager.isJCEKSUsed() )
97 return getRCPString(PreferenceConstants.P_USERJCEKSPASSPHRASE);
98 if ( EPKeystoreManager.isJKSUsed() )
99 return getRCPString(PreferenceConstants.P_USERJKSPASSPHRASE);
100 if ( EPKeystoreManager.isPKCS12Used() )
101 return getRCPString(PreferenceConstants.P_USERPKCS12PASSPHRASE);
102 return "";
103 }
104
105 public String getPersonalStoreType() {
106 return getRCPString(PreferenceConstants.P_USERKEYCERTCONTAINER);
107 }
108 public String getPersonalStoreDefaultAlias() {
109 return getRCPString(PreferenceConstants.P_USERKEYCERTCERTALIAS);
110 }
111 public void setPersonalStoreDefaultAlias(String value) {
112 IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
113 prefs.setValue(PreferenceConstants.P_USERKEYCERTCERTALIAS,value);
114 try {
115 ((org.eclipse.ui.preferences.ScopedPreferenceStore)prefs).save();
116 } catch (IOException e) {
117 log.error("error while saving new selected alias : " + e.getLocalizedMessage(),e);
118 }
119 }
120
121 public boolean isSignatureCRL() {
122 return getRCPboolean(PreferenceConstants.P_SIG_ADD_CRL);
123 }
124 public boolean isTimestampedSignature() {
125 return getRCPboolean(PreferenceConstants.P_SIG_ADD_TIMESTAMP);
126 }
127 public String getSignatureTimestampServers() {
128 return getRCPString(PreferenceConstants.P_SIG_TS_SERVERS);
129 }
130 public boolean isSignatureReplaceFile() {
131 return getRCPboolean(PreferenceConstants.P_PDFSIGNATUREREPLACEFILE);
132 }
133 public String getPDFSignatureFormat() {
134 return getRCPString(PreferenceConstants.P_PDFSIGNATUREFORMAT);
135 }
136 public String getPDFSignatureCertification() {
137 return getRCPString(PreferenceConstants.P_PDFSIGNATURECERTIF);
138 }
139 public String getPDFSignatureReason() {
140 return getRCPString(PreferenceConstants.P_PDFSIGNATUREREASON);
141 }
142 public String getPDFSignatureLocation() {
143 return getRCPString(PreferenceConstants.P_PDFSIGNATURELOCATION);
144 }
145 public String getPDFSignatureNewFileNameAppend() {
146 return getRCPString(PreferenceConstants.P_PDFSIGNATUREFILENAMEAPP);
147 }
148 public boolean isPDFSignatureReplaceFile() {
149 return getRCPboolean(PreferenceConstants.P_PDFSIGNATUREREPLACEFILE);
150 }
151 public boolean isPDFMultipleSignature() {
152 return getRCPboolean(PreferenceConstants.P_PDFSIGNATUREMULTIPLE);
153 }
154 public boolean isPDFVisibleSignature() {
155 return getRCPboolean(PreferenceConstants.P_PDFSIGNATUREVISIBLE);
156 }
157 public int getPDFVisibleSignaturePage() {
158 return getRCPInt(PreferenceConstants.P_PDFSIGNATUREVISIBLEPAGE);
159 }
160 public String getPDFSignatureImage() {
161 return getRCPString(PreferenceConstants.P_PDFSIGNATUREIMAGE);
162 }
163 public int getPDFVisibleSignatureImageScale() {
164 return getRCPInt(PreferenceConstants.P_PDFSIGNATUREIMAGESIZE);
165 }
166 public int getPDFVisibleImgLowerLeftX() {
167 return getRCPInt(PreferenceConstants.P_PDFSIGIMGLOWERLEFTX);
168 }
169 public int getPDFVisibleImgLowerLeftY() {
170 return getRCPInt(PreferenceConstants.P_PDFSIGIMGLOWERLEFTY);
171 }
172 public int getPDFVisibleImgUpperRightX() {
173 return getRCPInt(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTX);
174 }
175 public int getPDFVisibleImgUpperRightY() {
176 return getRCPInt(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTY);
177 }
178
179 public String getPKCS11ConfigFileName() {
180 return getRCPString(PreferenceConstants.P_PKCS11_SUN_CONFIG_FILE);
181 }
182 public String getPKCS11ConfigFilePath() {
183 return JVMSettings.getEParapherAppDirectory() + File.separator + getPKCS11ConfigFileName();
184 }
185 public long getPKCS11TrackingSleepTime() {
186 return Activator.getDefault().getPreferenceStore().getLong(PreferenceConstants.P_PKCS11_TRACKING_THREAD_SLEEP);
187 }
188 public int getPKCS11SlotId() {
189 return getRCPInt(PreferenceConstants.P_PKCS11_SLOT_ID);
190 }
191 public String getPKCS11LibraryPath() {
192 return getRCPString(PreferenceConstants.P_PKCS11_LIBRARY_PATH);
193 }
194
195 public String getCMSHashAlgorithmOID() {
196 return getRCPString(PreferenceConstants.P_CMSHASHALGORITHM);
197 }
198 public boolean isCMSDetachedSignature() {
199 return getRCPboolean(PreferenceConstants.P_CMSDETACHEDSIGNATURE);
200 }
201
202 public boolean isSecPolCheck() {
203 return getRCPboolean(PreferenceConstants.P_SECRET_POL_CHECK);
204 }
205 public boolean isSecPolCheckCharLength() {
206 return getRCPboolean(PreferenceConstants.P_SECRET_POL_FORCE_LENGTH);
207 }
208 public int getSecPolMinCharLength() {
209 return getRCPInt(PreferenceConstants.P_SECRET_POL_LENGTH_SIZE);
210 }
211 public boolean isSecPolCheckUpperChar() {
212 return getRCPboolean(PreferenceConstants.P_SECRET_POL_FORCE_UPPER);
213 }
214 public int getSecPolMinUpperChar() {
215 return getRCPInt(PreferenceConstants.P_SECRET_POL_UPPER_MIN);
216 }
217 public boolean isSecPolCheckLowerChar() {
218 return getRCPboolean(PreferenceConstants.P_SECRET_POL_FORCE_LOWER);
219 }
220 public int getSecPolMinLowerChar() {
221 return getRCPInt(PreferenceConstants.P_SECRET_POL_LOWER_MIN);
222 }
223 public boolean isSecPolCheckNumberChar() {
224 return getRCPboolean(PreferenceConstants.P_SECRET_POL_FORCE_NUMB);
225 }
226 public int getSecPolMinNumberChar() {
227 return getRCPInt(PreferenceConstants.P_SECRET_POL_NUMB_MIN);
228 }
229 public boolean isSecPolCheckSpecialChar() {
230 return getRCPboolean(PreferenceConstants.P_SECRET_POL_FORCE_SPEC);
231 }
232 public int getSecPolMinSpecialChar() {
233 return getRCPInt(PreferenceConstants.P_SECRET_POL_SPEC_MIN);
234 }
235
236 public String getXMLDigestAlgorithm() {
237 return getRCPString(PreferenceConstants.P_XML_DIGEST);
238 }
239 public String getXMLSignatureAlgorithm() {
240 return getRCPString(PreferenceConstants.P_XML_SIGALG);
241 }
242 public String getXMLSignatureFormat() {
243 return getRCPString(PreferenceConstants.P_XML_SIGFORMAT);
244 }
245 public boolean isXMLSignatureReplaceFile() {
246 return getRCPboolean(PreferenceConstants.P_XML_OVERWRITE);
247 }
248 public String getXMLTransform() {
249 return getRCPString(PreferenceConstants.P_XML_TRANSFORM);
250 }
251 public String getXMLCanonical() {
252 return getRCPString(PreferenceConstants.P_XML_CANONICAL);
253 }
254 public String getXMLObjectID() {
255 return getRCPString(PreferenceConstants.P_XML_OBJECTIDs);
256 }
257 public boolean isXMLDTDValidation() {
258 return getRCPboolean(PreferenceConstants.P_XML_DTDVALIDATION);
259 }
260
261 }