ADF skinning and resources
Feb 2nd
With my current, ADF Faces 11g, project, we have a requirement that the default text in the error message box is customized. Instead of ‘Messages for this page are listed below.’ it should read some other text. When you talk about customization you say ’skinning’. Skinning allows you to customize the userinterface, i.e. change the look and feel of the standard components. But besides the looks, it also allows you to change the default text messages that are sometimes included with the component.
The af:messages component presents errors and other messages in a comprehensible way to the users. It’s as easy as to put <af:messages id=”m1″ /> in the .jspx page and you’re done:
Now, let’s see how we can change the default texts like ‘Messages for this page are listed below.’ and ‘OK’…
Read the rest of this entry »
Advert: Oracle XMLDB Masterclass in Germany
Jan 15th
Here a small advert for one of my events scheduled for this year. On the 24th of Februari I will be giving a Masterclass regarding Oracle XMLDB in Germany. To be precise in Dusseldorf, Germany.
The following will be addressed, but might you attend, then drop me a line (marco dot gralike at amis dot nl) regarding your specific topics and I will see if I can address it within the bounderies of the course setup):
- Provide a holistic view of Oracle’s XML Database features
- Provide an in-depth view on how XML should be handled in general and in the Oracle XML database
- Provide realistic solutions, architectures, to make an XML environment work
- Show how to avoid problems while working in an XML environment
- Help to gain the optimum in performance and functionality from your XML database environment
The course is helpful for people who want to know more about Oracle XML DB and have some experience working with it, architects, dba or developers alike. I will see how good my German is during the day and if I feel very brave enough, switch to German during the course.
See for more info and or how to register the following URL:
- Oracle XML Database Masterclass with Marco Gralike (ID: D70365_1188706)
CU There
ADF 10g Dynamic Columns: Or how to implement an updatable dynamic table
Jan 11th
Although it is all about ADF 11g these days there are still some challenges in ADF 10g projects that run at some of my customers. Today I finished a task in which I had to create an updatable table in which the number of shown columns wasn’t known at design time. There is the possibility to create an ADF read only dynamic table, that works more or less like the richfaces columns <rich:columns/> http://livedemo.exadel.com/richfaces-demo/richfaces/columns.jsf?tab=usage&cid=3305454 element. However, I needed an updatable table, but ADF doesn’t know such a component. I had to come up with a different solution. Read the rest of this entry »
Getting started with PrimeFaces on GlassFish v3
Jan 7th
According to the PrimeFaces website, “PrimeFaces is an open source component suite for Java Server Faces featuring 70+ Ajax powered rich set of JSF components. Additional TouchFaces module features a UI kit for developing mobile web applications.“. Since it is an OpenSource JSF implementation that is very close to releasing JSF 2.0 compliant components, I figured it was time to try it out on GlassFish v3.
Read the rest of this entry »
What Happened?
Dec 30th
What’s this?
Nope, it’s not your browser, HTML debugging proxy or broken CSS style sheet. You are still visiting the AMIS technology weblog. Don’t be afraid: AMIS has just updated it with some new features and a new theme. And well, there are some differences for you to marvel at.
You might wonder, What’s new?
Well, first off we implemented the Mystique theme into our weblog. It implements a lot of the features we wanted in the first place without too much of a hassle. Do check the the nice AJAX driven components. Also check the developer’s website of this beauty using the URL in the footer.
Next to that we implemented an AMIS Tweet: a nice way for you guys to follow our developers in their day-to-day business. It’s a custom-styled Tweet-Tracker plugin for Wordpress that allows us to use a Twitter search string over multiple accounts instead of only one.
One of the most important changes is the one where we allow you guys to register on our blog and interact with us through that account. Naturally your comments don’t need to be reviewed and will be displayed immediately, which should reduce the interaction time drastically. You are also allowed to upload your own avatar and add all kinds of information that you want to share with the world with your comments. It’s also a nice way of tracking all of your own comments and activity on our blog.
More features should be made available for our registered fans in the future, but we tend to keep content available to everyone as much as possible.
Sharing Your Code!
One of the most important new features in this version is that “you” are allowed to post code in the comments. It’s still a bit tricky (Wordpress has a powerful output filter) but you should be able to use the [ code ] tags to post your own code. Do keep in mind that all <> tags are made safe using HTML entities. Please read our Howto for some examples.
No more Spoilers
Well, there is still a lot more. But we just don’t want to spoil it all. Have fun reading our posts and happy blogging.
SUGGESTIONS!
We do “love” suggestions on how to improve our blog. If you know how? Please enlighten us!
Contacting us by using the interact with us button should do the trick!
Regards,
Blog Administrator
ADF 11g – implementing conditionally required input fields – by playing client side hide and seek
Dec 17th
The requirement I was dealing with today in ADF 11g Rich Client Components was the following: we have an input field that is required under certain conditions. Only when one of this cluster of fields has a value, is it required. Otherwise it is optional. The use case was that the fields represent a detail record. There does not need to be a detail record (optional) but if there is one (one of the fields in the detailrecord has a value), then certain fields are mandatory.
The desire was to dynamically set the required-ness of the inputText – depending on whether one of the items in the detail record cluster has a value or not. Dynamically means that when something changes with one of the items, the conditionally required item is immediately refreshed to either required or optional.

