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

What's New in 4.3.0.Final

General

Java 8 requirement

Java 8 is now a minimum requirement to run JBoss Tools. JBoss Tools continues to support running servers and applications with older Java versions.

If JBoss Tools is run on an older Java version, a warning dialog appears:

JavaVersion

Related JIRA: JBIDE-19500

Easier import of projects

JBoss Tools now integrate new UI entry-points to simplify import of existing projects. This alternative mechanism scans a given folder of the filesystem to detect different kinds of existing projects (Eclipse projects, Maven projects, Cordova projects, Java EE projects, JavaScript projects…​) to import and configure them at best inside the IDE. The difference with existing import strategies is that user isn’t required to know how to import a given project, and can now focus on what to import and rely on the IDE to take care of how to do it.

The entry-points for this import are:

  • File > Import Projects from Folder…​

  • File > Import…​ > General > Projects from Folder

  • File > Import…​ > Git > Projects from Git (auto-import)

Related JIRA: JBDS-3285

Eclipse Compatibility

JBoss Tools is now targeting Eclipse Mars.1 as a running platform.


Arquillian

Better support for the ShrinkWrap API in Generate Deployment

GenerateDeployment

Dependent classes for the same package are added with addClasses(…​) instead of using addClass on each individual package.

Related JIRA: JBIDE-18270

'Export Archive' to Arquillian Cruiser view

ExportArchive

An archive can be exported by right-clicking an archive entry in the Arquillia Cruiser view and selecting the Export Archive action.

Related JIRA: JBIDE-16385

ShrinkWrap Archive file location validation

FileLocationValidation

Arquillian warns that known EE descriptor files are not in the correct location.

Related JIRA: JBIDE-14782

Maven configurator for arquillian

Arquillian now includes a Maven configurator that configures Arquillian capabilities if a project includes Arquillian classes. The configurator is disabled by default.

ArquillianConfigurator

Related JIRA: JBIDE-14427

Arquillian JUnit Test Case wizard: Add dependent classes

The Arquillian JUnit Test Case wizard has an option to add dependent classes for a class under test.

dependentClasses2

Related JIRA: JBIDE-20221

Arquillian Cruiser: Arquillian Working Set Filter

WorkingSets

The Arquillian Working Set Filter filter shows all projects that are placed in the same working set as the selected project.

Related JIRA: JBIDE-20220

Arquillian Cruiser: Expand action

ExpandAction

Related JIRA: JBIDE-20218


Aerogear

Import FeedHenry Applications

A new wizard allows you to import Cordova Applications from FeedHenry to take advantage of the Cordova features and the CordovaSim on JBoss Tools.

importFeedHenryAppWiz

Windows Phone Support

Hybrid Mobile(Cordova) projects now support Windows Phone. The new Windows Phone allows cordova projects to run on Windows Phone emulator directly from JBoss Tools. It also provides export support for Windows Phone applications and native projects.

WPExport

Independent Cordova platforms

You can now select the Cordova version per platform. This allows you to mix and match different Cordova version to best accommodate the requirements of your application.

engine dialog

FeedHenry Application import dialog refreshed

Uses improved iconography and better connection handling.

fhimport refresh

Cordova platform downloads is using npm.

Cordova engine downloads have switched to use npm to improve the reliability of the downloads. Download dialog is also refreshed to adjust to this change.

Create FeedHenry Cordova Application

A new wizard allows you to convert a hybrid mobile project to a FeedHenry application. The wizard creates a client application on the FeedHenry cloud and configures the git repository for the project.

NewApplicationWiz

Related JIRA: JBDS-3268


Batch Tools

Batch Job XML Editor

A new JavaEE 7 Batch job XML editor is available in JBoss Tools 4.3. The editor has three tabs:

  • Tree form editor

  • Visual (diagram) editor

  • XML source editor

diagram

Related JIRA: JBIDE-18859

Visual (diagram) editor features

  • Visualization of structure of batch job, i.e.:

    • step, flow, split, decision

    • connection using next attribute and next elements

    • end, stop and fail outcomes

    • support for browsing nested flows

  • Other properties editable via context actions and linked property views

  • Setting a flow element as a start (i.e. reordering)

  • Content proposal for batch artifacts

See a demo video:

Related JIRA: JBIDE-19717

Content Assist

Job XML Editor provides content assist for <* ref="">, <* next="">, <* to="">, <* restart=""> and for batch properties:

batchCA

Related JIRA: JBIDE-19268

Content assist also works for any class attribute (used to reference exception classes). Just type the first letter of the class or name and the content assist will show all available proposals.

ca

Related JIRA: JBIDE-19386

