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