A JBoss Project
Red Hat
This is the archived New & Noteworthy page that is also part of  4.2.0.Final

What's New in 4.2.0.Beta2

Aerogear

Hybrid Mobile (Cordova) Tools

Import Cordova projects

It is now possible to import Cordova projects and start using them as Hybrid Mobile projects, with the new import wizard. This feature can import projects that are created by Cordova CLI

importWizard

Related JIRA: JBIDE-13649

Add Cordova plug-ins when creating Hybrid Mobile Projects

The New Hybrid Mobile(Cordova) project wizard now provides plug-in selection pages. You can now select an initial set of Cordova plug-ins to be installed to a new Hybrid Mobile project. Starting with org.apache.cordova.console is highly recommended.

selectPlugin

Related JIRA: JBIDE-16728

64 bit iOS simulators are now supported

You can select to run 64 bit iOS simulators.

iOS64

Related JIRA: JBIDE-17099

CordovaJS library provider improvments

It is possible to get Content Assistant on 'cordova' Object as well as on its Properties and Methods in JavaScript.

ca cordovajs 1
ca cordovajs 2

Related JIRA: JBIDE-15837


BrowserSim

Easier usage of JavaFx web engine and debugger support on Microsoft Windows 64-bit

JavaFx is an alternative to SWT WebKit and enables Windows users to run BrowserSim and CordovaSim without having to install Safari and run these features with a 32-bit Java developer kit.

In past 32-bit was assumed/forced giving problems for users on 64-bit Windows. Now the BrowserSim and CordovaSim will be launched with the appropriate version without the user to start.

If you are on 32-bit Windows you can still install Safari to use SWT WebKit if preferred.

Related JIRA: JBIDE-17258

Process launch console output for BrowserSim / CordovaSim

Process launch console output is implemented for both SWT WebKit and JavaFx web engines. Not only the output of the main javascript console functions (console.log, console.info, console.warn, console.error) is displayed in the Eclipse console, but also logs and errors of the process. Also user can manipulate console (Pin Console, Scroll Lock, etc.) and close BrowserSim / CordovaSim via Terminate button.

Process launch console output

Related JIRA: JBIDE-16661

Linked folders support for CordovaSim

Linked folders are honored when project is run on CordovaSim.

Related JIRA: JBIDE-16931

Query parameters support for CordovaSim

CordovaSim now supports query parameters for the start page in launch configuration and via content tag in the config.xml.

Query parameters support

Related JIRAs: JBIDE-16388, JBIDE-16389


Forge Tools

Forge 2 Runtime

The included Forge 2 runtime is 2.6.0.Final.

f2startup

Starting the Forge 2 runtime is now achieved using the Ctrl+4 (or Cmd+4) key combination, the same as for Forge 1 runtimes. When multiple Forge runtimes are installed this key combination starts the default Forge runtime, which is specified and changeable in the Forge preferences.

Forge 2 Wizards

As well as starting the Forge runtime, pressing Ctrl+4 (or Cmd+4) opens a window listing available Forge wizards. The list of wizards is responsive, changing based on the currently selected workspace object. The image below illustrates the available wizards when nothing in particular was selected.

noselection

As you can see, there are wizards for creating database connection profiles, for managing Forge addons and for creating a new project.

When a project is selected while pressing the magic key combination, more wizards become available as illustrated in the image below.

projectselection

Forge 2 Command Line Interface

The wizards above are also available as commands on the Forge command line. Open the Forge Console by navigating through the Eclipse menu (Window→Show View→Other…​→Forge→Forge Console) or by typing in the Quick Access text field.

The image below illustrates the available commands in the workspace root.

commandline

JBoss Central

New Hybrid Mobile project wizard

JBoss Central now features the Hybrid Mobile Project wizard to let you kickstart new Cordova-based mobile applications.

new hmt wizard

If the Hybrid Mobile Toolkit is not installed, you’ll be asked to install it, as well as a few useful companion features (CordovaSim, BrowserSim). When using JBoss Tools you’ll also be offered to add LiveReload and the Visual Plugin Editor, if these features are not already installed.

The Spring Project wizard, that was previously featured on JBoss Central, is still available in the File > New > Project…​ menu.

Related JIRA: JBIDE-16837

Early Access

We have introduced the concept of 'Early Access' features that can be installed from the Software/Updates tab of JBoss Central. These features are experimental or still being developed, so they may contain bugs and may not yet behave correctly.

To support these new incubating features, we’ve updated the JBoss Central view.

UI changes