Batch artifacts can be navigated to via OpenOn. Just press Ctrl and click on <* ref="">, <* next="">, <* to="">, <* restart=""> or property name to open the corresponding source code or Job XML element.

openOn

Related JIRA: JBIDE-19267

To navigate from the Properties editor to the corresponding batch artifact, click the icon at the property name and select 'Open <artifact>'.

open

If no artifacts are included, click the 'Create <artifact>' link. This starts the 'New Batch Artifact' wizard.

create

Related JIRA: JBIDE-20005

It is also possible to navigate (Ctrl+Click) from injection points annotated @BatchProperty to the corresponding property references:

openon

Related JIRA: JBIDE-19700

Validation

Batch artifact and property references are validated in Job XML files:

validation

Related JIRA: JBIDE-19158

There are Quick Fixes available for the following validation problems:

  • "Batchlet "<batchlet-name>" is not found"

  • "Checkpoint algorithm "<checkpointalgorithm-name>" is not found"

  • "Decider "<decider-name>" is not found"

  • "Item Processor "<itemprocessor-name>" is not found"

  • "Item Reader "<itemreader-name>" is not found"

  • "Item Writer "<itemwriter-name>" is not found"

  • "Job listener "<joblistener-name>" is not found"

  • "Partition Analyzer "<partitionanalyzer-name>" is not found"

  • "Partition Collector "<partitioncollector-name>" is not found"

  • "Partition Mapper "<partitionmapper-name>" is not found"

  • "Partition Reducer "<partitionreducer-name>" is not found"

  • "Step listener "<steplistener-name>" is not found"

The Quick Fixes open a pre-set New Batch Artifact wizard to create the missing artifact:

qf

Related JIRA: JBIDE-19266

Searching and Renaming Batch Artifacts

Search for references (Ctrl+Shift+G) works for batch artifact classes and its property fields. For example if you have a batchlet class:

@Named
public class SearchableBatchlet implements Batchlet {

	@Inject @BatchProperty(name="secondName") String otherName;
...
}

then results for SearchableBatchlet references will include the corresponding Job XML file:

search

When you rename some class name or property field then the corresponding Job XML references will be renamed too:

refactor

Related JIRA: JBIDE-19507

New Batch Job XML Wizard

New Batch Job XML wizard is available in New→Others→Batch menu and creates a new Batch Job XML file:

batchJobWizard

Related JIRA: JBIDE-19516

New Batch Artifact wizard

This wizard allows to create batch artifacts, such as:

  • Batchlet

  • Checkpoint Algorithm

  • Decider

  • Item Reader

  • Item Writer

  • Item Processor

  • Partition Analyzer

  • Partition Reducer

  • Partition Collector

  • Partition Mapper

  • Partition Plan

  • Chunk Listener

  • Item Process Listener

  • Item Reader Listener

  • Item Writer Listener

  • Job Listener

  • Step Listener

  • Retry Process Listener

  • Retry Read Listener

  • Retry Write Listener

  • Skip Process Listener

  • Skip Listener

  • Skip Write Listener.

artifact

Related JIRA: JBIDE-18950

Performance improvements

We have fixed a critical performance issue with JBoss Knowledge Base builder for project with large JAR libraries that contain Batch artifacts. For example, if your Maven project has a dependency on glassfish-embedded-all.jar then it could take more than 5 minutes to build the project just because of this dependency. Now, it takes seconds.

Related JIRA: JBIDE-20593


BrowserSim

iPhone 6 / 6 plus skin

Brand new iPhone 6 and iPhone 6 Plus skins are now available in BrowserSim and CordovaSim:

iPhone 6 / 6 Plus skin

Related JIRAs: JBIDE-18874, JBIDE-18875

JavaFx web engine support for BrowserSim standalone

For whose who do not use Eclipse / JBoss Developer Studio, there is a standalone mode of BrowserSim. However, only SWT WebKit web engine used to be supported. Now there is a possibility to run BrowserSim standalone against JavaFx web engine which provides features like Dev Tools Debugger and JavaScript logging in the console.

JavaFx web engine for BrowserSim standalone

Related JIRA: JBIDE-18703

Basic FeedHenry support for CordovaSim

CordovaSim has gained basic FeedHenry support. Now it is possible to run FeedHenry hybrid apps against both local and remote Node.js server:

Basic FeedHenry support

Related JIRA: JBIDE-18900

Saving all CordovaSim preferences on close

From now on all specific preferences (UI themes, tabs order, settings, etc.) are saved on CordovaSim close.

Related JIRA: JBIDE-18732

Security note for "Remote" proxy in CordovaSim

Now there is a security warning for "Remote" proxy. Basically, If the app is transferring sensitive data (authentication tokens, credentials etc.), it is strongly recommended to use "Local" proxy instead of the "Remote" one.

