A JBoss Project
Red Hat
This is a summary page of all New & Noteworthy for 4.1.0.CR1, 4.1.0.Beta2, 4.1.0.Beta1, 4.1.0.Alpha2 and 4.1.0.Alpha1

What's New in 4.1.0.Final

Arquillian

Arquillian Eclipse

Arquillian Eclipse is a new JBoss Tools component that makes using Arquillian easier.

See Arquillian Eclipse.

Add/Remove Arquillian Support

The Arquillian support can be added/removed by right-clicking the project and selecting Configure>Add/Remove Arquillian support.

The project has to be a maven project. The Add Arquillian Support action adds the Arquillian nature to the project as well as the arquillian artifacts (bom, dependencies, required plugins, profiles …​) to the project’s pom.xml. The Remove Arquillian Support removes the Arquillian nature, but doesn’t change the project’s pom.xml.

Related JIRA: JBIDE-6319

See screencast.

New Arquillian JUnit Test Case wizard

The wizard is based on the JUnit Test Case wizard, but adds the following to a created class:

  • @RunWith(Arquillian.class) annotation

  • the deployment method

arquillianjunitwizard1

The user can define the name of the deployment method, the name and order of the deployment, the type and name of the archive, add an empty beans.xml, available classes and resources to the deployment archive.

Related JIRA: JBIDE-6318

See screencast.

Generate Arquillian Deployment Method

The Generate Arquillian Deployment Method action has been added to the context menu of the Java editor and Eclipse views.

Related JIRA: JBIDE-8553

See screencast.

The Arquillian Eclipse has ability to click through to resources specified as part of Shrinkwrap definition.

Related JIRA: JBIDE-6338

See screencast.

Run As Arquillian launch configuration

arquilliantab

The Run As Arquillian launch configuration includes the following features:

  • is activated only if there is the org.jboss.arquillian.junit.Arquillian class

  • runs only Arquillian JUnit tests

  • checks if there is exactly one implementation of the org.jboss.arquillian.container.spi.client.container.DeployableContainer interface

  • includes the Arquillian tab that enables the user to check/change the Arquillian configuration properties, select maven profiles, review/start/stop WTP servers. The Arquillian configuration properties are added using declarations from the arquillian.xml, arquillian.properties and the default values when instantiating the corresponding container configuration.

See screecast.

Related JIRA: JBIDE-10526

Arquillian Validator

The Arquillian Validator finds the following issues:

  • classes that are used in a test, but aren’t included in the deployment

  • tests without any deployment method and/or any test method

  • resources that can’t be found

Arquillian issues can be ignored, marked as a warning or as an error. It is possible to add quick fixes (haven’t been implemented yet) for some or all Arquillian issues.

Related JIRA: JBIDE-6568

See screencast.

Arquillia Cruiser

The Arquillian view (Arquillia Cruiser) shows Arquillian deployment archives.

arquilliacruiser

Related JIRA: JBIDE-6662

See screencast.

Add Arquillian Profiles

Arquillian Profiles can be added by right-clicking the project and selecting Configure>Add Arquillian Profiles support.

See Issue 6 for more details.

See screencast.

Default VM arguments

Arquillian Eclipse enables adding default VM arguments to Arquillian/JUnit/TestNG launch configurations.

Related JIRA: JBIDE-13289

See screencast.


Aerogear

Hybrid Mobile (Cordova) Tools

New Hybrid Mobile Project wizard Creates a project structure that is compatible with the cordova-cli projects

wizard

Wizard will pre-populate your config.xml.

Related JIRA: JBIDE-13650

Cordova Configuration Editor

Provides easier editing for Cordova’s flavour of w3c widget specification XML configuration

configEditor

Related JIRA: JBIDE-13646

Run support for Android and iOS

Creates, compiles and runs the native application on the native platform emulators and devices.

runConfigs
  • Run on iOS emulator. Creates and compiles a XCode project and runs the resulting artifacts on the iOS simulator.

  • Run on Android emulator Creates and compiles an Android project and runs it on the Android emulator.

  • Run on Android device Runs the project on an Android device if there is one attached

Related JIRAs: JBIDE-13645, JBIDE-13648


BrowserSim

CordovaSim

New CordovaSim Application

CordovaSim is a simulator of Apache Cordova (aka PhoneGap) environment based on BrowserSim and Ripple. It emulates main APIs of Apache Cordova such as Accelerometer, Geolocation, Camera, Barcode Scanner, etc.

CordovaSim in action

There is CordovaSim Launch configuration which can run Hybrid Mobile projects and Cordova enabled Android projects.

CordovaSim Launch Configuration

The Launch Configuration is also available from the Run As context menu.

Run As CordovaSim

Related JIRAs: JBIDE-13552, JBIDE-14362, JBIDE-14300, JBIDE-14383

BrowserSim

LiveReload support

If you enable LiveReload BrowserSim will inject livereload.js into html pages it load. Making it automatically load if the url is managed by a livereload server such as JBoss Tools new LiveReload plugin.

Enable Livereload

Related JIRA: JBIDE-14360

Synchonized Windows

Now you can open more than one BrowserSim windows which work synchronously. It provides ability to see multiple devices rendering the same page, repeat your navigation steps and when reload it reloads all of them. Synchronized window can be opened via Menu > Open Synchronized Window > skin_to_open

Open Synchronized Window

As a result of this action two devices working synchronously will appear.

Synchronized Windows

Related JIRA: JBIDE-13525

BrowserSim

New Skins

