This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 159642
Collapse All | Expand All

(-)a/profiler/nbproject/project.xml (-1 / +1 lines)
Lines 280-286 Link Here
280
                    <compile-dependency/>
280
                    <compile-dependency/>
281
                    <run-dependency>
281
                    <run-dependency>
282
                        <release-version>1</release-version>
282
                        <release-version>1</release-version>
283
                        <specification-version>1.17</specification-version>
283
                        <specification-version>1.26</specification-version>
284
                    </run-dependency>
284
                    </run-dependency>
285
                </dependency>
285
                </dependency>
286
                <dependency>
286
                <dependency>
(-)a/profiler/src/org/netbeans/modules/profiler/utils/IDEUtils.java (-53 / +35 lines)
Lines 45-51 Link Here
45
import org.netbeans.api.progress.ProgressHandle;
45
import org.netbeans.api.progress.ProgressHandle;
46
import org.netbeans.api.progress.ProgressHandleFactory;
46
import org.netbeans.api.progress.ProgressHandleFactory;
47
import org.netbeans.api.project.Project;
47
import org.netbeans.api.project.Project;
48
import org.netbeans.api.project.ProjectManager;
49
import org.netbeans.lib.profiler.ProfilerLogger;
48
import org.netbeans.lib.profiler.ProfilerLogger;
50
import org.netbeans.lib.profiler.common.Profiler;
49
import org.netbeans.lib.profiler.common.Profiler;
51
import org.netbeans.lib.profiler.common.ProfilingSettings;
50
import org.netbeans.lib.profiler.common.ProfilingSettings;
Lines 63-68 Link Here
63
import org.openide.filesystems.FileObject;
62
import org.openide.filesystems.FileObject;
64
import org.openide.filesystems.FileUtil;
63
import org.openide.filesystems.FileUtil;
65
import org.openide.modules.InstalledFileLocator;
64
import org.openide.modules.InstalledFileLocator;
65
import org.openide.util.Exceptions;
66
import org.openide.util.NbBundle;
66
import org.openide.util.NbBundle;
67
import org.openide.util.RequestProcessor;
67
import org.openide.util.RequestProcessor;
68
import org.openide.windows.TopComponent;
68
import org.openide.windows.TopComponent;
Lines 75-87 Link Here
75
import java.io.InputStream;
75
import java.io.InputStream;
76
import java.io.OutputStream;
76
import java.io.OutputStream;
77
import java.lang.reflect.InvocationTargetException;
77
import java.lang.reflect.InvocationTargetException;
78
import java.net.URL;
78
import java.text.MessageFormat;
79
import java.text.MessageFormat;
79
import java.util.*;
80
import java.util.*;
80
import javax.swing.*;
81
import javax.swing.*;
81
import javax.swing.border.EmptyBorder;
82
import javax.swing.border.EmptyBorder;
82
import javax.swing.event.ListSelectionEvent;
83
import javax.swing.event.ListSelectionEvent;
83
import javax.swing.event.ListSelectionListener;
84
import javax.swing.event.ListSelectionListener;
85
import org.netbeans.api.project.FileOwnerQuery;
86
import org.netbeans.api.project.ProjectManager;
87
import org.netbeans.api.project.ProjectUtils;
84
import org.netbeans.modules.profiler.utilities.queries.SettingsFolderQuery;
88
import org.netbeans.modules.profiler.utilities.queries.SettingsFolderQuery;
89
import org.openide.filesystems.URLMapper;
85
90
86
91
87
/**
92
/**
Lines 112-118 Link Here
112
    private static final String LIST_ACCESS_NAME = NbBundle.getMessage(IDEUtils.class, "IDEUtils_ListAccessName"); //NOI18N
117
    private static final String LIST_ACCESS_NAME = NbBundle.getMessage(IDEUtils.class, "IDEUtils_ListAccessName"); //NOI18N
113
    private static final String OK_BUTTON_TEXT = NbBundle.getMessage(IDEUtils.class, "IDEUtils_OkButtonText"); //NOI18N
118
    private static final String OK_BUTTON_TEXT = NbBundle.getMessage(IDEUtils.class, "IDEUtils_OkButtonText"); //NOI18N
114
                                                                                                               // -----
119
                                                                                                               // -----
115
    public static final String SETTINGS_DIR = "org-netbeans-modules-profiler"; //NOI18N
120
    private static final String SETTINGS_FOR_ATTR = "settingsFor";
116
    private static final RequestProcessor profilerRequestProcessor = new RequestProcessor("Profiler Request Processor", 1); // NOI18N
121
    private static final RequestProcessor profilerRequestProcessor = new RequestProcessor("Profiler Request Processor", 1); // NOI18N
117
    private static final ErrorManager profilerErrorManager = ErrorManager.getDefault().getInstance("org.netbeans.modules.profiler"); // NOI18N
122
    private static final ErrorManager profilerErrorManager = ErrorManager.getDefault().getInstance("org.netbeans.modules.profiler"); // NOI18N
118
123
Lines 282-314 Link Here
282
    }
287
    }
283
288
284
    public static Project getProjectFromSettingsFolder(FileObject settingsFolder) {
289
    public static Project getProjectFromSettingsFolder(FileObject settingsFolder) {
285
        if ((settingsFolder == null) || !settingsFolder.getName().equals("profiler")) {
290
        Object o = settingsFolder.getAttribute(SETTINGS_FOR_ATTR);
286
            return null; // NOI18N
291
        if (o instanceof URL) {
292
            FileObject d = URLMapper.findFileObject((URL) o);
293
            if (d != null && d.isFolder()) {
294
                try {
295
                    return ProjectManager.getDefault().findProject(d);
296
                } catch (IOException ex) {
297
                    Exceptions.printStackTrace(ex);
298
                }
299
            }
287
        }
300
        }
288
301
        Project p = FileOwnerQuery.getOwner(settingsFolder);
289
        FileObject privateFolder = settingsFolder.getParent();
302
        try {
290
303
            if (p != null && getProjectSettingsFolder(p, false) == settingsFolder) {
291
        if ((privateFolder == null) || !privateFolder.getName().equals("private")) {
304
                return p;
292
            return null; // NOI18N
305
            }
306
        } catch (IOException ex) {
307
            Exceptions.printStackTrace(ex);
293
        }
308
        }
294
309
        return null;
295
        FileObject nbprojectFolder = privateFolder.getParent();
296
297
        if ((nbprojectFolder == null) || !nbprojectFolder.getName().equals("nbproject")) {
298
            return null; // NOI18N
299
        }
300
301
        FileObject projectFolder = nbprojectFolder.getParent();
302
303
        if (projectFolder == null) {
304
            return null;
305
        }
306
307
        try {
308
            return ProjectManager.getDefault().findProject(projectFolder);
309
        } catch (IOException e) {
310
            return null;
311
        }
312
    }
310
    }
313
311
314
    public static FileObject getProjectSettingsFolder(Project project, boolean create)
312
    public static FileObject getProjectSettingsFolder(Project project, boolean create)
Lines 319-352 Link Here
319
        } else {
317
        } else {
320
            // resolve 'nbproject'
318
            // resolve 'nbproject'
321
            FileObject nbproject = project.getProjectDirectory().getFileObject("nbproject"); // NOI18N
319
            FileObject nbproject = project.getProjectDirectory().getFileObject("nbproject"); // NOI18N
322
320
            FileObject d;
323
            if ((nbproject == null) && create) {
321
            if (nbproject != null) {
324
                nbproject = project.getProjectDirectory().createFolder("nbproject"); // NOI18N
322
                // For compatibility, continue to use nbproject/private/profiler for Ant-based projects.
323
                d = create ? FileUtil.createFolder(nbproject, "private/profiler") : nbproject.getFileObject("private/profiler"); // NOI18N
324
            } else {
325
                // Maven projects, autoprojects, etc.
326
                d = ProjectUtils.getCacheDirectory(project, IDEUtils.class);
325
            }
327
            }
326
328
            if (d != null) {
327
            if (nbproject == null) {
329
                d.setAttribute(SETTINGS_FOR_ATTR, project.getProjectDirectory().getURL()); // NOI18N
328
                return null;
329
            }
330
            }
330
331
            return d;
331
            // resolve 'private'
332
            FileObject privateFolder = nbproject.getFileObject("private"); // NOI18N
333
334
            if ((privateFolder == null) && create) {
335
                privateFolder = nbproject.createFolder("private"); // NOI18N
336
            }
337
338
            if (privateFolder == null) {
339
                return null;
340
            }
341
342
            // resolve 'profiler'
343
            FileObject prof = privateFolder.getFileObject("profiler"); // NOI18N
344
345
            if ((prof == null) && create) {
346
                prof = privateFolder.createFolder("profiler"); // NOI18N
347
            }
348
349
            return prof;
350
        }
332
        }
351
    }
333
    }
352
334

Return to bug 159642