500 NetBeans Users…
The NetBeans User Group in XING has almost 497 members now. Will you be member number 500?
http://www.xing.com/group-20148.82db20
The NetBeans User Group in XING has almost 497 members now. Will you be member number 500?
http://www.xing.com/group-20148.82db20
Since NetBeans 6.0 you can extend existing Project Types by registering a NodeFactory as described here:
http://platform.netbeans.org/tutorials/60/nbm-projectextension.html
That’s cool, but what about your own project types, not only the ones predefined by NetBeans? So if for example you defined your own project type as described here:
http://platform.netbeans.org/tutorials/nbm-projecttype.html
When you look at the registration of the NodeFactory in this tutorial, the NodeFactory is registered in folder “Projects/org-netbeans-modules-web-project”. Where does that magical string come from, and how do you provide your own? The string looks like a module id, which makes sense since the granularity you’d choose when defining project types is most likely module level. The API Doc for NodeFactory has the answers:
“Project types wanting to make use of NodeFactory can use the NodeFactorySupport.createCompositeChildren(org.netbeans.api.project.Project, java.lang.String) method to create the Project nodes’s children.
public class FooBarLogicalViewProvider implements LogicalViewProvider {
public Node createLogicalView() {
return new FooBarRootNode(NodeFactorySupport.createCompositeChildren(myProject, "Projects/org-foo-bar-project/Nodes"));
}
}"
So when you want to have this extension mechanism in your own project type you simply use the helper Method
NodeFactorySupport.createCompositeChildren(Project project, String folderPath).
Just pass in a string to identify the folder, e.g. the name of the module defining your project type, and the API will take care of the rest. Looking at the custom project type tutorial you would change the TextNode in the LogicalViewProvider to:
public TextNode(Node node, DemoProject project) throws DataObjectNotFoundException {
super(node, NodeFactorySupport.createCompositeChildren(project, "Projects/de-eppleton-project/Nodes"),
//new FilterNode.Children(node),
//The projects system wants the project in the Node's lookup.
//NewAction and friends want the original Node's lookup.
//Make a merge of both
new ProxyLookup(new Lookup[]{Lookups.singleton(project),
node.getLookup()
}));
this.project = project;
}
As a result you can now register new NodeProviders for your custom project type under the path “de-eppleton-project” either in the layer or use the Annotation:
@NodeFactory.Registration(projectType=”de-eppleton-project”)
public class AdditionalNodes implements NodeFactory{
@Override
public NodeList<?> createNodes(Project prjct) {
AbstractNode root = new AbstractNode(Children.LEAF);
root.setDisplayName(”additional node”);
return NodeFactorySupport.fixedNodeList(root);
}
}
And the result looks like this:
I recently shared a list of NetBeans Platform presentations here:
Toni Epple » NetBeans Platform talks at JavaOne.
After last years huge success with the NetBeans Platform Certified Training at the Source Talk Tage in Goettingen we decided to do it again this year to give those a chance who were too late last year.
The training is free of charge for students ( others will have to pay a small fee ):
Source Talk Tage 2010 - Abstracts.
And don’t miss the great talks in the Java track! Trainers this year are Aljoscha Rittner and me. Thanks to the STT team for organizing this event!
For those who can’t join us at STT, there are a couple of trainings in the next few months in Munich.
If nothing unexpected happens I’ll go to Brussels on October 28th for a NetBeans Bootcamp.
And most likely there’ll be even more NetBeans events there soon:
Proposed topics:
- NetBeans, a Swing OSGi Desktop Application Framework
The NetBeans Platform is a generic framework for Swing applications. It provides the “plumbing” that, usually, every developer has to write themselves—saving state, connecting actions to menu items, toolbar items and keyboard shortcuts; window management, and so on. Since NetBeans 6.9 the platform also endorse s the OSGi standard. In this presentation you’ll learn how easy it is to use the platform for building modular Desktop Applications with Swing and OSGi.
This year I had the honour of being one of the reviewers for JavaOne, and it was tough choosing from tons of good submissions. It’s good to see that so many Platform related talks made it this year. Here’s a list of talks related to the NetBeans Platform:
S314266, The Cutting Edge of Desktop Software: The NetBeans Platform in Practice
Speaker(s): Geertjan Wielenga, Oracle, Writer
S314363, Efficient Development of Large NetBeans Platform Applications with Maven
Speaker(s): Fabrizio Giudici, Tidalwave s.a.s., Java Architect
S314711, Building Software with Rich Client Platforms (NetBeans RCP and Eclipse RCP)
Speaker(s): Rikard Thulin, squeed.com, Senior Consultant
S313667, Swing OSGi Modular Desktop Application Framework
Speaker(s): Anton Epple, Eppleton, Consultant
Jaroslav Tulach, Oracle, NetBeans Platform Architect
S313187, Quickly and Efficiently Build CRUD Applications with Rich Client Platform
Speaker(s): Jiri Rechtacek, Oracle, SW Eng
Geertjan Wielenga, Oracle, Writer
S314141, Patterns for Modularity
Speaker(s): Jaroslav Tulach, Oracle, NetBeans Platform Architect
Anton Epple, Eppleton, Consultant
Zoran Sevarac, University of Belgrade , Phd student
S313545, Bridge the Gap Between Desktop Application Users and Developers
Speaker(s): Jaroslav Tulach, Oracle, NetBeans Platform Architect
Jindrich Sedek, Oracle, NetBeans quality engineer
S313188, Creating Modular CRUD Desktop Applications
Speaker(s): Jiri Rechtacek, Oracle, SW Eng
Geertjan Wielenga, Oracle, Writer
It’s really great to see so many talks on our beloved platform. If you’ve seen more, let me know! And right after J1 there’s a training at Marakana with Geertjan, me and friends from The Dream Team and community: http://marakana.com/training/java/netbeans_platform.html
A NetBeans Platform training is going to be held in Munich on September 8th. It will be the first of a series of NetBeans Platform trainings in Munich.
The three-day course will be led by NetBeans Platform expert and NetBeans Dream Team member Anton Epple (aka as “Toni” or “me”). The training is especially tailored for the needs of professional Java developers working on commercial applications. To get you started quickly all lessons start with a short, but thorough introduction of a new API or concept immediately followed by hands-on exercises. The ratio of theory / practice is about 40:60. For more information and the latest news check the registration site.
I recently wrote an article for the JAXEnter online portal about the new release of NetBeans. Today I received a copy of the latest Javamagazin to find out, that the article made it to the print issue as well. What a nice surprise!
On friday I wrote an article about the new version of NetBeans for JAXenter. Hope you like it (in german):
http://it-republik.de/jaxenter/artikel/NetBeans-6.9—Was-ist-neu-3172.html
I’ve just received notice that my JavaOne submission for this year has been accepted. This years talk is about “Patterns for Modularity” ( Session ID: S314141 ) and I think it’s a very timely topic ( which means I submitted it just in time before the deadline closed
). I’ve invited Zoran Sevarac and Jaroslav Tulach to join me and I’m really looking forward to this. We’ll discuss topics like how to identify module boundaries, API design, how different module system ( like NetBeans Platform and OSGi )deal with loosely coupled communication and even if and when we need a module system, and when it’s an overkill. It will be a huge effort to boil this down to session format, but I promise we’ll do our very best to capture the essence and it will be worth your time.
I’ll also join Jarda for his talk about “Swing OSGi Modular Desktop Application Framework ” (Session ID: S313667). I did a lot of experimenting with mixing NB Modules and OSGi, and I’m really eager to prepare some cool new demos.
I was on the reviewer team this year, and there were some very promising talks about NetBeans & especially the platform. If you get your acceptance letter, let us know. Maybe we can put up a schedule of those talks somewhere.