BrowserSim got iPad and iPad Mini skins.

New iPad Skins

Related JIRAs: JBIDE-13685, JBIDE-13684, JBIDE-13416

Screenshots

We added the ability to easily take screenshots of BrowserSim. By default, they are stored in the user’s home directory, but this can be changed via Menu > Preferences > Screenshots Location.

Screenshot Menu Items

Related JIRA: JBIDE-14038

Weinre

Now you can inspect your page’s source with Weinre. It is available via Menu > Tools > Weinre.

Weinre is a debugger for web pages. It is similar to WebKit Web Inspector, but can run on devices with limited debug functionallity such as BrowserSim. To do this it requires a Weinre server to work. The default server for BrowserSim is debug.phonegap.com. You may change this setting in Menu > Preferences > Weinre.

Weinre with BrowserSim

Related JIRA: JBIDE-13338

JVM selection and 64-bit Eclipse support on Windows

Now you can specify which JVM is used to launch BrowserSim/CordovaSim. This allows to run BrowserSim/CordovaSim from 64-bit Eclipse on Windows. To specify JVM go to Window > Preferences > BrowserSim/CordovaSim and choose a suitable JVM (32-bit JRE/JDK 6 or JDK 7 (but not JRE 7) on Windows):

Preferences

Related JIRA: JBIDE-13988

Configurable Live Reload port

Now you can specify the port for the Live Reload server. To specify the port go to Menu > Preferences > Settings and enter the desired value into the "LiveReload Port" input field.

Configurable Live Reload port

Related JIRA: JBIDE-14361

Weinre UI enhancements

Now Weinre is more informative and user-friendly. There are several UI enhancements, such as progress monitor and address bar. Weinre can be opened via Menu > Debug > Weinre

Weinre UI enhancements

Related JIRA: JBIDE-14079


CDI Tools

Apache Deltaspike 0.3

Apache Deltaspike 0.3 refactored some code which affected CDI Tools features. These changes now supported by JBoss Tools 4.1.0.Alpha1

Related JIRA: JBIDE-13404

Missing beans.xml validation

CDI Tools validator reports a warning if beans.xml is missing in CDI 1.0 project. image::images/4.1.0.Beta1/beansXmlValidation.png[]

This problem can be fixed via QuickFix menu (Ctrl+1):

beansXmlQF1
beansXmlQF2

Related JIRAs: JBIDE-13996, JBIDE-14383


Forge Tools

New Embedded Forge Runtime

The embedded runtime is now Forge 1.2.2.Final! image::images/4.1.0.Alpha2/about.png[]

New Embedded Forge Runtime

The embedded runtime is now Forge 1.2.0.Final! image::images/4.1.0.Alpha1/about.png[]

New Embedded Forge 1 Runtime

The embedded runtime is now Forge 1.3.0.Final!

about

Forge 1 Eclipse-style Wizards

There was a demand from our users to support the functionality offered by Forge not only in the command-line style but to also provide Eclipse-style wizards that expose this funtionality. The initial implementation of some of these wizards is now available. Note that changes to these wizards will happen according to the feedback we receive from our users.

The wizards assume that you have created a Maven enabled project, you can do this easily by creating e.g. a Java EE Web Project from the JBoss Central page.

The first important wizard is a wizard to generate entities from an existing database.

reveng

The second wizard enables you to scaffold a JSF user interface from JPA entities in your project. More scaffold types (such as html5) are on the way.

scaffold

Initial Forge 2 Support

We have included Forge 2 support. The included runtime is 2.0.0.Alpha4 and as the alpha status indicates, this support is experimental. You can bring up a popup containing the available Forge 2 commands by issuing 'Ctrl+5'.

forge2

We invite you to watch this short video to get an initial idea of how to use this functionality.

New Embedded Forge 1 Runtime

The embedded runtime is now Forge 1.3.2.Final!

forge1

Forge 1 Eclipse-style Wizards

The 'Scaffold Entities' wizard now include options to overwrite existing files and force scaffold setup.

scaffold

Experimental Forge 2 Support

The included runtime is now 2.0.0.Alpha6.

Forge 1 Eclipse-style Wizards

The usability of these wizards has been improved a lot.

The wizards are now in the 'JBoss Tools→Forge' category and have an icon.

category

When using the 'Entities From Tables' wizard, there is now a way to create a project should you not have one available yet. Clicking the 'New…​' button next to the project dropdown box opens another wizard to do this work.

project

In the 'Entities From Tables' wizard, it is now possible to browse for the driver jar and the driver classes.

reveng

The scaffold wizard now offers the possibility to choose between faces and angularjs. Also the set up step has been removed and the two wizard pages have been merged into one.

scaffold

There is now also wizard support for generating REST endpoints for entities. It is very similar to the scaffolding wizard.

rest

Additionally, as you might have noticed in all of the above screenshots, these wizards now have nice progress bars that indicate what is happening under the covers.

Experimental Forge 2 Support

The included runtime is now 2.0.0.Alpha5. The popup that results from issuing 'Ctrl+5' now looks a lot better. It also contains a few more Forge 2 commands.

forge2

Hibernate Tools

Kepler/Juno Incompatibilities

For Kepler, the Dali project has changed some of the APIs that are used by Hibernate Tools. Adapting Hibernate Tools to these new APIs resulted in incompatibilities with Juno to the extent that it is not anymore possible to support the installation of the Hibernate Tools plugins in Juno.

Related JIRA: JBIDE-13385


JBoss Central

Design improvements

The JBoss Central UI has been improved to better scale in small(er) resolutions:

smaller jboss central

Related JIRA: JBIDE-13884

"Proxy" Wizards

JBoss Central now displays wizards for plugins that may not have been installed yet. For instance, it will display the OpenShift Application link even if you don’t have the JBoss OpenShift tooling installed. Clicking on that link will ask you to install the required OpenShift features:

proxy wizards

Moreover that wizard list can be updated, reordered at any time, remotely from the JBoss Tools team.

As part of this change, the GWT Project wizard has been replaced by the Maven Project wizard.

Related JIRA: JBIDE-13987-JBIDE-14445

OpenShift in the Software/Update page

OpenShift Tools have been added to the JBoss Central Software/Update page, giving users easier access to developing on and for the Cloud.

openshift discovery

Related JIRA: JBIDE-14330

A new design

The JBoss Central UI has been reworked to, hopefully, provide a better user experience. So, in no particular order, you’ll see :

  • A description of each wizard is available when hovering on each project icon

  • Blogs, news and twitter feeds have been aggregated into one section now known as JBoss Buzz

  • The "show on startup" preference is now directly accessible from the top of the page

  • A new link to the Ticket Monster tutorial has been added

  • Quickstarts are now more visible

new jboss central

Related JIRA: JBIDE-13884


JST / JSF / HTML Editor

jQuery Mobile

jQuery Mobile Palette

There are a few new jQuery Mobile widget wizards available in jQuery Mobile Palette for HTML5 files:

  • Panel:

panel

Related JIRA: JBIDE-13620

  • Grouped Buttons:

buttons

Related JIRA: JBIDE-14104

  • Collapsible Set:

set

Related JIRA: JBIDE-14398

There are also some minor enhancements of wizards introduced in 4.1.0.Alpha:

New content assist is now available for URL properties in New JQM Widget wizards. Just use Ctrl+Space to see all the available pages, dialogs, popups and panels declared in the file you are editing:

ca

Related JIRA: JBIDE-14438

OpenOn for

A new hyper link (Ctrl+Click) for multi-page HTML files is now available. Just use Ctrl+Click on <div data-role="page"> to open this particular page with the default browser or BrowserSim:

See screencast.

Related JIRA: JBIDE-13890

jQuery Mobile 1.3.1 Page Template

New HTML5 jQuery Mobile page template was updated to the new JQM 1.3.1:

ca

Related JIRA: JBIDE-14290

jQuery Mobile

jQuery Mobile Palette

HTML text formatting for code snippets inserted via the Palette view was improved. The Palette view now creates a formatted HTML code based on Eclipse preferences for text editors.

formatting

Related JIRA: JBIDE-14735

JSF 2.2

New JSF 2.2 Project Wizard

New JSF Project wizard now supports JSF 2.2:

jsf22wizard

Related JIRA: JBIDE-14865

jQuery Mobile Palette

New jQuery Mobile Palette is now available for HTML files. The old JSF Palette and the new one shares the same Palette View so if you open any XHTML/HTML file with JBoss HTML Editor from a JSF project then you will see the old JSF Palette. But if you open an HTML file from non-JSF project you will see the new HTML5 Widget Palette which contains jQuery Moblile widgets now. Also we removed the deprecated JBoss Palette (Window→Show View→Other→JBoss Tools Web→JBoss Palette) which was a clone of the general palette view (Window→Other→General→Palette).

palette

Related JIRAs: JBIDE-13454, JBIDE-13453

New jQuery Mobile Check Box Wizard

New Check Box Wizard is now opened when you DnD the check box widget from jQueryMobile Palette. This is the first wizard for jQuery mobile palette we introduced in JBoss Tools 4.1.0.Alpha1. More wizards are coming.

checkBox

Related JIRA: JBIDE-13466

JSF

Code completion for xmlns

Now you can insert a JSF component into your page via code assist feature (Ctrl+Space) even if you didn’t define the corresponding xmlns. The proper xmlns will be added automatically. JBoss Tools will look at the pages in the project and provide code assist for all components used in the project. Not only for those which defined in the current page.

Related JIRA: JBIDE-12175

jQuery Mobile

jQuery Mobile Palette

A few new HTML5 widget wizards are now available in jQuery Mobile Palette for HTML5 files:

palette
  • Form:

form

Related JIRA: JBIDE-14463

  • Image:

img

Related JIRA: JBIDE-14466

  • Video:

video

Related JIRA: JBIDE-14467

  • Audio:

audio

Related JIRA: JBIDE-14468

  • Label:

label

Related JIRA: JBIDE-14469

JSF 2.2

JSF 2.2 face-config.xml editor

JBoss Tools XML editor now supports Faces Config 2.2:

jsf22

Related JIRA: JBIDE-14439

jQuery Mobile

jQuery Mobile Palette

The jQuery Mobile Palette introduced in jst-news-4.1.0.Alpha1.html[Alpha1] has been improved in Alpha2. It's now available for any HTML5 file opened with JBoss Tools HTML Editor (jira:JBIDE-13679[]) and has a new look and feel:
lf

Here is a list of new jQuery Mobile widget wizards available for Alpha2:

You can find some particular widget using the filter field (JBIDE-13493):

filter

The wizards will add jQuery & jQuery Mobile JS/CSS references automatically if they are missing on the page. However this insertion can be disabled in the wizard (JBIDE-13775):

Here is a short demo of the jQuery Mobile Palette:

Related JIRA: JBIDE-13413

jQuery Mobile Code Completion

