public void upgrade(OldTSpace.TypeRepTemplate inV, NewTSpace.TypeRepTemplate outV) { upgrade(inV as OldTSpace.TranslationBase, outV as NewTSpace.TranslationBase); outV.TypeName = inV.TypeName; outV.Uses = inV.NamespacePath; }
public static void Main(string[] args) { long startTime = DateTime.Now.Ticks; IList <string> remArgs = new List <string>(); IList <string> inDirs = new List <string>(); string outDir = ""; // Use a try/catch block for parser exceptions try { // if we have at least one command-line argument if (args.Length > 0) { OptionSet p = new OptionSet() .Add("v", v => Verbosity++) .Add("version", v => showVersion()) .Add("help|h|?", v => showUsage()) .Add("inxmldir=", dir => inDirs.Add(Path.Combine(Directory.GetCurrentDirectory(), dir))) .Add("outxmldir=", dir => outDir = Path.Combine(Directory.GetCurrentDirectory(), dir)) ; remArgs = p.Parse(args); // Load .Net templates foreach (string r in inDirs) { doFile(r, ".xml", addOldNetTranslation, null); } UpdateTranslationTemplate tx = new UpdateTranslationTemplate(); foreach (KeyValuePair <string, OldT> de in oldAppEnv) { // update translation template NewT txTemplate = tx.upgrade(de.Value); String xmlFName = Path.Combine(outDir, ((string)de.Key).Replace('.', Path.DirectorySeparatorChar) + ".xml"); String xmlFDir = Path.GetDirectoryName(xmlFName); Console.WriteLine(xmlFName + ": " + de.Value.Java); if (!Directory.Exists(xmlFDir)) { Directory.CreateDirectory(xmlFDir); } XmlSerializer s = new XmlSerializer(txTemplate.GetType(), CS2JConstants.TranslationTemplateNamespace); TextWriter w = new StreamWriter(xmlFName); s.Serialize(w, txTemplate); w.Close(); } } else { showUsage(); } } catch (System.Exception e) { Console.Error.WriteLine("exception: " + e); Console.Error.WriteLine(e.StackTrace); // so we can get stack trace } double elapsedTime = ((DateTime.Now.Ticks - startTime) / TimeSpan.TicksPerMillisecond) / 1000.0; if (Verbosity >= 1) { System.Console.Out.WriteLine("Total run time was {0} seconds.", elapsedTime); } }