1 22 package org.netbeans.lib.cvsclient.commandLine.command; 23 24 import java.io.*; 25 26 import org.netbeans.lib.cvsclient.command.*; 27 import org.netbeans.lib.cvsclient.command.diff.*; 28 import org.netbeans.lib.cvsclient.commandLine.*; 29 30 34 public class diff extends AbstractCommandProvider { 35 36 public String [] getSynonyms() { 37 return new String [] { "di", "dif" }; 38 } 39 40 public Command createCommand(String [] args, int index, GlobalOptions gopt, String workDir) { 41 DiffCommand command = new DiffCommand(); 42 final String getOptString = command.getOptString(); 43 GetOpt go = new GetOpt(args, getOptString); 44 int ch = -1; 45 go.optIndexSet(index); 46 boolean usagePrint = false; 47 String arg; 48 while ((ch = go.getopt()) != go.optEOF) { 49 boolean ok = command.setCVSCommand((char)ch, go.optArgGet()); 50 if (!ok) { 51 usagePrint = true; 52 } 53 } 54 if (usagePrint) { 55 throw new IllegalArgumentException (getUsage()); 56 } 57 int fileArgsIndex = go.optIndexGet(); 58 if (fileArgsIndex < args.length) { 60 File[] fileArgs = new File[args.length - fileArgsIndex]; 61 if (workDir == null) { 63 workDir = System.getProperty("user.dir"); 64 } 65 File workingDir = new File(workDir); 66 for (int i = fileArgsIndex; i < args.length; i++) { 67 fileArgs[i - fileArgsIndex] = new File(workingDir, args[i]); 68 } 69 command.setFiles(fileArgs); 70 } 71 return command; 72 } 73 74 } | Popular Tags |