Security warning for

Related JIRA: JBIDE-19094

Individual platform releases support for CordovaSim

Apache Cordova Project is now doing individual releases per platform (Android / Windows Phone / IOS). This functionality is now available for CordovaSim. One can specify cordova engine via Properties → Hybrid Mobile Engine:

Individual Platform Releases support

Related JIRAs: JBIDE-19426, JBIDE-19471

BrowserSim is now available in the "Quick Access"

The "Run BrowserSim" command is now available in the "Quick Access" for every single perspective:

Run BrowserSim

Related JIRA: JBIDE-12108

Improved Cheat Sheets for BrowserSim

Now an optional url parameter can be added to the BrowserSim command when writing Cheet Sheets. The usage is the following:

<command
	required="false"
	serialization="org.jboss.tools.vpe.browsersim.eclipse.commands.runBrowserSim(url=http://example.com/)"/>

Related JIRA: JBIDE-15884


CDI Tools

CDI 1.2

CDI Tools now support CDI 1.2 projects. If your CDI project (with enabled CDI support) has CDI 1.2 JARs in its classpath, CDI Tools recognizes it as CDI 1.2 project automatically. There is no need to use any special settings to distinguish CDI 1.2 from CDI 1.1 or 1.0.

Related JIRA: JBIDE-17923

Multiple Versions in New beans.xml Wizard

The new beans.xml wizard allows to choose the CDI version: 1.0, 1.1 or 1.2

beansxml

Related JIRA: JBIDE-18584

CDI Auto Enablement for JavaEE 7 Projects

CDI Tools now automatically enables CDI support for the project when the following Java EE 7 facets are installed: Web (Servlet) 3.1 or higher, EJB 3.2 or higher or Utility module. For example, if you create a brand new Web Dynamic project with Web (Servlet) version 3.1 and any Java EE 7 targeting server, CDI support is automatically enabled. Additionally, JBoss Tools still enables CDI support for the maven projects if the project has CDI dependencies. However, this feature is only avaialble when the Maven CDI integration plugin is installed.

Related JIRA: JBIDE-18592

Proper Validation Problem Messages Dependent on CDI Version

Each CDI validation problem message refers to the corresponding CDI specification paragraph. Message and specification referrals now depend on the CDI version used in the project. For example:

  1. "There is no class "org.domain.ClassName" [JSR-299 §8.2]" - CDI 1.0 validation message for non-existing class in beans.xml

  2. "There is no class "org.domain.ClassName" [JSR-346 §8.2]" - CDI 1.1 validation message

Related JIRA: JBIDE-18750


Docker Tools

Tooling for Docker is available in Eclipse Mars under the Linux tools umbrella. Despite this name, this works on all major developer platforms. It is mirrored on JBoss Tools update site and is also included in Developer Studio 9.0.0.Final.

Connection Wizard

The connection wizard support both Unix sockets and REST API to connect to a Docker engine. The wizard requires a unique name to identify the connection and checks the required permissions on the Unix socket and on the path to the certificates for TCP connections.

Open Connection Wizard

Explorer View

The new "Docker Explorer" view displays containers and images in a tree view, with filters to hide dangling and intermediate images and stopped containers. The container icons have decorators to indicate their state (running, paused or stopped).

Improved Docker Explorer View

Containers View

The new "Containers" view displays the same information that appears when using the docker ps or docker ps -a commands in a terminal.

Containers View

Images View

The new "Images" view displays the same information that appears when using the docker images command in a terminal.

Images View

"Run Image" wizard

The new "Run Image" wizard lets users run an image by passing the most relevant arguments in the context of a developer machine:

  • the name of the container (although this is optional)

  • the exposed ports (the table is prepopulated with port numbers retrieved from the selected Image information)

  • the links to containers

  • the data volume

  • the environment variables

Run Image Wizard

Dialog to Search and Pull Images

The Pull Image wizard can be launched from the Docker Images view or from the Docker Explorer view:

Pull Image Wizard

The wizard detects the tag in the image name and if none is specified, the image tagged latest is pulled.

If the user needs to search a specific image name, she can click on the Search…​ button which will open the Search wizard:

Search Image Wizard

This is followed by a second page that displays all the tags for the selected image:

Search Image Tags Wizard

Even though this wizard can only search from Docker Hub, users can still pull images from other third-party registries. When doing this, the image name must contain a prefix with the registry host and port, for example 192.168.59.103:5000/centos:7.

Launcher to Build a Docker Image

The Docker Tools also includes a launcher to build images from a Dockerfile.

Build Image Launcher

The source path is a directory in the workspace or on the file system and the Docker Connection combo box specifies on which Docker daemon the image will be built.

