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.refactoring.plugins; 21 22 import java.util.Collection; 23 import org.netbeans.modules.refactoring.spi.ui.UI; 24 import org.netbeans.modules.refactoring.spi.impl.SafeDeleteUI; 25 import org.netbeans.modules.refactoring.spi.ui.ActionsImplementationProvider; 26 import org.openide.filesystems.FileObject; 27 import org.openide.loaders.DataObject; 28 import org.openide.nodes.Node; 29 import org.openide.util.Lookup; 30 31 /** 32 * 33 * @author Jan Becicka 34 */ 35 public class DefaultActionsProvider extends ActionsImplementationProvider { 36 37 /** Creates a new instance of DefaultActionsProvider */ 38 public DefaultActionsProvider() { 39 } 40 @Override 41 public boolean canDelete(Lookup lookup) { 42 return false; 43 // Collection<? extends Node> nodes = lookup.lookupAll(Node.class); 44 // boolean result = false; 45 // for (Node node:nodes) { 46 // DataObject dob = (DataObject) node.getCookie(DataObject.class); 47 // if (dob==null) { 48 // return false; 49 // } else { 50 // if (dob.getPrimaryFile().isFolder()) { 51 // return false; 52 // } 53 // } 54 // result=true; 55 // } 56 // return result; 57 } 58 59 @Override 60 public void doDelete(final Lookup lookup) { 61 Collection<? extends Node> nodes = lookup.lookupAll(Node.class); 62 FileObject[] fobs = new FileObject[nodes.size()]; 63 int i = 0; 64 for (Node node:nodes) { 65 DataObject dob = (DataObject) node.getCookie(DataObject.class); 66 if (dob!=null) { 67 fobs[i++] = dob.getPrimaryFile(); 68 } 69 } 70 UI.openRefactoringUI(new SafeDeleteUI(fobs)); 71 } 72 } 73