View | Details | Raw Unified | Return to bug 252595 | Differences between
and this patch

Collapse All | Expand All

(-)java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEActionProvider.java (-1 / +1 lines)
 Lines 340-348    Link Here 
340
340
341
    }
341
    }
342
342
343
    static final String COS_UPDATED = "$cos.update";    //NOI18N
343
    private static final class CosAction implements BuildArtifactMapper.ArtifactsUpdated,
344
    private static final class CosAction implements BuildArtifactMapper.ArtifactsUpdated,
344
            PropertyChangeListener {
345
            PropertyChangeListener {
345
        private static final String COS_UPDATED = "$cos.update";    //NOI18N
346
        private static final Object NONE = new Object();
346
        private static final Object NONE = new Object();
347
        private final J2SEActionProvider owner;
347
        private final J2SEActionProvider owner;
348
        private final PropertyEvaluator eval;
348
        private final PropertyEvaluator eval;
(-)java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEEnableCosQuery.java (+57 lines)
Added Link Here 
1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
4
 * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
5
 *
6
 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7
 * Other names may be trademarks of their respective owners.
8
 *
9
 * The contents of this file are subject to the terms of either the GNU
10
 * General Public License Version 2 only ("GPL") or the Common
11
 * Development and Distribution License("CDDL") (collectively, the
12
 * "License"). You may not use this file except in compliance with the
13
 * License. You can obtain a copy of the License at
14
 * http://www.netbeans.org/cddl-gplv2.html
15
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16
 * specific language governing permissions and limitations under the
17
 * License.  When distributing the software, include this License Header
18
 * Notice in each file and include the License file at
19
 * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
20
 * particular file as subject to the "Classpath" exception as provided
21
 * by Oracle in the GPL Version 2 section of the License file that
22
 * accompanied this code. If applicable, add the following below the
23
 * License Header, with the fields enclosed by brackets [] replaced by
24
 * your own identifying information:
25
 * "Portions Copyrighted [year] [name of copyright owner]"
26
 *
27
 * If you wish your version of this file to be governed by only the CDDL
28
 * or only the GPL Version 2, indicate your decision by adding
29
 * "[Contributor] elects to include this software in this distribution
30
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
31
 * single choice of license, a recipient has the option to distribute
32
 * your version of this file under either the CDDL, the GPL Version 2 or
33
 * to extend the choice of license to its licensees as provided above.
34
 * However, if you add GPL Version 2 code and therefore, elected the GPL
35
 * Version 2 license, then the option applies only if the new code is
36
 * made subject to such option by the copyright holder.
37
 *
38
 * Contributor(s):
39
 *
40
 * Portions Copyrighted 2016 Sun Microsystems, Inc.
41
 */
42
package org.netbeans.modules.java.j2seproject;
43
44
import java.net.URI;
45
import org.netbeans.api.java.source.UpdateSourceRootQuery;
46
import org.netbeans.api.project.FileOwnerQuery;
47
import org.netbeans.api.project.Project;
48
import org.openide.util.lookup.ServiceProvider;
49
50
@ServiceProvider(service = UpdateSourceRootQuery.class)
51
public class J2SEEnableCosQuery extends UpdateSourceRootQuery {
52
    @Override
53
    protected boolean updateRoot(URI sourceRoot) {
54
        Project p = FileOwnerQuery.getOwner(sourceRoot);
55
        return J2SEProjectUtil.getEvaluatedProperty(p, J2SEActionProvider.COS_UPDATED) != null;
56
    }
57
}
(-)java.source.base/src/org/netbeans/api/java/source/UpdateSourceRootQuery.java (+58 lines)
Added Link Here 
1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
4
 * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
5
 *
6
 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7
 * Other names may be trademarks of their respective owners.
8
 *
9
 * The contents of this file are subject to the terms of either the GNU
10
 * General Public License Version 2 only ("GPL") or the Common
11
 * Development and Distribution License("CDDL") (collectively, the
12
 * "License"). You may not use this file except in compliance with the
13
 * License. You can obtain a copy of the License at
14
 * http://www.netbeans.org/cddl-gplv2.html
15
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16
 * specific language governing permissions and limitations under the
17
 * License.  When distributing the software, include this License Header
18
 * Notice in each file and include the License file at
19
 * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
20
 * particular file as subject to the "Classpath" exception as provided
21
 * by Oracle in the GPL Version 2 section of the License file that
22
 * accompanied this code. If applicable, add the following below the
23
 * License Header, with the fields enclosed by brackets [] replaced by
24
 * your own identifying information:
25
 * "Portions Copyrighted [year] [name of copyright owner]"
26
 *
27
 * If you wish your version of this file to be governed by only the CDDL
28
 * or only the GPL Version 2, indicate your decision by adding
29
 * "[Contributor] elects to include this software in this distribution
30
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
31
 * single choice of license, a recipient has the option to distribute
32
 * your version of this file under either the CDDL, the GPL Version 2 or
33
 * to extend the choice of license to its licensees as provided above.
34
 * However, if you add GPL Version 2 code and therefore, elected the GPL
35
 * Version 2 license, then the option applies only if the new code is
36
 * made subject to such option by the copyright holder.
37
 *
38
 * Contributor(s):
39
 *
40
 * Portions Copyrighted 2016 Sun Microsystems, Inc.
41
 */
42
package org.netbeans.api.java.source;
43
44
import java.net.URI;
45
import org.openide.util.Lookup;
46
47
public abstract class UpdateSourceRootQuery {
48
    protected abstract boolean updateRoot(URI sourceRoot);
49
50
    public static boolean shouldUpdateRoot(URI sourceRoot) {
51
        for (UpdateSourceRootQuery q : Lookup.getDefault().lookupAll(UpdateSourceRootQuery.class)) {
52
            if (q.updateRoot(sourceRoot)) {
53
                return true;
54
            }
55
        }
56
        return false;
57
    }
58
}
(-)java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java (-2 / +11 lines)
 Lines 76-81    Link Here 
76
import org.netbeans.api.java.queries.SourceForBinaryQuery;
76
import org.netbeans.api.java.queries.SourceForBinaryQuery;
77
import org.netbeans.api.java.source.BuildArtifactMapper.ArtifactsUpdated;
77
import org.netbeans.api.java.source.BuildArtifactMapper.ArtifactsUpdated;
78
import org.netbeans.api.java.source.SourceUtils;
78
import org.netbeans.api.java.source.SourceUtils;
79
import org.netbeans.api.java.source.UpdateSourceRootQuery;
79
import org.netbeans.api.queries.FileBuiltQuery;
80
import org.netbeans.api.queries.FileBuiltQuery;
80
import org.netbeans.api.queries.FileBuiltQuery.Status;
81
import org.netbeans.api.queries.FileBuiltQuery.Status;
81
import org.netbeans.api.queries.VisibilityQuery;
82
import org.netbeans.api.queries.VisibilityQuery;
 Lines 326-339    Link Here 
326
        }
327
        }
