Č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)
Gualtiero Testa » Netbeans (feed)
James Selvakumar's Blog » netbeans (feed)
nB gUru » NetBeans (feed)
Newsintegrator Blog » netbeans (feed)
Praxis LIVE » NetBeans (feed)
ProNetBeans (feed)
TechAshram » NetBeans (feed)
There's no place like 127.0.0.1 » Netbeans (feed)
Paulo Canedo » NetBeans English (feed)
Anchialas' Java Blog (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)
John O'Conner » NetBeans (feed)
Koberoi Oracle (feed)
Adam Bien (feed)
Ignacio Sánchez Ginés » NetBeans (feed)
Bernhard's Weblog (feed)
Michel Graciano's Weblog (feed)
Ramon.Ramos (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)
mkleint (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)
Shanbag's Blog (ರಜತ ಲೋಕ) (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)
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:
September 19, 2014 02:07 PM
All times are UTC

Sponsored by
sponsored by Oracle

visit NetBeans website
Adam Bien - September 19, 2014 07:29 AM
#2 NetBeans Rocks: Maven, Ant, HTML 5 Support

Disclaimer: No additional plugins or custom configuration were used in this screencast :-)


Real World Java EE Workshops [Airport Munich]>

Michael's blog » NetBeans - September 18, 2014 09:22 PM
Source code available

I finished the chapter “Internationalization and Localization” of my book “Web Development with Java and JSF” [1] . Now the book reached about 250 pages. Source code for the applications as described so far is available from [2]. Developed with … Continue reading

Adam Bien - September 18, 2014 11:42 AM
TomEE PluME--Like GlassFish But With Commercial Support

TomEE 1.7.1 Plus with Mojarra and EclipseLink (PLUME) feels like GlassFish 3 (Java EE 7 is not supported yet by TomEE), but comes with commercial support.

TomEE 1.7.1 PLuME is regular TomEE plus with Mojarra and EclipseLink.

I just deployed some JAX-RS, EJB 3, CDI, JSF, JPA (EclipseLink) applications developed on GlassFish to TomEE PluME and it worked without any modifications. TomEE works well with NetBeans 8+ -- just add an existing instance as a Tomcat server and you will be able to deploy straight from NetBeans.

The great story about Java EE is: when one vendor loses its commercial interests, several others (WLP, WildFly) can easily step in. The vendor lock-in is minimal.

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]>

Geertjan's Blog - September 18, 2014 07:00 AM
Anagram Game Meets DukeScript

The DukeScript implementation of the Anagram Game (one of the Java Swing samples that has been bundled with NetBeans IDE since forever), by Jaroslav Tulach:

Deployed to JavaFX browser:

Download it here.

APIDesign - Blogs - September 17, 2014 08:06 AM
True Cross-Platform Development in Java

Here is a picture of the CRUD demo being deployed to iPad, Android phone, Safari browser, running in a JavaFX webview (being debugged from NetBeans) and also in an iOS simulator.

Congratulation DukeScript! Such portability is great. And don't forget your Java application can do the same - start with this tutorial!

--JaroslavTulach 08:06, 17 September 2014 (UTC)

NetBeans Zone - The social network for developers - September 17, 2014 08:00 AM
Interview: "JavaFX Rich Client Programming on the NetBeans Platform"

The Anderson Software Group, Inc. (www.asgteach.com), consisting of Gail and Paul Anderson, is a company that specializes in training, writing books, and training videos. The training courses provide the feedback for teaching strategies and exposure to real­‐life software requirements that organizations have. That is used to help in book writing.  Paul Gail Preview Text:  ...

Geertjan's Blog - September 17, 2014 07:00 AM
YouTube: FindBugs 3.0 for Java 8 in NetBeans IDE 8.0.1

FindBugs 3.0 supports Java 8 and, since NetBeans IDE 8.0.1 bundles FindBugs 3.0, it now also supports FindBugs for Java 8 code!

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

