Révision 1233

tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/NormalizeKeys.java (revision 1233)
1 1
package org.txm.rcp.translate.devtools;
2 2

  
3
import java.util.HashSet;
4

  
5 3
import org.eclipse.osgi.util.NLS;
6 4
import org.txm.utils.BiHashMap;
7 5

  
8 6
/**
9
 * Normalizes the keys using the message words.
7
 * Normalizes the keys using the words of the message sentence.
10 8
 * eg. : "Error while computing." => errorWhileComputing
11 9
 * 
12 10
 * 
......
24 22
	public static String preserve = "^(common_|error_|info_).*$"; 
25 23
	
26 24
	/**
27
	 * 
25
	 * Normalizes the keys of the specified messages map.
28 26
	 * @param messages
29 27
	 * @return
30 28
	 */
......
45 43
			}
46 44
			
47 45
			messages.put(normalize(messages.get(key)), messages.get(key));
46
			//messages.removeByKey(key);
48 47
		}
49 48
		
50 49
		return messages;
51 50
	}
52 51
	
53
//	/**
54
//	 * 
55
//	 * @param strings
56
//	 * @return
57
//	 */
58
//	public static HashSet<String> normalize(HashSet<String> strings)	{
59
//		for (String str : strings) {
60
//			if(debug)	{
61
//				System.out.println(str);
62
//				System.out.println("   => " + normalize(str));
63
//			}
64
//		}
65
//		
66
//		return strings;
67
//	}
68
	
69
	
52

  
70 53
	/**
71
	 * 
54
	 * Normalizes the specified string.
72 55
	 * @param str
73 56
	 */
74 57
	public static String normalize(String str)	{
tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/FindUnusedKeys.java (revision 1233)
1 1
package org.txm.rcp.translate.devtools;
2 2

  
3
/**
4
 * Checks that all key defined in Messages.java are used in the source files.
5
 * 
6
 * @author sjacquot
7
 *
8
 */
3 9
public class FindUnusedKeys {
4 10

  
5 11
}
tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/WorkspaceMessagesManager.java (revision 1233)
7 7
import java.util.LinkedHashMap;
8 8

  
9 9
/**
10
 * Manages the messages of the TXM projects of a RCP workspace
10
 * Manages the messages of the TXM projects of an RCP workspace
11 11
 * 
12 12
 * @author mdecorde
13 13
 *
......
29 29
	}
30 30
	
31 31
	public WorkspaceMessagesManager(File workspaceLocation) throws UnsupportedEncodingException, FileNotFoundException, IOException {
32
		
32 33
		this.workspaceLocation = workspaceLocation;
33 34
		
35
		//System.out.println("WorkspaceMessagesManager.WorkspaceMessagesManager(): workspace location = " + this.workspaceLocation);
36
		
34 37
		if (!workspaceLocation.exists()) return;
35 38
		if (!workspaceLocation.isDirectory()) return;
36 39
		
tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.java (revision 1233)
8 8
import java.io.InputStreamReader;
9 9
import java.io.PrintWriter;
10 10
import java.io.UnsupportedEncodingException;
11
import java.nio.file.Files;
12
import java.nio.file.Paths;
13
import java.util.ArrayList;
11 14
import java.util.HashMap;
12
import java.util.Hashtable;
13 15
import java.util.LinkedHashSet;
14 16
import java.util.Properties;
15 17

  
......
34 36
	BiHashMap<File, String> file2lang = new BiHashMap<File, String>();
35 37
		
36 38
	public PluginMessages(File projectDirectory, File messageFile) throws UnsupportedEncodingException, FileNotFoundException, IOException {
39
		
37 40
		this.messageFile = messageFile;
38 41
		this.projectDirectory = projectDirectory;
42

  
43
		System.out.println("********************************************************************************************************************");
44
		System.out.println("PluginMessages.PluginMessages(): project directory = " + this.projectDirectory);
45
		System.out.println("PluginMessages.PluginMessages(): message file = " + this.messageFile);
46
		
39 47
		File[] propFiles = messageFile.getParentFile().listFiles();
40 48
		for (File propFile : propFiles) {
41 49
			String name = propFile.getName();
......
206 214
	}
207 215
	
208 216
	public void summary() {
217
		
209 218
		System.out.println(getMessageClassName());
219
		
210 220
		System.out.println("Messages keys");
211 221
		for (String key : messageKeys) {
212
			System.out.println(" $key");
222
			System.out.println(key);
213 223
		}
214 224
		
215 225
		System.out.println("Langs");
216 226
		for (File lang : langs.keySet()) {
217
			System.out.println(" '$lang'");
227
			System.out.println("  ------------------------------------------------------------------------------------------------------------------------------");
228
			System.out.println("  " + lang);
229
			System.out.println("  ------------------------------------------------------------------------------------------------------------------------------");
218 230
			BiHashMap<String, String> hash = langs.get(lang);
219 231
			System.out.println(" keys="+ hash.getKeys());
220 232
			for (String key : hash.getKeys()) {
221
				System.out.println("  $key="+hash.get(key));
233
				System.out.println("  " + key + "="+hash.get(key));
222 234
			}
223 235
		}
224 236
	}
225 237
	
238
	
239
    public void walk(File path, String fileExtension) {
240

  
241
		File[] list = path.listFiles();
242

  
243
		if (list == null) {
244
			return;
245
		}
246

  
247
		for (File f : list) {
248
			if (f.isDirectory()) {
249
				this.walk(f, fileExtension);
250
				// System.out.println( "Dir:" + f.getAbsoluteFile() );
251
			}
252
			else if (f.getName().endsWith(fileExtension)
253
					//&& !f.equals(this.messageFile)
254
					) {
255
				
256
				System.out.println("File: " + f.getAbsoluteFile());
257
			}
258
		}
259
    }
260
	
261
    /**
262
     * Returns all Java files using the specified message key.
263
     * @param key
264
     */
265
	public void getFilesUsingKey(String key)	{
266
		this.walk(this.projectDirectory, ".java");
267
	}
268
	
269
	/**
270
	 * 
271
	 * @param args
272
	 * @throws UnsupportedEncodingException
273
	 * @throws FileNotFoundException
274
	 * @throws IOException
275
	 */
226 276
	public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
227
		File projectFile = new File("/home/mdecorde/workspace047/org.txm.core");
277
		File projectFile = new File(new File(System.getProperty("user.dir")).getParentFile().getAbsolutePath() + "/org.txm.core");
228 278
		File messageFile = new File(projectFile, "src/java/org/txm/core/messages/TXMCoreMessages.java");
229 279
		PluginMessages dict = new PluginMessages(projectFile, messageFile);
230 280
		
281
		
282
		//dict.getFilesUsingKey("test");
283
		
231 284
		dict.summary();
232 285
		//dict.saveChanges();
233 286
	}
......
239 292
	public HashMap<File, BiHashMap<String, String>> getLangs() {
240 293
		return langs;
241 294
	}
295

  
296
	/**
297
	 * Gets the project root directory.
298
	 * @return the projectDirectory
299
	 */
300
	public File getProjectDirectory() {
301
		return projectDirectory;
302
	}
242 303
}

Formats disponibles : Unified diff