Red Hat

In Relation To JBoss Tools

In Relation To JBoss Tools

Eclipse tools for Hibernate Search

Posted by    |       |    Tagged as Hibernate Search JBoss Tools

I’m glad to announce the second release of the Eclipse plugin for Hibernate Search. In this post I’m describing the changes and new features of the release. Here you can find the first release blog post.

Index Toolkit

The major change of the release is that all functionality, except "Index Rebuild", are now grouped in the Index Toolkit view. To open it, right-click on a configuration in the Hibernate Configurations view and choose "Open Index Toolkit".

Configuration menu items

Here you can find three tabs: Analyzers, Explore Documents, Search. The first two tabs repeat functionality from the first release of the plugin.

Analyzers Toolkit tab
Explore Documents tab


The new feature of the release is the capability to easily execute the search.

Search tab

The plugin passes the input string from the search text box to the QueryParser which parses it using the specified analyzer and creates a set of search terms, one term per token, over the specified default field. The result of the search pulls back all documents which contain the terms and lists them in a table below.


What’s next

The next step is to merge this plugin with the JBoss Tools Hibernate plugin. Currently, the Hibernate Search plugin is based on the Hibernate plugin which must be installed beforehand to prevent a "missing required feature" error.

Eclipse tools for Hibernate Search

Posted by    |       |    Tagged as Hibernate Search JBoss Tools

I’m glad to announce the first release of the Eclipse plugin for Hibernate Search. In this post I want to describe its features and ask you for any comments, positive or (even more important for me) negative.


The plugin was made as a feature of jbosstools-hibernate plugin, which can be downloaded and installed on its own or together with the full JBoss Tools distribution. After that you can install the Hibernate Search plugin via the Eclipse Marketplace.

All requirements, such as eclipse version and platform support, are listed in the link.

In order to work with Hibernate Search you have to set the Hibernate configuration properties and


The plugin was thought to be some kind of a Luke tool inside Eclipse. It was thought to be more convenient than launching a separate application, and picks up the configuration directly from your Hibernate configuration.

Three options were added to the console configurations: Index rebuild, Explore documents and Try analysers.

Index Rebuild Action screenshot

Index rebuild

When introducing Hibernate Search in an existing application, you have to create an initial Lucene index for the data already present in your database.

The option "Rebuild index" will do so by re-creating the Lucene index in the directory specified by the property.

Screenshot of Hibernate Search indexed entities
Screenshot for Hibernate Search configuration properties

Explore Documents

After creating the initial index you can now inspect the Lucene Documents it contains.

All entities annotated as @Indexed are displayed in the Lucene Documents tab. Tick the checkboxes as needed and load the documents. Iterate through the documents using arrows.

Screenshot of Lucene Documents inspection

Try the Analyzers

The "try analyzers" instrument allows you to view the result of work of different Lucene Analyzers. The combo-box contains all classes in the workspace which extend org.apache.lucene.analysis.Analyzer, including custom implementations created by the user. While you type the text you want to analyse, the result immediately appears in the AnalysisResultTab view.

Screenshot of Try Analyzers

Possible issues

One problem which you might have is that "Index rebuild" option seems to do nothing. As a temporary workaround try to set the Hibernate configuration property "" to "true" explicitly.

If you have any other problems, such as unexpected behaviour, strange windows with exceptions or any errors in the Error log view feel free to contact me directly anywhere or just create an issue in the plugin github page.


  • Make options "Index rebuild" and "Explore documents" available not only for configurations, but also for concrete entities under session factory.

  • Make Lucene Documents view more comfortable to use and add there more features from Luke tool, for example, the ability to search over documents.

  • Increasing stability of the plugin and implementing your suggestions!

The AeroGear project has just released 1.0.0.M2c as our first followup since launch! This release was focused on improving the archetype and quickstart mobile/html5 examples. They got more than just a new look and feel though. We added better device detection, improved our responsive design, integrated with JBoss Tools, JBoss AS 7.1, and more...

The getting started wiki has been fully updated to show you how to build your own mobile/HTML5 based application. This means built, tested, and deployed to JBoss AS 7.1 in just a matter of minutes. Giving you a great base to build your own application from. Then our deep dive wiki gives you all the details you need to need for our HTML5, CSS3, jQuery Mobile, JAX-RS endpoints and more.

Notable Updates

Here are some of the notable updates to our core example and archetype:

Whats Next

We're still just getting started, and our M3 release is going to dig into more advanced areas. We'll be looking at hybrid application support, application based security for clients and endpoints, and more. We'll also be creating our own advanced example set to showcase different technologies and approaches for mobile development with JBoss.

