Posts Tagged ‘Eclipse’

Eclipse 4.2 SR2 released!

2 March 2013

Today the Eclipse organization released the second maintenance release of Eclipse 4.2; Eclipse 4.2.2 aka Eclipse Juno SR2.

This time around the event is actually noted on the main homepage at eclipse.org, where it briefly says:

The packages for the Juno SR2 release are now available for download.

Lists of bugs that were resolved can be found when clicking on the details link for a specific Eclipse variant on the above mentioned download page.

I didn’t see a complete list anywhere, but some fiddling with Bugzilla again revealed a list of 162 bugs that are fixed in core packages.

For the second time in a row the WTP project also posted about this event on their homepage. Following the Eclipse 4.2.2 release train, WTP was upgraded from 3.4.1 to 3.4.2. There’s again no release specific “new and noteworthy”, but there are release notes, which point to a matrix that shows no less than 77 bugs were fixed.

Community reporting about 4.2 SR2 is a little underwhelming again. DZone has a highly voted Eclipse 4.2 sr2 news blurb, and there’s the lone tweet on twitter, but that seems to be about it.

Of course the highlight of this release is the much awaited answer to the abysmal performance that has plagued the 4.2 series since it was released last year. A separate patch has been available for some time, but this has now been integrated into the ready-to-download official release.

Reports about the patch have been largely positive, so it’s to be expected that Eclipse 4.2 SR2 will indeed perform better. Further performance improvements are promised for Eclipse 4.3 (Kepler).

Sample CRUD application with JSF and RichFaces

30 March 2012

During my thesis project I will be using JavaServer Faces. Therefore it is important I get familiar with the framework. To get familiar I made a small CRUD (Create Read Update Delete) application. It is a simple application that makes it possible to keep track of users. It consists of a user list, a page to add/edit users and a page to delete a user.

The code

The research project will focus on when it is beneficial to use client-side scripting instead of/complementary to server side programming. To get up to speed a small CRUD application has been made without the use of client-side scripting and the same CRUD application was adapted to use client-side scripting by using RichFaces. The client-side scripting was added to the editing form to allow validating the form, without the need of making requests to the server.

The structure of the source project is as follows:

  • backing
    • Index.java – Backing for index.xhtml
    • UserDelete.java – Backing for UserDelete.xhtml
    • UserEdit.java – Backing for UserEdit.xhtml
  • constraints
    • Email.java –  Validation annotation for fields. Fields with this annotation are validated to be a proper email address.
    • EmailConstraintValidator.java – Performs the validation for email addresses.
  • ejb
    • UserDAO.java – Data Access Object for users.
  • entities
    • User.java – Bean object for a user. The fields of this object are annotated with validators.
    • UserConvertor.java – Converts a userId to a user.
  • util
    • Messages.java – Utility object that helps with sending messages between pages.

The following JSF pages are in the project:

  • index.xhtml – Page with a list with all users
  • user_delete.xhtml – Page used to confirm whether a user should be validated
  • user_edit.xhtml – Page used for adding and editing users

While creating this application, I tried as much as possible to adhere to best practices. For examples, to go from the master (list) view to the detail (edit) view a GET request is used with the user id as parameter. The user is modified via POST and there’s a redirect and GET back to the master view (PRG pattern).

Both applications make use of Enterprise Java Beans, Bean Validation and Java Persistence API. EJB is used to inject persistence in the managed beans. Bean validation is used to ensure the data is consistent with the business rules.

In the RichFaces version user_edit.xhtml is updated to have client-side validations. Only the email address cannot be validated on the client. For that field is Ajax used.

The code of the project has been uploaded to Google Code so it can viewed by everyone. The code without the use of client-side scripting is put in the default branch and the code with client-side scripting is put in the RichFaces branch.

Demo

The compiled applications have been uploaded to OpenShift. It makes showing your work to the public very easy. This is a free cloud platform which runs a JBoss server. The projects can be directly uploaded from Eclipse to the OpenShift server. The live demo can be viewed here.

