RSS

Blast from the past – Future Proof – The concept?

09 Aug

It had been a while since I had used JBuilder 2006Enterprise, so I wanted to do a little test since the Java JDK 7.0 was just released.  Now over the years I heard people talk about how “future proof” the Eclipse framework/platform was or would be.  This was always something that bothered me, what is future proof?

So I loaded up JBuilder 2006Enterpriseand let me first say, wow, what a great coming home.  Don’t get me wrong, I don’t mind Eclipse based Java IDEs, but wow again, it was focused, fast, and had all the tools at my fingertips and could just get the job done.

The first thing I wanted to do was to see if any JDKs, except for the base JDK that was shipped in the product, worked.  I clicked the Tools|Configure|JDK’s menu item.

Configure JDKs

Configure JDKs

As you can see, the only JDK known by the IDE is JDK 1.5.0_03-b07.  So the first test I wanted to do was add JDK 6.0 update 26 and see if I could get it to load and use the JDK for a project I built.

So I clicked the New… button and started the wizard.

New JDK Wizard

New JDK Wizard

I then pointed the IDE to the JDK 1.6.0_26 and clicked the OK button.  It returned to the wizard with the needed information filled in.

New JDK Wizard

New JDK Wizard

I then clicked the OK button to continue.  This returned a newly added JDK 1.6 to my IDE.

JDK added

JDK added

Now it was time to do a couple of quick tests on the JDK and the IDE, and see if it could handle the new JDK or if the IDE, which is written in 100% Java was NOT “future proof” and would be in today’s terms an Epic Fail!

First, I wanted a simple Command-line Java program, using the wizards, I created a simple project, pointed to the newly added 6.0 JDK and wrote one line of code; System.out.println(“hello world!”); hit the run button, and it worked like a champ!

Second, I created a Swing application using the wizard, added a couple of extra lines, added some additional buttons with code, and BAM, worked again like a champ!

I then made some changes to my startup JBuilder.config file and added InterClient.jar (InterBase 2009 and XE) to the system and created a quick CRUD application using dbSwing components, and BAM, worked like a champ!

IDE running CRUD application using JDK 6.0x

IDE running CRUD application using JDK 6.0x

Here is the running Application:

Ugly quick CRUD application

Ugly quick CRUD application

I know, ugly, but that was not the reason for writing the code!  The test was to see if JDK 6.0 would work with a product that was written with JDK 5.0 (1.5.x) and work well.  The answer so far is yes, and the debugger is great as well.  All of the normal features work well.

Now I tried to do a quick Tomcat web-application with a Servlet and another with a JSP using the latest Tomcat 7.0.19.  This has not worked as of yet, but I’ve only spent maybe 20 minutes on the setup… plus, the web-applications are much more different now and that area of Java has changed significantly, so it may be the fact that JBuilder 2006 released in 2005 can’t handle the web side well, but I will have to play a little longer on that if I want to see if it works.

Now what about the newly released JDK 7.0, the first Java JDK from Oracle?  This is not a review of the JDK, as there are a lot of things and writings on JDK 7.0.  This is more of an attempt to see if I can get it to work in JBuilder 2006Enterprisereleased in 2005 written in JDK 5.0.

Added JDK 7.0x to the JBuilder 2006 Enterprise IDE

Added JDK 7.0x to the JBuilder 2006 Enterprise IDE

I Added the JDK with no issues.

I then tried the same programs as before to see how the old JBuilder handled them.

Added New Runtime Configuration to the JDK 7.0 project

Added New Runtime Configuration to the JDK 7.0 project

I setup the configuration to run the Application… well can’t have everything:

First compile attempt: FAIL!

First compile attempt: FAIL!

Most likely I know where the error is:

Using the old Borland Make based on JDK 1.4 compiler

Using the old Borland Make based on JDK 1.4 compiler

Pointing to the JDKs internal compiler, using 7.0's compiler

Pointing to the JDKs internal compiler, using 7.0's compiler

The internal compiler needs to be changed as it was using the Borland Make based on the JDK 1.4 compiler found in JBuilder 8!!!  Changed that to the Project javac compiler and pressed the OK button.

Hit the run button and had the following happen:

Now it works...

Now it works...

Printed Hello World just like I thought it would.

While it worked, there are still issues...

While it worked, there are still issues...

While it does work and I can get things to compile, the code editor is a little out of whack.  The debugger is not working at this point, but that could be for a variety of reasons.  I may have to investigate this a little more.  The Swing Application does work, but again I have some issues with the editor and compiler working correctly but this could be a low-level configuration that I’ve not fixed or DON’T REMEMBER!

Generated Swing application using JDK 7.0 and 7.0's Swing

