Česky   |  Deutsch   |  English   |  Español   |  Français   |  Indonesia   |  日本語   |  한글   |  Polski   |  Português (BR)   |  Türkçe   |  中文   |  正體中文   |  Your Language  
PlanetNetbeans
Planet NetBeans is an aggregation of NetBeans related musings from all over the Blogosphere.
Feeds
[RSS 1.0 Feed] [RSS 2.0 Feed]
[FOAF Subscriptions] [OPML Subscriptions]
Do you blog about NetBeans ? Add your blog to PlanetNetBeans.
Feed Subscriptions
NetBeans Zone - The social network for developers (feed)
APIDesign - Blogs (feed)
Pandaconstantin (feed)
blogtrader - Blog (feed)
Carsten Zerbst's Weblog (feed)
Winston Prakash's Weblog (feed)
markiewb's blog (feed)
Michael's blog » NetBeans (feed)
ProNetBeans (feed)
Paulo Canedo » NetBeans English (feed)
Need to find a title (feed)
Category: NetBeans | Software and Science (feed)
Roger Searjeant's blog (feed)
Optonline Webmail (feed)
Allan Lykke Christensen » NetBeans (feed)
Inspiration and Expression » Netbeans (feed)
Gualtiero Testa » Netbeans (feed)
James Selvakumar's Blog » netbeans (feed)
John O'Conner » NetBeans (feed)
Koberoi Oracle (feed)
nB gUru » NetBeans (feed)
Newsintegrator Blog » netbeans (feed)
Praxis LIVE » NetBeans (feed)
TechAshram » NetBeans (feed)
There's no place like 127.0.0.1 » Netbeans (feed)
Adam Bien (feed)
Ignacio Sánchez Ginés » NetBeans (feed)
Bernhard's Weblog (feed)
Michel Graciano's Weblog (feed)
Ozone and Programming » netbeans (feed)
NetBeans Ruminations » NetBeans (feed)
Tiplite » netbeans (feed)
Arun Gupta, Miles to go ... (feed)
Geertjan's Blog (feed)
.JARa's Bilingual Weblog (feed)
JavaFX Composer (feed)
The Java Jungle (feed)
Jesse Glick (feed)
Martin Grebac (feed)
The NetBeans Community Podcast (feed)
NetBeans Profiler (feed)
NetBeans for PHP (feed)
NetBeans Web Client (feed)
Rechtacek's (feed)
Virtual Steve (feed)
My First Blog - Satyajit Tripathi (feed)
The Aquarium (feed)
Tinuola Awopetu (feed)
Insert Witty Irony Here (feed)
Anuradha (feed)
Netbeans6/6.5 my best practices (feed)
Java Evangelist John Yeary's Blog (feed)
Neil's Dev Stuff (feed)
Computer says null; (feed)
NetBeans Adventures, Java and more (feed)
Bistro! 2.0 (feed)
NetBeans Community Docs Blog (feed)
The Netbeans Experience (feed)
NbPython/ jpydbg / pymvs (feed)
Wade Chandler's Programming Blog (feed)
Big Al's Blog (feed)
Code Snakes (feed)
In perfect (spherical) shape (feed)
Van Couvering Is Not a Verb (feed)
Diego Torres Milano's blog (feed)
Vroom Framework (feed)
Messages from mrhaki (feed)
Jeff's Blog (feed)
Manikantan's Netbeans (feed)
Oliver Wahlen's Blog (feed)
Shuttle between Galaxies (feed)
Shanbag's Blog (ರಜತ ಲೋಕ) (feed)
Welcome to my live... (feed)
Netbeans IDE Blog by Tushar Joshi, Nagpur (feed)
Devel Blog (feed)
diamond-powder (feed)
Antonio's blog (feed)
Where's my Blog?!

Powered by:    Planet

Last updated:
October 31, 2014 03:06 PM
All times are UTC

Sponsored by
sponsored by Oracle

visit NetBeans website
Adam Bien - October 31, 2014 08:46 AM
Scheduler, DataSources, Microservices, JSF and JS, Beeing Optimismtic or Questions For the 8th airhacks.tv

Lets start with some news first: airhacks Q & A got a dedicated website http://airhacks.tv with an archive of the past shows.