To upload your project yourself to OpenShift it is first required to make an account at OpenShift. Then register your public key at OpenShift. When you have the OpenShift plug-in installed in Eclipse you can add the OpenShift server to the server view in Eclipse. From there you can get the default project from OpenShift. This project is only used to send the war files to server, not to hold the code. By adding the JSF project to the OpenShift server it automatically places the war file in the OpenShift project during a publish. By pushing the OpenShift project to the server using GIT, the application is put in the cloud and is ready to use. The detailed process to upload to OpenShift from Eclipse is available here.

So wrapping up, I’ve made a small project to get familiar with the code, I have uploaded the code to Google Code and I’ve put the application OpenShift.

Mark van der Tol

Ubuntu and Eclipse: The error was ‘BadAlloc (insufficient resources for operation)’.

19 January 2008

Linux and Eclipse have proved themselves as a killer combination for Java (EE) development. Specially for technology savvy users, which i guess a lot of programmers are, the combination is a dream come true.

Though once in a while things can heat up under the hood.

With the uprise of Ubuntu, meant as a very user friendly version of Debian, many developers are trusting in their Ubuntu/Java/Eclipse environment and with good reason. It installs very easily, runs very fast and provides features like update-notifications, very fast turn around times for security updates and an almost insane amount of hard and software support.

Though the common Linux distributions (may i even say OpenSource) practice of fast turn around on security updates is a very good thing to have. It can once in a while turn into an unpleasant experience. Like today 18 Januari 2008.

To fix a programming error in the Xorg graphical software component of Linux the Ubuntu people pushed out an update for it called xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.1. I applied this update in the early morning when working at home and when i had to leave to continue working at the office i shutdown my laptop and went to the office as usual.

Only to find out that my laptop was not working as expected when booting up. The login manager appeared (GDM) and i logged in, finding my desktop (Gnome) in a half broken state. Firing up Eclipse was even worse, throwing me the following ‘unclear’ error message on the console:

The program ‘Eclipse’ received an X Window System error.
This probably reflects a bug in the program.
The error was ‘BadAlloc (insufficient resources for operation)’.
(Details: serial 1086 error_code 11 request_code 147 minor_code 5)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the –sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)

Error Message

Now the obvious solution is to reinstall the package version before the security update or wait for the next update.

You can download the old version of the package from the following location: http://security.ubuntu.com/ubuntu/pool/main/x/xorg-server/xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8_i386.deb

Install this package with the following command

$ dpkg -i xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8_i386.deb

Now restart your X server by loggin out of your desktop and back in again or restarting your server and you should be fine again.

At the time of writing, which is about half a day after the update hit the Ubuntu servers and i first found myself dealing with this problem, the Ubuntu people are pushing out there second update for the broken xserver-xorg-core package called: xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.2

You can safely install this new version and have everything working as expected.

Summary:

Old good version:

xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8

Broken updated version:

xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.1

New good version:

xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.2

If you want to be safe, wait until tomorrow (19/20 Januari 2008) before you hit the update button, make sure that you updated your apt repository and verify that it’s installing the 8.2 update version of xserver-xorg-core. Then you should be all set to keep your desktop up to date and running like a charm 🙂

Last but not least, the official advisory for this bug:

Debian Security Advisory DSA-1466-2
Package : xorg-server, libxfont, xfree86
CVE Id(s) : CVE-2007-5760 CVE-2007-5958 CVE-2007-6427 CVE-2007-6428 CVE-2007-6429 CVE-2008-0006

The X.org fix for CVE-2007-6429 introduced a regression in the MIT-SHM
extension, which prevented the start of a few applications. This update
fixes this problem and also references the patch for CVE-2008-0006,
which was included in the previous update, but not mentioned in the
advisory text.

Ing. Bas van Oostveen

M4N

Post-Scriptum: currently Ubuntu has released even a third patch to xserver-xorg xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.3

css.php best counter