NetBeans Zone - The social network for developers - September 16, 2014 11:30 PM
NetBeans Weekly News (Issue #657 - Sep 16, 2014)

Project News NetBeans IDE 8.0.1 Now Available for Download The NetBeans Team has released NetBeans IDE 8.0.1, with significant enhancements to features relating to HTML5, JavaScript, and CSS3. Download it today! How to Upgrade to NetBeans IDE 8.0.1? Watch a new YouTube clip, around 4 minutes in length, to help you get started migrating from NetBeans IDE 8.0 to 8.0.1. Preview...

Geertjan's Blog - September 16, 2014 07:00 AM
Developer.com: Lambdas & Method References in NetBeans IDE 8

Two great new articles have recently been published on Developer.com about lambdas and member references (method references and constructor references) in NetBeans IDE 8.

http://www.developer.com/java/programming-with-lambdas-in-netbeans-8.html 

http://www.developer.com/java/programming-with-member-references-in-netbeans-8.html 

Read them today! 

Geertjan's Blog - September 15, 2014 07:31 PM
YouTube: Karma Istanbul Code Coverage in NetBeans IDE

I mentioned it before, but now that Karma Istanbul Code Coverage is part of NetBeans IDE, I thought I'd make a small movie about it:

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

Also, good to explicitly state the configuration information I'm using above. Here is 'my.conf.js':

module.exports = function (config) {
    config.set({
        basePath: '', autoWatch: true,
        frameworks: ['jasmine'],
        files: ['app/*.js','test/spec/*.js'],
        browsers: ['Firefox'],
        plugins: [
            'karma-script-launcher',
            'karma-firefox-launcher',
            'karma-jasmine',
            'karma-coverage',
            'karma-junit-reporter'
        ],
        reporters: ['progress', 'coverage'],
        coverageReporter: {
            reporters: [{
                    type: 'cobertura',
                    dir: 'coverage/',
                    subdir: 'firefox',
                    file: 'firefox.xml'
                },{
                    type: 'json',
                    dir: 'coverage/',
                    subdir: 'json',
                    file: 'coverage.json'
                }]
        },
        preprocessors: {'**/app/*.js': ['coverage']},
        singleRun: true
    });
};

And here is the 'package.json' content:

{
    "name": "coverage-jasmine-istanbul-karma",
    "description": "Example of code coverage of Jasmine tests using Istanbul and Karma",
    "main": "sqrt.js",
    "version": "0.0.1",
    "engines": {
        "node": ">=0.8.0"
    },
    "repository": {
        "type": "git",
        "url": "http://github.com/ariya/coverage-jasmine-istanbul-karma.git"
    },
    "devDependencies": {
        "karma": "~0.10",
        "karma-coverage": "~0.2.6",
        "protractor": "^1.1.1",
        "http-server": "^0.6.1",
        "bower": "^1.3.1",
        "shelljs": "^0.2.6",
        "karma-junit-reporter": "^0.2.2"
    },
    "scripts": {
        "test": "node_modules/.bin/karma.cmd start my.conf.js"
    }
}

On Windows 7, I can't upgrade from Karma 0.10 for this reason.

APIDesign - Blogs - September 15, 2014 05:48 PM
Lambdas Go Bck2Brwsr!

Bck2Brwsr 0.10 has just been released. The most important thing to note is that it handles JDK8's lambdas. See the illustrative video:

The JDK emulation library is still based on JDK7, so don't expect your streams & co. code to run. I'll update to JDK8 after JavaOne2014. Meanwhile enjoy lambdas in your own APIs!

--JaroslavTulach 17:48, 15 September 2014 (UTC)

APIDesign - Blogs - September 15, 2014 10:57 AM
Play MineSweeper to Become iOS, Android, JavaFX & co. Developer

Since Sep 15, 2014 the MineSweeper NetBeans integration can be used as a starting point to develop own DukeScript applications. Just press the Develop button and a new project wizard will be opened as following picture shows:

Image:MineSweeperDevelop.png

--JaroslavTulach 10:57, 15 September 2014 (UTC)

Adam Bien - September 15, 2014 09:37 AM
Unit / Integration Testing the Bean Validation (JSR-303)

First you will need to load both: the Bean Validation and EL SPIs. Hibernate Validator is the Reference Implementation (RI) for Bean Validation, and GlassFish implements the EL JSR:


	   <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.1.2.Final</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.el</artifactId>
            <version>3.0.0</version>
            <scope>test</scope>
        </dependency>

Hibernate Validator requires Expression Language dependency. Without the javax.el dependency you will get the following error:


Caused by: javax.validation.ValidationException: HV000183: Unable to load 'javax.el.ExpressionFactory'. Check that you have the EL dependencies on the classpath
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.(ResourceBundleMessageInterpolator.java:172)
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.(ResourceBundleMessageInterpolator.java:118)

Now you are ready to launch your Integration Test:


import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;

public class ValidationTest {

    private Validator validator;

    @Before
    public void init() {

        ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
        this.validator = vf.getValidator();

    }

    @Test
    public void prereqsMet() {
        Workshop validWorkshop = new Workshop(2, 2, true, 3);
        Set<ConstraintViolation<Workshop>> violations = this.validator.validate(validWorkshop);
        assertTrue(violations.isEmpty());
    }  
}

Strictly speaking it is not a unit test, rather an Integration Test. In Unit Test you would like to test the validator logic only, without any dependencies to the SPI.

See you at Java EE Workshops at MUC Airport, especially at the Java EE 7 / Java 8 Testing day!


Real World Java EE Workshops [Airport Munich]>

There's no place like 127.0.0.1 » Netbeans - September 15, 2014 03:04 AM
Singularity

SINGULARITY

Men are getting dumber. If you are 30 years and younger you might not even understand what that statement means. If you did, you might not agree and a percentage of people in that age bracket will close this page before reading this sentence. But men are actually getting dumber. We live in the age of hashtags and passable grammatical blunders. Not long ago, if I write ‘Do I no you’, the other person will probably reply with a ‘What?’. These days, I’ve seen all manner. People writing ‘were’ instead of ‘where’, ‘see’ is now ‘c’, ‘ppl’ is actually ‘people’; then it gets weird ‘fams’ is ‘family’, ‘pops’ is ‘Daddy’, ‘pregs’, ‘preggo’, ‘prexy’, ‘cray’, ‘cuda wuda shuda’; the list goes on and on. Twitter, the 140 character social network didn’t help. Sometimes when confronted, people say they are trying to get their tweet into 140 ‘chars’. The same person can then write ‘prexident’ one week later, and it’s style.

English language and it’s usage is not the only thing that is suffering, people can no longer do simple mathematics without a calculator. Growing up, calculator wasn’t allowed in the examination hall, not until I started my tertiary education. If I get a penny for every time someone has given me more change than necessary, I’ll be a millionaire*. You can try it out. Buy something for 360 or 370 and give the store attendant 500, or something for 730 and above up till 770, give the clerk 1000 and see if you get the correct change. But I grew up in an age where my first mathematics teacher were my parents.

The show – ‘Who wants to be a millionaire’ was once very popular with franchises all over the world, today that show is being gradually replaced in popularity by dance competitions and the likes. These days we can afford to pay more for entertainment than we can afford to pay for education, just look at the humongous and unreasonable wages of footballers compared to the tokens we pay our teachers and say I am wrong. There was once something called JETS competition (Junior Engineers, Technicians and Scientists), winning a prize at any level of that competition was once a dream. These days, what we have is ‘The Principals Cup’ and the likes of them. Secondary Schools used to have Literary and Debating days; these days? They’ll rather organise a show and host D’banj (no disrespect to D’Banj).

I remembered our teachers can not afford to make mistakes in class. Before I started my Tertiary Education, I have read Programming in Pascal (by Schaums) not more than twice back to back, and solved at least 50% of the problems in the book. Teachers who don’t know what they teach like the back of their hands are usually objects of ridicule by the students and are soon posted away from the school; pay a visit to a school today and hear the teachers teach, you’ll think you are in hell.

So now you get the point I am trying to make, we are actually getting dumber.

Computers are getting smarter. This one is a no brainer. Head to apple.com and see what their new smart watch can do. Watch Ted videos on their youtube channel. Follow technology news (the real ones, not the ones on BI and TechCrunch) like ycombinator and you will come to one conclusion, computers, maybe not yet more intelligent than the average human, but they are getting smarter and faster too.

The first time I had an argument with someone about Singularity, it was 2008, fast forward 6 years and all the things I said then are coming to pass gradually, definitely a fridge that can order milk from amazon when you are low on milk, or a TV that can auto-renew your cable subscription is not YET mainstream, but who says it won’t in a year or two? So imagine this scenario, your fridge orders milk from amazon, amazon delivers the milk using one of their drones and a robot house help takes the order and stock your fridge. All you know is you have milk. Another scenario, you are wearing a smart watch that constantly sends data to your doctor, your doctor then sends a message back to the watch saying, stay off red meat for a month, your watch is connected of course to your fridge, who refuses to order meat from amazon when you are low on supplies. All you know is you don’t have meat. While these scenarios looked a bit crazy, come back in 2020.

So believe me, Singularity will happen. Maybe not like Von Neuman envisaged it in 1958, maybe not a doomsday prophesy like the current proponents want us to believe, but at a point, in the near future, computers will refer to us humans as Garbage In Garbage Out.


Adam Bien - September 13, 2014 04:30 PM
Java EE Maven Archetype (BCE / ECB) v0.0.4 - EntityManager Mocking and System Test

The 0.0.4 version of Java EE Maven Archetype comes with JPA EntityManager mocking example and dedicated JAX-RS system tests.

Execute the javaee-bce-archetype archetype from the command line and choose version v0.0.4 to create a sample Java EE project with Boundary / Control / Entity (BCE) structure, unit-, integration-, stress-, and system tested:


mvn archetype:generate -Dfilter=com.airhacks:javaee-bce-archetype

The sources of the sample project are also available directly: https://github.com/AdamBien/javaee-bce-pom.

Thanks Dirk Franssen for the pull request!

See you at Java EE / HTML 5 workshops at Airport Munich and each first Monday of the month at 6 P.M. (CET) airhacks.io


Real World Java EE Workshops [Airport Munich]>

Adam Bien - September 12, 2014 05:02 AM
WildFly, Bower, Karma, RequireJS or NetBeans 8.0.1

NetBeans IDE 8.0.1 is available for download and contains:

  1. Modularity and enterprise features for JavaScript via RequireJS
  2. Support for debugging JavaScript files with Karma
  3. Node.JS and Bower modules can be installed directly within the IDE
  4. Grunt tasks available in the popup menu for web projects
  5. Built-in support for: GlassFish 4.1, Tomcat 8.0.9, WildFly, and WebLogic 12.1.3
  6. Latest PrimeFaces framework bundled in the IDE
  7. GIT and Java tools improvement

All the features above are available without any additional plugin :-)