Stay tuned for 1.0.0.M3 in the next 6-8 weeks, and remember this is open source - so if you've got an itch and an idea stop by our forums, or our IRC channel to share! If you are interested in a more permanent situation - we're hiring!!! We're working on all aspects of mobile development, so if you want to play with some of the hottest technologies on the planet - contact me!

Community Call To Action

Just as a reminder we’ve got team meetings on IRC at #aerogear @, user, and developer forums, all of our code is up on github for sharing, and we’re always looking for motivated developers to step up and join the team!

Success comes with a strong community, and everyone getting involved however they can! Bring your questions, and opinions, and let's hear from you!!

[AeroGear Project] [GitHub] [Twitter] [User Forums] [Dev Forums]

The AeroGear Mobile & HTML5 Project Is Alive!!

Posted by    |       |    Tagged as AeroGear JBoss Tools Seam

I’m very happy to announce the creation of AeroGear, the newest project at JBoss! The AeroGear project is all about making mobile development of all kinds as easy as possible with JBoss! This project is focused on three things; education, innovation, and community!


We’ll be covering all aspects of mobile application development! This includes the latest HTML5 technologies used in the mobile web, and in hybrid application frameworks like the Apache Cordova. All the way to JBoss AS based services, mobile RichFaces/JSF2, tooling, and native application support, and prototyping.

To wet your whistle we’ve put together a 5 minute video to show you how easy it is to get from zero to a mobile web application with cloud hosted services on JBoss.

Just in case you missed it at the end, the link to the live hosted demo on Openshift is at

Assuming that got your interests up, we go a lot deeper. Our step by step guide on building this HTML5 mobile application yourself, including where to fork it on github is available right on our wiki page. There are also guides detailing the specifics on single page applications, HTML5 updates, CSS3, jQuery Mobile, RESTful endpoints, and more here.


Our initial focus is on providing excellent examples, tutorials, and techniques for enterprise mobile developers. These will cover mobile web, hybrid, and native applications approaches for working with JBoss and other 3rd party projects. For all you polyglot lovers out there, we’re not limiting ourselves just to Java either, we’ll have pure HTML, and JavaScript demos, TorqueBox and Ruby will make an appearance, and we’ll be looking at other approaches as well.

However, at the same time we'll be developing new mobile[native, hybrid, and web] based frameworks for solving real concerns of enterprise developers. The most immediate of these include offline data synchronization, security, container integration, and support across a broad range of devices.

We’re currently designing and discussing some of these solutions, and want your input! Head over to the AeroGear Developer space for more. We plan on moving pretty fast here and hope to have some real world prototypes up and running soon.


Whether you are a long time Java EE developer looking to migrate existing applications to mobile clients, or client developers looking for a powerful back-end for your applications this is where you can learn more about both, and become part of the community building it!!

We’ve got team meetings on IRC at #aerogear @, user, and developer forums, all of our code is up on github for sharing, and we’re always looking for motivated developers to step up and join the team! We’ll be speaking at up coming conferences and JUGs around the world, as well as having regular blogs, webinars, and screencasts! Watch this space and our forums for the latest.

Success comes with a strong community, and everyone getting involved however they can! Bring your questions, and opinions, and let's hear from you!!

[AeroGear Project] [GitHub] [Twitter] [User Forums] [Dev Forums]

The JBoss World opening Keynote featured one of the best keynote demonstrations I've ever seen!! Part of that demonstration included a RichFaces application customized for the mobile web call TweetStream. We are going to talk about that app, why it works so well for mobile web development, and how you can get it running on your machine.

The entire JBoss World demonstration included many JBoss projects; such as JBoss AS, Infinispan, Hibernate OGM, CDI, and Errai. A video of the keynote & demo is available through the image on the left. The demo starts around 35:15 minutes in. And yes that WAS my real iPad/iPhone password :-)

The latest JBoss Assylum also features many of the developers giving behind the scenes perspective and humor. Each project will be providing blogs and code for its own part. You can get the latest at the JBoss World Keynote 2011 landing page, and follow along with the #jbwkeynote2011 twitter hashtag!

RichFaces TweetStream Application

Wesley Hales and I were looking for an application to show RichFaces 4 on mobile devices for our JUDCon presentation: Filling the Gap: Going Mobile With JBoss Technologies Today. We came up with a simple idea that would be instantly recognizable, allow audience participation, and with just enough UI complexity. It was around this time that JBoss Keynote was being planned, and TweetStream just fit right in!

