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 205019
Collapse All | Expand All

(-)a/core.netigso/arch.xml (+8 lines)
Lines 643-648 Link Here
643
   Only modules with lower or equal start level than value of this 
643
   Only modules with lower or equal start level than value of this 
644
   key will be started.
644
   key will be started.
645
   </api>
645
   </api>
646
   <api category="devel" group="branding" name="org.netbeans.core.netigso.DEFAULT_BUNDLE_START_LEVEL"
647
   type="export">
648
   Bundles that don't provide own start level (via config/Modules/*.xml files),
649
   get no start level by default in the NetBeans Platform, 
650
   however that can be changed by branding the <code>DEFAULT_BUNDLE_START_LEVEL</code> key in 
651
   <code>org/netbeans/core/netigso/Bundle.properties</code>. NetBeans IDE 
652
   brands it to 4.
653
   </api>
646
  </p>
654
  </p>
647
 </answer>
655
 </answer>
648
656
(-)a/core.netigso/nbproject/project.xml (-1 / +1 lines)
Lines 55-61 Link Here
55
                    <compile-dependency/>
55
                    <compile-dependency/>
56
                    <run-dependency>
56
                    <run-dependency>
57
                        <release-version>1</release-version>
57
                        <release-version>1</release-version>
58
                        <specification-version>2.43</specification-version>
58
                        <specification-version>2.44.2</specification-version>
59
                    </run-dependency>
59
                    </run-dependency>
60
                </dependency>
60
                </dependency>
61
                <dependency>
61
                <dependency>
(-)a/core.netigso/src/org/netbeans/core/netigso/Bundle.properties (-1 / +2 lines)
Lines 45-48 Link Here
45
FRAMEWORK_START_LEVEL=
45
FRAMEWORK_START_LEVEL=
46
# NOI18N
46
# NOI18N
47
MODULE_START_LEVEL=
47
MODULE_START_LEVEL=
48
48
# NOI18N
49
DEFAULT_BUNDLE_START_LEVEL=0
(-)a/core.netigso/src/org/netbeans/core/netigso/Netigso.java (+9 lines)
Lines 101-106 Link Here
101
    private Framework framework;
101
    private Framework framework;
102
    private ClassLoader frameworkLoader;
102
    private ClassLoader frameworkLoader;
103
    private NetigsoActivator activator;
103
    private NetigsoActivator activator;
104
    private Integer defaultStartLevel;
104
105
105
    Framework getFramework() {
106
    Framework getFramework() {
106
        return framework;
107
        return framework;
Lines 223-228 Link Here
223
    }
224
    }
224
225
225
    @Override
226
    @Override
227
    protected int defaultStartLevel() {
228
        if (defaultStartLevel == null) {
229
            defaultStartLevel = Integer.parseInt(NbBundle.getMessage(Netigso.class, "DEFAULT_BUNDLE_START_LEVEL"));
230
        }
231
        return defaultStartLevel;
232
    }
233
234
    @Override
226
    protected Set<String> createLoader(ModuleInfo m, ProxyClassLoader pcl, File jar) throws IOException {
235
    protected Set<String> createLoader(ModuleInfo m, ProxyClassLoader pcl, File jar) throws IOException {
227
        try {
236
        try {
228
            assert registered.containsKey(m.getCodeNameBase()) : m.getCodeNameBase();
237
            assert registered.containsKey(m.getCodeNameBase()) : m.getCodeNameBase();
(-)e816be79dee1 (+45 lines)
Added Link Here
1
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
2
#
3
# Copyright 2011 Oracle and/or its affiliates. All rights reserved.
4
#
5
# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
6
# Other names may be trademarks of their respective owners.
7
#
8
# The contents of this file are subject to the terms of either the GNU
9
# General Public License Version 2 only ("GPL") or the Common
10
# Development and Distribution License("CDDL") (collectively, the
11
# "License"). You may not use this file except in compliance with the
12
# License. You can obtain a copy of the License at
13
# http://www.netbeans.org/cddl-gplv2.html
14
# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
15
# specific language governing permissions and limitations under the
16
# License.  When distributing the software, include this License Header
17
# Notice in each file and include the License file at
18
# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
19
# particular file as subject to the "Classpath" exception as provided
20
# by Oracle in the GPL Version 2 section of the License file that
21
# accompanied this code. If applicable, add the following below the
22
# License Header, with the fields enclosed by brackets [] replaced by
23
# your own identifying information:
24
# "Portions Copyrighted [year] [name of copyright owner]"
25
#
26
# If you wish your version of this file to be governed by only the CDDL
27
# or only the GPL Version 2, indicate your decision by adding
28
# "[Contributor] elects to include this software in this distribution
29
# under the [CDDL or GPL Version 2] license." If you do not indicate a
30
# single choice of license, a recipient has the option to distribute
31
# your version of this file under either the CDDL, the GPL Version 2 or
32
# to extend the choice of license to its licensees as provided above.
33
# However, if you add GPL Version 2 code and therefore, elected the GPL
34
# Version 2 license, then the option applies only if the new code is
35
# made subject to such option by the copyright holder.
36
#
37
# Contributor(s):
38
#
39
# Portions Copyrighted 2011 Sun Microsystems, Inc.
40
41
# NOI18N
42
FRAMEWORK_START_LEVEL=10
43
# NOI18N
44
DEFAULT_BUNDLE_START_LEVEL=20
45
(-)e816be79dee1 (+104 lines)
Added Link Here
1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
4
 * Copyright 1997-2010 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
 * Contributor(s):
28
 *
29
 * The Original Software is NetBeans. The Initial Developer of the Original
30
 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2008 Sun
31
 * Microsystems, Inc. All Rights Reserved.
32
 *
33
 * If you wish your version of this file to be governed by only the CDDL
34
 * or only the GPL Version 2, indicate your decision by adding
35
 * "[Contributor] elects to include this software in this distribution
36
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
37
 * single choice of license, a recipient has the option to distribute
38
 * your version of this file under either the CDDL, the GPL Version 2 or
39
 * to extend the choice of license to its licensees as provided above.
40
 * However, if you add GPL Version 2 code and therefore, elected the GPL
41
 * Version 2 license, then the option applies only if the new code is
42
 * made subject to such option by the copyright holder.
43
 */
44
45
package org.netbeans.core.netigso;
46
47
import java.io.File;
48
import java.io.IOException;
49
import java.util.Locale;
50
import org.netbeans.Module;
51
import org.netbeans.ModuleManager;
52
import org.netbeans.SetupHid;
53
import org.netbeans.core.startup.Main;
54
import org.netbeans.core.startup.ModuleSystem;
55
56
/**
57
 * Do we correctly call the BundleActivators?
58
 *
59
 * @author Jaroslav Tulach
60
 */
61
public class NetigsoDefaultModuleStartLevelTest extends SetupHid {
62
    private static Module m1;
63
    private static ModuleManager mgr;
64
    private int cnt;
65
    private File simpleModule;
66
67
    public NetigsoDefaultModuleStartLevelTest(String name) {
68
        super(name);
69
    }
70
71
    protected @Override void setUp() throws Exception {
72
        Locale.setDefault(new Locale("def", "ST"));
73
        clearWorkDir();
74
        File ud = new File(getWorkDir(), "ud");
75
        ud.mkdirs();
76
        System.setProperty("netbeans.user", ud.getPath());
77
        
78
        data = new File(getDataDir(), "jars");
79
        jars = new File(getWorkDir(), "space in path");
80
        jars.mkdirs();
81
        simpleModule = createTestJAR("activate", null);
82
    }
83
84
    public void testActivation() throws Exception {
85
        ModuleSystem ms = Main.getModuleSystem();
86
        mgr = ms.getManager();
87
        mgr.mutexPrivileged().enterWriteAccess();
88
        try {
89
            m1 = mgr.create(simpleModule, null, false, false, false);
90
            mgr.enable(m1);
91
92
            Class<?> main = m1.getClassLoader().loadClass("org.activate.Main");
93
            Object s = main.getField("start").get(null);
94
            assertNull("Bundle is not started, only modules with start level lower than 10 are", s);
95
96
            mgr.disable(m1);
97
        } finally {
98
            mgr.mutexPrivileged().exitWriteAccess();
99
        }
100
    }
101
    private File createTestJAR(String name, String srcdir, File... classpath) throws IOException {
102
        return createTestJAR(data, jars, name, srcdir, classpath);
103
    }
104
}
(-)a/ide.branding/core.netigso/src/org/netbeans/core/netigso/Bundle_nb.properties (+2 lines)
Lines 1-2 Link Here
1
#NOI18N
1
#NOI18N
2
FRAMEWORK_START_LEVEL=10
2
FRAMEWORK_START_LEVEL=10
3
#NOI18N
4
DEFAULT_BUNDLE_START_LEVEL=4
(-)a/nbbuild/templates/projectized.xml (-5 lines)
Lines 231-241 Link Here
231
        <releasefilescopy cluster="${cluster}"/>
231
        <releasefilescopy cluster="${cluster}"/>
232
    </target>
232
    </target>
233
233
234
    <target name="-init-startlevel">
235
        <property name="module.startlevel" value="4"/>
236
        <property name="check.module.startlevel" value="false"/>
237
    </target>
238
239
    <target name="-check-for-libs.junit4">
234
    <target name="-check-for-libs.junit4">
240
        <condition property="build.libs.junit4">
235
        <condition property="build.libs.junit4">
241
            <not>
236
            <not>
(-)a/o.n.bootstrap/src/org/netbeans/NetigsoFramework.java (+9 lines)
Lines 116-121 Link Here
116
        return getClass().getClassLoader();
116
        return getClass().getClassLoader();
117
    }
117
    }
118
118
119
    /** Default start level for all bundles that don't specify any own.
120
     * 
121
     * @since 2.44.2
122
     * @return 
123
     */
124
    protected int defaultStartLevel() {
125
        return 0;
126
    }
127
    
119
    //
128
    //
120
    // Access to Archive
129
    // Access to Archive
121
    //
130
    //
(-)a/o.n.bootstrap/src/org/netbeans/NetigsoModule.java (-2 / +2 lines)
Lines 65-71 Link Here
65
65
66
    private final File jar;
66
    private final File jar;
67
    private final Manifest manifest;
67
    private final Manifest manifest;
68
    private int startLevel;
68
    private int startLevel = -1;
69
69
70
    public NetigsoModule(Manifest mani, File jar, ModuleManager mgr, Events ev, Object history, boolean reloadable, boolean autoload, boolean eager) throws IOException {
70
    public NetigsoModule(Manifest mani, File jar, ModuleManager mgr, Events ev, Object history, boolean reloadable, boolean autoload, boolean eager) throws IOException {
71
        super(mgr, ev, history, reloadable, autoload, eager);
71
        super(mgr, ev, history, reloadable, autoload, eager);
Lines 224-230 Link Here
224
224
225
    @Override
225
    @Override
226
    final int getStartLevelImpl() {
226
    final int getStartLevelImpl() {
227
        return startLevel;
227
        return startLevel == -1 ? NetigsoFramework.getDefault().defaultStartLevel() : startLevel;
228
    }
228
    }
229
229
230
    final void setStartLevel(int startLevel) {
230
    final void setStartLevel(int startLevel) {

Return to bug 205019