diff -r e0f460ed6f0b bugtracking/nbproject/project.xml --- a/bugtracking/nbproject/project.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/bugtracking/nbproject/project.xml Thu Mar 26 16:53:38 2009 +0100 @@ -146,7 +146,7 @@ - 7.7 + 7.9 diff -r e0f460ed6f0b bugtracking/src/org/netbeans/modules/bugtracking/layer.xml --- a/bugtracking/src/org/netbeans/modules/bugtracking/layer.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/bugtracking/src/org/netbeans/modules/bugtracking/layer.xml Thu Mar 26 16:53:38 2009 +0100 @@ -52,8 +52,11 @@ - - + + + + + diff -r e0f460ed6f0b db/nbproject/project.xml --- a/db/nbproject/project.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/db/nbproject/project.xml Thu Mar 26 16:53:38 2009 +0100 @@ -151,7 +151,7 @@ - 6.2 + 7.9 diff -r e0f460ed6f0b db/src/org/netbeans/modules/db/resources/mf-layer.xml --- a/db/src/org/netbeans/modules/db/resources/mf-layer.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/db/src/org/netbeans/modules/db/resources/mf-layer.xml Thu Mar 26 16:53:38 2009 +0100 @@ -562,9 +562,12 @@ --> - - - + + + + + + diff -r e0f460ed6f0b hudson/nbproject/project.xml --- a/hudson/nbproject/project.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/hudson/nbproject/project.xml Thu Mar 26 16:53:38 2009 +0100 @@ -120,7 +120,7 @@ - 7.1 + 7.9 diff -r e0f460ed6f0b hudson/src/org/netbeans/modules/hudson/layer.xml --- a/hudson/src/org/netbeans/modules/hudson/layer.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/hudson/src/org/netbeans/modules/hudson/layer.xml Thu Mar 26 16:53:38 2009 +0100 @@ -22,8 +22,11 @@ - - + + + + + diff -r e0f460ed6f0b openide.nodes/apichanges.xml --- a/openide.nodes/apichanges.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/openide.nodes/apichanges.xml Thu Mar 26 16:53:38 2009 +0100 @@ -46,6 +46,24 @@ Nodes API + + + Support for declarative Node registrations + + + + + +

+ NodeOp.factory + is new method, particularly useful from + layers + that allows declarative definition of a root node. +

+
+ + +
Adding ChildFactory.Detachable to allow ChildFactory implementations to diff -r e0f460ed6f0b openide.nodes/nbproject/project.properties --- a/openide.nodes/nbproject/project.properties Thu Mar 26 11:55:38 2009 +0100 +++ b/openide.nodes/nbproject/project.properties Thu Mar 26 16:53:38 2009 +0100 @@ -44,4 +44,4 @@ javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=7.8.0 +spec.version.base=7.9.0 diff -r e0f460ed6f0b openide.nodes/src/org/openide/nodes/NodeOp.java --- a/openide.nodes/src/org/openide/nodes/NodeOp.java Thu Mar 26 11:55:38 2009 +0100 +++ b/openide.nodes/src/org/openide/nodes/NodeOp.java Thu Mar 26 16:53:38 2009 +0100 @@ -442,6 +442,58 @@ return WeakListeners.create(NodeListener.class, l, source); } + /** Creates a lazy node - a node that displays basic information + * about the original node behind it, without touching it. As soon as + * the node is expanded, or a pop up menu is invoked on it, it switches + * to the real delegates and since then everything is being bridged to + * the real node. + *

+ * This method is especially useful when used from + * layers. + * Use following + * XML snippet to register your node into Services tab: + *

+     * <folder name="UI">
+     *   <folder name="Runtime">
+     *     <file name="org-yourorg-yourpgk-YourNode.instance">
+     *       <attr name="instanceCreate" methodvalue="org.openide.nodes.NodeOp.factory"/>
+     *       <attr name="name" stringvalue="YourNode"/>
+     *       <attr name="displayName" bundlevalue="org.yourorg.yourpkg.Bundle#NAME-KEY"/>
+     *       <attr name="shortDescription" bundlevalue="org.yourorg.yourpkg.Bundle#SHORT-KEY"/>
+     *       <attr name="iconResource" stringvalue="org/yourorg/yourpkg/image.png"/>
+     *       <attr name="original" newvalue="org.yourorg.yourpkg.YourNode"/>
+     *     <file/>
+     *   <folder/>
+     * <folder/>
+     * 
+ * + * @param original the real node behind the one created + * @param name programatic name of the node + * @param displayName human readable name of the node + * @param shortDescription short description for the node + * @param iconResource path to icon to use as in {@link AbstractNode#setIconBaseWithExtension(java.lang.String)} + * @return new node with preset defaults that can delegate to original + * + * @since 7.9 + */ + public static Node factory( + Node original, + String name, String displayName, String shortDescription, + String iconResource + ) { + Map map = new HashMap(); + map.put("original", original); // NOI18N + map.put("name", name); // NOI18N + map.put("displayName", displayName); // NOI18N + map.put("shortDescription", shortDescription); // NOI18N + map.put("iconResource", iconResource); // NOI18N + return new LazyNode(map); + } + + static Node factory(Map map) { + return new LazyNode(map); + } + /** Utility method to remove dependency of this package on * org.openide.actions. This method takes names of classes from * that package and creates their instances. diff -r e0f460ed6f0b server/nbproject/project.xml --- a/server/nbproject/project.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/server/nbproject/project.xml Thu Mar 26 16:53:38 2009 +0100 @@ -100,7 +100,7 @@ - 7.3 + 7.9 diff -r e0f460ed6f0b server/src/org/netbeans/modules/server/resources/layer.xml --- a/server/src/org/netbeans/modules/server/resources/layer.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/server/src/org/netbeans/modules/server/resources/layer.xml Thu Mar 26 16:53:38 2009 +0100 @@ -46,8 +46,12 @@ - - + + + + + + diff -r e0f460ed6f0b websvc.saas.ui/nbproject/project.xml --- a/websvc.saas.ui/nbproject/project.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/websvc.saas.ui/nbproject/project.xml Thu Mar 26 16:53:38 2009 +0100 @@ -30,6 +30,15 @@ 1 1.6 + + + + org.netbeans.modules.websvc.jaxwsmodelapi + + + + 1 + 1.0 @@ -103,7 +112,7 @@ - 7.3 + 7.9 diff -r e0f460ed6f0b websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/layer.xml --- a/websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/layer.xml Thu Mar 26 11:55:38 2009 +0100 +++ b/websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/layer.xml Thu Mar 26 16:53:38 2009 +0100 @@ -46,6 +46,12 @@ + + + + + +