KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > subversion > ui > update > ResolveConflictsAction


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 NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.subversion.ui.update;
21
22 import java.io.*;
23 import org.netbeans.modules.subversion.*;
24 import org.netbeans.modules.subversion.ui.actions.ContextAction;
25 import org.netbeans.modules.subversion.util.Context;
26 import org.netbeans.modules.subversion.util.SvnUtils;
27 import org.openide.DialogDisplayer;
28 import org.openide.NotifyDescriptor;
29 import org.openide.nodes.Node;
30
31 /**
32  * Show basic conflict resolver UI (provided by the diff module).
33  *
34  * @author Petr Kuzel
35  */

36 public class ResolveConflictsAction extends ContextAction {
37
38     public ResolveConflictsAction() {
39     }
40
41     protected String JavaDoc getBaseName(Node[] activatedNodes) {
42         return "ResolveConflicts"; // NOI18N
43
}
44
45     
46     protected boolean enable(Node[] nodes) {
47         Context ctx = SvnUtils.getCurrentContext(nodes);
48         return SvnUtils.getModifiedFiles(ctx, FileInformation.STATUS_VERSIONED_CONFLICT).length > 0;
49     }
50
51     protected void performContextAction(Node[] nodes) {
52         Context ctx = getContext(nodes);
53         FileStatusCache cache = Subversion.getInstance().getStatusCache();
54         File[] files = cache.listFiles(ctx, FileInformation.STATUS_VERSIONED_CONFLICT);
55
56         if (files.length == 0) {
57             NotifyDescriptor nd = new NotifyDescriptor.Message(org.openide.util.NbBundle.getMessage(ResolveConflictsAction.class, "MSG_NoConflictsFound")); // NOI18N
58
DialogDisplayer.getDefault().notify(nd);
59         } else {
60             for (int i = 0; i<files.length; i++) {
61                 File file = files[i];
62                 ResolveConflictsExecutor executor = new ResolveConflictsExecutor(file);
63                 executor.exec();
64             }
65         }
66     }
67
68     public boolean asynchronous() {
69         return false;
70     }
71     
72 }
73
Popular Tags