Properties view

The Properties view responds to the selection on an Image or a Container in the aforementioned views to display general and detailed information.

Properties View

Other commands

The push, display logs, commit, and tag commands are also available from contextual menus and view toolbars.


Forge Tools

Forge 2 Runtime

The included Forge runtime is 2.19.2.Final.

startup

Start the Forge runtime using the Ctrl+4 (or Cmd+4) key combination.


Freemarker

Freemarker 2.3.22

Freemarker library included in Fremarker IDE was updated to latest available version 2.3.22.

Related JIRA: JBIDE-18815

The Freemarker editor now displays hyperlinks for #include directives that reference a file in the same directory. #include directives with relative/absolute paths and acquisitions are not supported.

Related JIRA: JBIDE-19966


Hibernate Tools

Hibernate Runtime Version Updates

The following new core Hibernate Tools releases have been published:

  • 3.5.1.Final: This version was build using the 3.5.6.Final version of Hibernate ORM.

  • 3.6.0.Final: This version was build using the 3.6.10.Final version of Hibernate ORM.

  • 4.0.0.Final: This version was build using the 4.0.1.Final version of Hibernate ORM.

  • 4.3.1.Final: This version was build using the 4.3.10.Final version of Hibernate ORM.

These four new releases with their specific Hibernate ORM dependencies have been included in the corresponding Hibernate runtime provider plugins in the 4.3.0.CR1 release of JBoss Tools.

Hibernate Configuration File Wizard

The wizard to create new Hibernate configuration files (*.cfg.xml) now supports multiple Hibernate versions.

cfg xml wizard

A new dropdown box now allows for the selection of the desired Hibernate version.

Related JIRA: JBIDE-20412


JavaScript Tools

Bower support

We are pleased to introduce the brand new Bower Tools. Bower is a front-end package manager that fetches and installs frameworks, libraries, and assets. Bower keeps track of these packages in a manifest file named bower.json.

Prerequisites

JBoss Bower Tools fall back on native Node.js and Bower calls. As a result, the following software must be installed before using Bower Tools:

  • Node.js

  • npm

  • Bower

Installation instructions for Node.js and npm are available here: here. Bower is a command line utility installed via the npm command npm install -g bower

User Manual

With the current implementation, only the init and update commands from the Bower API are supported. Initialize Bower by selecting File → New…​ → Other…​ and choosing Bower Init wizard:

Bower Init wizard

This wizard creates the bower.json file depending on a set of preferences:

Bower Init wizard page

Click "Finish" to create a bower.json file in the specified directory:

Default bower.json

Add new dependencies by specifying them in bower.json:

Bower dependencies

Update dependencies by right-clicking bower.jsonRun As…​Bower Update.

In most cases Bower and Node.js will be automatically detected. However, if the detection fails, a warning dialog box appears:
Bower preferences

The "Bower Update" launch shortcut makes a native call which installs the required packages or updates according to bower.json:

Bower Update launch

The specified packages are created in the bower_components folder after "Bower Update" execution:

Bower components

In conclusion, users can now use these packages for future front-end development.

Related JIRA: JBIDE-19795

JavaScript Editing improvements

JBoss Tools and JBoss Developer Studio’s Target Platforms have been updated with the latest Tern.java and AngularJS-Eclipse features to bring the latest improvements and fixes of JavaScript Content Assistant into JBoss Tools.

  • Tern.java v.1.0.0.201508302102

  • AngularJS-Eclipse v.1.0.0.201508312121

Check out their New and Noteworthy pages:

Note: These features are available via JBoss Central - Early Access, as a part of AngularJS for Web Tools

Related JIRA: JBIDE-20545

JavaScript Development Tools improvements

JSDT now includes an option to turn off internal parsing and validation, which is useful for users working with big projects where JavaScript is not the main part of development by reducing the memory/performance requirements. This option is also useful when JSDT is used with third-party tools which provide Content Assisting and Validation for JavaScript.

For such projects the "External Builder/Validator" mode can be selected for ECMAScript compliance level preference on the Window→Preferences→JavaScript→Validator preference page:

External Builder/Validator

JBoss Central

JBoss Developer Search available directly from Eclipse Help

We have added http://dcp.jboss.org/ as a search Engine for Eclipse Help search.

Any term you search in the Help > Search window will now be searched through references in all indexed JBoss articles and blogs :

jboss search help

Related JIRA: JBIDE-19272

Smart(er) project import

We’ve contributed a new import framework to Eclipse Mars, a.k.a. Smart Import. The purpose of that framework is to automatically detect what is a project and automatically configure it, upon import, with very minimal effort from the user.

For instance, if you open a folder containing a pom.xml file, it will be automatically inferred you’re trying to import a Maven project, so the underlying m2e import mechanism will be invoked.

