Google Plugin for Eclipse (GPE) is Now Open Source

Thursday, November 17, 2011

Google Plugin for Eclipse (GPE) is Now Open Source:
"Today is quite a milestone for the Google Plugin for Eclipse (GPE). Our team is very happy to announce that all of GPE (including GWT Designer) is open source under the Eclipse Public License (EPL) v1.0. GPE is a set of software development tools that enables Java developers to quickly design, build, optimize, and deploy cloud-based applications using the Google Web Toolkit (GWT), Speed Tracer, App Engine, and other Google Cloud services.

Because of the large ecosystem that has developed around GWT, App Engine, and Google’s Cloud services, and because our primary mission is to help users (as opposed to creating proprietary development tools), it makes a lot of sense for us to open source GPE and make it easier for the community to enhance and extend the tools.

According to Red Hat’s Max Andersen, “We have many developers using Google's Eclipse plugin to develop GWT-based applications targeting the JBoss Application Server. With the open sourcing of the plugin we are looking forward to working even more closely with the Google team and the rest of the community on making the developer experience even more productive and an integrated part of Eclipse platform. We are especially interested in seeing the Google Eclipse plugins being able to target multiple runtimes such as the JBoss Enterprise Application Platform and Google App Engine in a uniform way, working more seamlessly with standards-based tools and frameworks.”

As of today, all of the code is available directly from the new GPE project and GWT Designer project on Google Code. Note that GWT Designer itself is based upon the WindowBuilder open source project at (contributed by Google last year). We will be adopting the same guidelines for contributing code used by the GWT project.

In the months to come we expect to start bringing on more committers, but don't let that stop you from contributing. The project will only grow with the community's input. Submitting bugs via the issue tracker and engaging with other users on the forums will go a long way towards ensuring the overall quality of the product."


Good, Good Java Magazine (November-December Issue)!

Good, Good Java Magazine (November-December Issue)!:

"Last night I browsed the just released November-December issue of Java Magazine from cover to cover. To say that I'm "impressed" would be a huge understatement. Now, it's true that I made some contributions (to the "Java Nation" section) -- but I still count myself an unbiased observor of the rest of the issue, which I was seeing for the first time. That's what really impresses me.