See the entire feature list.


Real World Java EE Workshops [Airport Munich]>

Michael's blog » NetBeans - September 11, 2014 08:29 PM
NetBeans 8.0.1 translated

Looking for a French, Spanish, German or other translation? Just a few days after its release, NetBeans 8.0.1 is available for a couple of different languages [1].   [1] http://bits.netbeans.org/netbeans/8.0.1/community/

Geertjan's Blog - September 11, 2014 08:10 PM
JerseyFaces, DukeScript, and NetBeans!

Think about names like 'DukeScript' and 'JerseyFaces'... and suddenly you understand the name 'NetBeans'. Jaroslav Tulach is the guy behind these technologies, as well as their names. I've known Yarda for about 10 years at this stage. His key contribution to the developer community is that he's very inspired in connecting and, even, rejuvenating one technology to and, in the light of, some other technology.

In the case of 'DukeScript', he wants to put the Java, i.e., 'Duke', into JavaScript, i.e., 'Script'. In the case of 'JerseyFaces', he wants to provide a 'Jersey' back-end to a front-end, i.e., 'Faces', consisting of HTML:

&amp;amp;amp;amp;amp;amp;lt;span id=&amp;amp;amp;amp;amp;amp;quot;XinhaEditingPostion&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;span id=&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;XinhaEditingPostion&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;

