KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > lib > cvsclient > commandLine > command > add


1 /*****************************************************************************
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14
15  * The Original Software is the CVS Client Library.
16  * The Initial Developer of the Original Software is Robert Greig.
17  * Portions created by Robert Greig are Copyright (C) 2000.
18  * All Rights Reserved.
19
20  * Contributor(s): Robert Greig.
21  *****************************************************************************/

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 /**
31  * Adds a file or directory to the repository
32  * @author Robert Greig
33  */

34 public class add extends AbstractCommandProvider {
35
36     public String JavaDoc[] getSynonyms() {
37         return new String JavaDoc[] { "ad", "new" }; // NOI18N
38
}
39     
40     public Command createCommand(String JavaDoc[] args, int index, GlobalOptions gopt, String JavaDoc workDir) {
41         AddCommand command = new AddCommand();
42         command.setBuilder(null);
43         final String JavaDoc getOptString = command.getOptString();
44         GetOpt go = new GetOpt(args, getOptString);
45         int ch = -1;
46         go.optIndexSet(index);
47         boolean usagePrint = false;
48         String JavaDoc 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 JavaDoc(getUsage());
57         }
58         int fileArgsIndex = go.optIndexGet();
59         // test if we have been passed any file arguments
60
if (fileArgsIndex < args.length) {
61             File[] fileArgs = new File[args.length - fileArgsIndex];
62             // send the arguments as absolute paths
63
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