This new feature is currently still in incubation at Eclipse.org, but we’re including it as a preview, as part of the JBoss Central Experience.

You can go to Import > General > Local folder as Project(s) into Workspace

smart import

Curently, the following types of projects are supported, and can be configured automatically on folder import :

  • Maven

  • Cordova

  • Java EE

  • Eclipse Plug-ins

  • Javascript

Eventually, eGit will be able to leverage this mechanism to automatically import projects after cloning a git repository.

Related JIRA: JBDS-3285

New and improved JBoss Central page

This release includes a slick, new and improved JBoss Central. This is a HTML-based page designed to provide instant access to a large variety of JBoss Developer materials. From top to bottom, you have access to :

  • the latest news/blog posts about JBoss technologies, cycling in a carousel

  • a search engine for project examples, similar to the one in http://www.jboss.org/developer-materials/

  • links to:

  • Finally, the lowest section displays common wizards and the list of recently used examples, helping you to start new projects quickly and easily

html central

The new and improved search feature provides instant access to approximately 200 quickstarts, filtered with zero latency as you type:

html central search

Click on a given tag to perform a search using that tag’s label.

We are really proud of how the new JBoss Central page gracefully adapts to lower resolutions, thanks to the Bootstrap framework under the hood. We really hope you’ll appreciate it as well. Please don’t hesitate to provide your feedback.

Related JIRA: JBDS-3272

Not installable "promotional" entries on Software/Update page

Some entries in the Software/Update page will now be shown only for the purpose of information. These cannot be installed immediately into JBoss Tools, but may instead represent software that is still being prepared and will be available soon.

Related JIRA: JBIDE-20100


JST / JSF / HTML Editor

Palette

New HTML 5 Widgets

New HTML 5.0 widgets were added to the Palette:

  • Canvas

  • Datalist

  • Table

  • Text Input

  • Button

  • Menuitem

  • Menu

  • Meter

  • List

palette

Related JIRA: JBIDE-17058

A new group of the last used/most popular HTML widgets is now available in Palette view:

Related JIRA: JBIDE-18669

Filter for Libraries Defined on Page

There is a new filter to show only palette groups for which libraries are defined on the page

filter

Related JIRA: JBIDE-18188

Content Assist and Navigation for Datalist

Content Assist for <input list="|"> now refers to the available <datalist> elements. Ctrl+Click on the list ID will navigate to the corresponding <datalist id="…​">

datalistca

Related JIRAs: JBIDE-18960, JBIDE-18962

Content assist for Angular expressions

We are happy to introduce our new dynamic content assist for Angular expressions {{expression}} which is based on information collected from AngularJS runtime model via AngularJS API. When the content assist for any {{expression}} is being invoked within any HTML file with some attached controller and there is no any critical errors in the file and required JS files then we run an internal web browser behind the scenes to retrieve all available JS objects.

angular

Note: These features are available via JBoss Central as a part of AngularJS for Web Tools

Related JIRA: JBIDE-15714

Custom HTML Tag Validation

HTML validation in Eclipse Web Tools had an annoying issue with custom HTML5 tags. It warns about any HTML tag name that is not mentioned in the HTML specification. We contributed a patch to Eclipse Mars which allows to disable those warnings for any particular tag name (or a tag name mask, e.g. <ion-*>).

validation

Related JIRA: JBIDE-18387

New Ionic Spinner Widget

New spinner widget is available in Ionic Palette:

spinner

Related JIRA: JBIDE-19514


LiveReload

General

Quick Access to Launch LiveReload

Users can now launch LiveReload from the 'Quick Access' menu, or using the Ctrl+3 (or Cmd+3) keyboard shortcut.

This displays the dialog to create and start a LiveReload server and then it opens the current element (a selected file in the Project Explorer, a selected module in the Servers view or the content of the active editor) in the browser, without using the 'Open With>Web Browser via LiveReload Server' contextual menu.

Quick Access

Related JIRA: JBIDE-20059


Maven

Maven Repository Wizard

new Maven Red Hat GA repository

In the Maven Repository Configuration wizard, accessible from Preferences > JBoss Tools > JBoss Maven Integration > Configure Maven Repositories…​, the predefined Red Hat TechPreview All Maven repository has been replaced with the new, official Red Hat GA (GA: General Availability) repository, for released Red Hat JBoss Middleware artifacts.

red hat maven ga repository

It is recommended you replace the old TechPreview All repository with the new GA one, in your Maven settings.xml file.

Related JIRA: JBIDE-20192

new Bintray JCenter profile