HTML code completion (Ctrl+Space) is now available for data-* attributes for HTML5 pages with jQuery Mobile JS referenced in <head> tag:

data icon

Code completion also works for element IDs if you type # and press Ctrl+Space:

ahref

Related JIRAs: JBIDE-13403, JBIDE-13436

JSF

Tag Library Validation

This new strict tag library validation of components and attributes used in XHTML pages is disabled by default. But it can be enabled in Preferenes. All unknown tags/attributes then will be marked as an error or warning:

Related JIRA: JBIDE-13148


LiveReload

Server Mode Support

In Addition with the Directory Mode support introduced in 1.0.0.Alpha, the new Server Mode brings LiveReload support to resources deployed on a JBoss AS Server (other types of servers will follow). In this mode, the LiveReload commands are sent to the connected browsers once resources have been redeployed on the Application Server. This means that notified browsers will wait until the latest version of the resources have been deployed before loading them.

As before, users only need to create and start the LiveReload server, connect their browser using the installed extension and then start working on resources in their workspace.

Related JIRA: JBIDE-13950

Directory Mode Support via Proxy

The LiveReload server now features an optional embedded proxy mode which enhances the Directory Mode experience. Using this proxy, users can not only access their local files from remote devices, but also have the <script> tag to load the livereload.js script automatically inserted at the bottom of the <body> element of the returned HTML pages. This means that LiveReload support is now available for tablets and smartphones that do not allow for browser extension installation !

In the Project Explorer and Package Explorer, the contextual menu has been filled with a new "Open With>Web Browser via LiveReload Proxy" action. This latter one opens the selected file in the Web Browser, but instead of using the file:// protocol, it uses the http:// protocol and connects to the LiveReload embedded proxy.

LiveReload open in web browser via proxy

For security reasons, the proxy is disabled by default. Once enabled, it may optionally accept remote connections if you want to enable LiveReload from remote devices or remote computers. For users wanting to use the BrowserSim with LiveReload, there is no need to allow for remote connections.

LiveReload open in web browser via proxy

In any case, only workspace projects files are exposed by this Proxy.

Related JIRAs: JBIDE-13970, JBIDE-14498

Directory Mode Support

JBoss Tools LiveReload is a server-side implementation of the LiveReload protocol.

As a user, you first need to create a "LiveReload" server in the Servers View and start it.

livereload serversview

By default, the LiveReload server and the browser extension communicate with Web Sockets over the 35729 port, but this can be configured.

livereload server configuration

Then, you just have to select a file in your workspace and in the contextual menu, use the Open With  Web Browser command.

livereload openwithbrowser

The file will open in your default Web Browser. From there, you activate the LiveReload extension (see below for instructions on how to install it on Chrome and Firefox). Then, each time you save the file, it is automatically refreshed in the browser.

The LiveReload server will send "reload" commands to the connected Web Browser(s) each time an HTML / CSS / JavaScript or image file is changed in the workspace, so you just need a single server for all your projects.

And yes, you can have multiple browsers connected at the same time and refreshed at the same time ;-)

See the plugin in action

The following little screencast demoes the new LiveReload feature. It shows how to create a new LiveReload server and then, shows how the 2 browsers (FireFox and Chrome) are instantly refreshed when a .html or .css file is changed, without having to click on the 'refresh' button of each browser.

Installing the Browser Extension

Chrome users can install the v.2.0.9 extension from the Chrome Marketplace. Be aware that, in order to use Chrome LiveReload with file URLs, you have to explicitly enable that for the Live Reload extension under "Extensions" in Chrome preferences.

Firefox users should use v. 2.0.9 or newer of the LiveReload extension available from here. If you hit an issue where the browser disconnects just after it has connected, which means the server cannot push refresh commands to it, you are using an old plugin and should update it.

Safari unfortunately does not work with file: URLs and thus requires you to manually insert livereload.js or serve the files out of a local server. For now we recommend you use Chrome or Firefox. In the next version of JBoss Tools, there will be an easier way to use Safari with LiveReload.

LiveReload support for JBoss AS and Tomcat Servers

Coming in JBoss Tools 4.1.0.Beta2, LiveReload now also supports 'Server Mode', which brings the same level of features to deployed resources than what was introduced in JBoss Tools 4.1.0.Beta1 for the 'Directory Mode' for workspace resources:

  • A separate proxy is automatically started on a distinct port for each local JBoss AS or Tomcat 6.x/7.x server that is started, or if it was already running when the LiveReload server was started. (Support for OpenShift deployments will come later)

  • Users only need to have a single LiveReload server in their workspace, because each running Application Server will have its own delegated proxy.

  • As with 'Directory Mode', if the 'livereload.js script injection' option is enabled, each returned HTML page will be enriched on-the-fly but the proxy which will inject the <script> tag to load the livereload.js script at the bottom of the <body> element, which removes the need to manually install the LiveReload extension on the browsers.

  • If remote connections are enabled, users can also access their applications deployed on their App Server from external computers or devices such as smartphones or tablets.

LiveReload open in web browser via browser menu

Related JIRAs: JBIDE-14502, JBIDE-13984, JBIDE-14914

QR Code for easy access from external devices

Having the proxy with both 'livereload.js script injection' and 'allow remote connections' options enabled makes a perfect combination to test applications on smartphones and tablets, especially when the LiveReload Browser Extension cannot be installed on such devices.

However, typing the entire URL on such devices is not a good experience. This is why JBoss Tools now provides with a dialog showing a QR Code for such use-cases. Users just need to select the network interface on which they will connect and then scan the generated QR Code with their devices to get access to the resource. The dialog also displays an hyperlink to open the location in the external browser.