And what about 'NetBeans'? Here, Jaroslav Tulach, and those around him, wanted to put JavaBeans (i.e., 'Beans') onto the 'Internet', i.e., 'Network', i.e., 'Net'. Networked-JavaBeans. OK, how that relates to NetBeans IDE as we know it today, is a mystery, but who knows, maybe one day you'll find NetBeans in a browser, of some kind, and then the promise of 'NetBeans' will have been fulfilled!

In the meantime, wactch the movie above, and learn from the latest and greatest attempt to avoid JavaScript in the browser. Forget, for a moment, Vaadin's attempt to hide JavaScript from the programming model, as well as comparable attempts made by PrimeFaces and Wicket, and learn from the genius, yes, genius, behind NetBeans to see what the future can bring to your development efforts. And the future starts today, of course.

Adam Bien - September 11, 2014 04:06 AM
HTML5, WebSockets and Java EE 7 -- Screencast

A simplest possible example for HTML - Java EE 7 communication using WebSockets.

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's Airport, particularly at the Java EE User Interfaces or / and Java EE 7 and HTML 5 workshops!


Real World Java EE Workshops [Airport Munich]>

APIDesign - Blogs - September 10, 2014 06:56 PM
JavaOne2014: Need Speakers for My Session!

JavaOne2014 is around the corner and my sessions have been scheduled. I start with a BOF on Monday evening called Virtually Inside-Out! - it is going to be discussion between authors of alternative JVMs. So far we are two: I have mine Bck2Brwsr and Niklas has RoboVM.