Now to the questions for the November (3th November, Monday, 6 P.M. CET) edition of the http://airhacks.tv show:

  1. Question about ejb scheduler vs java ee batch processing. What are pros and cons when using batch processing over ejb scheduler ? Marek
  2. Question about multi datasource and EJB. What is the best way to deal with EJBs which need to use a specific database for caller/user? Should I use
    Interceptors? Should I use injection with request scoped? Wesley
  3. Statement: “You forgot to say one advantage of Spring over JEE. Spring you can deploy on any container.” Mauricio
  4. ‘How do you manage deployed microservices (status, healthchecks, restarting) locally and on servers?’ Tomek
  5. ’How do you use Docker (what setup) locally and on servers? Tomek
  6. Does JSF play well with JavaScript frameworks? [Edward]
  7. Why It Is Impossible To Automatically Handle javax.persistence.OptimisticLockException? “…I had even more finding on optimisticLockException. I had encounter this
    exception and my solution was pretty straight forward which was just retry and
    it works fine with my design and the data were good. The catch is, recently I added a new table which has a relationship to the row
    which was throwing the optimisticLockException. I noticed that the entry in the second table was not created because of this exception. However the record data consistency was maintained because of the retry. But I loose an important
    information in my related table. Does anyone have suggestion on what to do with this kind of scenario?…” [Anuj]
  8. can you share some updates on how to do high availability JEE apps in light of
    JEE7 and tackling session stored data Ahmed
  9. We will also cover the extensive gist comments

Do you have any additional questions? Ask now, or wait a month :-)

The best of all: you can ask the questions live, during the show using the chat: http://www.ustream.tv/channel/adambien, twitter (hashtag "#airhacks") or (the best option): using channel ##airhacks on http://freenode.net.

See also other screencasts at: http://tv.adam-bien.com or subscribe to http://www.youtube.com/user/bienadam.

See you at Java EE Workshops at Munich Airport, Terminal 2 or on demand and in a location very near you: airhacks.io!


Real World Java EE Workshops [Airport Munich]>

APIDesign - Blogs - October 30, 2014 01:19 AM
Bck2Brwsr and Images as Resources

Blob URL support has been implemented for forthcoming version of Bck2Brwsr 0.12. Now you can easily access images packaged as resources in your JAR files and obtain their browser valid URL.

--JaroslavTulach 01:19, 30 October 2014 (UTC)

Geertjan's Blog - October 29, 2014 09:02 AM
Oracle Developer Cloud Service and NetBeans IDE

The Oracle Developer Cloud Service plugin for NetBeans IDE has been released and is available in the update center for NetBeans IDE 8.0.1. Install it and then you can connect to your Oracle Developer Cloud Service and use it for team collaboration work in NetBeans IDE. Once you register the service in the IDE, you can manage tasks and builds, while a handy dashboard gives you an overview of all the incoming activities across members of your team. Automatically, you'll receive notifications when new or updated activities are provided by the service.

Click to enlarge the image below to see the team development workspace that NetBeans IDE 8.0.1 provides via the Oracle Developer Cloud Service plugin:

In NetBeans IDE 8.0.1, go to the Plugin Manager and install the ODCS plugin by selecting the item below:

Feedback is very welcome!

NetBeans Zone - The social network for developers - October 29, 2014 07:00 AM
Dev of the Week: Michael Hunger

Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. Preview Text:  Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is...

NetBeans Zone - The social network for developers - October 29, 2014 06:30 AM
The Best of DZone: Oct. 22 - Oct. 29

THIS WEEK'S TOP LINKS Check out the most popular links shared on DZone from the past week. Be sure to share the best developer links from across the web at DZone.com. Preview Text:  If you missed anything on DZone this week, now's your chance to catch up! This week's best include navigating the DSL Jungle, a look at Google...

Geertjan's Blog - October 28, 2014 01:46 PM
Oracle FLEXCUBE Development WorkBench for Direct and Mobile Banking

Back in July last year, I wrote about a brief visit to Oracle India. More specifically, the visit was to part of the team working on Oracle FLEXCUBE, which is "a comprehensive, integrated, interoperable, and modular solution that enables banks to manage evolving customer expectations".

