Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
   *
   * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
   * Other names may be trademarks of their respective owners.
   *
   * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common
  * Development and Distribution License("CDDL") (collectively, the
  * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Oracle in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
  * under the [CDDL or GPL Version 2] license." If you do not indicate a
  * single choice of license, a recipient has the option to distribute
  * your version of this file under either the CDDL, the GPL Version 2 or
  * to extend the choice of license to its licensees as provided above.
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
  *
  * Contributor(s):
  *
  * Portions Copyrighted 2009 Sun Microsystems, Inc.
  */
 package org.netbeans.modules.ide.ergonomics.fod;
 
 import java.util.Set;
 
 public final class OpenAdvancedAction extends CookieAction {
     private static Set<FileObjectcandidates = new WeakSet<FileObject>();
 
     public static void registerCandidate(FileObject fo) {
         synchronized () {
             .add(fo);
         }
     }
 
     protected void performAction(Node[] activatedNodes) {
         if (activatedNodes == null || activatedNodes.length == 0) {
             return;
         }
         final DataObject obj = activatedNodes[0].getLookup().lookup(DataObject.class);
         FileObject mimeDefinition = FileUtil.getConfigFile(
             "Loaders/" + obj.getPrimaryFile().getMIMEType() + "/Factories/Ergonomics.instance"
         );
         if (mimeDefinition == null) {
             return;
         }
         final FeatureInfo info = FoDFileSystem.getInstance().whichProvides(mimeDefinition);
         if (info == null || info.isEnabled()) {
             return;
         }
 
         Task task = FeatureManager.getInstance().create(new Runnable() {
             public void run() {
                 boolean success = Utilities.featureNotFoundDialog(
                     info,
                     NbBundle.getMessage(OpenAdvancedAction.class"CTL_OpenAdvanced")
                 );
                 if (success) {
                     try {
                         obj.setValid(false);
                         DataObject newO = DataObject.find(obj.getPrimaryFile());
                         if (newO != obj) {
                             OpenCookie oc = newO.getLookup().lookup(OpenCookie.class);
                             if (oc != null) {
                                 oc.open();
                            }
                        }
                    } catch (PropertyVetoException ex) {
                        Exceptions.printStackTrace(ex);
                    } catch (DataObjectNotFoundException ex) {
                        Exceptions.printStackTrace(ex);
                    }
                }
            }
        });
        task.schedule(0);
    }
    @Override
    protected boolean enable(Node[] activatedNodes) {
        if (!super.enable(activatedNodes) || activatedNodes.length != 1) {
            return false;
        }
        DataObject obj = activatedNodes[0].getLookup().lookup(DataObject.class);
        return .contains(obj.getPrimaryFile());
    }
    protected int mode() {
        return .;
    }
    public String getName() {
        return NbBundle.getMessage(OpenAdvancedAction.class"CTL_OpenAdvancedAction");
    }
    protected Class[] cookieClasses() {
        return new Class[]{DataObject.class};
    }
    @Override
    protected void initialize() {
        super.initialize();
        // see org.openide.util.actions.SystemAction.iconResource() Javadoc for more details
        putValue("noIconInMenu".);
    }
    public HelpCtx getHelpCtx() {
        return .;
    }
    @Override
    protected boolean asynchronous() {
        return false;
    }
New to GrepCode? Check out our FAQ X