1 19 20 package org.netbeans.lib.cvsclient.commandLine.command; 21 22 import java.io.File ; 23 24 import org.netbeans.lib.cvsclient.command.*; 25 import org.netbeans.lib.cvsclient.command.tag.*; 26 import org.netbeans.lib.cvsclient.commandLine.*; 27 28 33 public class tag extends AbstractCommandProvider { 34 35 public String getName() { 36 return "tag"; } 38 39 public String [] getSynonyms() { 40 return new String [] { "ta" }; } 42 43 public Command createCommand(String [] args, int index, GlobalOptions gopt, String workDir) { 44 TagCommand command = new TagCommand(); 45 command.setBuilder(null); 46 final String getOptString = command.getOptString(); 47 GetOpt go = new GetOpt(args, getOptString); 48 int ch = -1; 49 go.optIndexSet(index); 50 boolean usagePrint = false; 51 String arg; 52 while ((ch = go.getopt()) != go.optEOF) { 53 boolean ok = command.setCVSCommand((char)ch, go.optArgGet()); 54 if (!ok) { 55 usagePrint = true; 56 } 57 } 58 if (usagePrint) { 59 throw new IllegalArgumentException (getUsage()); 60 } 61 int argIndex = go.optIndexGet(); 62 if (argIndex < args.length) { 64 command.setTag(args[argIndex]); 65 } else { 66 throw new IllegalArgumentException (getUsage()); 67 } 68 int fileArgsIndex = argIndex + 1; 69 if (fileArgsIndex < args.length) { 71 File [] fileArgs = new File [args.length - fileArgsIndex]; 72 if (workDir == null) { 74 workDir = System.getProperty("user.dir"); 75 } 76 File workingDir = new File (workDir); 77 for (int i = fileArgsIndex; i < args.length; i++) { 78 fileArgs[i - fileArgsIndex] = new File (workingDir, args[i]); 79 } 80 command.setFiles(fileArgs); 81 } 82 return command; 83 84 } 85 86 } 87 | Popular Tags |