Don't you know a developer working on own JVM who will be at JavaOne2014? If so, please tell him to contact me and stop by! I plan to make the BOF a lively chat (how did you implemented lambdas?, how did you implemented defender methods?), but in case we don't have a topic to talk about, I am ready to explain why value classes should not be in JVM and why InvokeDynamic is a completely stupid idea. Anyone from JDK team to defend these proposals?

On Tuesday morning Toni and me will continue with DukeScript tutorial. In case you use Java and want to learn how to code for iOS, Android, JavaFX and browsers, stop by. We will help you create your first application that is written once and displayed anywhere!

I'll finish on Tuesday noon talking about API Design checklist. I'd like to name at least ten things one should check for, but so far I have about two. Don't you have any idea what could be in such checklist? If so, please talkback!

--JaroslavTulach 18:56, 10 September 2014 (UTC)

NetBeans Zone - The social network for developers - September 10, 2014 12:24 PM
NetBeans IDE 8.0.1 Now Available for Download

The NetBeans Team has released NetBeans IDE 8.0.1, with significant enhancements to features relating to HTML5, JavaScript, and CSS3.An update to NetBeans IDE 8.0, this release includes the following notable changes: Preview Text:  NetBeans IDE 8.0.1 has been released! Legacy Sponsored:  ...

Adam Bien - September 10, 2014 10:58 AM
GlassFish 4.1 Is Ready For Download

GlassFish 4.1 is available for download.

Checkout the release notes for fixes / features.

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


Real World Java EE Workshops [Airport Munich]>

Geertjan's Blog - September 10, 2014 07:00 AM
NetBeans IDE 8.0.1 Now Available for Download

NetBeans IDE 8.0.1 is here!

Michael's blog » NetBeans - September 09, 2014 09:52 PM
NetBeans 8.0.1 available

The latest version of NetBeans is available for download now [1]. For more information read the New and Noteworthy page [2].   [1] https://netbeans.org/downloads/ [2] http://wiki.netbeans.org/NewAndNoteworthyNB801

Geertjan's Blog - September 09, 2014 08:23 PM
JCrete -- the Movie

I ranted and raved about JCrete recently... and here's the evidence by Maxi, Heinz's son:

Click to see the movie above!

NetBeans Zone - The social network for developers - September 09, 2014 10:25 AM
NetBeans Weekly News (Issue #656 - Sep 9, 2014)

Community YouTube Interviews on NetBeans Day 2014 NetBeans Day 2014 is around the corner, it will be held on Sunday, September 28th in San Francisco. Find out who will be speaking there, via a series of very short YouTube clips introducing you to key speakers who you can meet at NetBeans Day. Preview Text:  In this issue: An introduction to the...

Geertjan's Blog - September 08, 2014 07:00 AM
Knockout Client Generator for RESTful Web Services

NetBeans IDE has heaps of wizards. One of the ones I like the most is "RESTful JavaScript Client", which generates a JavaScript front-end for a RESTful Web Service you select in the IDE. Unfortunately, the client code is based on Backbone.js, which was popular a year or two ago, while right now Knockout and Angular appear to be more popular. I created an issue to make this wizard pluggable, so that the data could be exposed in some way, enabling anyone to create templates using the framework of their choosing. There should be a drop-down where anyone should be able to plug in the name of their framework and then, when the user chooses the name, a set of templates provided by the plug in should be used to generate the JavaScript front-end.

Until that issue is evaluated and fixed, I created my own RESTful JavaScript client generator, which is based on the standard one in the IDE. It is called "RESTful Knockout Client" and you can see it below:

Right now, it is hardcoded for Knockout, though I want to make it generic and pluggable, as described above. When it is selected and Next is clicked, you can type in the name of the JavaScript file that will be generated, while you can also specify that the Knockout.js libraries should be added to the sources of your project.

When Browse, next to "REST Project Resource", is clicked above, you can browse the RESTful Web Services available in the IDE, as shown below.

When you have selected a RESTful Web Service, you'll see it named in the dialog, together with the related database table name, as shown below.

Click Next and then you can specify that an HTML file should be created, which will contain references to the various JavaScript files, as well as HTML tags for rendering the data provided via Knockout.

Click Finish and then your project structure will be as follows. In other words, everything is exactly the same as "RESTful JavaScript Client", except that different files are generated at the end, i.e., the wizard and all its steps are identical to "RESTful JavaScript Client".

At the start of this sequence, there were no files in the project. Now, the jQuery and and Knockout libraries are added, as well as the customers.js and customers.html file, as defined above. 

The customers.js file has this content, all generated, nothing tweaked afterwards:

MyCustomerViewModel = function() {
    var self = this;
    self.items = ko.observableArray();
    $.getJSON("http://localhost:58844/CustomerManager/webresources/customers/").
            then(function(customers) {
                $.each(customers, function() {
                    self.items.push({
                        city: ko.observable(this.city),
                        phone: ko.observable(this.phone),
                        name: ko.observable(this.name),
                        addressline2: ko.observable(this.addressline2),
                        creditLimit: ko.observable(this.creditLimit),
                        addressline1: ko.observable(this.addressline1),
                        state: ko.observable(this.state),
                        fax: ko.observable(this.fax),
                        email: ko.observable(this.email),
                    });
                });
            }); 
};
ko.applyBindings(new MyCustomerViewModel());

And here's the customers.html file, again, nothing tweaked, everything exactly as generated:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <table border="1">
            <thead>
                <tr>
                    <th>CITY</th>
                    <th>PHONE</th>
                    <th>NAME</th>
                    <th>ADDRESSLINE2</th>
                    <th>CREDITLIMIT</th>
                    <th>ADDRESSLINE1</th>
                    <th>STATE</th>
                    <th>FAX</th>
                    <th>EMAIL</th>
                </tr>
            </thead>
            <tbody data-bind="foreach: items">
                <tr>
                    <td data-bind="text: city"/>
                    <td data-bind="text: phone"/>
                    <td data-bind="text: name"/>
                    <td data-bind="text: addressline2"/>
                    <td data-bind="text: creditLimit"/>
                    <td data-bind="text: addressline1"/>
                    <td data-bind="text: state"/>
                    <td data-bind="text: fax"/>
                    <td data-bind="text: email"/>
                </tr>
            </tbody>
        </table>
        <script src='js/libs/jquery/jquery.min.js'></script>
        <script src='js/libs/knockout/knockout-min.js'></script>
        <script src='customers.js'></script>
    </body>
</html>

I don't know enough about Knockout yet to turn the generated code into a CRUD application. If someone can help me with that, that would be great.

Ultimately, though, this will be a cool way to quickly bootstrap a new Knockout codebase that needs to interact with a RESTful backend. Anyone interested in this plugin, or in working with me on it, let me know.

Adam Bien - September 06, 2014 05:27 PM
Recordings Of The 6th Airhacks Q&A

Thanks for watching live (79 attendees), all the interactions, particularly from the IRC #airacks channel and twitter.

Any questions left? Then join the conversation at each first Monday of the month at 6 P.M. live. No registration or any other commitment required.

Also checkout: "Timisoara JUG Session: Hacking Opinionated JavaFX / Java 8 Apps" at 16th October, 5.30 P.M CET: http://www.ustream.tv/channel/adambien.

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 or on demand and in a location very near you: airhacks.io!


Real World Java EE Workshops [Airport Munich]>

Geertjan's Blog - September 06, 2014 11:00 AM
Trancestris: Translation Tool on the NetBeans Platform

Very interesting. The team behind Ancestris, the genealogy app I highlighted yesterday, have developed a tool named Trancestris to help translate the resource files used by Ancestris.

Trancestris is, itself, a NetBeans Platform application too. Apparently, it is very easy to use it, and it is available for Windows, Mac OSX, and Linux users. 

Read all about it here.

Would be extremely interesting to find out whether this tool could be used generically, e.g., to translate NetBeans IDE, for example, or any other application created on the NetBeans Platform. From the screenshot, it would appear that one registers a ZIP file containing sources of a NetBeans Platform application and that then all the bundle files are exposed. A nice task for someone to investigate would be to take a look at this and try it out with a ZIP containing the NetBeans sources! 

NetBeans Zone - The social network for developers - September 05, 2014 09:00 AM
Bilal Kathrada: Why NetBeans IDE is Great for Teaching Java

We've now met several teachers using NetBeans IDE in the classroom: Michiel Noback (Netherlands), Zoran Sevarac (Serbia),