An important tool in the suite of FLEXCUBE applications is called "Oracle FLEXCUBE Development WorkBench for Direct and Mobile Banking".

It is an integrated development environment for Oracle FLEXCUBE Direct Banking (FCDB) Development. The IDE provides the platform to the user to perform the following operations:

  • Write FCDB Business Services using the predefined FCDB Java Project Template in the IDE.
  • Design FCDB Screens. 
  • CSS and Image Editing. 
  • Transaction and Service Registration into FCDB Database Tables.

Since the visit last year, Vivek Kumar and a team of developers working with him have rearchitected the above application to the following:

Clearly, the application is based on the NetBeans Platform. Not only that. It is based on NetBeans IDE, that is, it includes the Java editor, JavaScript editor, HTML editor, and much more. The idea behind the rearchitecting of the application on top of NetBeans was to end up with a single, coherent, comprehensive solution, while leveraging existing technologies within Oracle, rather than reinventing the wheel. Prior to the rearchitected application, users, i.e., operators at banks, had to make use of different applications to do the work described above. Now, they have a single environment.

The above information is publicly available, here, in two new Oracle documents written over the past year, especially if you want to see many screenshots of, especially, Oracle-branded wizards that are used throughout this application to generate various kinds of artifacts:

The application is part of the Flexcube Direct Banking 12.0.3 release and available as a part of FCDB installer on the Oracle Cloud. It is translated into Chinese, French, Spanish, and German. Two other languages that would be relevant to have for this application would be Vietnamese and Arabic.

NetBeans Zone - The social network for developers - October 28, 2014 12:58 PM
Siva Prasad: My Five Favorite NetBeans IDE Features!

Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Siva Prasad. -- NetBeans team. Preview Text:  Maven, Java 8, Java EE, the "out of the box" support, and more! Siva Prasad shares his 5 favorite NetBeans features. Legacy ...

Geertjan's Blog - October 27, 2014 08:36 AM
Utility Pole Line Analysis on the NetBeans Platform

Quick Pole by Sonideft in Nova Scotia, Canada, is an engineering application that is used to design Utility Pole Lines that support power and communication wires.

It can operate in GIS and non-GIS modes to analyze many interconnected poles in an area. In addition to performing a Nonlinear Structural Analysis of all poles, it also computes the needed Sags and Tensions, mid-span clearances and tests many factors required for national code compliance.

The application is based on the NetBeans Platform and is used by Power Utilities, Communication companies, Railway companies and Design Consultants working on their behalf.

Screenshots below, click to enlarge them.

More on this application will be on NetBeans Zone during the coming days.

Geertjan's Blog - October 26, 2014 08:39 AM
"Why we're bad at delivering on commitments"

In the Netherlands, over many years, big IT projects, e.g., for government employment projects such as werk.nl and uwv.nl, public transportation projects such as the new chip-based ticketing system, and healthcare projects, etc etc, fail in delivering on time (usually many years too late) and within budget (typically hundreds of millions over budget). It's got so bad that an investigative parliamentary commission under parliamentarian Ton Elias was recently established to pin down the reasons for these failures, to make recommendations, etc. (One of his interesting yet unsurprising findings is that, while being driven by 'thinking outside the box', creative impulses, and a desire to 'make a difference', the political establishment doesn't know much about the complexities involved in IT solutions, which tend to take far longer to implement than their brief term of office.) In this weekend's NRC newspaper, columnist Ben Tiggelaar discusses, under the heading "Why we're bad at delivering on commitments", the reasons behind these repetitive failures and below is my translation of his column since I think it's very interesting and deserves a bigger audience.

Do expensive IT-consultants working on government projects really not know how to prevent million euro projects from failing so disastrously? And do the accountants simply not understand how to avoid finding themselves in embarrassing articles in the papers over and over again? Or do they know but do they fail to act upon the knowledge they have? The pattern is often the same. Someone makes a stupid mistake. We figure out who did it and what went wrong. After that we reaffirm how it should have been done. And then we agree that from this point onwards, that's how we'll do it. Among others, this is how the parliamentary IT-commission under Ton Elias has recently done its job.

