View Javadoc

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  	//public static String getOpenOfficeEditorDaemonParams() {
63  	//	return getRCPString(PreferenceConstants.P_LOCALOOEDITOROPTIONS);
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 }