On the Software/Updates tab of JBoss Central, you can now see a Show Early Access checkbox. Once selected, a disclaimer on the unsupported nature of the features you’re about to access will pop up. If you agree to it, the 'Early Access' features will be added to the list of available features. You can easily differentiate them thanks to their yellow background and the Early Access label at the right of the description, which provides a link to more information about how these features are (or are not) supported.

Early Access features can be installed and uninstalled just like regular features. Doing so will enable an additional software site from which these incubating components can be installed. Be aware that when updating Eclipse, this may cause some features to be updated unexpectedly.

central earlyaccess

Related JIRA: JBIDE-16375

Available features

The following features are included in the new 'Early Access' site within JBoss Central

  • Eclipse VJET: includes a JavaScript IDE, Java to Javascript Code Generation + Java Based DOM Kit

  • Arquillian Tools: Create, manage and run integration tests with Arquillian

  • AngularJS Eclipse: see below

Related JIRA: JBIDE-17318

AngularJS Eclipse

AngularJS Eclipse Plugin extends Eclipse WTP to provide:

  • an HTML editor which supports AngularJS expression and directive. See HTML features for more informations.

  • an Angular Explorer view which displays modules, controllers of your project in a tree.

  • a Javascript editor which supports AngularJS features (modules, etc). See Javascript features for more informations.

HTMLAngularEditorOverview

AngularJS Eclipse relies on the tern.java plugin to manage powerful completion on HTML files (AngularsJS Expression, directives, modules) and Javascripts files (see Tern Eclipse IDE).

If you are new to AngularJS Eclipse, please read this AngularJS Eclipse Getting Started.

Related JIRA: JBIDE-17278

Update and uninstall software from JBoss Central

From the same JBoss Central Software/Updates page used to install additional features, you can now update features (if a newer version is available), or uninstall them.

central update remove

Related JIRA: JBIDE-16592


JST / JSF / HTML Editor

JavaScript Editing improvments

Content Assistant in JavaScript is extended with the proposals on Objects, Properties and Functions of ECMA5 JavaScript Specification

js ecma5 1
js ecma5 2

Related JIRA: JBIDE-17159

AngularJS Eclipse Plugin integration

If you have AngularJS Eclipse Plugin installed in your Eclipse then JBoss Tools will enable AngularJS support in JavaScript projects automatically. For such projects, JBoss Tools HTML editor now provides AngularJS specific code assist, navigation, etc.

angular

AngularJS Eclipse Plugin is available for installation in the Software/Update tab of JBoss Central (you need to enable Early Access features first).

Related JIRA: JBIDE-17217

Multiple versions of jQuery in jQuery Mobile Palette

Since JBoss Tools 4.2.0.Beta2, jQuery Mobile Palette supports multiple versions of jQuery and jQuery Mobile JS/CSS files in the New Widget dialog.

If there are no jQuery files references in the HTML page when inserting a jQuery Mobile widget from the Palette, then the corresponding JS and CSS links are added to the header element of the page automatically by default (can be disabled).

page1
page2

Related JIRA: JBIDE-17032

Drag and Drop improvements

Drag and Drop from jQuery Mobile Palette was improved and inserts widgets in proper places on the page, not just wherever the cursor/mouse happens to be. For example if you trying to drop a new page into another page then the page will be inserted right after or before the existing page element. If there is no proper place for the widget then a warning message will be shown:

Related JIRA: JBIDE-16321

Palette entries via content assist

There is now one more way to insert an HTML5 widget from the Palette view. All palette entries are available via content assist (Ctrl+Space) as templates.

ca

Related JIRA: JBIDE-16687


Maven

JBoss Maven Integration

m2eclipse-egit integration

The Import > Checkout Maven Projects from SCM wizard doesn’t have any SCM provider by default, which can be pretty frustrating at times. With Git becoming the new de facto source control system, it only made sense to make m2eclipse-egit the sensible default SCM provider for m2e.

m2eclipse-egit will now be automatically installed when a JBoss Maven integration feature is installed from the JBoss Tools update site.

It will be installed by default with JBoss Developer Studio 8.0.0 as well.

Related JIRA: JBIDE-16574


OpenShift

Configure an OpenShift Application for your project

JBoss Tools 4.2.0.Beta adds New/Import OpenShift Application to the configure context menu of your workspace project in the package explorer and navigator. This allows you to create a new OpenShift application for your project via its the context menu. Simply pick Configure → New/Import OpenShift application and we’ll present you the application wizard.

Once the OpenShift application is created, we’ll merge it into your project. Pushing it back via our server adapter or via (E)git will deploy your project to OpenShift.

package-explorer-configure

Related JIRA: JBIDE-10546

Start an Application from Quickstarts