Where's the critical mistake here? In the idea that when you know something or when you agree to do something, that this will lead to different behavior. Would that it were this simple! Decades of research has shown that there is a big gap between wanting and knowing, on one hand, and acting on the other. Behavior is the weak link between plans and results.

Six important causes.

1. Situations. In one situation, e.g., in an investigative parliamentary commission, our words and behavior are automatically driven by specific and local social stimuli. In another situation, e.g., when discussing a new prestigious project, our behavior is influenced by completely different stimuli. For example, in the first situation, critical commentary is rewarded. In the second, it's not.

2. Knowledge. Today you come up with a nice resolution, a week later you're confronted with new knowledge. For example, about yourself: it turns out you're less fast, less able, or less smart than you thought. And, as a consequence, you adapt your resolution. Or you decide not to pursue it after all.

3. Postponement. Resolutions that are not clear, or not important enough to us personally, normally lead to postponement. And after that, one of the other factors in this list take over.

4. Forgetting. People resolve to do things on a daily basis all the time, but often forget all about it just as quickly.

5. Hypothetical framing. Resolutions are typically about future behavior that, in the present, is imagined. Anyone would sign up for hypothetical behavior in the future. However, research shows that choices around behavior that should be implemented immediately cause a sharp drop in the desire to act.

6. Satisfaction. When people formulate smart decisions for the future, they feel satisfied in the here-and-now. We feel that we're "on our way". And that increases the likelihood that you won't follow through on your commitment.

Supervisory bodies, checklists, codes of behavior... They all work, a bit. But effective action remains difficult for those who do not know, or who underestimate, the gap between intention and behavior.

Within government, the IT delivery problems will not end. And the derailed accountants will again be written about in newspapers, soon. At most, we'll be even more concerned in asking ourselves how it could all have gone so badly wrong.

And that will have been at least partly my own fault. He who writes columns about management and leadership should actually focus on these problems every week. Actually, I was planning to do that. Honestly. But last time I decided to do that, I've discovered, was almost two years ago. My apologies. I promise to do better next time.

Ben Tiggelaar is a behavioral researcher, trainer, and publicist, who writes weekly columns about management and leadership.

Geertjan's Blog - October 25, 2014 11:39 AM
YouTube: Finger Tracking on the NetBeans Platform

Synertial released this awesome motion capture video yesterday, showing among other things Java and NetBeans Platform based IGS-Bio in action!

<span id="XinhaEditingPostion"></span> </p>

An earlier blog entry by me on this software is found here.

Adam Bien - October 25, 2014 04:42 AM
Enterprise Nashorn with Java 8 at JavaOne 2014

<br />

See also other screencasts at: http://tv.adam-bien.com or subscribe to http://www.youtube.com/user/bienadam.

See you at Java EE Workshops at Munich Airport or on demand and in a location very near you: airhacks.io!


Real World Java EE Workshops [Airport Munich]>

NetBeans Zone - The social network for developers - October 24, 2014 03:00 PM
Java, IoT, and NetBeans IDE in Australia

A few months ago, the Java 8 World Tour reached Australia, with Java evangelist Angela Caicedo visiting several JUGs and other organizations, such as the  Australian Institute of Marine Science, to demonstrate the latest Java features. Preview Text:  A few months ago, the Java 8 World Tour reached Australia, with Java evangelist Angela Caicedo...

Geertjan's Blog - October 24, 2014 07:38 AM
Awesome Review for "NetBeans Platform for Beginners"

I noticed that there's yet another awesome review of "NetBeans Platform for Beginners" on its feedback page, by Peter Hansson:

I've just finished a vacation where I took "NetBeans Platform for Beginners" with me in Kindle format. I've previously read Heiko's book, I've written a NB platform app or two and I still found your book full of insight that I wish I've had earlier on. Where a lot of the other books and online tutorials fail is in explaining WHY a certain feature of the platform looks the way it does. What was the intent from the API author? What can it be used for? What is the benefit? This is the area where I think your book excels. I also like your clear no-nonsense language.

Skipping over a display problem on Kindle, which the authors can't be blamed for and I'm sure they're working to resolve, how does the book compare to the other established books in this area?