LiveReload open in web browser via qrcode menu
LiveReload open in web browser via qrcode dialog

Related JIRA: JBIDE-13984

Simplified Configuration and Usage

Coming in JBoss Tools 4.1.0.Beta2, the proxy option now becomes a permanent feature of the LiveReload server, which means that even workspace resources will be opened with the HTTP protocol instead of the File protocol.

The following use-case have been implemented:

  • If the user has no LiveReload server: the plugin prompts a dialog to create and start a new LiveReload Server with ability to enable script injection (default: on) and remote connections (default: off). If the user clicks on "OK", a LiveReload is created and started, then the browser opens the selected resource (file or deployed application). If user clicks 'Cancel', the dialog closes and nothing happens.

  • If the user already has a LiveReload server but that is not started: a prompt dialog is opened and informs the user that the LiveReload server will be started. the dialog also shows the current options in case the user wants to edit them. If the user clicks on "OK", the LiveReload server is reconfigured and started, then the browser opens the selected resource (file or deployed application). If user clicks 'Cancel', the dialog closes and nothing happens.

  • In case the user already has a LiveReload server that is already started, there is no need to display a dialog. The browser immediately opens the selected resource (file or deployed application).

LiveReload open in web browser via browser messagedialog

Note: In case where the user wants to display the QRCode to test with a mobile device, script injection and remote connections should be enabled.

Related JIRA: JBIDE-14897


Maven

JBoss Maven Integration

Source lookup improvements

The automatic source lookup feature is now capable of fixing bad source attachements, even for Maven enabled projects. If the attached source doesn’t exist (ex. you wiped out your maven local repository) or doesn’t contain the right source files, it will try to download the proper source. This is especially handy when working on PDE plugins, when PDE automatically attaches the binary jar as a source to itself, even when it doesn’t contain any sources.

Related JIRA: JBIDE-14990

JBoss Maven Integration

JPA/JSF/JAX-RS configurators moved to m2e-wtp

The JBoss Tools JPA, JSF and JAX-RS configurators were contributed to the m2e-wtp project, at the Eclipse Foundation. The can be enabled/disabled in the workspace preferences : Window > Preferences > Maven > Java EE Integration :

m2e wtp optional configurator preferences

They’re available as optional features from m2e-wtp’s update sites.

Please be aware m2e-wtp and JBoss Tools JPA, JSF JAX-RS Configurators overlap and can not be installed together.

  • In Eclipse versions prior to Juno SR2, if you try to update your Eclipse installation via Help  Install New Software…​, the optional configurators won’t install because of the conflict with JBoss Tools. If you updated your version of Eclipse to Juno SR2, the m2e-wtp configurators should be seen as suitable replacement for their JBoss Tools counterparts.

  • For all Eclipse versions, doing Help  Find Updates everything should update properly.

As always, the safest path to upgrade is to start from a clean Eclipse installation. On a somewhat related note, we ensured all JBoss Tools Maven features are fully compatible with the new m2e 1.3 (Juno SR2) and m2e-wtp 0.17.0.

Related JIRA: JBIDE-13048

Kepler/Juno Incompatibilities

For Kepler, the Dali project has changed some of the APIs that are used by the Hibernate configurator. Adapting the Hibernate configurator to these new APIs resulted in incompatibilities with Juno to the extent that it is not anymore possible to support the installation of the Hibernate configurator plugin in Juno.

Related JIRA: JBIDE-13365

JBoss Maven Integration

Dependency conversion UI improvement

Non-default scopes and the optional attribute are now shown when converting a project to maven. It is on the dependency identification page where it is directly displayed in the "Maven Dependency" column.

display dependency scope

Related JIRA: JBIDE-14811

JBoss Maven Integration

Source lookup for the masses

Maven projects always had an this awesome feature where, clicking on any jar dependency, source would be downloaded automatically for you if needed. We now give you the same level of awesomeness for any kind of (non-maven) project.

The automatic Source Lookup feature is based on Maven. As such, downloaded sources will be stored under your local Maven repository.

Since JDT doesn’t support variables in source attachments (such as M2_REPO), source attachments use absolute (non-portable) paths. It’s ok when the jar is part of a Classpath Library, since the path is stored in your own workspace. But it can become a problem if your jar dependency is listed in your project’s .classpath descriptor, potentially shared with other developers. For this reason, by default, you’ll be warned when a compatible source has been found :

automatic source lookup prompt

See it in action in this screencast.

If you click on "Remember my decision", your choice will be applied for subsequent source lookups. Your choice can be modified under Window > Preferences > JBoss Tools > Source Lookup :

automatic source lookup prefs

One advantage of the Source Lookup feature is it’ll check if source attachments are valid. for instance, if the source attachment points to a missing / invalid file, the proper source will be mapped instead. This mitigates the non-portable issue mentioned previously.

Under the hood, the source lookup mechanism is based on various identification strategies :

  • checks if the jar contains maven descriptors under META-INF/maven.

  • checks if the SHA1 checksum of the jar can be found in m2e’s nexus indexes.

  • checks if the SHA1 checksum of the jar can be identified from one of the remote Nexus repository instances defined in Window > Preferences > JBoss Tools > Remote Repositories.

  • checks if the SHA1 checksum of the jar can be identified on http://search.maven.org

Related JIRA: JBIDE-14003

JBoss Maven Integration

Edit Maven Repositories

