What's New in 4.2.0.Beta3
Aerogear
Hybrid Mobile (Cordova) Tools
Restore Cordova plugins during import
On importing Cordova projects to the IDE, registry plug-ins referenced in the project config.xml files are automatically restored. This makes sharing Cordova projects within teams possible without adding plug-ins to a source control system. Additionally, project config.xml files are updated when plug-ins are added or removed from projects using the IDE Install and Remove Cordova Plug-in tools so you can be confident that the config.xml files contains up to date plug-in information.
See Gorkem’s post for a demo of the feature.
Related JIRA: JBIDE-17301
BrowserSim
Improving the way of handling unsupported plug-ins in CordovaSim
Now every time when CordovaSim can’t handle a plug-in, the following prompt is displayed:
Notifications can also be disabled in the Settings
tab of CordovaSim’s preferences :
Related JIRA: JBIDE-17588
Forge Tools
JST / JSF / HTML Editor
JavaScript Editing improvements
Target Platform is updated with the Tern.java v.0.4.0.201407030911 in order to bring the latest improvements and fixes of JavaScript Content Assistant into JBoss Tools:
-
Embedded Node.js distribution provided for Windows x86/x86_64, Mac OS X, Linux x86/x86_64
-
Embedded Node.js is used by default, so tern works right out-of-the-box
-
ECMA5 and Browser Tern Modules are turned on by default for JavaScript projects
-
Cordova Tern Module is turned on by default for HMT projects
Related JIRA: JBIDE-17673
Ionic
In this release we introduce an initial support for Ionic widgets in the HTML5 palette view.
Content assist
All these widgets are also available as templates in code assist.
Related JIRA: JBIDE-17852
We continue to work on this palette and more widgets are coming with the next release.
Maven
JBoss Maven Integration
Maven Central Archetype catalog
Since m2e 1.5.0 no longer downloads Nexus Indexes by default, a very small, outdated subset of Maven Archetypes is available out of the box.
To mitigate that, the JBoss Tools Maven integration feature now registers by default the Maven Central Archetype catalog, providing more than 9600 archetypes to chose from, when creating a new Maven project. Accessing the complete list of archetypes is even way, way faster (a few seconds) than relying on the old Nexus index download.
Related JIRA: JBDS-3033
OpenShift
Edit domain members
OpenShift allows you to add and remove other users to your domain and grant them view or write permissions. In JBoss Tools 4.2.0.Beta3 we added a link to the domain wizard. Hitting this link points your browser to the webpage in the OpenShift where you can manage your domain members.
Related JIRA: JBDS-2777
Choose the local changes that you want to publishing to OpenShift
JBoss Tools 4.2.0.Beta3 now allows you to pick the files that you want to publish. Once you tell the OpenShift server adapter to publish, it checks the pending changes and lists them in a dialog.
You may then stage the ones you want to push and provide a commit message.
The very same is true for the inital import of your OpenShift application:
The application-/import-wizard lists the files it changed and allows you to commit and push them back to OpenShift.
Related JIRA: JBIDE-10541
Save and restore Snapshots to/from your workspace
You can now save and restore your OpenShift application snapshots to and from your Eclipse workspace:
Related JIRA: JBIDE-17413
Server Tools
JMX Support
Grouping of connections
The JMX Navigator now has three groupings: User-defined connections, Server connections, and Local Processes. This categorization makes it clearer where the connection comes from. As connections are added to or removed from the view, the overall ordering will no longer be disturbed, which could otherwise be distracting.
Related JIRA: JBIDE-17639
JBoss Server Adapters
Servers and Execution Environments
Servers can now specify either an execution environment or specific JRE to be used for its launch. The list of available environments or JREs are based on the server type.
Related JIRA: JBIDE-17646
Modifying server profile
Modifying a server profile often requires some changes to various settings. Without these changes, the resultant server adapter may be in a inconsistent state. For example, a remote server that does not expose its management port should not be using the management API to determine if the remote server has started successfully.
Until Beta3 you could not change this via the UI, now you can. There is now a "Behavior Profile" hyperlink in the server editor to change the used profile via a wizard.
Once the wizard is complete, the server editor will save, close, and re-open to pickup the latest changes.
Related JIRA: JBIDE-17636
Usage
JVM name usage
JVM name and architecture (32/64 bit) are now collected for usage statistics to help JBoss Tools team to learn more about how our users are using the tooling. JBoss Tools also tracks events when the runtime detection mechanism creates a new server.
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-15596, JBIDE-17520
Web Services Tools
As-you-type Validation
As-you-type validation occurs in the scope of the java element (type declaration or method) that is being edited. If the java element corresponds to a JAX-RS element, this later is validated. Note that as opposed to "cascade validation" (see below) that occurs when the underlying file is saved, the related JAX-RS elements are not validated "as-you-type", in order to keep the process as fast as possible.
Related JIRA: JBIDE-17308
Validating related JAX-RS elements
When fixing problems in a class, all related JAX-RS elements are included in the set of classes of to be validated, which means that related problems can end up being resolved too.
For example, let’s assume that a user has the following classes:
public class Car {
public Car fromString(String value) {
return ...;
}
}
and
@Path("/cars")
public class CarResource
@POST
public Response createCar(Car car) {
...
}
}
In this example, the JAX-RS validator will report a problem on the CarResource#createCar(Car)
method because the Car
class is not a valid parameter: the Car#fromString(String)
method should actually be static. When the user adds the missing static modifier on the Car#fromString(String)
method and saves the file, not only the Car
class will be validated, but also the CarResource
, and at the end of the day, the problem reported earlier will be resolved.
Related JIRA: JBIDE-17368
Support for Resource Fields, Resource Properties and Parameter Aggregators
JAX-RS Resource Fields and Properties (ie, fields or setter methods annotated with @PathParam
, @QueryParam
, @MatrixParam
), as well as the JAX-RS 2.0 Parameter Aggregators (ie, method parameters, fields or setter methods annotated with @BeanParam
) are recognized.
These elements are taken into account when validating the project and when displaying the Endpoints URI templates in the Project explorer.
For example, let’s assume that a user has the following class:
@Path("/cars")
public class CarResource {
@MatrixParam("year")
private String year;
@QueryParam("color")
private String color;
@GET
@Path("{id}")
public Response getCar(@PathParam("id") String id) {
return ...;
}
}
In that case, the Endpoint URI template associated with the Resource Method and displayed in the Project Explorer will be /{id:String};year={String}?color={String}
Now, if the user has the following classes:
@Path("/cars")
public class CarResource {
@GET
@Path("/{id}")
public Response getCar(@PathParam("id") String id, @BeanParam OptionalParams options) {
return null;
}
}
and
public class OptionalParams {
@QueryParam("color")
public String color;
private String year;
public String getYear() {
return year;
}
@MatrixParam("year")
public void setYear(String year) {
this.year = year;
}
}
then the Endpoint URI template associated with the Resource Method (and its associated Parameter Aggregator) and displayed in the Project Explorer will also be /cars/{id:String};year={String}?color={String}
In this second example, it is the @BeanParam
annotation on the method parameter that is used to link to the Parameter Aggregator.