I was hesitant at first to buy the book. I already had Heiko's book (in hardcopy) and the title of Walter and Jason's book threw me off a little (the word "beginner"). The book for me has been worth every penny and I'm looking forward to other NB related stuff from the authors. I've used Heiko's book a lot and I would still recommend it but I would say that if you only have money for one book then it should be "NetBeans Platform for Beginners". No doubt!

Want to create serious applications on the Java desktop too and need an awesome book, with great examples, and lots of explanations, to get you started? Here it is:

https://leanpub.com/nbp4beginners

Tip: Buy the book together with "Exercises in Porting to the NetBeans Platform", which recently had a great new addition added to it, exercise 3, which shows a pretty thorough porting scenario with a real application as its starting point.

https://leanpub.com/b/nbpstarterkit

Adam Bien - October 24, 2014 04:03 AM
JAX-RS: Returning A List Of Instances, Problem and Solution

Wrapping a list of instances with a Response:


    @GET
    public Response workshops() {
        List<Workshop> workshops = ...//a list of entities
        return Response.ok(workshops).build();
    }


Leads to a type loss carried by the Collection and the following (or similar) exception:


MessageBodyWriter not found for media type=application/json, type=class java.util.Arrays$ArrayList, 
genericType=class java.util.Arrays$ArrayList

JAX-RS comes with GenericEntity which carries the generic type. You only have to wrap the Collection with the GenericEntity to solve the problem:


import javax.ws.rs.core.GenericEntity;
//...
  @GET
    public Response workshops() {
        List<Workshop> workshops = ...//a list of entities
        GenericEntity<List<Workshop>> l
        ist = new GenericEntity<List<Workshop>>(workshops) {
        };
        return Response.ok(list).build();
    }

See you at Java EE Workshops at Munich Airport, particularly at: Effective Java EE 7!


Real World Java EE Workshops [Airport Munich]>

Geertjan's Blog - October 23, 2014 01:34 PM
Editor Tools for CSS in NetBeans IDE (Part 2)

Continuing from yesterday, the NetBeans features helping you with CSS include some more hidden goodies. Look in the Editor tab, in the Hints section, and you'll see that within your HTML files, helpful suggestions are available for CSS references:

By default, the hints that are shown are not shown as errors. I prefer them to be errors, so configured them as such in the Options window tab shown above, which means that when I reference a class that has not been defined in my CSS files, I get a very clear notification that there's a problem:

When I press Alt-Enter in the above situation (or click the yellow lightbulb in the left sidebar), the available CSS stylesheets are shown and I can choose in which of them a skeleton CSS rule should be generated, which I can then fill out with details.

Adam Bien - October 23, 2014 05:27 AM
Rethinking Packaging, Modularization, Interfaces with Plain Java EE 7: 33rd Degree Conference

See also other screencasts at: http://tv.adam-bien.com or subscribe to http://www.youtube.com/user/bienadam.

See you at Java EE Workshops at MUC Airport, particularly at the Java EE Architectures workshop!


Real World Java EE Workshops [Airport Munich]>

Geertjan's Blog - October 22, 2014 08:26 PM
Editor Tools for CSS in NetBeans IDE (Part 1)

When you're inside a CSS file in NetBeans IDE, press Alt-Insert, and then you can call up this dialog, to insert new CSS rules into the CSS file:

When OK is clicked above, the skeleton of a new CSS rule is inserted into the CSS file.

Next, when you're using your CSS rules, such as below, there are some cool things you can do.

Firstly, press Alt-F7 above, i.e., while you've selected the name of a rule that you've defined, and then a search of all usages is done, same as is done in Java source files and other kinds of files, with the same kind of result:

And then you can click on the items above to jump to the file and the line where they're defined. The above is totally different to a text search, for example, if I have "menu" somewhere in the comments, which is more than likely, that instance of "menu" will not be found  since it is not a usage of the "menu" class.

Secondly, when you press Ctrl-R, while the "menu" class above is selected in an HTML file, you call up the in-place rename dialog, just like you would do in a Java source file. Then you can rename "menu", which will also rename all occurrences of "menu", e.g., in the CSS file where that rule is defined.

Adam Bien - October 22, 2014 12:33 AM
CLI, Docker and Lambdas: Nashorn ...and Java EE