Maven Repositories defined in profiles in your settings.xml (Window > Preferences > JBoss Tools > Maven Integration > Configure Maven Repositories…​) can now be edited with the "Edit Repository…​" button :

image::images/edit-maven-repositories.png Inactive repositories now stand out with an (Inactive) suffix. Click on the "Edit Repository…​" button to (re)activate them.

Related JIRA: JBIDE-13831


OpenShift

Application Wizard

Verbose Cartridge Labels

In Beta1 we gave labels in the OpenShift application wizard some love. We show you better descriptions of what application you’re about to create and what cartridge you’re about to embed:

cartridge labels

Related JIRA: JBIDE-14459

Publish Right Away

To create or import an OpenShift application in JBoss Tools you launch the application wizard that does all the heavy lifting for you. This wizard creates the application and imports it to a new project or merges it into an existing one. To then publish these changes to OpenShift, you get over to the server adapter and tell it to publish your Eclipse project. In Alpha2 you had to think about publishing and manually trigger the adapter once you had run through the wizard. Beta1 now prompts you right away and asks you if you want to push once the import/merge is done.

push to OpenShift

Related JIRA: JBIDE-13075

Server adapter

See it pushing while it’s happening

JBoss Tools offers you a server adapter to publish your local changes to OpenShift. This adapter does all git pushing for you. In case of maven projects publishing will usually trigger a maven build on OpenShift. This may therefore take quite some time. In Alpha2 you had to wait for this to complete in order to see the results. A limitation in Eclipse EGit prevented us from showing you the output while it was occurring. We improved EGit/JGit and contributed this enhancement to Eclipse. We are therefore now able to give you immediate feedback while we push to OpenShift.

publishing to OpenShift

Related JIRA: JBIDE-12137

Restart Application

In Alpha2 we allowed you to restart an application from the context menu in the OpenShift Explorer. Beta2 now adds this option to the context menu of the server adapter.

restart application

Related JIRA: JBIDE-13960

Binary Deploy to JBoss EWS (Tomcat 6/7)

If you want to deploy some binary artifact (ex. your application war) in JBoss Tools you simply drag and drop your Eclipse project to the OpenShift server adapter. The adapter will then war and push it to OpenShift. While this worked fine with JBoss AS and EAP, things didn’t work out of the box for tomcat 6 and 7. We now fixed this for Beta1.

Related JIRA: JBIDE-13401

Various Improvements

Removing Cartridges

Removing cartridges may cause loss of data. This is especially true when you remove databases like mysql, postgres or mongo db. Thus we now remind you of this potential risk and ask you to confirm this irreversible removal.

confirm cartridge removal

Related JIRA: JBIDE-13961

Upload SSH Keys

Various operations like cloning and inspecting your application logs require you to upload your SSH keys to OpenShift. In order to have an even smoother workflow the application wizard will prompt you if you have no keys on OpenShift yet. It will ask you right away to create a new or upload your existing key(s).

add ssh keys

Related JIRA: JBIDE-13020

Port Forwarding for Scalable Apps

In Alpha2 port forwarding failed for scalable applications. In Beta1 we now made sure that you can forward the ports of any OpenShift application be it scalable or not.

Related JIRA: JBIDE-14404

Missing credentials when Creating Jenkins

Before Beta1 it could happen that you created a jenkins application but didn’t get the credentials for it. The dialog that reported these was empty. In order to fix this we increased the timeouts that made you miss these informations. To make your experience even smoother in case it still fails we now offer you a link to the environments variables in the creation dialog. This link allows you to easily look the credentials via a single click.

link to environment variables

Related JIRA: JBIDE-14342

OpenShift Java Client

New Version 2.2.0

The latest openshift-java-client 2.2.0 moved to exclusively support protocol 1.2. With this upgrade JBoss Tools and all other user application will benefit from far more informative descriptions for cartridges. Further additional enhancement will make it to the library with the upcoming releases.

Related JIRA: JBIDE-12320

Application Wizard

Use your own Source Template

OpenShift online now allow you to start an application with your very own git repository for the intial applicaiton. OpenShift tools now allow you to specify a github url in the wizard under "Advanced" and OpenShift will clone it to your application git repository and use it instead of the default template.

advanced source code

Related JIRA: JBIDE-14588

Disable automatic Maven Build

When pushing a maven project to OpenShift, OpenShift will build the source in the git repository that you pushed. This is very useful when you push source code but it’s not when you push an application that you have already built as an jar,war or ear. If you rather would publish this artifact directly you no longer need the automatic builds but just need the artifact put into the deployments folder. We therefore allow you to tell the application wizard not to trigger the maven build on OpenShift when pushing. If you check this option the wizard will create a marker that gets pushed along with your war and code and tells OpenShift not to launch the maven build.

disable automatic maven build

You can enable the Maven builds again by manually changing the marker files or use the Configure > Configure Marker…​ menu.

Related JIRA: JBIDE-13882

Cartridge Command Line Names

We added the cartridge id in parenthesis nex to the human understandable cartridge names so that you also have the identifier that you would use on the rhc command line.

cartridge labels 2

Related JIRA: JBIDE-14631

Jenkins URL and Credentials

When you create an application there are cases where OpenShift will give you additional information about your new cartridge. For example when you create a jenkins instance on OpenShift. The log that will now be shown upon successful creation and will show you the url and the credentials that you need to operate it. Prior verions only showed this for embedded cartridges. Beta2 will also show these when you create applications.

creation log

Related JIRA: JBIDE-14945

Marker Wizard