The organizing forces behind Java Magazine are Senior Managing Editor Caroline Kvitka and Oracle Technology Network leader Justin Kestelyn. For issue 2 (the first issue came out around the time of Java 7's release), they've put together a selection of news items and technical articles that covers the breadth of the Java realm (from mobile devices to the enterprise), and also speaks to the broad range of Java/JVM developers (from beginners to highly-experienced architects). The November-December 2011 Java Magazine is only 58 pages long (PDF), but it's chock full of substantive content.

A quick look at the roster of authors and the articles they contributed illustrates my point:

  • Philip J. Gill writes about the start-up dooApp, which is applying JavaFX technology to support the work of green building professionals;

  • David Baum writes about "Austria's E-Health System: Driven by Java";

  • Michael Kolling instructs beginners on how to use Greenfoot to create their first interactive computer game;

  • JUG-AFRICA founder Max Bonbhel provides an "Introduction to RESTful Web Services (Part 2)";

  • Michael Huettermann illustrates "Agile ALM (Application Life Management) for Java Developers";

  • Winston Prakash and Susan Duncan present "Understanding the Hudson Plug-in
    Development Framework: Part I";

  • Michael Meloan interviews Nandini Ramani about the key features of JavaFX 2.0 in "Shock the Senses";

  • Simon Ritter investigates "JavaFX and Swing Integration";

  • James L. Weaver demonstrates "Using Transitions for Animation in JavaFX 2.0";

  • Adam Bien shares his knowledge and experience with "Stress Testing Java EE 6

  • Vikram Goyal talks about "Getting Started with GameCanvas and the Mobile Sensor API";

  • London Java Community leaders Benjamin J. Evans and Martijn Verburg provide "Tips about how and why to choose a non-Java language for your project";

  • Java Language and JVM Spec Lead Alex Buckley talks with Michael Meloan about the 2011 JVM Language Summit and the evolution of the JVM and the Java platform.

Do you see what I mean? No matter what your area of fundamental interest in Java and the JVM is, there's some very interesting content in the Nov-Dec Java Magazine awaiting you. And, beyond your area of fundamental interest, the magazine provides an opportunity to keep up on other regions within the Java/JVM global realm.

I'm quite impressed! (Oh, did I say that already?)

I'm sure some developers had negative thoughts when they first heard about Java Magazine. "Oh, Oracle's making a Java magazine to try to make us like them, and manipulate us into ..." Sure, Java Magazine is a slick publication. But it's also one of the most professionally rendered content-dense developer-centric technology magazines I've ever seen -- and I've been around, subscribing to magazines aimed at software engineers, beyond 3 decades now (I remember the early issues of Byte).

If you're a Java/JVM developer, I don't think it makes sense not to be a Java Magazine subscriber. As they say, the train has left the station, and in the case of Java Magazine, it's carrying successful Java start-ups, Java Champions, the Spec Leads who are leading Java's forward evolution... Make your own choice, but I'm glad I subscribe."


Adding file upload to JSF 2.0

Saturday, October 1, 2011

Adding file upload to JSF 2.0:
" Since JSF has been around people have been wanting a full blown file upload component.

While this blog entry will not give you that, it will show you that using the right codebase

uploading files in JSF 2.0 becomes a breeze.

Step 1, add the JSF upload dependency to your web application






Step 2, create the JSF page with an HTML input component on it.

<h:form enctype="multipart/form-data">

File to add: <input size="32" type="file" name="file"/> <br/>

<h:commandLink action="#{fileAddBean.doAdd}" value="Add"/>


Step 3, on the server side access the data.

String fileString = FacesContext.getCurrentInstance().


Note the 'fileString' will contain the content as a BASE64 encoded string,

so you will need to BASE64 decode it to get the byte-array.

See for more information


Google launches new developer site, kicks it off with the Google+ API

Friday, September 16, 2011

Google launches new developer site, kicks it off with the Google+ API:

Google developer

Google has launched a new developer portal where it can share news about events and updates, as well as offer examples and use cases for developers of all their products -- including Android. To get things started, Google just released the Google+ API and has shared a couple methods to retrieve public data from Google+. Initially, the API will only collect public data, which should alleviate any privacy concerns and give the folks in Mountain View some time to get a secure method worked out for data that isn't shared with the world.

You might be asking what all this API mumbo jumbo means for you and I. Think of it as code that developers can use in their programs, across various platforms like Windows, Mac OS, Android, even ChromeOS. They can plug this code into their programs and collect data and display it however they like. This means the third-party applications, like Twitter clients, will be able to hook into Google+ like they currently can with Twitter or Facebook. As we've seen so far with Google+ itself, this will take some time to get a viable solution worked out; one that addresses users privacy, yet makes things easy for web and mobile developers to use. We're looking forward to see how this all develops, and of course to see what enterprising developers can come up with. For more information, visit the links below.

Google Developers; Google+ API. Via +Reto Meier


Welcome java 7 - Part 1

Monday, August 15, 2011

Welcome java 7 - Part 1: "

After a long 5 year wait, finally comes the new version of Java, jdk 7. The entire Java 7 project was divided into two sub-projects:

  • The coin project; which featured a few improvements to the language like switch with strings, mutil try etc.

  • Lamba's project containing some of the most innovative and complex features results in leaving the language a lot more dynamic.

In order to launch this new version, which will be used primarily to develop the coin project and lambda project scheduled for release in 2012 along with java 8, constant updates have had to be made. These innovations are not only a welcome development for commercial applications, but also on other platforms, for example, in Java EE 7 which is being developed on top of this new jdk.

This version contains JSR 392 the, Da Vinci Machine project whose main objective is to introducenew languages to the JVM (java virtual machine). The idea is to use external bytecodes in JVM (invoke Dynamic) so when future languages in the JVM are released, the existing languages will process a lot faster, the Jruby( Ruby version run in JVM) for example, will not need about two thousand classes. Some other cool information is the open jdk now is the reference implementation.

New Improvements to Java 7

JSR 292: The Da Vinci machine project of which the main objective is to cater for more languages in the JVM.

JSR 334: Little features in Java like switch with String which i will expand on below.

Some modifications have been made to the API class-loader to avoid deadlocks in non-hierarchical class-loader topologies.

JSR 166y: Updates in API's concurrency also in API's Collections.

Improvement to internationalization like upgrading to Unicode 6.0 java.util.Locale to suport IETF BCP 47 (Tags identifying languages) e UTR 35 (dates local Markup Language)

JSR 203: New APIs for filesystem access, scalable asynchronous I/O operations, socket-channel binding and configuration, and multicast datagrams

A portable implementation of the standard Elliptic Curve Cryptographic (ECC) algorithms, so that all Java applications can use ECC out-of-the-box.

Update to JDBC 4.1 Among its improvements is the automatic closing of connections and the RowSet 1.1 now can support all cand data supported by JDBC Driver.

New improvements to some graphics components like the new Java2D pipeline with base extensions Xrender X11, provides similar functionality to the modern GPU. Window graphics are well done, with translucent resources. Ther is also a new look and feel Nimbus theme of Swing component, and the new Jlayer decorator component allows you to apply many effects inside its border.

Updates for JAXP 1.4, JAXB 2.2a, e JAX-WS 2.2.

Improvement to MBeans which is important for reporting CPU processes about the JVM.