Java 8 comes with fast JavaScript engine called "Nashorn". At this JavaDay 2014 session I'm presenting examples and ideas for using Nashorn in enterprise applications with less code and more flexibility. Command line automation, docker monitoring and bi-directional Java integration:

I wondered during this session, why the audience is so passive. After the session I was told about the deactivation of the wifi to ensure HD streaming quality :-).

See also other screencasts at: http://tv.adam-bien.com or subscribe to http://www.youtube.com/user/bienadam.

See you at Java EE Workshops at Munich Airport or on demand and in a location very near you: airhacks.io!


Real World Java EE Workshops [Airport Munich]>

Geertjan's Blog - October 21, 2014 07:08 PM
Configuring & Running Specific Methods in Maven Projects in NetBeans IDE

In yesterday's blog entry, you saw that a specific test method, i.e., the currently focused test method, can be run, instead of all the test methods, i.e., you have fine-grained control over specifically which test method is executed. However, is it possible to configure that test method, passing in JVM arguments for that specific test method, for example?

Right-click the application and choose Properties, or choose Properties from the File menu, and assuming you're working on a Maven-based application, you'll see the tab below in the Project Properties dialog:

Above, you see the definition of the action that is run when "Test File" is called on a file, which can be done via a menu item or via the keyboard, i.e., by default, Ctrl-6.

Here you can see that I have customized it so that a specific test method is invoked, instead of all the methods in the class:

In the above example, a test method named "testPrintMessage" is run when the "Test File" action, e.g., via Ctrl-6, is performed.

That's because, as my colleague Theofanis told me today, these are Maven commands one can run on the command line, and the above is the equivalents of the below:

mvn -Dtest=a.b.c.MyTest surefire:test would run all tests in MyTest test class

mvn -Dtest=a.b.c.MyTest#testMethodName surefire:test would only run testMethodName in MyTest test class

When you click the Add button above, you are helped in different ways in seeing the options available that can be added:

However, instead of overriding the "Test File" action, you can create custom actions for each method you want to have control over, after you click "Add Custom" below:


After you add a custom action, like above, you can invoke it by right-clicking the file on which you want to run it:


Now, in the Output window, I can see that this is part of the command that NetBeans runs for me when I click the above menu item:

-Dtest=com.mycompany.hello.MainTest#testPrintMessage -Dvertx.timeout=9999

Hope this answers Martijn Verburg's question on Twitter:

https://twitter.com/karianna/status/524521480621531136

Handily, you can also run the custom action directly in the editor, after right-clicking it:


One nice improvement would be if you could map a keyboard shortcut to your custom actions, so you wouldn't have to right-click on a file or in the editor but just press some keys on the keyboard. But simply right-clicking in the editor and then clicking the menu item, as shown above, is not bad at all, pretty handy that you can extend the NetBeans Java Editor with your own custom Maven actions, isn't it? :-)

Once you've created one custom action, like the above, all the next ones are simply a matter of writing in the XML file that is created the first time you create a custom action:

The above "nbactions.xml" file looks as follows, after the steps I took above:

<?xml version="1.0" encoding="UTF-8"?>
<actions>
    <action>
        <actionName>CUSTOM-"testPrintMessage" method</actionName>
        <displayName>"testPrintMessage" method</displayName>
        <goals>
            <goal>test-compile</goal>
            <goal>surefire:test</goal>
        </goals>
        <properties>
            <test>${packageClassName}#testPrintMessage</test>
            <vertx.timeout>9999</vertx.timeout>
        </properties>
    </action>
</actions>

So, you want to give yourself the option of running each test method separately? Just copy the action elements above, customize them, and automatically when you right-click the file or in the editor, you'll see a new menu item that connects to the related action in the file above.

Adam Bien - October 21, 2014 01:23 AM
Lazy Injection with javax.inject.Provider

javax.inject.Provider is the minimalistic version of the javax.enterprise.inject.Instance interface. In fact Instance inherits from Provider

For on-demand injection of components / resources inject them as Provider:


@Model
public class Index {

    @Inject
    Provider<Boundary> boundary;

    public String getMessage() {
        return boundary.get().message();
    }

}

The injected component is unaware about the laziness:


@Stateless
public class Boundary {

    public String message() {
        return "Good morning";
    }
}