TweetStream uses twitter4j to search and filter a stream of tweets containing a set of hashtags, and displays them to the user. It also keeps track and calculates the top 10 tweeters, and the top 10 hashtags. It then uses RichFaces Push to keep the UI updated with the latest content across devices.

In front of this Wesley and I built a set of RichFaces 4 views that provide advanced support for different mobile devices. We targeted webkit browsers that run on iPhones, iPads, BlackBerry, and Android devices. Each view is served through a single URL with device detection for a one bookmark solution. We achieved near native behavior using advanced HTML5/CSS3 techniques to process orientation layout changes, transitions, and more.

If you just can't wait to check out the demo on your own machine we have a version of it hosted on RedHat's OpenShift just follow this link The Filling The Gap presentation was also recorded and contains Wesley and I discussing some of the apps details.

Source Code, OAuth, and IDE Integration

Instead of just explaining the various parts all up front lets just jump right into getting the source code, building it, deploying to JBoss AS and integrating it into JBoss Tools. We'll discuss some of the internals below, or is follow up blogs.

note: I'm assuming you have git, Maven, Java 1.6, JBoss AS 6 Final, and JBoss Tools 3.2 for IDE integration

The TweetStream source code is part the RichFaces organization on You can use git to clone the repo with: git clone We'll talk about the structure after we get it running.

Twitter4j & OAuth

While we would love to let you use our twitter account credentials, that would not be so good. This means that you'll need to go through the steps outlined in the README to get twitter4j setup.

Twitter has a good step by step process for this on there OAuth page. Once you go through that you'll be able to update the file with these values:


Once that's done all that is left is deploying the application!

JBoss AS 6

In the base /tweetstream directory run mvn package to build the standalone version of the application. You should now have the file /tweetstream/target/tweetstream.war. Copy this file to the $JBOSS_HOME/server/default/deploy directory.

At this point your can start the server, but I would recommend you start with the $JBOSS_HOME/bin/ -b if you want to access the server from external clients, like your mobile phone ;-)

Once the application starts up you can see it at http://localhost:8080/tweetstream. If you want to try out your smartphone or tablet you may need to modify you firewall to allow port 8080 through. Then access using your tablet, or phone at http://your.ip:8080/tweetstream.

Importing into JBoss Tools

Importing this project into JBoss Tools 3.2 is easy because it uses m2eclipse under the covers. All you need to do is choose File-->Import-->Existing Maven Project, and point it to where you cloned the source code. Eclipse will run through it's normal project import, and in a few minutes have the new project ready to go.

A couple of things to note:

  • Add your JBoss AS 6 server as normal and you can configure TweetStream to be deployed
  • You may see build issues in the /jbw project - I'll explain that in a minute

Structure and Key Files

Now that you have the application running, and hopefully imported into JBoss Tools lets talk about the structure and some of the key areas to look at.

As I alluded to above this application was originally just going to be for Wesley and my JUDCon talk. When it became part of the JBoss World Keynote demo we needed to support two different back-ends. We did this by using the power of CDI, and Maven to create two profiles. A standard profile for JUDCon, and a keynote version. Below is a brief explanation of the various modules:

/tweetstream  #Core application and views
/shared       #Classes files needed across the other two modules
/jbw          #Keynote specific source files to hook into the different backend

The build errors you get in eclipse for the /jbw directory is because of missing dependencies related to the keynote demo. At some point in the near future we'll be releasing the whole keynote demo, but for now Tweetstream is moduler enough to run on its own.

The way we were easily able to shift our backend so easily is a testament to not only JBoss, but to the Java EE as a whole. The pieces fit together well, and with CDI, and JSF we were able to swap in a completely different backend with very little effort.

As I said we'll be following up this blog with deep-dives into the various details, but for now, here are some things to take a look at:

Device detection

We use a great little project called mobileESP to help us with device detection. It is a basic user-agent sniffer that we wrapped in a CDI bean to do our bidding in a class called This could be swapped out for any of the other device detection libraries such as the WURLF API.

We take advantage of JSF 2.0 and facelets templating to provide a single point of access per view to act as a dispatcher for different devices. This provides a single bookmark and URL no matter what device you are accessing it from. You can review that in the home.xhtml

Orientations detection and updates

Using CSS 3 @media selectors makes this a breeze. We use this to great effect in for the tablet view. Always keeping the top tweeters, and top hashtags in the best location.

SmartPhone transitions

Making the page handle the page transitions on smartphones was also easier than you'd think. You can review the details in the phoneHome.xhtml file.


Improvements That Can Be Made

TweetStream was developed quickly and with a singular goal in mind. There are some great opportunities for improvements, future RichFaces components, and more. I would like to encourage anyone who is interested to take look in more detail. Here are some possible ideas for improvements

  • Streamline device detection
  • Customizable search filters
  • Layout components to support transitions
  • RichFaces Mobile Skins
  • Combine, and compress CSS
  • Performance analysis and update
  • Drill-downs on tweets and tags
  • Flush out the desktop version

There are a lot more possibilities, fork it, play, and lets see what you can come up with!! We'll be standardizing and integrating some of these things into RichFaces, and other parts of JBoss so stay tuned!!

Where to go from here

Wesley and I are going to post additional blogs and dig into some of the features just touched on above. All of this should give you a good starting point for your own mobile web application using RichFaces 4 and JBoss! Also, as I mentioned above there are going to be several more blogs related to the JBoss World Keynote demo that will detail Infinispan, Hibernate OGM, the plug computers and more!!

[JBW Keynote Page] [JBW Keynote Twitter] [JBW Asylum] [TweetStream Online] [TweetStream Git Repo] [RichFaces Twitter]

The final re-post to remind you to use the feeds from JBoss Tools to get JBoss tooling news ;)

Blogging about upcoming webinar tomorrow, the Cloud efforts and bringng back life to a BPEL project.

See it at JBoss Tools Blog

JBoss Developer Studio 3

Posted by    |       |    Tagged as Eclipse JBoss Tools

During EclipseCon we released JBoss Developer Studio 3

JBoss Developer Studio provides a single-install of a full Eclipse based development environment which includes Eclipse 3.5, productized subset of JBoss Tools 3.1, TestNG, SpringIDE and an (optional) bundled JBoss Enterprise Application Platform 5.

JBoss Developer Studio is for those who would like to just install and IDE and get work done without the hassle of configuring Eclipse and related runtimes.

If you are into JBoss SOA, Portal or the Enterprise Webserver platforms JBoss Developer Studio 3 supports these too and the JBoss Developer Studio Portfolio Edition product gives you access to these.

Information about installation and migration from previous JBoss Developer Studio versions are available from JBoss Developer Studio 3 page.

Have fun!

EclipseCon 2010 is getting close and JBoss by Red Hat is again sponsoring this yearly Eclipse focused event!

This will also be the week where Chris Aniszczyk will be joining Red Hat.

Chris is the PDE co-lead, sits on Eclipse Architecture Council and on Eclipse Board of Directors and i'm looking forward to meet up with him as a collegaue and not just as a PDE bashing fan.

Chris Aniszczyk will be joining the Eclipse Linux Tools team, but he have promised to visit the Java Middleware Tooling world once in a while.

Welcome Aniszczyk!

Beyond hiring Eclipse staff and sponsoring EclipseCon we are also there contributing with a good set of talks:

I'm doing How to make a framework plugin that does not suck and Pimp my bug report.

Rich Sharples is taking part in the panel on The future of application servers which is to be hosted by Chris Aniszczyk.

Nick Boldt will be entertaining with Dash Athena Exposed: Or, How I Learned to Quit Worrying About PDE & Love the Build Process, Build and Continuous Integration with Eclipse and on the Challenge Eclipse - Ask the AC panel.

Brian Fitzpatrick will be talking about DTP in the Real World and Distributed Teams and Eclipse: Developing Over the Miles.

Andrew Overholt shows A world-class Linux IDE: how do we get there from here ?, and hosts The Linux IDE BOF.

John Graham will be presenting SOA at REST

Finally Chris A. is doing two tutorials: Working with OSGi: The stuff you need to know and Understanding and Using Git at Eclipse. He will also be presenting Documentation: Single-Sourcing, Crowd-Sourcing And Other Voodoo and OSGi Best and Worst Practices.

Many others from the JBoss Tools team will also be visiting EclipseCon - come and say hi in the JBoss Booth and in the JBoss Lounge Area where there will be product demonstrations and possibly even beer.

Looking forward to see you all in Santa Clara for a crazy week!

Our group name

Posted by    |       |    Tagged as Bean Validation JBoss Tools Rich Faces Seam Weld

I'm often asked to identify what projects I'm working on at Red Hat, or what group I'm a part of. My response reads like a laundry list:

  • Seam
  • Weld
  • Arquillian

...and sometimes I'm really not sure if I can classify myself as a member of a certain project (e.g., RichFaces). Other developers that hang around here likely have a similar story. Eventually, we just settle on the response, I'm part of the crowd.

