1package com.mot.dm.tool; 2 3import java.io.File; 4 5public class DMTSTool { 6 private static String fileFrom = null; 7 private static String fileTo = null; 8 private static boolean conversion = false; 9 private static boolean difference = false; 10 11 public static void usage(boolean isForDev) { 12 System.out.println(""); 13 System.out.println( 14 "Usage: java com.mot.dm.tool.DMTSTool [-options] <fileFrom> <fileTo>"); 15 System.out.println("where options include:"); 16 System.out.println( 17 " -conversion perform conversion process for given files "); 18 System.out.println(" file formats: zip or dmts"); 19 System.out.println( 20 " -difference find difference between given files "); 21 System.out.println(" file formats: zip or dmts"); 22 System.out.println(" -?|-h|--help print this help message"); 23 System.out.println(" -verbose enable verbose output"); 24 System.out.println(" <fileFrom> path to source file (from)"); 25 System.out.println(" <fileTo> path to source file (to)"); 26 System.out.println( ""); 27 28 if(isForDev){ 29 System.out.println("Usage for developers only !!!"); 30 System.out.println("\njava com.mot.dm.tool.Diff <fileFrom> <fileTo>"); 31 System.out.println(" file formats: dir, zip, dmts"); 32 System.out.println("\njava com.mot.dm.tool.DMTS -ds|-sd <fileFrom> <fileTo>"); 33 System.out.println(" file formats: dir, dmts"); 34 System.out.println(" options: -ds dir to dmts"); 35 System.out.println(" -sd dmts to dir"); 36 System.out.println("\njava com.mot.dm.tool.Zip -zip|-unzip <fileFrom> <fileTo>"); 37 System.out.println(" -zip : dir to .zip"); 38 System.out.println(" -unzip : .zip to dir"); 39 System.out.println( ""); 40 } 41 } 42 43 public static void main(String[] args) { 44 String arg; 45 for (int i = 0; i < args.length; i++) { 46 arg = args[i]; 47 if (arg.equals("-?") || arg.equals("-h") || arg.equals("--help")) { 48 usage(false); 49 System.exit( -1); 50 } 51 else if (arg.equals("--helpdev")) { 52 usage(true); 53 System.exit( -1); 54 } 55 else if (arg.equals("-verbose")) { 56 Util.VERBOSE = true; 57 } 58 else if (arg.equals("-conversion")) { 59 conversion = true; 60 } 61 else if (arg.equals("-difference")) { 62 difference = true; 63 } 64 else { 65 if (fileFrom == null) { 66 fileFrom = arg; 67 } 68 else if (fileTo == null) { 69 fileTo = arg; 70 } 71 else { 72 System.out.println("\nWrong parameters..."); 73 usage(false); 74 System.exit( -1); 75 } 76 } 77 } 78 if (!validateParms()) { 79 usage(false); 80 System.exit( -1); 81 } 82 83 try { 84 if (difference) { 85 Diff diff = new Diff(); 86 diff.getDiff(fileFrom, fileTo); 87 } 88 else if (conversion) { 89 boolean fileFromIsFile = fileFrom.toUpperCase().endsWith(".ZIP") || fileFrom.toUpperCase().endsWith(".DMTS"); 90 boolean fileToIsFile = fileTo.toUpperCase().endsWith(".ZIP") || fileTo.toUpperCase().endsWith(".DMTS"); 91 92 DMTS dmts = new DMTS(); 93 if(fileFromIsFile && fileToIsFile){ 94 dmts.convert(fileFrom, fileTo); 95 } 96 else if(fileFromIsFile){ 97 dmts.dmts2dir(fileFrom, fileTo); 98 } 99 else if(fileToIsFile){ 100 dmts.dir2dmts(fileFrom, fileTo); 101 } 102 else{ 103 System.out.println("\nConversion Error!!! Unsupported file format(s) or file combinations"); 104 System.exit(-1); 105 } 106 } 107 } 108 catch (Exception e) { 109 e.printStackTrace(); 110 System.exit(-1); 111 } 112 System.exit(1); 113 } 114 115 private static boolean validateParms() { 116 117 if (!conversion && !difference ) { 118 System.out.println( 119 "\nRequired parameter (-conversion or -difference) is missing..."); 120 return false; 121 } 122 else if (conversion && difference) { 123 System.out.println( 124 "\nParameters -conversion and -difference cannot be used together..."); 125 return false; 126 } 127 if (fileFrom == null) { 128 System.out.println("\nRequired parameter <fileFrom> not set..."); 129 return false; 130 } 131 if (fileTo == null) { 132 System.out.println("\nRequired parameter <fileTo> not set..."); 133 return false; 134 } 135 return true; 136 } 137} 138