327
328
328
        if (!new File(targetFolder, TAG_FILE_NAME).exists()) {
329
        if (!new File(targetFolder, TAG_FILE_NAME).exists()) {
329
            return null;
330
            if (!UpdateSourceRootQuery.shouldUpdateRoot(targetFolder.toURI())) {
331
                return null;
332
            }
330
        }
333
        }
331
        
334
        
332
        return targetFolder;
335
        return targetFolder;
333
    }
336
    }
334
337
335
    public static boolean isUpdateResources(File targetFolder) {
338
    public static boolean isUpdateResources(File targetFolder) {
336
        return targetFolder != null && new File(targetFolder, TAG_UPDATE_RESOURCES).exists();
339
        if (targetFolder == null) {
340
            return false;
341
        }
342
        if (new File(targetFolder, TAG_UPDATE_RESOURCES).exists()) {
343
            return true;
344
        }
345
        return UpdateSourceRootQuery.shouldUpdateRoot(targetFolder.toURI());
337
    }
346
    }
338
347
339
    public static void classCacheUpdated(URL sourceRoot, File cacheRoot, Iterable<File> deleted, Iterable<File> updated, boolean resource) {
348
    public static void classCacheUpdated(URL sourceRoot, File cacheRoot, Iterable<File> deleted, Iterable<File> updated, boolean resource) {

Return to bug 252595
By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo