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

(-)a/server/apichanges.xml (+13 lines)
Lines 107-112 Link Here
107
    <!-- ACTUAL CHANGES BEGIN HERE: -->
107
    <!-- ACTUAL CHANGES BEGIN HERE: -->
108
108
109
    <changes>
109
    <changes>
110
        <change id="node.actions">
111
            <api name="common_server_properties_api"/>
112
            <summary>Extensible actions on root server node</summary>
113
            <version major="1" minor="4"/>
114
            <date day="3" month="4" year="2009"/>
115
            <author login="jtulach"/>
116
            <compatibility addition="yes"/>
117
            <description>
118
                By registering actions to <code>Servers/Actions</code> you
119
                can extend the list of popup actions on Servers node in
120
                Services tab.
121
            </description>
122
        </change>
110
        <change>
123
        <change>
111
            <api name="common_server_properties_api"/>
124
            <api name="common_server_properties_api"/>
112
            <summary>Support API for server instance persistence</summary>
125
            <summary>Support API for server instance persistence</summary>
(-)a/server/arch.xml (+7 lines)
Lines 69-74 Link Here
69
   module provides support API
69
   module provides support API
70
   <api group="java" name="CommonServerPropertiesAPI" type="export" category="devel" url="@TOP@org/netbeans/api/server/properties/package-summary.html"/>
70
   <api group="java" name="CommonServerPropertiesAPI" type="export" category="devel" url="@TOP@org/netbeans/api/server/properties/package-summary.html"/>
71
   to do that. This support API is not mandatory for clients to use in any way.
71
   to do that. This support API is not mandatory for clients to use in any way.
72
  </p>
73
  <p>
74
      <api group="layer" name="ServersNodeActions" type="export" category="devel">
75
                By registering actions to <code>Servers/Actions</code> you
76
                can extend the list of popup actions on Servers node in
77
                Services tab.
78
      </api>
72
  </p>
79
  </p>
73
 </answer>
80
 </answer>
74
81
(-)a/server/manifest.mf (-1 / +2 lines)
Lines 2-7 Link Here
2
OpenIDE-Module: org.netbeans.modules.server/0
2
OpenIDE-Module: org.netbeans.modules.server/0
3
OpenIDE-Module-Layer: org/netbeans/modules/server/resources/layer.xml
3
OpenIDE-Module-Layer: org/netbeans/modules/server/resources/layer.xml
4
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/server/resources/Bundle.properties
4
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/server/resources/Bundle.properties
5
OpenIDE-Module-Specification-Version: 1.3
5
OpenIDE-Module-Specification-Version: 1.4
6
OpenIDE-Module-Provides: org.netbeans.modules.server
6
AutoUpdate-Show-In-Client: false
7
AutoUpdate-Show-In-Client: false
7
8
(-)a/server/src/org/netbeans/modules/server/resources/layer.xml (-1 / +7 lines)
Lines 62-66 Link Here
62
        </folder>
62
        </folder>
63
    </folder>
63
    </folder>
64
    
64
    
65
    <folder name="Servers"/>
65
    <folder name="Servers">
66
        <folder name="Actions">
67
            <file name="org-netbeans-modules-server-ui-node-AddServerInstanceAction.instance">
68
                <attr name="position" intvalue="100"/>
69
            </file>
70
        </folder>
71
    </folder>
66
</filesystem>
72
</filesystem>
(-)a/server/src/org/netbeans/modules/server/ui/node/RootNode.java (-1 / +3 lines)
Lines 57-64 Link Here
57
import org.openide.nodes.Node;
57
import org.openide.nodes.Node;
58
import org.openide.util.NbBundle;
58
import org.openide.util.NbBundle;
59
import org.openide.util.RequestProcessor;
59
import org.openide.util.RequestProcessor;
60
import org.openide.util.Utilities;
60
import org.openide.util.WeakListeners;
61
import org.openide.util.WeakListeners;
61
import org.openide.util.actions.SystemAction;
62
import org.openide.util.actions.SystemAction;
63
import org.openide.util.lookup.Lookups;
62
64
63
public final class RootNode extends AbstractNode {
65
public final class RootNode extends AbstractNode {
64
66
Lines 87-93 Link Here
87
89
88
    @Override
90
    @Override
89
    public Action[] getActions(boolean context) {
91
    public Action[] getActions(boolean context) {
90
        return new SystemAction[] {SystemAction.get(AddServerInstanceAction.class)};
92
        return Utilities.actionsForPath("Servers/Actions").toArray(new Action[0]); // NOI18N
91
    }
93
    }
92
94
93
    private static class ChildFactory extends org.openide.nodes.ChildFactory<ServerInstance> implements ChangeListener {
95
    private static class ChildFactory extends org.openide.nodes.ChildFactory<ServerInstance> implements ChangeListener {
(-)f526b2a560a6 (+89 lines)
Added Link Here
1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
4
 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
5
 *
6
 * The contents of this file are subject to the terms of either the GNU
7
 * General Public License Version 2 only ("GPL") or the Common
8
 * Development and Distribution License("CDDL") (collectively, the
9
 * "License"). You may not use this file except in compliance with the
10
 * License. You can obtain a copy of the License at
11
 * http://www.netbeans.org/cddl-gplv2.html
12
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
13
 * specific language governing permissions and limitations under the
14
 * License.  When distributing the software, include this License Header
15
 * Notice in each file and include the License file at
16
 * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
17
 * particular file as subject to the "Classpath" exception as provided
18
 * by Sun in the GPL Version 2 section of the License file that
19
 * accompanied this code. If applicable, add the following below the
20
 * License Header, with the fields enclosed by brackets [] replaced by
21
 * your own identifying information:
22
 * "Portions Copyrighted [year] [name of copyright owner]"
23
 *
24
 * If you wish your version of this file to be governed by only the CDDL
25
 * or only the GPL Version 2, indicate your decision by adding
26
 * "[Contributor] elects to include this software in this distribution
27
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
28
 * single choice of license, a recipient has the option to distribute
29
 * your version of this file under either the CDDL, the GPL Version 2 or
30
 * to extend the choice of license to its licensees as provided above.
31
 * However, if you add GPL Version 2 code and therefore, elected the GPL
32
 * Version 2 license, then the option applies only if the new code is
33
 * made subject to such option by the copyright holder.
34
 *
35
 * Contributor(s):
36
 *
37
 * Portions Copyrighted 2009 Sun Microsystems, Inc.
38
 */
39
40
package org.netbeans.modules.server.ui.node;
41
42
import javax.swing.Action;
43
import org.netbeans.junit.NbTestCase;
44
import org.openide.filesystems.FileObject;
45
import org.openide.filesystems.FileUtil;
46
import org.openide.util.HelpCtx;
47
import org.openide.util.actions.CallableSystemAction;
48
49
/**
50
 *
51
 * @author Jaroslav Tulach <jtulach@netbeans.org>
52
 */
53
public class RootNodeTest extends NbTestCase {
54
55
    public RootNodeTest(String s) {
56
        super(s);
57
    }
58
59
    public void testGetActions() throws Exception {
60
        RootNode rn = RootNode.getInstance();
61
        FileObject fo = FileUtil.getConfigFile("Servers/Actions");
62
        assertNotNull("Folder for actions precreated", fo);
63
        fo.createData(MyAction.class.getName().replace('.', '-') + ".instance");
64
        Action[] arr = rn.getActions(true);
65
        assertEquals("Two actions found", 2, arr.length);
66
        MyAction a = MyAction.get(MyAction.class);
67
68
        if (a != arr[0] && a != arr[1]) {
69
            fail("My action shall be present in the node context actions: " + arr[0] + " 2nd: " + arr[1]);
70
        }
71
    }
72
73
    public static final class MyAction extends CallableSystemAction {
74
        @Override
75
        public void performAction() {
76
        }
77
78
        @Override
79
        public String getName() {
80
            return "My";
81
        }
82
83
        @Override
84
        public HelpCtx getHelpCtx() {
85
            return HelpCtx.DEFAULT_HELP;
86
        }
87
88
    }
89
}

Return to bug 161449