Real World Java EE Workshops [Airport Munich]>
|NetBeans Zone - The social network for developers|
|APIDesign - Blogs|
|David R. Heffelfinger|
|Carsten Zerbst's Weblog|
|Winston Prakash's Weblog|
|Michael's blog » NetBeans|
|Paulo Canedo » NetBeans English|
|Need to find a title|
|Category: NetBeans | Software and Science|
|Roger Searjeant's blog|
|Allan Lykke Christensen » NetBeans|
|Inspiration and Expression » Netbeans|
|James Selvakumar's Blog » netbeans|
|open source. open mind.|
|John O'Conner » NetBeans|
|nB gUru » NetBeans|
|Newsintegrator Blog » netbeans|
|Praxis LIVE » NetBeans|
|TechAshram » NetBeans|
|There's no place like 127.0.0.1 » Netbeans|
|Ignacio Sánchez Ginés » NetBeans|
|Michel Graciano's Weblog|
|Ozone and Programming » netbeans|
|NetBeans Ruminations » NetBeans|
|Tiplite » netbeans|
|Arun Gupta, Miles to go ...|
|.JARa's Bilingual Weblog|
|The Java Jungle|
|The NetBeans Community Podcast|
|NetBeans for PHP|
|NetBeans Web Client|
|My First Blog - Satyajit Tripathi|
|Insert Witty Irony Here|
|Netbeans6/6.5 my best practices|
|Java Evangelist John Yeary's Blog|
|Neil's Dev Stuff|
|Computer says null;|
|NetBeans Adventures, Java and more|
|NetBeans Community Docs Blog|
|The Netbeans Experience|
|NbPython/ jpydbg / pymvs|
|Wade Chandler's Programming Blog|
|Big Al's Blog|
|In perfect (spherical) shape|
|Van Couvering Is Not a Verb|
|Diego Torres Milano's blog|
|Messages from mrhaki|
|Oliver Wahlen's Blog|
|Shuttle between Galaxies|
|Shanbag's Blog (ರಜತ ಲೋಕ)|
|Welcome to my live...|
|Netbeans IDE Blog by Tushar Joshi, Nagpur|
|Where's my Blog?!|
I started with Java before the advent of EJB, Servlets and Java EE. And it was a huge mess. You had to implement business code agains (too) many, completely different, not even similar application servers. You didn't had any chance to take even a simplistic server side application from one product and install it on another. Some application servers were half "native" and half "pure Java". Also it was absolutely impossible to be knowledgable in more than two products.
The introduction of Servlets, JNDI, EJBs, JMS, JDBC, RMI simplified the development, but the portability still suffered. You could not rely on the availability of a give API on all servers.
The old J2EE brought ...simplicity. With the advent of J2EE in 1999 you knew what you could expect of a certified server. Ironically: J2EE was too simple and incomplete.
For me J2EE and later Java EE brought simplicity and productivity, and I always was puzzled by developers stating "J2EE is too complex" and implementing home-grown infrastructure instead.
In 2014 Java EE 7 is still the most productive, and simple platform:
[See also an in-depth discussion in the "Real World Java EE Patterns--Rethinking Best Practices" book (Second Iteration, "Green Book"), page 7 in, chapter "A Brief History of Java EE"]
Many cloud providers exist (see here for some of them) and several have integration points via Java APIs. Some of these are Oracle Cloud, Jelastic, Amazon Beanstalk, Red Hat OpenShift, and Pivotal Cloud Foundry. And some of those are already integrated into NetBeans IDE, so that you can login, view the resources that have been deployed, and deploy new resources, together with the reverse activities, e.g., undeploying and unregistering. Others not (yet) and so let's give potential integrators a leg up by showing how to get started integrating their cloud offerings into NetBeans IDE.
Here's the applicable NetBeans API:
Now let's get a 'hello world' scenario up and running, for an imaginary Foo Cloud.
Here's the source code:
When you download and run that module, you'll be able to right-click on the Cloud node and choose Add Cloud...
...and then, in addition to the Amazon Beanstalk, which NetBeans provides by default, you'll see Foo:
When you click Next, above, you'll be able to enter a name:
When you click Finish, above, the name you entered will be the name of a new node that will appear automatically under the Cloud node:
When you close the IDE, after registering a Cloud provider like the above, and restart the IDE, you'll see the Cloud providers you registered automatically being displayed again under the Cloud node.
The file structure of the NetBeans module, shown in the first screenshot above, is as simple as it can be as a basic starting point for integrating your own Cloud provider. To understand the code, the starting point is to take a look at the layer.xml file, where you'll see that FooServerInstanceProvider and FooServerWizardProvider are registered.
In subsequent blog entries, we'll extend this example to provide less generic and more specific features for integrating various Cloud providers.
"Analysts can glean much useful intelligence information from identifying relationships between individuals and groups, and tracking their activities. However, detecting networks of people and then investigating their activities are difficult tasks, especially in this era of information overload. Graph analysis has proven to be a useful tool for addressing these tasks, but it can be labor-intensive. To aid in this analysis, MIT Lincoln Laboratory researchers have developed a diffusion-based analytic that helps solve the problems of network discovery and prioritized exploration"
The above is directly from here: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.406.4523
In response, the BlueStreak Exploitation Tool has been developed, "to support data visualization, graph construction, algorithm services, and analyst collaboration within the network-discovery framework".
Tools and technologies used include the NetBeans Platform, NASA World Wind, JUNG, Apache Tomcat, and Apache ActiveMQ.
And here's the full PDF from the Lincoln Laboratory Journal, Volume 20, Number 1, 2013.
After introducing Nanoservices, now it is time for some Pico:
A very exciting development for NetBeans users (and developers of applications based on the NetBeans Platform) everywhere.
Take a look at the screenshot below.
Take a look at it again, in particular the buttons within the red rectangle:
Right now, as you can see, those buttons are disabled. Now, however, because more than one document is open, those buttons are enabled:
The buttons are for tiling the editor documents. Here you can see the effect of clicking "Tile Evenly", which is the third of the four buttons:
And this is "Tile Vertically":
There's also "Tile Horizontally" and "Tile Single" (which untiles the tiled documents).
If you'd like this in NetBeans IDE, download the plugin here (restart NetBeans after installing the plugin), while this is also a plugin that is relevant to any other application on the NetBeans Platform that has editor documents. These documents can either be actual text editors or TopComponents of some other kind, e.g., GUI components where the user should be able to enter data of some kind.
The source code of the above is here, so that you can integrate it into your own NetBeans Platform application, and where you can also read more about it, including the implementation code, of course:
Many thanks to Norman Fomferra and others from Brockmann Consult in Germany, who created and open sourced this solution as part of the ESA Sentinel Toolbox, a NetBeans Platform application that is being created for the European Space Agency:
Here's the ESA home of the Sentinal Toolboxes:
They've extended the tiling idioms already, so that they now have tileable internal desktops, i.e., workspaces, with floating TopComponents.
They'll be separating out this solution, so that this will be pluggable, and the sources available separately, too. Pretty cool having rocket scientists (OK, they'll deny they're that, but they work in the space industry and are computer scientists, which to me means you're a rocket scientist) working on NetBeans code, isn't it? :-)
Imagine you're a teacher. You're teaching a Java course and your students turn in their homework exercises in the form of NetBeans projects. Now you have thirty NetBeans projects, many of them open in NetBeans IDE. For each of them, you need to load an external file as an argument to the main class. Then that file is processed and you can then see whether the code works as expected.
To set the file as an argument for a project, you need to right-click the NetBeans project, choose Properties, and then go to the Run tab, where you can set the runtime argument. That's a lot of tedious work for 30 different projects, plus sometimes you need to change the argument because you want to run a different file or some other set of arguments against the code that your students have provided.
Precisely this problem was described to me at the Hanzehogeschool in Groningen some weeks ago by Michiel Noback, who is one of the teachers there. In the first implementation of the solution, I created a plugin that lets you type the runtime arguments of the current project in the status bar. But, of course, then new requirements came in, one of which was to have some kind of history of the entered arguments, so that the teacher can easily reuse previously used arguments. The status bar isn't a good place for this, since a drop-down list of some kind is needed, so I moved the feature into the toolbar:
Take note of the drop-down list in the toolbar above. How to use this feature? Firstly, make sure a file is open from the project where you want to set the runtime properties via the drop-down list in the toolbar. It can be any file from that project, most logically it would be a Java source file, since that's where you'll be focused on when examining a student's work. Then go to the drop-down list in the toolbar and type the arguments you'd like to pass into the constructor of the application. Then, importantly, press Enter. When you press Enter, a change is made to the project.properties file where the runtime arguments are defined. At the same time, the arguments you entered are added to the list in the drop-down, so that you can later look in that list, find the arguments you'd like to reuse, and then press Enter again to apply them to some other current project you're looking at.
Get the plugin here, works in NetBeans IDE 8.0.2:
Apparently there's a bug with this, related to setting breakpoints, but I haven't been able to reproduce that problem yet.
When you assign a code template to a context, the Code Completion box will show your code template in the context where you're working. Nice and powerful and hidden tip, watch it in action here:
Related discussion: https://netbeans.org/bugzilla/show_bug.cgi?id=212176
Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Clement Levallois. -- NetBeans team. Preview Text: Robustness, code generation, hints, Java EE and more! Find out what Clement Levallois from Lyon, France, likes about NetBeans IDE. Legacy ...
Everything you need to know about where and how to find, display, and configure code templates in NetBeans IDE!
Assigning a directory name to the $ENV.PWD variable:
$ENV.PWD="[DIR_NAME]" changes the working directory for the next command:
ls command will print the contents for directory specified earlier:
#!/usr/bin/jjs -fv print('Tmp Directory'); $ENV.PWD='/tmp'; $EXEC('ls -al'); print($OUT); print('Root Directory'); $ENV.PWD='/'; $EXEC('ls -al'); print($OUT);
Bis Guard & Co provides code protection tools for Java, among other languages and technologies. Recently, Bis Guard has released the Java Antidecompiler plugin for NetBeans IDE. Get started with it as described below. Installation 1. Download "1418138973_JavaAntidecompiler.zip" from this location: http://plugins.netbeans.org/plugin/51308/javaantidecompiler ...
When you're creating plugins for NetBeans and you want to reuse an icon that you see in NetBeans, what do you do to find that icon in the NetBeans sources? Tackling this challenge is described in this short YouTube clip:
Let's get started with Python in NetBeans IDE 8.0.2.
Take the following steps:
&amp;amp;lt;span id=&amp;amp;quot;XinhaEditingPostion&amp;amp;quot;&amp;amp;gt;&amp;amp;lt;/span&amp;amp;gt; &amp;amp;amp;lt;/p&amp;amp;amp;gt;
Right now, the main missing feature is the set of well established smart editor features in NetBeans IDE, such as code completion, i.e., when you press Ctrl-Space, nothing happens. No error checking, i.e., no parsing is done, either. These are things being worked on right now. However, you can code and run and debug your Python applications, which is a lot more than nothing.
Feedback welcome, especially if you're planning to contribute code to this project.
During the sold-out NetBeans day in Munich with Toni Epple and Geertjan Wielenga, we remembered (Geertjan's Report (green dot on a purple line), my coverage) a NetBeans World Tour trip from Poznan to Gdansk in October 2008 with a rent car and with iPhone 1 as a navigation with a poor internet coverage.
Six years later I gave a session Building Reasonable JavaEE 7 Apps on Java8 called “Microservices" for the Tricity Java User Group. It was exactly the same location and I also used NetBeans.
My airplane was supposed to land in Gdansk, but the weather conditions were bad and the airport was closed. We landed in Poznan instead. Buses were supposed to bring us to Gdansk, but no one knew when they will arrive.
After a hard negotiation I took a taxi instead. The taxi driver was very nice and funny. However, he did not knew the route to Gdansk and was afraid to go fast. I used my phone to navigate him to Gdansk and the venue. At the same time I cranked some Java EE code on the back seat and concurrently watched the speed of the car. I reminded the driver to go fast at any attempt to slow down.
As the driver recognized, that >100 attendees are waiting for us in Gdansk, he became really nervous and begun to sweat.
We had a single stop (at a graveyard) to detach the taxi-light at the roof--to go faster.
Via email I kept Kuba Marchwicki informed about the progress. I came one hour later and Kuba delivered a prelude talk to keep the crowd entertained.
I enjoyed the session, got many interesting questions. The event was stopped by the security--they wanted to close venue for the night.
Next day the airport was still closed. I rent a car and went to Warsaw. But this is a different story :-)
I'm really looking forward to the next Trinity Java User Group meeting. I'm curious what happens then :-).
I had a fantastic time at DevFest Istanbul, Turkey, on Saturday 6 December. It was the first time I was in Turkey. However, over several months, even before knowing I'd be going to this conference, I'd been following a free on-line Yale course on medieval history and then, hey, there I was in Constantinople. Fortunately, Mark Stephens, from NetBeans partner IDRsolutions, and one of the new NetBeans Dream Team members, turns out to have studied medieval history for many years, so turned out to be a perfect tour guide, when we went with a small group to many historical sites, such as the Hagia Sophia.
The conference itself was excellent. Three thousand turned up, to the free conference, which is about twice as many as last year. Mark Stephens did a great session entitled "5 Reasons Why NetBeans Should Be In Every Developer's Toolkit" and I followed with a packed out room, i.e., 800 at least, since many were standing at the doors, "Coding for Desktop and Mobile with HTML5 and Java EE 7", which showed many features in NetBeans, such as the HTML5 tools, Chrome integration, AngularJS features, and Java EE code generators.
Also on the agenda were sessions by PrimeFaces and Vaadin, while Martijn Verburg, London JUG lead, Java champion, etc etc, and one of the new NetBeans Dream Team members did his "The Habits of Highly Effective Teams". But there was much more, in four tracks, most of which I missed because I was at the NetBeans booth answering heaps of questions about NetBeans. We also worked on the next NetBeans community podcast, which will again feature interviews done by NetBeans users with each other, all recorded during the conference.
Another highlight was that Dorine Flies from "Encouraging Programming in Kids" (together with Luke Mayell and others) did another Minecraft hacking session with kids and their parents. Of course, they started by setting up NetBeans and the JDK, after which they ran Minecraft from NetBeans and then hacked it.
It was great seeing heaps of little kids with NetBeans on their laptops!
And I'll be working a bit more on the NetBeans shisha integration soon, in gratitude to all the nargile I consumed.
All in all, a great few days, thanks everyone for making it possible, for being so enthusiastic, and I hope I'll be there again next year!
The NetBeans Dream Team has expanded massively over the past week! Sixteen new members have joined, from many corners of the world. Preview Text: The NetBeans Dream Team has expanded massively over the past week! Sixteen new members have joined, from many corners of the world. Legacy Sponsored: ...
One of the organizations present at NetBeans Day Germany last week was SSB Software Service und Beratung GmbH, based in Munich, a software company with more than 20 years of experience focused on integrated solutions for the printing industry.
Diso21 Client is a NetBeans Plattform application created by SSB to provide an ERP system for modern printing companies. It helps to manage and to automate enterprise processes. The application has a modular architecture and allows for a flexible arrangement of workplaces. The Diso21 Client has an integration API to embed third party systems to increase productivity.
Here's a screenshot, click to enlarge it:
It will be added to the NetBeans Platform Showcase soon.
Over the weekend the second DevFest Istanbul conference took place. It is a sign of the growing uptake of NetBeans above and beyond its traditional users that there was also a big NetBeans element. It is the second time it has been run and about 3000 people attended. There were two talks on NetBeans, an introductory talk on reasons to use NetBeans... and a detailed tutorial on writing web...
See airhacks.tv for past episodes.
Any questions left? Then join the conversation at each first Monday of the month at 6 P.M. live, and ask questions commenting / pulling on github (hurry up, some questions are already asked) or write comments on this blog.
AsciidoctorJ is the official library for running Asciidoctor on the JVM.
Here's the start of support for AsciidoctorJ in NetBeans IDE. New AsciiDoc files can be created and you have a source editor where you can write AsciiDoc. Currently, no syntax coloring, etc, yet.
When you click the Visual togglebutton above, AsciidoctorJ is used to convert the AsciiDoc:
Right now, the conversion options are hardcoded, using CodeRay, a Ruby library for syntax highlighting. Thanks to AsciidoctorJ, no Ruby needs to be installed, since AsciidoctorJ wraps the gems. Notice the code below, which was as much fun to figure out as something really not fun and could still be wrong and looks problematic. But it works.
Asciidoctor doctor = Asciidoctor.Factory.create(Arrays.asList( "gems/asciidoctor-1.5.0/lib", "gems/coderay-1.1.0/lib", "META-INF/jruby.home/lib/ruby/1.8")); String html = doctor.convert(obj.getPrimaryFile().asText(), getInitialOptions()); htmlEditorPane.setText(html);Need to integrate the Progress API into the above so that the progress bar runs while the conversion is taking place.
The source code of the above is here, looking forward to clones and pull requests:
Timeouts are crucial for robustness of the communication between reasonable WARs (also known as micro services).
Timeout settings are not standardized and have to be passed as "proprietary" properties of the JAX-RS client:
The "provided" dependency highlighted above can be omitted by using the
import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import org.glassfish.jersey.client.ClientProperties; Client client = ClientBuilder.newClient(); client.property(ClientProperties.CONNECT_TIMEOUT, 100); client.property(ClientProperties.READ_TIMEOUT, 10);
Stringrepresentation of the constants:
Timeouts will cause:
client.property("jersey.config.client.connectTimeout", 100); client.property("jersey.config.client.readTimeout", 10);
java.net.SocketTimeoutException: Read timed outexception which can be easily handled. A few years ago we would talk about exception handling and robustness, in the age of micro services we can call it now "resilience" :-).
Today I have two new/updated plugins for the price of one! One costs zero money and therefore two do, too.
Firstly, I find the concept of a key promoter very handy, but the initial version of the plugin provided too much noise. Now, instead of using the Notifications window, the keyboard shortcut, if there is one, that matches the action invoked from a menu item or toolbar button is shown in the status bar:
Secondly, I'm going to be using only the keyboard (and not the mouse) as much as possible and "Distraction Free Mode" as much as possible, from now onwards. That means I want the tools I need to use to be close at hand. Therefore, rather than all the clicking I need to do to undock the Navigator, bring it to where I want it to be, etc etc, I've created a new plugin that lets you press Alt-Q (the "q" is the "Q" in "Quick Member Search"), at which point the Navigator will undock itself and appear as a small dialog in the editor. Especially powerful when you're already in "Distraction Free Mode" (Ctrl-Shift-Enter).
The Navigator that you see above appeared in the editor when I pressed Alt-Q. I did not need to (1) open the Navigator via Ctrl-7 or a menu item in the Window menu and then (2) move my mouse to the Navigator in its docked position in the lower left and then (3) right-click in the tab of the Navigator with my mouse and then (4) choose Float in the popup menu with my mouse and then (5) drag the Navigator with my mouse into the editor. No, instead of all that, I simply pressed Alt-Q and automatically the Navigator was put where I wanted it.
Anyone have requests for other small and handy power tools for NetBeans IDE? Let me know, especially if you're interested in working on them together with me.
As afterburner.fx became more popular, I got many interesting community contributions. I rejected most of the pull requests, because I could not find the "killer use case" for most of them. afterburner.fx should remain lean and simple.
In addition the "topgun" edition is also available from maven central:
<dependency> <groupId>com.airhacks</groupId> <artifactId>afterburner-topgun.fx</artifactId> <version>1.6.2</version> </dependency>
There are no changes for coordinates of the default afterburner.fx:
<dependency> <groupId>com.airhacks</groupId> <artifactId>afterburner.fx</artifactId> <version>[LATEST_RELEASE]</version> </dependency>
See you at Java EE Workshops at Munich Airport!
Last weekend I was training a small group of developers on Polymer during a local Google Developer Group DevFest here in Burkina Faso. Basically, Polymer is a new web UI framework that helps programmers to develop modularized web applications with cross-browser capabilities. Polymer is composed of four main layers: Preview Text: Last...
NetBeans Day in Munich, Germany, held yesterday, was pretty amazing. Despite having been arranged at the last minute, and undermined a bit by Lufthansa strikes and Deutsche Bahn hiccups, the room was filled to almost maximum capacity, certainly around 100 attendees were present. (Registration for the event had to close soon after it opened, because there was only room for 100.) The key people to thank for the event are Peter Doschkinow from the Oracle office in Munich and Toni Epple from Eppleton. They set up the whole day, invited speakers, and so on. Oracle hosted the event, provided coffee and lunch, and the room itself was really nice.
Aside from the rockstar speaker line up, which included Adam Bien, Gerrit Grunwald, and Markus Eisele, quite some well known faces attended, such as Sven Reimers, Florian Vogler, and Martin Klähn, as well as uber NetBeans plugin developer Benno Markiewicz. And Reinhard Schmitz flew all the way from Luxembourg. I met Norman Fomferra and Marco Peters for the first time, who're working on a NetBeans Platform application for the European Space Agency, though there were so many people that I didn't get to talk to nearly all of them. Especially, I missed talking to guys who attended from ConSol, where NetBeans Platform work is also being done, while I learned about several NetBeans Platform applications that I'd never heard of before, such as at SSB and Transver, both organizations in Munich.
09:00 - 09:10 Anton Epple, Geertjan Wielenga, Peter Doschkinow: "Welcome to NetBeans Day"
09:15 - 10:10 Gerrit Grunwald: "Catch me if you can" - Java on Wearables
10:15 - 11:10 Markus Eisele: "Manage JBoss EAP, WildFly and OpenShift with NetBeans"
11:15 - 12:15 Adam Bien: "The Microservice IDE: From Java EE To Angular"
12:15 - 13:15 Mittagspause & Open Space
13:15 - 14:10 Anton Epple: "Write Once Run Anywhere with DukeScript"
15:15 - 15:45 Kaffeepause
15:45 - 16:45 Geertjan Wielenga - "Heaps of Cool Hidden Goodies in NetBeans IDE"
16:50 - 17:50 Sven Reimers: "NetBeans Platform - Inifinite Evolution"
18:00 - 18:30 Geertjan Wielenga: "Manage Oracle Cloud, Oracle Developer Cloud Service, and WebLogic with NetBeans"
For me, the question of the day was asked during a break in the program by Stefan Gürtler from Transver who asked me: "How do you find your methods in NetBeans IDE?" (Somebody then said "if you need to look for your methods, your class is too large", which was an interesting assertion.) I mentioned the Navigator but he said he'd like to be able to pop up a small dialog, like in other IDEs, within the editor, and then quickly search for a method, at which point the list would filter down to the one he wants to work with. That sounds cool and here's the start of that:
The current implementation is that you start typing and immediately the filtering happens:
It's very simple so far, but the idea is you'll be able to press Alt-Q, do your search, find the member you need, click on it, and then the popup closes and the cursor is on the member in the editor. The plugin can be cloned and I'm looking forward to getting pull requests!
The plan is for multiple NetBeans Days to be held around the world. Now that we have a good location in Munich, we'll be able to hold more such events there. The next NetBeans Day is planned to be held during March or April next year. Probably it will be done quite differently to yesterday. For example, maybe there'll be multiple tracks and definitely there should be more time for talking and getting to know each other. Maybe small workshops on e.g., creating NetBeans plugins, could be good to include too.
Thanks to everyone who came, looking forward to next time!
The WakaTime plugin tracks time by project, branch, language, among other things for individual developers as well as teams. Here’s what the dashboard looks like: Preview Text: The WakaTime plugin tracks time by project, branch, language, among other things for individual developers as well as teams.
There are many reasons why it makes sense to use NetBeans IDE for your software development work. But, of those many reasons, what are the top reasons? Here they are, the top 7 reasons, explained together with demos and slides!
&amp;amp;amp;lt;span id=&amp;amp;amp;quot;XinhaEditingPostion&amp;amp;amp;quot;&amp;amp;amp;gt;&amp;amp;amp;lt;/span&amp;amp;amp;gt; &amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;gt;