It turned out to be fairly easy to implement: the required attribute can be set using an EL expression that refers to a bean method. In the bean we can easily check the values of the other items and determine whether or not based on that assessment the inputText component is mandatory or not. By setting autoSubmit to true for all the items that determine the mandatoriness – and by adding the inputText as a partialTarget in the PPR request, we achieve the desired functionality. However … Read the rest of this entry »
SOA Suite 11g – Using Spring Component to mimic Http Binding and integrate RESTful services
Dec 16th
In an earlier post, I showed for the Oracle SOA Suite 11g how we can use the Mediator's Java Callout functionality to integrate RESTful services into our SOA Composite applications, even though we currently have no Http Binding Service nor WSIF support (SOAP Java Binding) at our disposal in the SOA Suite – link to article. In SOA Suite 11g PS1 – released in November 2009 – is the preview (not yet officially supported and only available for PoC and early trials – of Spring components. This feature provides another way of integrating Java classes into our SOA Composite applications.
This article demonstrates how we can use the Spring component to bind our SOA Composite Application to the RESTful Translation service provided by Google.

The Oracle SOA Suite 11g HttpBinding or another way to call RESTful services from SOA Composite Applications
Dec 15th
I wanted to take a quick look at REST(ful) WebServices and see how those can be integrated into the SCA based SOA Composite Applications that we create with the Oracle SOA Suite. Currently, it does not have the HTTP binding that the 10.1.3 release of the SOA Suite used to have. So what are the alternatives?
In this article, I want to demonstrate a way of calling RESTful (simple http request based) services into a SOA Composite application. I show one way of doing so using the Google Translation Service, a RESTful service described at http://code.google.com/apis/ajaxlanguage/documentation/ and to be accessed at http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello%20world&langpair=en%7Cit. This service takes a string to translate and an indication of a source and a destination language. Though maybe not formally resource oriented enough to be called REST-style (or RESTful) service by some, it is a service that does not require SOAP or WS* but simply a HTTP Get request. So at least quite restful.
In this article I will use the work I did and described in the previous article: Leveraging RESTful Services from Java application using Jersey (Introduction). Using project Jersey's support for clients of RESTful services and the JSON-SIMPLE library to interpret the response I get from the GoogleTranslation service, I will hook up with the RESTful Service. Then I will leverage the Mediator Java Callout mechanism to integrate this REST-service-client into a SOA Composite application. The Mediator I create will be the fully SOA Suite integrated front-end of this RESTful Service.

Agile software development, the principles. Principle 11: The best architectures, requirements, and designs emerge from self-organizing teams.
Dec 14th
Leveraging RESTful Services from Java applications using Jersey (Introduction)
Dec 14th
While researching for the Oracle SOA Suite 11g Handbook, I wanted to take a quick look at REST(ful) WebServices and see how those can be integrated into the SCA based SOA Composite Applications that we create with the Oracle SOA Suite. Currently, it does not have the HTTP binding that the 10.1.3 release of the SOA Suite used to have. So what are the alternatives? But first, how does one call a simple HTTP only (no SOAP/WS*) service from a piece of Java code? With as little programming and as much framework lifting as possible.
One of the frameworks available for RESTful operations is Jersey – a framework that should be more REST aware than plain HTTP communication oriented libraries like Apache HTTP Client, as well as offer some support for typical formats used in RESTful interactions, such as JSON, XML, RSS, CSV. So let’s create the simples Java application consuming a RESTful service – the Google Translation service – using the Jersey library.




.jpg)


