1 19 20 package org.netbeans.modules.versioning.system.cvss.ui.actions.diff; 21 22 import org.netbeans.modules.versioning.system.cvss.FileInformation; 23 import org.netbeans.modules.versioning.system.cvss.CvsVersioningSystem; 24 import org.netbeans.modules.versioning.system.cvss.CvsFileNode; 25 import org.netbeans.modules.versioning.system.cvss.FileStatusCache; 26 import org.netbeans.modules.versioning.system.cvss.util.Utils; 27 import org.netbeans.modules.versioning.system.cvss.ui.actions.AbstractSystemAction; 28 import org.netbeans.lib.cvsclient.admin.Entry; 29 import org.openide.NotifyDescriptor; 30 import org.openide.DialogDisplayer; 31 import org.openide.nodes.Node; 32 import org.openide.util.NbBundle; 33 34 import java.io.File ; 35 36 41 public class ResolveConflictsAction extends AbstractSystemAction { 42 43 public ResolveConflictsAction() { 44 setIcon(null); 45 putValue("noIconInMenu", Boolean.TRUE); } 47 48 protected String getBaseName(Node [] activatedNodes) { 49 return "CTL_MenuItem_ResolveConflicts"; } 51 52 protected boolean enable(Node[] nodes) { 53 return CvsVersioningSystem.getInstance().getFileTableModel(Utils.getCurrentContext(nodes), FileInformation.STATUS_VERSIONED_CONFLICT).getNodes().length > 0; 54 } 55 56 public void performCvsAction(Node[] nodes) { 57 CvsFileNode [] fileNodes = CvsVersioningSystem.getInstance().getFileTableModel(getContext(nodes), FileInformation.STATUS_VERSIONED_CONFLICT).getNodes(); 58 if (fileNodes.length == 0) { 59 DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message( 60 NbBundle.getMessage(ResolveConflictsAction.class, "MSG_NoConflicts"))); 61 return; 62 } 63 FileStatusCache cache = CvsVersioningSystem.getInstance().getStatusCache(); 64 for (int i = 0; i < fileNodes.length; i++) { 65 File file = fileNodes[i].getFile(); 66 FileInformation info = cache.getStatus(file); 67 Entry entry = info.getEntry(file); 68 if (entry == null) { 69 DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message( 70 NbBundle.getMessage(ResolveConflictsAction.class, "MSG_MoveAwayLocalFileConflict", file.getName()))); 71 } else { 72 ResolveConflictsExecutor rce = new ResolveConflictsExecutor(); 73 rce.exec(file); 74 } 75 } 76 } 77 78 protected boolean asynchronous() { 79 return false; 80 } 81 82 } 83 | Popular Tags |