package org.eclipse.epf.toolbox.utils; import java.io.File; public class RenameFiles { //Given strings private static String lang = "_ar"; private static String pkg = ".nlBidi"; private static String fpkg = ".nlsBidi"; private static String rootPath = "E:/Root/a_Rmc7.5.0.1/Tvt/Returns/1stReturns/renamed/ARA/RmcTool"; private final static boolean runAll = true; private static String rootPathPrefix = "C:\\a_dev\\Rmc7.5.2\\TVT\\Returns\\1stReturns\\renamed\\"; private static String lastFoler = "RmcTool"; private static String langFolerList[] = {"DEU", "ESP", "FRA", "ITA", "JPN", "KOR", "PTB", "CHS", "CHT", "PLK", "RUS", "DAN", "ARA"}; private static String langList[] = {"_de", "_es", "_fr", "_it", "_ja", "_ko", "_pt_BR", "_zh", "_zh_TW", "_pl", "_ru", "_da", "_ar"}; private static String[] pkgList = null; private static String[] fpkgList = null; private static String[] rootPathList = null; static { int sz = 13; pkgList = new String[sz]; fpkgList = new String[sz]; rootPathList = new String[sz]; for (int i = 0; i < sz; i ++) { if (i < 9) { pkgList[i] = ".nl1"; fpkgList[i] = ".nls1"; } else if (i < 11) { pkgList[i] = ".nl2"; fpkgList[i] = ".nls2"; } else if (i < 12) { pkgList[i] = ".nl2a"; fpkgList[i] = ".nls2a"; } else { pkgList[i] = ".nlBidi"; fpkgList[i] = ".nlsBidi"; } rootPathList[i] = rootPathPrefix + langFolerList[i] + "\\" + lastFoler; } } private static final String[] props = { ".properties", ".htm", ".html", ".js", }; private static final String epf = "org.eclipse.epf."; private static final String rmc = "com.ibm.rmc."; private static RenameFiles instance = new RenameFiles(rootPath); private File rootFolder; private int renamedFileCount = 0; public RenameFiles(String rootPath) { rootFolder = new File(rootPath); } public void execute() { File[] pluginFolders = rootFolder.listFiles(); if (pluginFolders == null) { return; } System.out.println("LD> rename folders -> "); for (int i = 0; i < pluginFolders.length; i++) { File folderFile = pluginFolders[i]; renameFolder(folderFile); } System.out.println("LD> rename folders <- \n"); pluginFolders = rootFolder.listFiles(); renamedFileCount = 0; System.out.println("LD> rename files -> "); for (int i = 0; i < pluginFolders.length; i++) { File folderFile = pluginFolders[i]; renameFiles(folderFile); } System.out.println("LD> rename files <- " + renamedFileCount); } private void renameFolder(File folderFile) { if (! folderFile.isDirectory()) { return; } String folderName = folderFile.getName(); if ((folderName.startsWith(epf) || folderName.startsWith(rmc)) && !folderName.endsWith(pkg)) { boolean isFeature = folderName.endsWith(".feature"); String lastStr = isFeature ? fpkg : pkg; File renamedFile = new File(folderFile.getAbsolutePath() + lastStr); folderFile.renameTo(renamedFile); System.out.println("LD> renamedFile: " + renamedFile); } else { System.out.println("LD> folderFile: " + folderFile); } } private void renameFiles(File folderFile) { if (! folderFile.isDirectory()) { return; } File[] children = folderFile.listFiles(); if (children == null) { return; } for (int i = 0; i < children.length; i++) { File child = children[i]; if (child.isDirectory()) { renameFiles(child); } else { String childName = child.getName(); for (int j = 0; j < props.length; j++) { String prop = props[j]; String newProp = lang + prop; if (childName.endsWith(prop) && !childName.endsWith(newProp)) { String oldPath = child.getAbsolutePath(); int ix = oldPath.lastIndexOf(prop); String newPath = oldPath.substring(0, ix) + newProp; System.out.println("LD> oldPath: " + oldPath); System.out.println("LD> newPath: " + newPath + "\n"); child.renameTo(new File(newPath)); renamedFileCount++; break; } } } } } public static void main(String[] args) { if (runAll) { for (int i = 0; i < langList.length; i++) { lang = langList[i]; pkg = pkgList[i]; fpkg = fpkgList[i]; rootPath = rootPathList[i]; instance = new RenameFiles(rootPath); instance.execute(); } } else { instance.execute(); } } }