Instance comes with additional functionality: see also Interfaces on Demand with CDI and EJB 3.1

[See also an in-depth discussion in the "Real World Java EE Patterns--Rethinking Best Practices" book (Second Iteration, "Green Book"), page 235 in, chapter "Plugin"]

See you at Java EE Workshops at Munich Airport, particularly at: Effective Java EE 7!


Real World Java EE Workshops [Airport Munich]>

Geertjan's Blog - October 20, 2014 05:28 PM
Run Focused Test Method

Want to run a specific test method in NetBeans?

Here's how:

And you can also map a keyboard shortcut so that you can press that whenever you want to run the current test method:


APIDesign - Blogs - October 20, 2014 02:25 PM
Impossible. Part I.

Explaining that something is impossible is, well impossible! Here is a link to one viral video and one story from my computer science student years, which is so true, I would almost cry. In case you find my impossible story interesting, let me know. I have at least two more on the same impossible topic!

--JaroslavTulach 14:25, 20 October 2014 (UTC)

Adam Bien - October 20, 2014 04:16 AM
JavaFX: A Composite View with WYSIWYG

Creating a composite view in JavaFX with Scene Builder and Dependency Injection:

See also: http://afterburner.adam-bien.com and see you at http://workshops.adam-bien.com/javaee-ui.htm.


Real World Java EE Workshops [Airport Munich]>

Geertjan's Blog - October 19, 2014 09:49 AM
NetBeans Translation Tip #2: Do Not Translate USE_MNEMONICS

So you're working on the NetBeans Translators project and you run the application, with its translated bundles, and then you see this error message:

WARNING [org.openide.awt.Toolbar]: Error in AWT task
java.lang.AssertionError
	at org.openide.awt.Actions.setMenuText(Actions.java:290)
	at org.openide.awt.Actions$MenuBridge.updateState(Actions.java:1266)
	at org.openide.awt.Actions$Bridge.prepare(Actions.java:902)
	at org.openide.awt.Actions$MenuBridge.prepare(Actions.java:1221)
	at org.openide.awt.Actions.connect(Actions.java:201)
	at org.openide.awt.Actions$MenuItem.(Actions.java:1571)
	at org.openide.awt.DynaMenuModel.loadSubmenu(DynaMenuModel.java:138)

You also, assuming you're translating into French and have already translated the text in the error dialog below, see this dialog, once the application has started:

And you're unable to access any of the menu items in the menubar.

An error message that contains "setMenuText(Actions.java:290)" is one that can be figured out by thinking about where menus are defined, in the NetBeans Platform source code. This is done in the UI Utilities API module, which is org-openide-awt.jar.

When I went there, in "LocalizedNetBeans", I found that there are two translated bundle files there, both in French:

Notice the one in blue above. Through a process of trial and error, I discovered that the key "USE_MNEMONICS" should NOT be translated. If you translate USE_MNEMONICS, the error described above occurs. Simply do not include it in the bundle file shown in blue above, in the 'branding/modules/org-openide-awt.jar' folder. Delete it from there, as I did (which is why the file is shown in blue) if you have it there.

And then the problem is solved: the error message above is not shown and menu items can be accessed again, as normal.

PS: Also see tip #1.

Geertjan's Blog - October 18, 2014 07:32 AM
Fixing the Ribbon Bar Integration Tutorial

The NetBeans Platform Ribbon Bar Integration Tutorial has an Installer class that needs to be rewritten if you're using it with NetBeans Platform 8.0 and 8.0.1.

In the Flamingo Integration module, delete the content of the Installer class, in the modules.flamingo package, and replace it with the code shown below:

https://netbeans.org/projects/platform/lists/dev/archive/2014-10/message/107

The problem with the original Installer class in the repo is that it is a little bit hacked together, i.e., it uses the ModuleInstall class, registered in the Manifest, but then delays loading via SwingUtilities.invokeLater. So, when the loading sequence in the NetBeans Platform changes, even slightly, as it does from release to release, with performance enhancements and so on, the hacked code stops working correctly... and the rewritten components, i.e., the ribbon, is loaded incorrectly.