Bintray JCenter is an alternative (and superset) to the Maven Central repository. From JBoss Tools/Developer Studio, you can now easily add it in a profile of your Maven settings.xml file. Go to Preferences > JBoss Tools > Maven Integration > Configure Maven Repositories…​, click on the Add Repository…​ button and select the bintray profile :

bintray repo

Related JIRA: JBIDE-19816


OpenShift

New OpenShift 3 support

OpenShift 3 tooling is provided as a TechPreview feature, available from the JBoss Central Software/Updates page. A few features are still missing, like deploying an existing workspace project, or editing existing build configurations. We have some ideas to provide an even better OpenShift Explorer user experience. Once we are fully satisfied with the quality of its feature set, OpenShift 3 tooling will mature to a Supported feature in the upcoming months, and will then be installed by default in JBDS.

it will add an option to create OpenShift 3 connections in the OpenShift Connection wizard.

oseval sign in to server

OpenShift 3 is not available as an online offering yet. Please refer to the Getting Started documentation

OpenShift 3 tooling supports 2 authentication schemes:

  • Basic Authentication: type in your login/password

  • OAuth Authentication: you retrieve a token by clicking the retrieve link, following the prompts in the browser, and pasting it back into the connection wizard.

Related JIRA: JBIDE-19096

Create an OpenShift 3 application from template

The New Application Wizard integrates with OpenShift 3. If you’re not familiar with OpenShift 3, a link to the getting started online documentation is available for quick access.

You can use templates to create OpenShift 3 resources that make up an application. The wizard allows you to use a template offered by the server, or to provide a template that you have ready on your local file system.

new_v3_application

Details of the selected templates are displayed on the bottom of the wizard.

Once the template is selected, the next page allows you to edit the template parameters, to customize them for your needs.

edit-template-parameters

Finally, you can add labels so that you will be able to reference those new resources once they are created.

edit-template-labels

A resource name collision detection prevents the creation of incomplete applications. A summary of all generated application parameters is shown, with a copy-to-clipboard button and a link to Webhook build triggers, once the application has been created.

os3_art1_create_appsummary

If applicable, the application code is automatically imported in the workspace once the wizard closes.

Related JIRA: JBIDE-19009

Changes in OpenShift Explorer

The OpenShift Explorer now supports all the following features for working with OpenShift 3 resources :

  • Create Connection/Project/Application from the New menu.

  • Delete resources (Connection/Project/Resources).

  • Import Application…​ menu at the connection and project levels.

  • Show In > Web Browser menu opens your application in a browser, if a route as been defined. If there are several routes, you will choose the one to use.

  • Show In > Web Console menu: opens an OpenShift connection or resource directly in the Web Console in a browser.

  • Properties menu: opens the Properties view on any given OpenShift 3 Connection/Project/Resource.

  • Show Webhooks…​ menu on Build Configs: opens a dialog allowing you to easily copy git hook URLs. This is used to trigger new builds on git push.

  • Start Build…​ menu available in the Builds category. The build state displays next to its name or in the properties view. For now, you need to manually refresh the Explorer to see the build progress and completion.

  • Build Log…​ and Pod Log…​ menus, for Builds and Pods (see Log Streaming).

  • Deploy Docker Image…​ menu, see Integration with Docker tooling.

openshift menus

Related JIRAs: JBIDE-20502, JBIDE-20487, JBIDE-20451, JBIDE-20291, JBIDE-20022, JBIDE-19010

Import application source into the workspace

An existing OpenShift 3 application can be imported into Eclipse using the Import Application…​ menu in the OpenShift Explorer. The import wizard prompts you to select a build config which contains the URI of your source repository. The wizard clones the source repository and imports the code into your Eclipse workspace as an Eclipse project.

import-application

All source repositories are imported as general Eclipse projects that you can manually configure to match your needs, except those which utilize Maven. Maven is recognized by the import process and the Eclipse projects are enabled via Eclipse’s Maven support. Eclipse project type detection will be improved in future releases via the new Eclipse Smart Import facility.

Related JIRA: JBIDE-19787

Manage your OpenShift Projects

The OpenShift 3 Project concept is similar to OpenShift 2 namespace. Not to be mistaken for the Eclipse Project. You can create or delete OpenShift projects from the Manage Projects…​ menu of an existing OpenShift Connection:

manage projects

or when creating a new OpenShift 3 application:

manage projects link

If an application is created without a project, the tools prompt you to create a project for the application beforehand:

manage projects wizard

Related JIRA: JBIDE-20016

Manually Trigger Builds

Automatic build triggers require using Webhook triggers. However, you can still manually trigger builds when selecting your Build Configs in the OpenShift Explorer.

start build

Related JIRA: JBIDE-20047

Easy setup for 'oc' binary