However, for people that don't know this blog, or its history, this description makes no sense whatsoever. Which made me come to the realization that we lack a true identity within the JBoss Community. I believe this detracts from the spirit of integration and coordination between projects. As my first order as Community Liaison, I set out to fix that.

Seam is often described as the glue that brings together a myriad of standard and third-party Java EE technologies. The glue that brings us together is that we are all working on creating tools and frameworks for the application developer (some use the term enterprise web developer). This purpose not only unites those of us creating these technologies, but also unites us with the folks that consume these technologies. So, to align the name of our group with the common organizational group name of our community members, we have chosen this name for our group:

Application Developer Projects Group (or the more casual name, App Dev Group)

This group is a loose knit collection of projects which people often view as their development stack:

  • Seam
  • JBoss Tools
  • Weld (CDI)
  • RichFaces (JSF)
  • Hibernate Validator (Bean Validation)
  • Hibernate (JPA)
  • Hibernate Search
  • ...perhaps others

We also recently formed the JBoss Testing Group that encompasses Arquillian, ShrinkWrap, JSFUnit, and other testing tools. Some of us are a part of that group too, myself included.

When we address this audience, or seek to describe where we fit in the JBoss community, we can really establish the connectedness by using the term App Dev, or Application Developer Projects, to show we are thinking about the concerns across technologies. So there you have it, our group name.

JBoss Tools 3.1 Final

Posted by    |       |    Tagged as Eclipse JBoss Tools

The final release of JBoss Tools 3.1 is here!

3.1 Final

Update site changes

The update site for the final release is

Users moving from JBoss Tools 3.0 on Eclipse 3.4 to JBoss Tools 3.1 will need to install Eclipse 3.5 and then add the update site. Updating Eclipse major versions just goes easier if you do it like that.


This is the official version of JBoss Tools that will run on and require Eclipse 3.5 (Galileo). When installing you can either use the remote Update Site or download the update site zip from the main Download for offline installation. In both cases you can pick and choose which plugins/features you want to install.

For some features other dependencies are needed. For example Maven integration requires m2eclipse 0.10. We have done what we can to enable the related update sites, but in case you disabled them explicitly you would need to add or enable them manually. If you have problems with the installation see this

New Features overview

You can read the previous release blogs or read the full What's New and Noteworthy to get all the glory details for the changes between JBoss Tools 3.0 to 3.1.

Following is a few of the highlights.

Additional Server and deployment support

Support for JBoss Enterprise Application Platform (EAP) and Enterprise SOA Platform (SOA-P) 5 as well as community JBoss AS 5.x and even AS 6 M1 is supported.

With the Module Assembly Page it is now possible to more finegrained control over the assembly of Web Tools Projects.

We introduced the notion of deploying to SSH enabled hosts allowing for basic remote deployments on the local network or on remote clouds such as Amazon EC2.


Support for JBoss Portal and it's successor GateIn and Enterprise Portal Platform (EPP) have been added.


JSF 2 is now supported as well as JSF 1 w/facelets with many optimization in the performance of the visual page editor.

New features in JSF 2 such as composite components and resource look ups are now supported in the visual page editor and in the (x)html code completion.

A lot of improvements in the code completion and visual presentation have made it now even easier and faster to write JSF components no matter if you are into editing source code or visual previewing.


Seam 2.2 support including improved navigation and refactoring of Seam components together with the improvements in JSF support makes JBoss Tools perfect for Seam development.


Hibernate tooling works with connections configured in DTP and Eclipse Dali making it simpler to share connection settings.

If you have an existing Java model you can now easily get either hbm.xml mappings or JPA annotations generated for this model.

Project Examples

It is now easier to get started using JBoss technology by using the Help > Project Examples menu.

More examples have been added and the import have been enhanced to make it more informative about what runtime platforms and versions it will work on.


Maven users can now easily import their Maven projects with m2eclipse and JBoss Tools Maven integration will configure support for JSF, Maven and Portal development in the IDE.


The Context and Dependency Injection specification is supported by providing code completion for @Named component and all the code completion, open-on navigation and refactoring that was done for Seam also applies to CDI components.


SOA tooling have been extended massively by adding support for BPEL on Riftsaw, ESB projects, jbpm4, Drools 5 and Smooks.

Smooks got its own revamped editor and the other editors have been extended and interlinking between the various SOA editors allowing for easy navigation is in place.

ESB Projects allow for easy creation of ESB esb-service and deployment with instant debugging.

...and more!

Have fun!

back to top