Edit your Markers

OpenShift is using markers to enable or disable features. The switch to disable the maven build that we discussed above is one of these markers. The markers are files that you add to the <project>/.openshift/markers directory. In Beta2 we allow you to add and remove these markers by invoking a wizard from the Project- or Package-Explorer.

openshift configure markers

We show you all markers that already exist in the markers directory and all the ones that you may eventually want to add. The markers that we currently know about are:

File Effect

disable_auto_scaling

Will prevent scalable applications from scaling up or down according to application load.

enable_jpda

Will enable the JPDA socket based transport on the java virtual machine running the JBoss AS 7 application server. This enables you to remotely debug code running inside the JBoss AS 7 application server.

force_clean_build

Will start the build process by removing all non essential Maven dependencies. Any current dependencies specified in your pom.xml file will then be re-downloaded.

hot_deploy

Will prevent a JBoss container restart during build/deployment. Newly build archives will be re-deployed automatically by the JBoss HDScanner component.

java7

Will run JBoss AS7 with Java7 if present. If no marker is present then the baseline Java version will be used (currently Java6).

configre markers wizard

Related JIRA: JBIDE-14845

===Verbose Cartridge Names The OpenShift Explorer lists your applications and cartridges. Along with the application and cartridge it shows you the type. So far we were showing shorthand names and changed this for Beta2: the Explorer is now using verbose labels for cartridges and decorate them with the shorthand (rhc command line identifier) name.

better labels in explorer

Related JIRA: JBIDE-14687

Application Logs

Tail Files pattern fixed

In order to inspect your application logs you pick "Tail Files" in the context menu of your application in the OpenShift Explorer or in the Servers view. JBoss Tools will then prompt you to provide the file pattern and options for the tail command. So far there was an issue that prevented you from limiting the output. The console was always showing the same number of lines. Fixed with Beta2.

better labels in explorer

Related JIRA: JBIDE-13894

OpenShift Explorer

Restart Application

If your application has issues you may want to restart it. You can now achieve that within JBoss Tools. Pick "Restart" from the context menu of your application in the OpenShift Explorer:

restart application

Restarting your application will fully restart your node, it will not just restart your deployed project. It is equivalent to restarting your server.

Related JIRA: JBIDE-13737

Server adapter

Console not shown

The server adapter for OpenShift allows you to publish your local changes to OpenShift. It pops up the console after publishing so that you can have a detailed look at what happened when pushing. In Alpha1 the console was not shown any more. We fixed this for Alpha2.

console

Related JIRA: JBIDE-13806

OpenShift Java Client

new version 2.1.0

In the last few months we put a lot of effort into the openshift-java-client. The new version 2.1.0 offers major improvements in terms of compatibility and stability. It’ll be available from maven central very soon.

Connection wizard

False 'Invalid credentials' error

If you have typed in a bad host name or your ~/.openshift/express.conf settings were wrong you would get an "Invalid credentials" error instead of information on the host not being reachable. This is now fixed.

Releated to this was that rhc tools version 1.4.7 generated a different format for host in express.conf which caused the tools to parse the host wrongly and you thus got the "Invalid credentials" error. JBoss Tools have been fixed to handle this new format but newer version of rhc tools have also been fixed to use the previous format making both old and new tools compatible again.

Related JIRA: JBIDE-13558

Embedding wizard

MySQL and PostgreSQL

Historically OpenShift did not allow users to users to use a mysql and a Postgres database at the same time. This restriction was lifted some weeks ago and we now upgraded the tooling to allow that, too.

Related JIRA: JBIDE-13235

Server adapter

Better change detection

The OpenShift server adpter keeps track of your local changes and tells you if there are any that you can publish to OpenShift.

Previously this tracking was only done against 'origin' remote and only tracking if there were changes to previously committed files that had not been pushed yet.

This meant the dialog could be misleading/unprecise to the user.

Now OpenShift Tools will check against the proper remote (in case it is not 'origin') and do a fetch do be able to do a proper check if there really are changes locally compared to what is on the remote OpenShift.

ahead of remote repository

Related JIRA: JBIDE-13175

Application Wizard

Creation log for all applications

When creating applications you want to know about the credentials that OpenShift initially set for you. This is especially helpful and required when you create a jenkins where you get it’s url and username/password presented. With CR1 we now present you what OpenShift did for you if there’s anything to be noticed for any type of application and/or cartridge.

credentials2

Related JIRA: JBIDE-14945


Project Examples

Opening cheatsheet on import project

Project examples plugin can now open a .cheatsheet.xml or cheatsheet.xml when a project is imported.

For now this feature must be enabled manually using the Window>Preferences>JBoss Tools>Project Examples preferences page.

OpenAction

Related JIRA: JBIDE-14332

Show in Cheat Sheets view.

There is now a new action in the "Show in" context menu: the Show in Cheat Sheets action.

This allow you to easily re-open or test a cheatsheet.xml found in examples.

The action is enabled for the Java, J2EE, JBoss and PDE perspectives.

show in cheatsheets

See a screencast of this in action.

Related JIRA: JBIDE-14334

New cheatsheet commands

We have added new context sensitive parameterized commands for open file, show type etc. The commands can be used when creating cheatsheets.

getProjectForCheatsheet

Used to store currentProject so you can refer to it in other commands

openFileInEditor(path,fromLine,toLine)

Used to open a file in an editor and highlight lines of a text from fromLine to toLine

These commands can be used like any other command in a cheatsheet. Example of this working in a project can be found at helloworld-cheatsheet