In JBoss Tools 4.2.0 Beta2 you will be able to start new applications from the promoted OpenShift quickstarts. A quickstart will configure the appication-, add-on cartridge(s) and the application template code for you.

new quickstart

The quickstarts comes with predefined list of cartridges for setup. If that list allows you to choose between versions you can Edit them.

pick alterntive addons

Related JIRA: JBIDE-14744

Snapshot and Restore/Deploy

Snapshots allow you to backup and restore your OpenShift application to and from a .tar.gz archive. Full snapshots contain all local files of your application, including the logs.

context menu snapshot

There is more than just backup and restore in snapshots: Binary deployments are also possible via Deployment snapshots. Deployment Snapshots allow you to deploy to OpenShift without using git.

save deployment snapshot

JBoss Tools allows you both full and deployment snapshot via radio buttons in the snapshot wizard.
You can read all the details about (deployment) snaphots in the OpenShift user guide

Related JIRA: JBIDE-10456

Fully fledged Server Adapter context menu

We geared towards making your life easier and added all application related actions to the OpenShift server context menu (Servers view). We also reorganized the context menu of the OpenShift Explorer to better match the defaults used in Eclipse.

server adapter context menu

Related JIRA: JBIDE-15897


Project Examples

New Cordova Client + Restful back-end example available

A new mobile application example, contacts-mobile-basic, has been added to the Mobile Applications category of project examples. This example, featured in the Start from a sample section of JBoss Central, combines an Apache Cordova-based front-end client, communicating with an Apache Maven-built, JAX-RS-based back-end service.

Related JIRA: JBIDE-16838


Server Tools

JBoss Server Adapters

JBoss and Wildfly Runtime classpath containers now honor JBoss Module system

Previously, JBoss and Wildfly runtimes in your eclipse workbench would provide classpath containers that consisted of a set of jars found by filesets. If you wanted to update, change, or remove entries, you’d need to customize the list of entries in a preference page, where your only options were to add or remove filesets with includes and excludes patterns.

This "worked", but it really wasn’t good enough. It became downright wrong, though, once the Wildfly servers gained a patching ability to upgrade servers. Finding the proper jar was no longer as simple as using a fileset with an easily located base directory, but instead became dependent upon the actual details of your installation.

Now, that same preference page allows you to add a custom classpath entry for a JBoss module identifier. The classpath containers will search all appropriate directories based on the current state of the installation to locate the correct versions of the jars to be added to your eclipse project’s classpath.

If you already customized the list and want the new classpath resolution you need to reset the settings. You do this at Window → Preferences → Server → Runtime Environment → Default Classpath Entries and select "Restore Defaults".

JBoss module classpath entries

Related JIRA: JBIDE-9479

Classpath containers will also support jboss-modules dependencies!

Those same classpath containers mentioned above will also be able to customize the container results if your project’s manifest.mf includes a "Dependencies" attribute as specified by https://docs.jboss.org/author/display/MODULES/Manifest+module+information [Wildfly’s documentation].

In general, this feature is most useful if your project is making use of the application server’s lower level functionality, or if your deployment is intended as, or has dependencies on, a JBoss Module.

Related JIRA: JBIDE-17236

JMX enhanced with JVM Monitor

JVM Monitor

The MBean Explorer, currently renamed to the JMX Navigator, has an exciting new addition. After connecting to a given JMX Connection, the properties view will now fill up with an expansive UI for profiling many aspects of your running server. The functionality itself is a fork of JVM Monitor, and most of the documentation of that project still applies, though there are some changes.

JVM Monitor is essentially a profiling agent, which will attach its library to your running java application in order to capture profiling data. The profiling data is polled repeatedly, allowing charts, call-trees, thread states, and many other utilities that you’ll find useful in debugging all sorts of problems on your running server.

Also, the JMX Navigator can automatically detect java processes running on your machine, and expose them for both JMX browsing and profiling. This profiling ability is available not just for servers but for all java launches, if you choose to make use of it.

For Beta2, only the automatically detected processes will have this integration with the properties view, but we expect to expand the integration efforts substantially in the upcoming releases.

JVMMonitor Integration

Most of the documentation for this expansive new functionality can be found at http://www.jvmmonitor.org/doc/index.html. Be aware, though, that not all of the documentation applies currently. Most notable is the absence of a JVM Explorer view. While no complete list of differences is available at the moment, we expect to make one available for our GA release.

Related JIRA: JBIDE-17309


Usage

Usage tracking for wizards, Forge Tools, HTML Editor, Cordovasim, Browsersim

