Sunday, March 28, 2010

First impression of Adobe Flash Builder 4

Applies to: Flash Builder image

The next version of Flex Builder has been released under “Flash Builder” some days ago and so I decided to give it a try.

The following points catched my eyes in the first couple of minutes

  1. Integration of different data services through drag n drop data binding capabilities. The following list should give you an idea of the supported data services:
    image image
       
    Trying out the Twitter XML API (http://twitter.com/statuses/public_timeline.xml?count=5) I could generate the data model very easy. image
  2. Data service tester is really cool and gives you quickly a “good feeling” for the used service
    image
  3. Theme browser/selector
      image
  4. Another great improvement seems to be done on the compiler performance. It just feels much faster although I did not try yet on a big project…
  5. Generation of event handler code (at long last!;-))
    image
  6. Refactoring support. Although quite poor at the moment. Rename and Move. That’s it!
    image
  7. Generate setter/getter. Here is an example
    image
  8. surely there are more new features. But for me discovery time is over now;)

 

Still missing

  1. Context-Menu and DnD operations in the outline view of the UI
    image
    It’s a READONLY view! No chance to move around components or bind your service data calls here. It is a pitty! Missing the flexibility I am used from the UI structure pane in JDeveloper!
  2. Easy integration of database objects. It would be great If we could connect to a database and let Flash Builder generate corresponding server components. For now we have to generate/implement through LivecycleDS/BlazeDS/graniteDS.

    Another idea could be to create ADF Business Components and expose them as Webservice by the service data object (SDO) facility! Yeeah, this could work quickly and great cause FB has good support for WebServices.

    Anyone tried this already? Comments are welcome.

 

Conclusion

It looks like Adobe has learned some lessons from Oracles JDeveloper/ADF team. Especially the data binding/service integration facilities are comparable to ADFs data controls. But there is still a lot of work to do to get such productivity ADF makes possible;)

The UI Designer+CSS editor of course feels more “smooth” than the one of JDeveloper. But there are still missing some neat features like search boxes for ui components and properties. The non-interactive ui structure view should be fill with life! I am tired of searching manually for the desired component!

Thursday, March 18, 2010

ADF: How to create method binding for action

Applies to JDeveloper 11.1.1.2.0

Introduction

That is a really short post but shows all possibilities how to create a method binding action code in a backing bean. This is a very worthy feature if you need to invoke more than a single business service method. Currently ADF is limited to invoke just a single method declaretively/by DnD. Hopefully it will be possible in some of next JDev versions to bind a series of service methods to a command component by DnD.

a) In Design Mode: Just double-click on a command component and you will get the appropriate wizard
image

b) In Source Mode: Open the context menu and choose “Create Method Binding for Action”
image
The “Bind Action Property” Wizard will open as shown in a). Of course same Menu Action is available in Design mode too but double-clicking is more comfortable.

c) Property Inspector: No chance to generate ADF action binding code!
image

Just forgotten by JDeveloper developers or are there any good reasons why the above feature is not available here?

Wednesday, March 17, 2010

ADF App Internal Server Error 500

Applies to ADF 11.1.1.2 and WLS 10.3.2

Problem description

1. stop datasource

2. stop app (all requests)

3. start datasource

4. start app (servicing all requests)

Call :/http://<host>:<port>/<context>

Expected

Functional ADF Application

Instead got

0000@1938_error_500

Analyzing

a)Take a look into <domain_home>/servers/<servername>/logs/<servername>.log

Caused By: java.lang.ClassCastException: oracle.adf.controller.internal.binding.DCTaskFlowBinding cannot be cast to oracle.adf.controller.internal.binding.DCTaskFlowBinding

       at oracle.adf.controller.internal.binding.DCTaskFlowBindingDef.initializeExecutableBinding(DCTaskFlowBindingDef.java:301)

       at oracle.adf.model.binding.DCBindingContainerDef.createExecutables(DCBindingContainerDef.java:590)

       at oracle.adf.model.binding.DCBindingContainerDef.initializeBindingContainer(DCBindingContainerDef.java:728)

       at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:944)

       at oracle.adf.model.binding.DCBindingContainerReference.createBindingContainer(DCBindingContainerReference.java:152)

       at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:92)

       at oracle.adf.model.BindingContext.get(BindingContext.java:908)

b)

image

Never seen that before! Where does all those .appmergegen hidden folders coming from?

Action

a) Googling. => not much information on this:(

b) rm -rf .appmergegen*

Test again

1. stop datasource

2. stop app

3. start datasource

4. start app

Call http://<host>:<port>/<context>

=> Application works as expected! But after a few more  redeployments the internal error (500) occurs again.

Further research

a) Find out where all those .appmergegen hidden folders coming from? It seems that this leads in the end to a class loading problem.

b) How to make sure, the application will not fall into this situation again?

Any comments are greatly appreciated....

Tuesday, March 2, 2010

Generate ant build file from project issue

Occured in JDeveloper Version: 10.1.3.4

Problem description

Trying to generate ant build file from project issues the following exception in Jdeveloper

image

java.lang.NullPointerException
    at oracle.ide.net.URLFactory.newURL(URLFactory.java:85)
    at oracle.ide.net.URLFactory.newUniqueURL(URLFactory.java:164)
    at oracle.jdeveloper.builder.SourceModel.generateDefaultFileName(SourceModel.java:135)
    at oracle.jdevimpl.ant.wizard.GenerateBuildfileModel.initializeFromContext(GenerateBuildfileModel.java:83)
    …

Reason

The appropriate project directory is not listed under the Project properties>Project content>Resources.

Solution

Just open the project properties and add the project folder under project content>Resources

image

After doing so the creation of the ant project build file works as expected!