Related JIRA: JBIDE-14333

Portal Applications

The Portal Applications quickstarts have been added to JBoos Tools/JBDS.

Related JIRA: JBIDE-13705

Experimental Go offline script

We now provide a groovy script that pre-caches all JBoss Tools examples and their dependencies for anyone wanting to be able to work offline (after an initial online session). For instance, an instructor can download all the required dependencies and then provide a zipped .m2/repository to his students via flash drive, all students can then work offline.

A groovy command with proper arguments is generated under Preferences > JBoss Tools > Project Examples > Offline Support.

Click on the copy to clipboard button and then paste the clipboard in a terminal. An offline/ directory will be created in the directory the script is run under.

examples offline support

All Example archives will be downloaded under offline/.jbosstools/cache. They will then be built -if based on Maven- and the Maven dependencies will populate a clean offline/.m2/repository. The whole process takes typically around 30 minutes on a 20MB broadband connection.

The generated offline cache should be copied under ${user.home}/.jbosstools/cache (that location can be changed in Preferences > JBoss Tools > Project Examples > Offline Support). The maven repository should be copied over to your local repository.

Once the "Enable offline mode for project examples" button is checked (after saving the preferences), Examples will be fetched from the offline directory and no remote connection will be attempted to get the example data. Switching Offline mode will also switch m2e’s offline mode, if the maven examples feature is installed.

Related JIRAs: JBDS-2543, JBDS-2552


Server Tools

Tomcat Servers found with Runtime Detection

Tomcat servers are now able to be found and created via JBossTools Runtime Detection. This means even if you restart in a new workspace, you’ll be able to use the runtime detection’s automatic scanning of filesystem paths to create your Tomcat server (or any slimmed-down Tomcat-based JBoss server) as soon as you fire up your new workspace.

Related JIRA: JBIDE-15066

Deployment Scanners

Deployment Scanner cleanup

When starting a JBoss server, the server adapter automatically adds deployment scanners to your server to pick up deployments to locations outside the server. Depending on your server version, these scanners may be persisted across future restarts, or may not be. On servers where they are persisted, we also typically remove these scanners, to prevent multiple workspaces using the same server from having collisions or conflicting deployment locations.

Some users prefer to manage their deployment scanners on their own, and wish the server adapter did not automatically take control of this aspect of their development environment. For these users, two new settings have been added to the server editor which will allow control for this behavior.

Deployment Scanner Options in Server Editor

Related JIRA: JBIDE-9830

Starting and Stopping Deployed Modules

Module start, stop and restart

Start, stop and restart on modules in the server adapter now perform an actual start, stop and restart of the module on AS7 and above.

These operations are implemented with JBoss Management API instad of file copying/moving operations and have the following consequences:

  • The operations are now much faster

  • Restart no longer does a full redeploy/publish. Use "Full publish" for this.

  • Status of the module in server view and administration console should now be in sync

Module Management in The Administrative Console
Module Start / Stop / Restart Actions

Related JIRA: JBIDE-2625

WildFly 8 support

wildfly.org have been announced, with builds available of WildFly 8.

New Server Type is introduced to add WildFly support for Server creation, deployment and runtime detection.

WildFly Server adapter

Related JIRA: JBIDE-14107

Deployment

Increased support for product server runtimes

Support has been increased for AS 7.1+ and it’s derived products and it now supports the notion of a product slot instead of an hard coded EAP slot.

This should mean EAP, SOA-P etc. should be identified and started correctly as long as they do not require custom handling outside of what AS 7 need.

If the server cannot be fully identified the tools will try what it can to fallback to ensure the server can be used.

Also, support for previous and current versions of GateIn have been added. This ensures that GateIn receives the same level of support that you’ve come to expect from our other server adapters. Specifically, support for GateIn servers versions 3.3.0 , 3.4.0, and 3.5.0 has been added and tested.

Related JIRAs:

Deployment

Sar project inside Ear project deploys .java files

A bug concerning the output archive of a sar project nested inside an ear project had the result of causing no .class files to be published, but rather .java files. This has been fixed.

Related JIRA: JBIDE-13212


Usage

Reporting

Windows 8

Google Analytics was not reporting Windows 8 installations so far. People using Developer Studio/JBoss Tools on Windows 8 were displayed as using Windows NT. Google fixed this and Analytics are now reporting Windows 8 correctly:

windows 8

Related JIRA: JBIDE-13270


Visual Editor

Windows 64-bit Support

Thanks to a contribution of Carsten Pfeiffer, Visual Page Editor got experimental support for Windows 64-bit. So if you see this screen:

missing xulrunner

then you may install XULRunner from this update site (via Help > Install New Software) and make it work:

vpe win64

Related JIRAs: JBIDE-2720, JBIDE-14451, JBIDE-14452

BrowserSim

Firebug Lite

Now you can inspect your page’s source with FireBug Lite.

Firebug Lite1
Firebug Lite2

Related JIRA: JBIDE-13406


Web Services Tools

WS Tester Performance Improvements

The WS Tester now uses the JBoss Wise framework to generate sample SOAP messages when testing JAX-WS services. This offers several benefits in stability and maintenance as well as a major improvement in processing complex WSDLs.

Related JIRA: JBIDE-13527

WS Tester Default Test Type Change

The WS Tester used to have JAX-WS as the default test type in the drop-down. As much of our effort has been towards RESTful services, we have changed the default test type to a RESTful GET operation.

defaultget webservice

Related JIRA: JBIDE-14861


back to top