A few new usage events have been added to this milestone release:

  • Number of times JBoss Tools HTML/JSP Editor (Source/Visual tab) and HTML5 Preview are activated

  • Class name of completed IDE wizards

  • BrowserSim and CordovaSim engine names (JavaFx or Webkit) and number of times started

  • Forge Tools runtime version and number of times started

These will be used to learn more about how our users are using the tooling and improve it going forward.

All information which is going to be collected is reflected in Preferences > JBoss Tools > Usage Reporting for you to review.

As always JBoss Tools will not send any information before a user have opted in, nor is there any personal information sent.

Related JIRAs: JBIDE-17320, JBIDE-17305, JBIDE-17232, JBIDE-17458


Visual Editor

HTML Preview as a separate plugin

HTML Preview is a WYSIWYG plugin for HTML pages. Preview is not coupled with a particular editor, but editor must have DOM model support. HTML Preview has several cool features like:

  • automatic refresh (enabled by default)

  • refresh on save

  • navigation from source to view and vice versa

html preview

HTML Preview can be enabled via Quick Access > HTML Preview. More info about HTML Preview can be found in our blog.

Related JIRAs: JBIDE-16908, JBIDE-16919, JBIDE-16920

HTML Preview as a part of VPE

HTML Preview could also be treated as a possible XULRunner substitution for plain HTML pages (JSF/xhtml still requires XULRunner). The point is that, when XULRunner is unavailable, HTML Preview will be used in "Visual/Source" and "Preview" tabs of the VPE.

html preview vpe

Related JIRAs: JBIDE-16414, JBIDE-16925, JBIDE-16926, JBIDE-16927


Web Services Tools

New JAX-RS Wizard for Resource and Application creation

Two new JAX-RS wizards now replace the former "Create Sample RESTFul Web Services" wizard:

  • a wizard to create a new JAX-RS Application. This wizard lets the user choose between creating a subclass of javax.ws.rs.core.Application or defining a <servlet-mapping> element in the project’s web deployment descriptor.

JAX-RS Application Creation Wizard
  • a wizard to create a new JAX-RS Resource. This wizard provides the user with default settings for the class name, the @Path value at the type level and the supported media-types (by default, application/json and application/xml). The wizard also provides with code skeleton generation for CRUD methods.

JAX-RS Resource Creation Wizard

The JAX-RS Resource creation wizard also allows for JAX-RS Application creation if none already exists in the project. This step can be skipped if the user plans to deploy her project on a non-Java EE platform. A third option, labelled "Skip the JAX-RS Application creation", is displayed on the "JAX-RS Application" dialog page shown above.

The JAX-RS Resource wizard can be invoked from File ▸ New in the menu bar and in the project’s menu. It also appears in the Servlet group in the toolbar, both in the Java EE and JBoss perspectives.

Both JAX-RS Resource and Application wizards can be invoked from a selected element in the Project Explorer, including classes, packages, source folders and the "JAX-RS Web Services" node. The default values will depend on the current selection.

Related JIRA: JBIDE-17151

JAX-RS parameters validation and support for ParamConverterProviders

The JAX-RS tooling now validates the parameter types in the Resource Methods. In particular, it verifies that the parameter types meet one of the following requirements:

  1. Primitive types.

  2. Types that have a constructor that accepts a single String argument.

  3. Types that have a static method named valueOf or fromString, with a single String argument that return an instance of the type.

  4. List<T>, Set<T>, or SortedSet<T>, where T satisfies #2 or #3 above.

  5. Types for which a ParamConverter is available via a registered ParamConverterProvider (new addition in JAX-RS 2.0).

Related JIRAs: JBIDE-15592, JBIDE-16763

Quickfixes

When defining custom NameBinding and HttpMethod annotations, the @Target and @Retention meta-annotations must be set with appropriate values. Not only the JAX-RS Tooling has been recognizing those custom annotations and validating the values of the aforementioned meta-annotations for a while, but it also now provides users with quickfixes to set the expected values from the error marker in the Java editor (and not only from the Markers view).

java annotation value quickfix

Related JIRA: JBIDE-17177

JAX-RS 2.0 Support

Tooling for server-side JAX-RS 2.0 development is almost complete (see New and Noteworthy of JBoss Tools 4.2.0.Beta1). The 2 remaining features to implement are:

  • Support for @BeanParam annotation on Resource Methods parameters and Resource fields. This annotation allows for injection user-defined beans whose fields and properties may be annotated with JAX-RS param annotations.

  • Provide JAX-RS Fields type validation. This is a similar feature to what’s been implemented in this release with regards to Resource Method parameter validation, but applied on Resource fields.

Related JIRA: JBIDE-16329


back to top