Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 1997-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]"
  *
  * Contributor(s):
  * The Original Software is NetBeans. The Initial Developer of the Original
  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
  * Microsystems, Inc. All Rights Reserved.
  *
  * 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.
  */
 
 package org.netbeans.modules.profiler.ppoints;
 
 import java.io.File;

Author(s):
Jaroslav Bachorik
 
     "LoadGenProfilingPointFactory_PpType=Load Generator",
     "LoadGenProfilingPointFactory_PpDescr=Starts and stops a load generator script at the given source code location",
     "LoadGenProfilingPointFactory_PpDefaultName={0} at {1}:{2}"
 })
     //~ Static fields/initializers -----------------------------------------------------------------------------------------------
 
     private static final String START_LOCATION_PREFIX = "start_"// NOI18N
     private static final String END_LOCATION_PREFIX = "end_"// NOI18N
     private static LoadGenProfilingPointFactory defaultInstance = null;
 
     //~ Instance fields ----------------------------------------------------------------------------------------------------------
 
     private final Lookup.Result loadGenResult;
     private final LookupListener lookupListener = new LookupListener() {
         public void resultChanged(LookupEvent lookupEvent) {
              = ((Lookup.ResultlookupEvent.getSource()).allInstances().size() > 0;
                                                        .falsetrue));
         }
     };
 
     private boolean available = false;
 
     //~ Constructors -------------------------------------------------------------------------------------------------------------
 
     public LoadGenProfilingPointFactory() {
          = Lookup.getDefault().lookupResult(LoadGenPlugin.class);
         = .allInstances().size() > 0;
    }
    //~ Methods ------------------------------------------------------------------------------------------------------------------
    public boolean isAvailable() {
        return ;
    }
    public String getDescription() {
        return Bundle.LoadGenProfilingPointFactory_PpDescr();
    }
    public Icon getIcon() {
        return Icons.getIcon(.);
    }
    
    public Icon getDisabledIcon() {
    }
    public int getScope() {
        return ;
    }
    public String getType() {
        return Bundle.LoadGenProfilingPointFactory_PpType();
    }
    public ProfilingPoint create(Lookup.Provider project) {
        if (project == null) {
            project = Utils.getCurrentProject(); // project not defined, will be detected from most active Editor or Main Project will be used
        }
        CodeProfilingPoint.Location[] selectionLocations = Utils.getCurrentSelectionLocations();
        if (selectionLocations.length != 2) {
            if (location.equals(..)) {
                String filename = ""// NOI18N
                String name = Utils.getUniqueName(getType(), ""project); // NOI18N
                return new LoadGenProfilingPoint(namelocationnullprojectthis);
            } else {
                File file = FileUtil.normalizeFile(new File(location.getFile()));
                String filename = FileUtil.toFileObject(file).getName();
                String name = Utils.getUniqueName(getType(),
                                                  Bundle.LoadGenProfilingPointFactory_PpDefaultName(""filenamelocation.getLine()), project);  // NOI18N
                return new LoadGenProfilingPoint(namelocationnullprojectthis);
            }
        } else {
            CodeProfilingPoint.Location startLocation = selectionLocations[0];
            CodeProfilingPoint.Location endLocation = selectionLocations[1];
            File file = FileUtil.normalizeFile(new File(startLocation.getFile()));
            String filename = FileUtil.toFileObject(file).getName();
            String name = Utils.getUniqueName(getType(),
                                              Bundle.LoadGenProfilingPointFactory_PpDefaultName(""filenamestartLocation.getLine()),  // NOI18N
                                              project);
            return new LoadGenProfilingPoint(namestartLocationendLocationprojectthis);
        }
    }
    public boolean supportsCPU() {
        return true;
    }
    public boolean supportsMemory() {
        return true;
    }
    public boolean supportsMonitor() {
        return false;
    }
    protected Class getProfilingPointsClass() {
        return LoadGenProfilingPoint.class;
    }
    protected String getServerHandlerClassName() {
        return "org.netbeans.lib.profiler.global.ProfilingPointServerHandler"// NOI18N
    }
    protected ValidityAwarePanel createCustomizer() {
        return new LoadGeneratorCustomizer(getType(), getIcon());
    }
    protected ProfilingPoint loadProfilingPoint(Lookup.Provider projectProperties propertiesint index) {
        String name = properties.getProperty(index + "_" + .null); // NOI18N
        String enabledStr = properties.getProperty(index + "_" + .null); // NOI18N
        String scriptFile = properties.getProperty(index + "_" + .null); // NOI18N
        CodeProfilingPoint.Location startLocation = CodeProfilingPoint.Location.load(projectindex,
                                                                                     properties);
        CodeProfilingPoint.Location endLocation = CodeProfilingPoint.Location.load(projectindexproperties);
        if ((name == null) || (enabledStr == null) || (startLocation == null)) {
            return null;
        }
        LoadGenProfilingPoint profilingPoint = null;
        try {
            profilingPoint = new LoadGenProfilingPoint(namestartLocationendLocationprojectthis);
            profilingPoint.setEnabled(Boolean.parseBoolean(enabledStr));
            profilingPoint.setSriptFileName(scriptFile);
        } catch (Exception e) {
            ErrorManager.getDefault().log(.e.getMessage());
        }
        return profilingPoint;
    }
    protected void storeProfilingPoint(ProfilingPoint profilingPointint indexProperties properties) {
        LoadGenProfilingPoint loadgen = (LoadGenProfilingPointprofilingPoint;
        properties.put(index + "_" + .loadgen.getName()); // NOI18N
        properties.put(index + "_" + ., Boolean.toString(loadgen.isEnabled())); // NOI18N
        properties.put(index + "_" + .loadgen.getScriptFileName()); // NOI18N
        loadgen.getStartLocation().store(loadgen.getProject(), indexproperties);
        if (loadgen.usesEndLocation()) {
            loadgen.getEndLocation().store(loadgen.getProject(), indexproperties);
        }
    }
New to GrepCode? Check out our FAQ X