The Port Forwarding and Log Streaming features require that the OpenShift Client (OC) binary is installed on your machine. If the OC binary is missing, an error dialog will prompt you to configure its location in the OpenShift 3 preferences. If you don’t have a local copy of the OC binary, a link guides you to its download page.

setup oc binary

Related JIRAs: JBIDE-20371, JBIDE-20455, JBIDE-20354

Port Forwarding

If your application exposes ports, they can be forwarded to your local machine.

port forwarding

The upcoming wizard then lets you forward the ports that your application is exposing. You can also stop an existing tunnel by hitting "Stop All".

port forwarding wizard

The Eclipse Console displays which ports the wizard is forwarding and allows you to stop the tunnel via a red knob in the title bar.

port forwarding console

Related JIRA: JBIDE-19850

Log Streaming

Provided the OC binary was set up in Eclipse’s preferences, you can, from the OpenShift Explorer, stream logs from Build (Build Log…​ menu) or Pod (Pod Log…​) nodes. This is the same feature as Tail Log in OpenShift 2.

Logs display in a Console view, allowing users to monitor builds or application server logs in real time.

stream logs

Related JIRA: JBIDE-20099

Integration with Docker tooling

The OpenShift 3 Eclipse Tooling provides some integration with the Docker tooling with further improvements coming soon. Docker images can be deployed to the OpenShift cluster with an initial set of OpenShift resources. The Deploy Image wizard can be initiated from either the OpenShift or Docker explorer views. This wizard allows you to:

  • Choose an OpenShift project

  • Manually provide a Docker image URI from a local connection

  • Override Environment Variables

  • Expose image ports

  • Create a public route

  • Attach custom OpenShift labels to the generated OpenShift resources

deploy image menu
deploy image
deploy image config
deploy image routing
deploy image labels

Related JIRAs: JBIDE-19010, JBIDE-20402

New OpenShift 3 java client library

The OpenShift 3 tooling is based upon a new java client library to talk to the OpenShift 3 backend. This all new client library is hosted at:

https://github.com/openshift/openshift-restclient-java

Related JIRA: JBIDE-19555


Project Examples

Offline Support for Examples in JBoss Central

As mentioned in the JBoss Central section, you now have access to over 200 project examples from the JBoss Central page. All these examples and their dependencies can now be cached locally via the Groovy Offline script, available from Preferences > JBoss Tools > Project Examples > Offline Support.

examples offline support2

Groovy 2.4.x is now required to execute the offline script.

Please be aware the script now takes several hours to complete (3h on the Red Hat build farm).

Related JIRA: JBIDE-20077


Server Tools

IP6 Support Added

For JBoss 7 and Wildfly installations, using hostnames with an IPv6 format often failed to connect, show webpages, or even verify the server’s state. Several changes have made this work as expected. With updated wildfly jars, management commands will execute without issue. In addition, our tools will now automatically recognize host names in an IPv6 pattern, and update your launch configuration’s various launch arguments to ensure that the server starts properly and with all expected flags set.

Setting the IPv6 Host
Launch Configuration for IPv6 Hosts

Related JIRA: JBIDE-19113 - Update of wildfly jars

Related JIRA: JBIDE-12352 - Remote Management Connections to Wildfly IPv6

Related JIRA: JBIDE-12351 - JMX connections to Wildfly IPv6

Related JIRA: JBIDE-12282 - Wildfly server fails to Stop IPv6

Project Archives, support for ant usecase removed

In previous releases, Project Archives was designed in such a way that the core plugin would be compiled into multiple jars, one of which had minimal dependencies on Eclipse, allowing it to be used from ant. This usecase was fairly complicated to get working for the user, and involved locating and adding several eclipse jars to the ant classpath, making use of a custom ant task, and adding a significant amount of configuration in your build.xml file to properly map details like a project’s location.

Despite attempting to be portable, persistable, and shareable, this usecase never really lived up to any of those goals. While the eclipse tooling could simply use a project name in its internal metadata, allowing the user to keep those projects wherever they want while using eclipse to resolve their location, the ant usecase required hard-coded location mappings for each project in the build.xml, limiting its usefulness in a shared environment.

For this and several other reasons (including ant’s decreasing utility, and our own internal policies for how plugins should be packaged), this 10-year old use case has been removed.

Support for Port Monitoring

Support for Port Monitoring has been (finally) added to JBoss, WildFly, and our enterprise server adapters. With a preference page, a view for tracking recent past requests, integration with the servers view, and some custom enhancements of our own, JBoss Tools is confident that our integration with this WebTools feature is more complete than what’s available with other server adapters.

20150521 monitoring view

A blog entry has been posted with further details.

Related JIRA: JBIDE-19755 - Implement ServerPort portion of wst.servertools API

