[Squirrel-sql-commits] sql12/plugins/i18n/src/net/sourceforge/squirrel_sql/plugins/i18n DevelopersCo
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Rob M. <man...@us...> - 2005-10-15 11:48:47
|
Update of /cvsroot/squirrel-sql/sql12/plugins/i18n/src/net/sourceforge/squirrel_sql/plugins/i18n In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9380/sql12/plugins/i18n/src/net/sourceforge/squirrel_sql/plugins/i18n Modified Files: DevelopersController.java Log Message: update to replace literal strings in code with i18n property key. Index: DevelopersController.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/i18n/src/net/sourceforge/squirrel_sql/plugins/i18n/DevelopersController.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DevelopersController.java 10 Oct 2005 04:41:48 -0000 1.3 --- DevelopersController.java 15 Oct 2005 11:48:36 -0000 1.4 *************** *** 1,20 **** package net.sourceforge.squirrel_sql.plugins.i18n; - import net.sourceforge.squirrel_sql.client.IApplication; - import net.sourceforge.squirrel_sql.fw.util.StringManager; - import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory; - - import javax.swing.*; - import java.awt.event.ActionListener; import java.awt.event.ActionEvent; ! import java.util.prefs.Preferences; ! import java.util.ArrayList; ! import java.util.Properties; ! import java.util.regex.Matcher; ! import java.util.regex.Pattern; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.PrintWriter; public class DevelopersController --- 1,24 ---- package net.sourceforge.squirrel_sql.plugins.i18n; import java.awt.event.ActionEvent; ! import java.awt.event.ActionListener; ! import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; + import java.io.FileReader; import java.io.PrintWriter; + import java.util.ArrayList; + import java.util.Properties; + import java.util.prefs.Preferences; + import java.util.regex.Matcher; + import java.util.regex.Pattern; + + import javax.swing.JFileChooser; + import javax.swing.JOptionPane; + + import net.sourceforge.squirrel_sql.client.IApplication; + import net.sourceforge.squirrel_sql.fw.util.StringManager; + import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory; public class DevelopersController *************** *** 84,87 **** --- 88,92 ---- private void appendProps(File sourceDir) { + try { *************** *** 105,108 **** --- 110,114 ---- for (int i = 0; i < files.length; i++) { + if(files[i].isDirectory() && false == "CVS".equals(files[i].getName())) { *************** *** 111,114 **** --- 117,121 ---- else if(files[i].getName().endsWith(".java")) { + int occurrences = 0; StringBuffer code = new StringBuffer(); fis = new FileInputStream(files[i]); *************** *** 123,132 **** fis.close(); ! try { ! parseProps(code.toString(),curProps, newProps, replaceProps); } ! catch (I18nParseException e) { Object[] params = new Object[]{files[i].getPath(), e.getMessage()}; --- 130,151 ---- fis.close(); ! try { ! occurrences = parseProps(code.toString(),curProps, newProps, replaceProps); ! if (occurrences > 0) { ! int occurrencesFound = fixSourceFile(files[i].getAbsolutePath()); ! if (occurrences != occurrencesFound) { ! Object[] params = ! new Object[]{new Integer(occurrencesFound), ! new Integer(occurrences), ! files[i].getPath() }; ! String msg = ! s_stringMgr.getString("i18n.unequalOccurrences", params); ! _app.getMessageHandler().showErrorMessage(msg); ! } ! } } ! catch (Exception e) { Object[] params = new Object[]{files[i].getPath(), e.getMessage()}; *************** *** 178,183 **** } ! private void parseProps(String code, Properties curProps, ArrayList newProps, ArrayList replaceProps) throws I18nParseException { code = code.replace('\r', ' '); --- 197,203 ---- } ! private int parseProps(String code, Properties curProps, ArrayList newProps, ArrayList replaceProps) throws I18nParseException { + int occurrences = 0; code = code.replace('\r', ' '); *************** *** 189,192 **** --- 209,213 ---- while(m.find(propBounds[1])) { + occurrences++; propBounds[0] = m.start(m.groupCount()); String prop = getProp(code, propBounds); *************** *** 225,229 **** } } ! } --- 246,250 ---- } } ! return occurrences; } *************** *** 326,330 **** } ! public void initialize(IApplication app) { --- 347,383 ---- } ! private int fixSourceFile(String filename) throws Exception { ! BufferedReader in = new BufferedReader(new FileReader(filename)); ! PrintWriter out = new PrintWriter(new FileOutputStream(filename+".fixed")); ! String nextLine = in.readLine(); ! nextLine = nextLine.replace('r', ' '); ! String lineToPrint = nextLine; ! int occurrencesReplaced = 0; ! ! Pattern pat = Pattern.compile("\\s*//\\s*i18n\\[(.*)"); ! while (nextLine != null) { ! Matcher m = pat.matcher(nextLine); ! if (m.matches()) { ! // print the i18n comment ! out.println(nextLine); ! String[] parts = nextLine.split("\\["); ! parts = parts[1].split("\\]"); ! parts = parts[0].split("="); ! String key = parts[0]; ! String val = parts[1]; ! nextLine = in.readLine(); ! lineToPrint = nextLine.replaceFirst("\\\""+val+"\\\"", ! "s_stringMgr.getString(\""+key+"\")"); ! occurrencesReplaced++; ! } ! out.println(lineToPrint); ! nextLine = in.readLine(); ! lineToPrint = nextLine; ! } ! in.close(); ! out.close(); ! return occurrencesReplaced; ! } ! public void initialize(IApplication app) { |