UIDefaults.getUI() failed: no ComponentUI class for: org.pushingpixels.flamingo.internal.ui.ribbon.appmenu.JRibbonApplicationMenuButton[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=16777216,maximumSize=,minimumSize=,preferredSize=]
java.lang.Error
    at javax.swing.UIDefaults.getUIError(UIDefaults.java:732)
    at javax.swing.MultiUIDefaults.getUIError(MultiUIDefaults.java:130)
    at javax.swing.UIDefaults.getUI(UIDefaults.java:762)
    at javax.swing.UIManager.getUI(UIManager.java:1016)
    at org.pushingpixels.flamingo.internal.ui.ribbon.appmenu.JRibbonApplicationMenuButton.updateUI(JRibbonApplicationMenuButton.java:124)
    at org.pushingpixels.flamingo.api.common.JCommandButton.<init>(JCommandButton.java:433)
    at org.pushingpixels.flamingo.internal.ui.ribbon.appmenu.JRibbonApplicationMenuButton.<init>(JRibbonApplicationMenuButton.java:110)

Until you do the rewrite described in the link above, you'll see the error above when running the application and find the icon in the top left missing, as shown below.

The changed code in the link above fixes the problem.

If you feel the Ribbon application menu button, the big one top left above, is taking up too much space, you can take a look at the com.pinkmatter.modules.flamingo.LAFConfiguration class, and replace one statement with two statements, to use Bruce Schubert's rewritten application menu:


Adam Bien - October 18, 2014 04:31 AM
Setting The Classpath For Nashorn Script in jjs / Java 8

The Java 8 jjs interpreter accepts the -cp / -classpath argument. After setting the classpath, all the classes become available from within the executable script.

A utility class com.airhacks.naslib.Inspector in the naslib.jar (this is an sample jar) becomes available for Nashorn after setting the jjs classpath:


#!/usr/bin/jjs -cp ./naslib/target/naslib.jar -fv
//built-in variable
var args = $ARG;

var Inspector = com.airhacks.naslib.Inspector;
//class from jar, calling a static method
Inspector.inspect(args);

In case this post looks a bit crazy to you, you would enjoy the Java 8 / Java EE 7 "More Power with Less Code" workshop :-).


Real World Java EE Workshops [Airport Munich]>

Adam Bien - October 17, 2014 10:15 AM
Java 8, Nashorn, Nanoservices, JavaFX On-Stage Hacking and Airhacks -- End Of Year Events

See also the the Java EE Microservices workshop in January 2014.


Real World Java EE Workshops [Airport Munich]>

NetBeans Zone - The social network for developers - October 17, 2014 10:02 AM
Taudo Wenzel: My Five Favorite NetBeans IDE Features!

Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Taudo Wenzel. -- NetBeans team. Preview Text:  "Most devs I know do their Maven builds from the command line (using Eclipse as an IDE) because of unexpected Maven errors that only occur when building inside...

Geertjan's Blog - October 17, 2014 07:37 AM
NetBeans + Java: FIRST Robotics Competition

Seeing this Tweet earlier this week, I had to investigate!


Matt responded: "I attached the only pic I took during our workshop last night with the students first being introduced to Java and NetBeans by Ross Etchells and Briana Hoffman (in the right of the photo) who are software engineers with a local software development company Innovative Software Engineering (ISE) and Mentors on our FIRST Robotics Competition Team. And you can actually see last year's robot in the far background with the big blue ball."

And look really closely and you'll see a few laptops with NetBeans IDE installed!

The group above is using NetBeans IDE as a tool to learn Java as a programming language to control a robot for the FIRST Robotics Competition this coming season.

Below are some links with info on FIRST and FRC, West Branch High School, Team 5041 (which is the above FRC Team), and ISE below.

West Branch, Iowa Schools
FIRST and FRC
Team 5041 Website
Innovative Software Engineering

Watch this space on more around the above group, and others, in the coming months!

NetBeans Zone - The social network for developers - October 16, 2014 08:10 AM
Jonas Felix: My Five Favorite NetBeans IDE Features!

Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Jonas Felix. -- NetBeans team. Preview Text:  Focusing on Cordova and the Ionic Framework, Jonas Felix describes the key features of NetBeans IDE that make him productive as a Java and JavaScript developer. ...