LaunchBar

A new feature hiding in the CDT repository of eclipse is being released with Mars. Called the LaunchBar, this feature aims to update the UI of eclipse to allow for more easy running of launch configurations (and other things). In this Beta1 release, we’re adding this feature in an optional addition to our Server Tools. We’ve also written our own extensions to it, integrating the LaunchBar with WTP’s Server Adapters.

LaunchBar with Server Tools Integration

The list of launchable objects (center) is linked with your selections in the workspace when used with our extensions, in most cases before you’ve ever even launched the object. The list of targets (on the right) will include all existing server adapters compatible with the launchable.

To enable this feature, you need to install from Help > Install New Software…​ > http://download.jboss.org/jbosstools/mars/development/updates then select the JBoss Tools Server LaunchBar Integration feature.

LaunchBar Installation

For more information, you can also check launchbar’s documentation at eclipse.org, or try it for yourself.

Related JIRA: JBIDE-19711 - WTP servertools integration with CDT launchbar

Exploded Jars in WEB-INF/lib

In Wildfly 8.2, support was added for exploded jar deployment inside exploded wars. This has allowed our tooling to support this use case as well. This new functionality will be very useful when creating a modular web application, with different parts implemented in separate projects. Hot deployment of resources such as Facelets' XHTMLs is crucial for rapid development and testing.

Related JIRA: JBIDE-20071 - Allow deploying exploded jars to war/WEB-INF/lib

Support for Java 9 Jigsaw builds in WildFly 10

We have now verified that WildFly can be run on the newest builds of Java 9 with Jigsaw. This support is only built into our WildFly 10 adapters by default, but users of earlier application servers can remove the -jaxpmodule javax.xml.jaxp-provider portion of the launch arguments to get the same support.

WildFly 9, 10, and EAP 7 Server Adapters are Added

New server adapter and runtime types have been created for WildFly 9, 10 and JBoss EAP 7, allowing you to enjoy all the past benefits, but with all the newest runtimes.

Related JIRA: JBIDE-18348 - Initial support for WildFly 9, Application Server Distribution

Related JIRA: JBIDE-19964 - WildFly 10 Server Adapter

Related JIRA: JBIDE-20481 - EAP 7.0 Server Adapter


Usage

Browser Usage

The SWT Browser name and version is now collected for usage statistics to help the JBoss Tools team to learn more about preferred user configurations.

All collected information is reflected in Preferences > JBoss Tools > Usage Reporting for the user’s review.

As always, JBoss Tools does not send any information unless a user has opted into this option, nor is there ever any personal information sent.

Related JIRA: JBIDE-19899


Visual Editor

Multiple Browser Engine support on Linux

On Linux Visual Page Editor can be opened in HTML5 mode for HTML files, where all HTML5 features is supported.

vpe

Visual Page editor mode can be changed with dialog, which appears during HTML file openeng or in Visual Page Editor Preferences. using Changing Visual Editor mode requires Eclipse restart.

engine dialog

Related JIRA: JBIDE-18177

For single-page applications, the Visual Editor supports navigation between pages. However, there were problems returning to the previous page in the editor. To address this issue, Visual Editor now includes Back and Forward buttons in the menu bar which improve single-page application development.

back and forward

Related JIRA: JBIDE-19569


Web Services Tools

Content Assist for Methods in Websocket Endpoint Classes

Content assist for methods in Websocket endpoint classes is now added.

Websocket endpoint classes are classes annotated with javax.websocket.server.ServerEndpoint or javax.websocket.ClientEndpoint. They can have methods annotated with @OnClose, @OnError, @OnMessage, @OnOpen.

Content assist provides the following options:

  • onClose(Session session, CloseReason closeReason): void - @OnClose method for WebSocket endpoint

  • onError(Session session, Throwable throwable): void - @OnError method for WebSocket endpoint

  • onMessage(String message): void - @OnMessage method with text message for WebSocket endpoint

  • onMessage(byte[] message): void - @OnMessage method with binary message for WebSocket endpoint

  • onMessage(PongMessage message): void - @OnMessage method with pong message for WebSocket endpoint

  • onOpen(Session session, EndpointConfig endpointConfig): void - @OnOpen method for WebSocket endpoint

Each option can only be used once. After being used once, the option does not appear in the choices.

Use Content assist from any position to add a new class member. Use prefixes to reduce the choice list. For example, if onO or @onO is typed and Content Assist is invoked, only onOpen choice will be suggested.

websocket endpoint content assist

Example of inserted code:

	@OnOpen
	public void onOpen(Session session, EndpointConfig endpointConfig) {
		// TODO Auto-generated method stub
	}

Related JIRA: JBIDE-19739


back to top