KickJava   Java API By Example, From Geeks To Geeks.

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


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.diff.*;
28 import org.netbeans.lib.cvsclient.commandLine.*;
29
30 /**
31  * The log command
32  * @author Robert Greig
33  */

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