Generated Swing application using JDK 7.0 and 7.0's Swing

However, as you can see, there are issues with the Swing Designer, which again could be a configuration issue or something to do with the changes in JDK 7.0.

Swing designer issues

Swing designer issues

However, the fact that I got JDK 7 to load, compile, and execute a simple Java application, and a simple Java 7 Swing application, is a fairly strong comment on the fact that JBuilder 2006 while not perfect.  I also wanted to see if I could get the CRUD application working.  Since the Swing designer was broken, I loaded the CRUD application I created with JDK 6.0 and just changed the JDK settings.

Setting the projects JDK from JDK 6.0 to JDK 7.0

Setting the projects JDK from JDK 6.0 to JDK 7.0

I then also needed to change the compiler as I did before:

Setting the internal compiler to JDK 7.x

Setting the internal compiler to JDK 7.x

I pressed the OK button, did a Save All and hit the Run button.

Running simple CRUD application using JDK 7.x

Running simple CRUD application using JDK 7.x

Well, as you can see the CRUD application ran with no issues, the application is still ugly, but it works, and with NO coding changes.  Just to verify the JDK being used, check the red box, it shows the command-line used (another great feature) of JBuilder 2006Enterprise.

I was also able to get other things to work really well, check out the UML visualization tab using JDK 7.0 as the base JDK.

Using some of the advanced tools like UML Visualization

Using some of the advanced tools like UML Visualization

While this does not change the above limitations so far, the fact that JBuilder is working, using, and displaying things from JDK7 does show that JBuilder 2006 is fairly future proof!

Advertisements
 
6 Comments

Posted by on August 9, 2011 in How-To, Opinion, Technology

 

Tags: , , ,

6 responses to “Blast from the past – Future Proof – The concept?

  1. Michael Thuma

    August 9, 2011 at 3:39 pm

    JVM and Java are definitely future prove. I tried one day JB 2008 – I don’t remember exactly, I think it was based on ‘Europa’. Worked good. Made it easy to return to Java development and added interesting add-ons to the plain Eclipse. Team Communication, an Assistant that commented on the code … amazing, it left a very positive impression. The Original JBuilder was ‘better’ definitely. A solid compromise between an IDE people have been used and what Eclipse offered. Afterwards I had the impression that the Eclipse guys started to do strange things … Netbeans is straight, Builder was both straight and compact. Java is for adult development …

     
  2. Michael Thuma

    August 9, 2011 at 3:43 pm

    Or on Ganymede but I am not sure. Anyway changes nothing that JBuilder still does it’s job.

     
  3. Carlos

    December 2, 2011 at 3:06 pm

    Hi, I use JBuilder 2006 since the same year, i have a big application working great with jdk 6, i’ve tried jdk 7, but i have the same problems as you. The application runs perfectly but the editor and the designer not. Do you have any news ?

    Thanks,

    Carlos.

     
  4. techmana

    December 2, 2011 at 4:33 pm

    Carlos,

    No, I think that the designer would have to be fully updated to get anywhere. There are just enough changes in the JDK 7 Swing area that they need updated. But for me, I still love the Classic JBuilder.

     
  5. fraz

    January 20, 2012 at 7:40 pm

    Nice writeup. Editing, compiling, and many features I would expect to work. There are some deeply integrated features that I would expect to break like the designer, debugger, and app server integrations.

    I think the “red beans” issues in the designer may be fixable through user.properties (included section from readme.txt below) though I get other references to bad variables that may render this a “red herring” 😉

    //———————————–

    Red beans due to this extending an abstract class

    When JBuilder needs to instantiate an object to be the this object, it can’t instantiate the object you’re designing. To circumvent this problem, JBuilder instantiates the superclass of the this object. If the superclass is abstract, it can’t be instantiated. It’s necessary to provide a concrete proxy class.

    You can add your own proxy objects in the user.properties file. The syntax is

    designer;proxy.=

    For example,

    designer;proxy.java.awt.Component=com.borland.jbuilder.designer.dt.ComponentProxy

    The proxy class must

    * Extend the abstract class in question.
    * Be concrete (not be declared abstract itself).
    * Be public.
    * Have a default public constructor.

    Warning: Generally, it’s very strongly recommended that you avoid altering the user.properties file. If you must alter it, save the original version first, as a backup.

    For more information on red beans and their causes, see “Handling red beans” in the “Advanced topics” chapter of Designing Applications with JBuilder.

     
  6. Andreas Jell

    January 26, 2012 at 11:05 am

    JBuilder 2006 still have the definitive best Editor. Thank you for this article.

    Andreas Jell
    University of Duesseldorf, Germany

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: