<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2037164747358119793</id><updated>2012-02-08T21:44:59.290+03:00</updated><category term='Layout Tips'/><category term='Proxy Authentication'/><category term='Conditional Dialog'/><category term='Human Workflow'/><category term='Oracle SOA Suite'/><category term='ADF Security'/><category term='VirtualBox'/><category term='RichTable'/><category term='Parameter Passing'/><category term='Bug'/><category term='Contextual Events'/><category term='DataProvider'/><category term='JDeveloper'/><category term='Bean Validation'/><category term='EJB'/><category term='Oracle XE'/><category term='EJB DataControls'/><category term='jsp:include'/><category term='Virtualization'/><category term='Run Code Upon Page Load'/><category term='Query'/><category term='LOV'/><category term='Google Translate API'/><category term='Windows 7'/><category term='Java EE6'/><category term='EJB Security'/><category term='SQLAuthenticator'/><category term='Formating'/><category term='ADF Model'/><category term='Localization'/><category term='Bounded Task Flows'/><category term='Gmail'/><category term='BPM'/><category term='Java in General'/><category term='Declarative Lightweight Popup'/><category term='Googe Maps API'/><category term='SDO'/><category term='BPEL'/><category term='Task flows'/><category term='JSR 303'/><category term='Java Reflection'/><category term='Dynamic Menu'/><category term='ADF UI Shell'/><category term='EclipseLink'/><category term='Weblogic'/><category term='Internationalization'/><category term='Patterns'/><category term='Customizing UI Shell'/><category term='ADF Faces RC'/><title type='text'>Beginning Java &amp; SOA Development</title><subtitle type='html'>Some pieces of info stumbled along the way to SOA expertise...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7273879629022512847</id><published>2012-01-28T22:09:00.000+03:00</published><updated>2012-02-03T18:20:30.339+03:00</updated><title type='text'>Pattern: Building Reusable Java-Based BPM Task Form- Part 2</title><summary type='text'>OverviewThis is Part 2 of the series that provides a simple and flexible alternative way of creating task forms for human task activities in Oracle SOA/BPM Suite 11g. This part will discuss the nitty-gritty details of the implementation of the generic task form based on Java using the Human Workflow Services API. The problems and the corresponding solutions to attain the objective of having a </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7273879629022512847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2012/01/java-based-bpm-task-form-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7273879629022512847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7273879629022512847'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2012/01/java-based-bpm-task-form-2.html' title='Pattern: Building Reusable Java-Based BPM Task Form- Part 2'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-SQDjFRA7l7I/Tyul33pECZI/AAAAAAAAAr4/oxczs9C_B98/s72-c/Reassign.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5025081222039982108</id><published>2012-01-25T01:22:00.000+03:00</published><updated>2012-01-25T20:19:51.569+03:00</updated><title type='text'>Pattern: Building Reusable Java-Based BPM Task Form- Part 1</title><summary type='text'>OverviewThis series provides a simple and flexible alternative way of creating task forms for human task activities in Oracle SOA/BPM Suite 11g. The pattern utilizes the power of Java and ADF Bounded Task Flows to simplify manipulation of task payloads and promote task form reusability, flexibility, and simplicity. Part 1 discusses about the problems and the corresponding solutions to attain the </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5025081222039982108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2012/01/java-based-bpm-task-form.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5025081222039982108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5025081222039982108'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2012/01/java-based-bpm-task-form.html' title='Pattern: Building Reusable Java-Based BPM Task Form- Part 1'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-kHqeS0WVe4I/Tx8pAgixwpI/AAAAAAAAAqE/BLWAQS7sV7w/s72-c/xml_artifacts.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3965386284915600204</id><published>2011-08-03T18:18:00.001+03:00</published><updated>2011-08-03T18:20:35.493+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDO'/><title type='text'>How to Simply Convert SDO to DOM Element and Vice-versa</title><summary type='text'>
In previous post, I demonstrated how to marshall POJOs to SDO. In this post, I will show how to convert SDOs to DOM Elements without parsing them to or from String.

The key is the following methods from the commonj.sdo.helper.XSDHelper:

void save(XMLDocument xmlDocument, javax.xml.transform.Result outputResult, java.lang.Object options);
-- wherein, we can instantiate a DOM node and wrap it </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3965386284915600204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/08/convert-sdo-to-dom-element-and-vice.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3965386284915600204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3965386284915600204'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/08/convert-sdo-to-dom-element-and-vice.html' title='How to Simply Convert SDO to DOM Element and Vice-versa'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7849280991521538951</id><published>2011-08-01T18:05:00.001+03:00</published><updated>2011-08-01T18:07:25.545+03:00</updated><title type='text'>POJO TO SDO Marshalling through JAXBHelperContext</title><summary type='text'>
In previous post, I demonstrated, how to easily convert pojo's to xml elements and vice-versa thru JAXB. The key to implementation in that post was the JAXBContext object which served as the factory for the Marshaller and Unmarshalller objects which accordingly takes charge for the marshalling and unmarshalling of POJO's to XML. In this post, I will take a step further by demostrating POJO to </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7849280991521538951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/08/pojo-to-sdo-jaxbhelpercontext.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7849280991521538951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7849280991521538951'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/08/pojo-to-sdo-jaxbhelpercontext.html' title='POJO TO SDO Marshalling through JAXBHelperContext'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3141389447891010882</id><published>2011-07-31T23:33:00.004+03:00</published><updated>2011-08-02T00:21:49.211+03:00</updated><title type='text'>Sample JAXB Application Converting POJO to XML Element and Vice-versa</title><summary type='text'>In developing SOA applications, it is necessary that you have tools in converting Java objects to XML and vice-versa. In Oracle Human Task Services for example, the task payloads are represented as XML elements, and if there's a need to manipulate those payload then, I believe that its better to do the manipulation on a Java instance equivalent, rather than navigating to the complex tree </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3141389447891010882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/jaxb-converting-pojo-to-xml-and-vice.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3141389447891010882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3141389447891010882'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/jaxb-converting-pojo-to-xml-and-vice.html' title='Sample JAXB Application Converting POJO to XML Element and Vice-versa'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-9157502630575134143</id><published>2011-07-28T14:04:00.007+03:00</published><updated>2011-07-28T15:34:17.097+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Custom BPM Workspace Deployed in a Non-SOA Server in a Different Domain</title><summary type='text'>In my previous post, I demonstrated through a sample application how to utilize the reusable task flows from BPM Workspace. In this post, I will share the steps and configuration to deploy the custom application to a non-soa server located in a different domain.


The soa server in my case is a stand alone installation of Oracle SOA Suite with configured domain "base_domain" that supports SOA, </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/9157502630575134143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/bpm-workspace-deployed-non-soa-server.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9157502630575134143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9157502630575134143'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/bpm-workspace-deployed-non-soa-server.html' title='Custom BPM Workspace Deployed in a Non-SOA Server in a Different Domain'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ky30-1Zs_VI/TjFB7LCJ9nI/AAAAAAAAAnw/cTatIvcZGJE/s72-c/RemoteMyUIShellBPMApp.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-9033727582066553696</id><published>2011-07-27T00:04:00.001+03:00</published><updated>2011-07-27T00:06:59.307+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Custom ADF UIShell Application with Oracle BPM Workspace Task Flows</title><summary type='text'>
An Excerpt from Appendix A (Creating Custom ADF Applications with Oracle Business Process Management Workspace Task Flows)
of the Oracle Fusion Middleware User's Guide for Oracle Business Process Management 11g Release 1 (11.1.1.5.0)


Different features available in Process Workspace are exposed as standalone reusable components, called task flows. You can embed task flows in any Oracle </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/9033727582066553696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/adf-uishell-application-with-oracle-bpm.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9033727582066553696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9033727582066553696'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/adf-uishell-application-with-oracle-bpm.html' title='Custom ADF UIShell Application with Oracle BPM Workspace Task Flows'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-oCryUbroOLg/Ti8eucEYAkI/AAAAAAAAAm4/4Kj4GFhBTQ8/s72-c/MyUIShellBPMApp1.PNG' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3077642212459754992</id><published>2011-07-23T23:18:00.020+03:00</published><updated>2011-07-25T05:39:27.495+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>How to Send Notification to the Initiator of a BPM Process Instance Upon Completion of an Activity</title><summary type='text'>In BPEL, human workflow is almost always expected to be represented by a single human task activity with multiple steps - that is why the Oracle SOA Suite 11g Human Task component has a lot of facility for notification related to the raise of events like the assign, error, expire, withdraw, alert, complete, and etc. on a particular task definition.
But in the current release of BPM (11.1.1.5), it</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3077642212459754992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/how-to-send-notification-to-initiator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3077642212459754992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3077642212459754992'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/how-to-send-notification-to-initiator.html' title='How to Send Notification to the Initiator of a BPM Process Instance Upon Completion of an Activity'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5169808550610829480</id><published>2011-07-21T12:05:00.003+03:00</published><updated>2012-02-08T21:44:59.297+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Custom BPM Applications(InitiableTasks) ADF TaskFlow</title><summary type='text'>In a previous post, we show how to access the initiable tasks in a main method of a simple Java class. In line with, this post demonstrates how to get the task's URL and launch the corresponding generated BPM task details form in an ADF application.

 
The following are the key methods and artifacts: 
getTaskDisplayURL() - this method retrieves from a task object, the URL defined in the runtime </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5169808550610829480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/custom-bpm-applicationsinitiabletasks.html#comment-form' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5169808550610829480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5169808550610829480'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/custom-bpm-applicationsinitiabletasks.html' title='Custom BPM Applications(InitiableTasks) ADF TaskFlow'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-cYaeTA-p4bk/TisQ1D6VnDI/AAAAAAAAAms/8X6M9HkTyFA/s72-c/custom_bpm_application.PNG' height='72' width='72'/><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3716128615455903023</id><published>2011-07-17T01:54:00.002+03:00</published><updated>2011-07-17T01:58:56.268+03:00</updated><title type='text'>BPM 11g Java API Samples</title><summary type='text'>Please click on the link below to access the sample application that contains the runnable classes related to my posts on BPM 11g Java API. This link will be updated to reflect latest additions to the samples.

BPM 11g Java API samples

Cheers!
</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3716128615455903023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/bpm-11g-java-api-samples.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3716128615455903023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3716128615455903023'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/bpm-11g-java-api-samples.html' title='BPM 11g Java API Samples'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7091425480216991280</id><published>2011-07-17T01:42:00.002+03:00</published><updated>2012-02-08T21:42:11.917+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Getting BPM InitiableTasks and Initiating a Task</title><summary type='text'>This is my third post on the series of post related to the Oracle BPM 11g Java API.  The class below demonstrate how to get the BPM initiable tasks and how to initiate a task. It also contains a testGetProcessMetadata() method which could be useful to initiate a predefined task. package soadev.bpmclient;

import java.util.List;

import oracle.bpel.services.bpm.common.IBPMContext;

import </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7091425480216991280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/getting-bpm-initiabletasks-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7091425480216991280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7091425480216991280'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/getting-bpm-initiabletasks-and.html' title='Getting BPM InitiableTasks and Initiating a Task'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-6697959896689558432</id><published>2011-07-14T17:19:00.004+03:00</published><updated>2011-07-17T02:00:35.891+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Querying a BPM Process Instance and Adding Comments</title><summary type='text'>This is my second post on the series of post related to the Oracle BPM 11g Java API.

The code below demonstrate how to query a specific BPM process instance and how to add comments to an instance:


package soadev.bpmclient;

import java.util.Calendar;
import java.util.List;

import oracle.bpel.services.bpm.common.IBPMContext;

import oracle.bpm.client.common.BPMServiceClientException;
import </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/6697959896689558432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/querying-bpm-process-instance-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6697959896689558432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6697959896689558432'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/querying-bpm-process-instance-and.html' title='Querying a BPM Process Instance and Adding Comments'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5081505851649223082</id><published>2011-07-14T16:16:00.004+03:00</published><updated>2011-08-01T19:17:12.765+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Querying Oracle BPM Process Instances</title><summary type='text'>This is the first in a series of posts related to the BPM 11g Java API. As far as I know, as of this writing, there is no official Oracle BPM 11g Java API documentation that is being release yet, but the corresponding jars are already present on a standard JDeveloper installation (probably after installing BPM Extension).
The purpose of this post is to show simple runnable classes so readers can </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5081505851649223082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/07/querying-oracle-bpm-process-instances.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5081505851649223082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5081505851649223082'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/07/querying-oracle-bpm-process-instances.html' title='Querying Oracle BPM Process Instances'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-2sfk6DfmtmM/Th7tbgJmGPI/AAAAAAAAAmI/QrD9V-8_sNs/s72-c/QueryingBPMProcessInstancesResult.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-6310436149851608696</id><published>2011-05-17T12:02:00.003+03:00</published><updated>2011-05-17T12:22:20.307+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Layout Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><title type='text'>ADF Faces Layout Tips: Stretching an af:region inside af:dialog/popup component</title><summary type='text'>I have a hard time stretching the height of an af:region inside a pop-up dialog, so to make the life of others easy, below is a sample to show what I have figured out. 

        &lt;af:popup id="p1"&gt;
          &lt;af:dialog id="d2" type="ok" resize="on" contentWidth="600"
                     contentHeight="400"&gt;
            &lt;af:panelStretchLayout id="psl1"
                                   </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/6310436149851608696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/05/stretching-afregion-inside.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6310436149851608696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6310436149851608696'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/05/stretching-afregion-inside.html' title='ADF Faces Layout Tips: Stretching an af:region inside af:dialog/popup component'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5919555009829937479</id><published>2011-02-26T15:25:00.002+03:00</published><updated>2011-03-05T10:51:08.116+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>Bug: Boolean Accessors Prefixed with "is" not recognized as attribute in JDeveloper 11.1.1.4</title><summary type='text'>The biggest fail that I noticed in JDeveloper 11.1.1.4.0 (aka Patch Set 3) is the inability to recognized boolean properties that are prefixed with "is" like isActive() as property in the entity xml files. My disappointment is that- this is properly recognized in earlier releases. We  wanted to jive with the most recent release, so we have a lot of refactoring to make.

Below is a sample entity </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5919555009829937479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/02/bug-boolean-accessors-prefixed-with-is.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5919555009829937479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5919555009829937479'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/02/bug-boolean-accessors-prefixed-with-is.html' title='Bug: Boolean Accessors Prefixed with &quot;is&quot; not recognized as attribute in JDeveloper 11.1.1.4'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4344471327164166193</id><published>2011-01-16T10:19:00.002+03:00</published><updated>2011-01-16T10:20:58.194+03:00</updated><title type='text'>ADF Faces RC: Right Aligning Components Inside ADF Column Footer Facet</title><summary type='text'>The image below shows a right aligned OutpuText component inside the ADF Column footer facet:



To achieve the above alignment, simply enclosed the component inside a panelGrid as follows: 

     &lt;f:facet name="footer"&gt;
       &lt;h:panelGrid columns="1" id="pg1" style="text-align:right;" width="100%"&gt;
         &lt;af:outputText value="#{yourvaluebindinghere}"
               id="ot8"&gt;
           &lt;af:</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4344471327164166193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2011/01/right-aligning-components-inside-adf.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4344471327164166193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4344471327164166193'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2011/01/right-aligning-components-inside-adf.html' title='ADF Faces RC: Right Aligning Components Inside ADF Column Footer Facet'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3wpN-L65axo/TTKaFAX_xYI/AAAAAAAAAlA/KNbhmt2pvl4/s72-c/right-aligned%2Bcolumn%2Bfooter.PNG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-8316586958774401092</id><published>2010-11-07T10:48:00.058+03:00</published><updated>2010-11-08T14:35:29.165+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><title type='text'>ADF Faces RC: Resolving javax.faces.model.NoRowAvailableException thrown by &lt;af:tree&gt; Component</title><summary type='text'>
Caused by: javax.faces.model.NoRowAvailableException
 at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:150)
 at org.apache.myfaces.trinidad.model.SortableModel.getRowData(SortableModel.java:67)
 at org.apache.myfaces.trinidad.model.ChildPropertyTreeModel.getRowData(ChildPropertyTreeModel.java:207)
 at org.apache.myfaces.trinidad.model.ChildPropertyTreeModel.isContainer(</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/8316586958774401092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/11/adf-faces-rc-resolving.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8316586958774401092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8316586958774401092'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/11/adf-faces-rc-resolving.html' title='ADF Faces RC: Resolving javax.faces.model.NoRowAvailableException thrown by &amp;lt;af:tree&amp;gt; Component'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5191813537146680665</id><published>2010-10-27T11:57:00.002+03:00</published><updated>2010-10-27T12:03:14.754+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bounded Task Flows'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><title type='text'>ADF Region as Source of Partial Trigger</title><summary type='text'>In my previous post, I describe a way on how to expose the state represented by the pageFlowScope object of a bounded task flow (BTF) to the outside world. Now, if there's an event inside the BTF that changes it exposed state, then the dependent outside component needs to refresh as well, and the idea is for it to have a partialTriggers property that point to the region where the BTF resides. 

</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5191813537146680665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/10/adf-region-as-source-of-partial-trigger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5191813537146680665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5191813537146680665'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/10/adf-region-as-source-of-partial-trigger.html' title='ADF Region as Source of Partial Trigger'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3580286393651044824</id><published>2010-10-26T15:26:00.011+03:00</published><updated>2010-10-27T09:36:09.993+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bounded Task Flows'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='Patterns'/><title type='text'>Bounded Task Flows as Components with Exposed State or Attributes</title><summary type='text'>




Overview
Bounded Task Flows (BTFs) can be considered a breakthrough in again bringing the concept of web component reuse to a new level. BTFs can be package into ADF Library JAR files and placed into to a reusable component repository, in which they can be applied in multiple projects and/or applications. This document describes a way on how to make BTFs a more full-pledged interactive </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3580286393651044824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/10/building-bounded-task-flows-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3580286393651044824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3580286393651044824'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/10/building-bounded-task-flows-as.html' title='Bounded Task Flows as Components with Exposed State or Attributes'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/TMa9BYLOKDI/AAAAAAAAAks/IBjfrY1NeFU/s72-c/BTFWithState1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-2809442049614464019</id><published>2010-10-20T11:23:00.002+03:00</published><updated>2010-10-20T11:38:44.267+03:00</updated><title type='text'>ADF Faces RC: Resolving "'BracketSuffix' returned null"</title><summary type='text'>javax.el.PropertyNotFoundException: Target Unreachable, 'BracketSuffix' returned null
 at com.sun.el.parser.AstValue.getTarget(AstValue.java:96)
 at com.sun.el.parser.AstValue.getType(AstValue.java:56)

This is my story:
I have a string status attribute which is represented by a single character in the database but should be displayed in my pages as meaningful words as follows:


A -Active

P -</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/2809442049614464019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/10/adf-faces-rc-javaxelpropertynotfoundexc.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/2809442049614464019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/2809442049614464019'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/10/adf-faces-rc-javaxelpropertynotfoundexc.html' title='ADF Faces RC: Resolving &quot;&apos;BracketSuffix&apos; returned null&quot;'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3wpN-L65axo/TL6jYtrTHJI/AAAAAAAAAko/mNtyIUaHiA4/s72-c/bracketSuffixNull2.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3234318990072284881</id><published>2010-10-13T12:02:00.002+03:00</published><updated>2010-10-13T16:14:09.941+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDO'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SOA Suite'/><title type='text'>Looking Up SOAServiceInvokerBean from a Different JVM</title><summary type='text'>I am writing this up before I will forget and hit this again...


javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: failed to unmarshal class java.lang.Object; nested exception is: 
 java.lang.ClassNotFoundException: oracle.integration.platform.blocks.sdox.ejb.api.SOAServiceInvokerBean]
 at weblogic.jndi.internal.ExceptionTranslator.toNamingException(</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3234318990072284881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/10/looking-up-soaserviceinvokerbean-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3234318990072284881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3234318990072284881'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/10/looking-up-soaserviceinvokerbean-from.html' title='Looking Up SOAServiceInvokerBean from a Different JVM'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-1827691970687525997</id><published>2010-10-08T22:54:00.004+03:00</published><updated>2011-07-21T12:59:10.156+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SOA Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='Human Workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='Gmail'/><title type='text'>Using GMail as Mail Server for Oracle SOA Suite 11g Notifications</title><summary type='text'>Lucas Jellema has a good post about configuring SOA Suite 11g for sending email notifications with Google Mail, but unluckily, as he also noted, it was not working anymore. Nevertheless, that post demonstrated that Gmail could work as SMTP server for Oracle SOA and inspired me to dig more. In this post, I will share my configuration and the steps that I have made to have a working GMail SMTP </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/1827691970687525997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/10/using-gmail-as-mail-server-for-oracle.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1827691970687525997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1827691970687525997'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/10/using-gmail-as-mail-server-for-oracle.html' title='Using GMail as Mail Server for Oracle SOA Suite 11g Notifications'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/TK72LIiU5-I/AAAAAAAAAj8/lEGMBbh-TX8/s72-c/workflow+notification+properties.PNG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-1163485996029909101</id><published>2010-09-30T03:45:00.004+03:00</published><updated>2010-10-01T01:03:21.922+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDO'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SOA Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL'/><title type='text'>SDO: Implementing a HashMap like Service Data Objects</title><summary type='text'>Introduction
I envisioned to create a Generic ADF Human Task Form to support all of our human task (workflow) activities, and in the solution that I thought of, I need an SDO HashMap.

For those who are not familiar, the ADF Human Task Form are remotely deployed bounded task flows (BTFs) that are being accessed by the Oracle BPM woklist app in showing the details of a listed task. The remotely </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/1163485996029909101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/09/sdo-implementing-hashmap-like-sdo-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1163485996029909101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1163485996029909101'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/09/sdo-implementing-hashmap-like-sdo-for.html' title='SDO: Implementing a HashMap like Service Data Objects'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5309478246334601540</id><published>2010-09-13T11:44:00.002+03:00</published><updated>2010-09-13T18:19:49.034+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDO'/><title type='text'>SDO: Wrapping Simple Types as DataObjects</title><summary type='text'>

  &lt;xsd:element name="value" type="xsd:anyType" minOccurs="0"/&gt;

The SDO specs specifies that an XSD element with type "anyType" is map to a DataObject SDO type. This means that you cannot assign simple types like String, Integer, Long, and Boolean among others into this element, because if you do so, you will receive a java.lang.ClassCastException in runtime.


To be able to do that therefore, </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5309478246334601540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/09/sdo-wrapping-simple-types-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5309478246334601540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5309478246334601540'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/09/sdo-wrapping-simple-types-as.html' title='SDO: Wrapping Simple Types as DataObjects'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-613902023298234834</id><published>2010-09-01T19:35:00.174+03:00</published><updated>2010-09-10T22:13:20.920+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='LOV'/><category scheme='http://www.blogger.com/atom/ns#' term='Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Query'/><title type='text'>ADF Faces RC: Generic Query and ListOfValues Model for EJBs</title><summary type='text'>
Overview
The &lt;af:query&gt; and &lt;af:inputListOfValues&gt; components of ADF Faces RC are a must-have for applications, but if you are not using ADF Business Components, then you face the challenge of implementing your own query and listOfValues models. This pattern provides an implemented reusable model that you can readily adapt to your enterprise needs when you are using EJBs.

Problem Description
</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/613902023298234834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/09/reusable-query-and-listofvalues-model.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/613902023298234834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/613902023298234834'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/09/reusable-query-and-listofvalues-model.html' title='ADF Faces RC: Generic Query and ListOfValues Model for EJBs'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3wpN-L65axo/TH4vGd1ExUI/AAAAAAAAAiU/_5bFEqJ15gE/s72-c/QueryModelClassDiagram.PNG' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3046110512655094015</id><published>2010-08-12T14:05:00.006+03:00</published><updated>2010-08-14T23:45:17.854+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='Contextual Events'/><title type='text'>Loosely Coupled Bounded Task Flows + Outside-world Messenger</title><summary type='text'>Chris Muir posted in ADF UI Patterns forum a thread entitled "Overcoming a challenge: combining UI Shell dirty tab + self-closing-BTFs". That post enforces my realization that there is something wrong with my current implementation of bounded task flows, in which we have so much dependency on the TabContext object of the UI Shell. This dependency made me unable to reuse the same task flow inside </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3046110512655094015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/08/loosely-coupled-bounded-task-flows.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3046110512655094015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3046110512655094015'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/08/loosely-coupled-bounded-task-flows.html' title='Loosely Coupled Bounded Task Flows + Outside-world Messenger'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3wpN-L65axo/TGPNIWqrTDI/AAAAAAAAAiM/ic7CDtezSoY/s72-c/dynamicTabShellStructure.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-1991099886221784299</id><published>2010-08-01T03:55:00.004+03:00</published><updated>2010-08-12T16:04:16.466+03:00</updated><title type='text'>ADF UI Shell: Taking Advantage of Contextual Events To Communicate Between Tabs</title><summary type='text'> 











 



You may also be interested on this related post:http://soadev.blogspot.com/2010/08/loosely-coupled-bounded-task-flows.html
</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/1991099886221784299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/08/adf-ui-shell-taking-advantage-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1991099886221784299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1991099886221784299'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/08/adf-ui-shell-taking-advantage-of.html' title='ADF UI Shell: Taking Advantage of Contextual Events To Communicate Between Tabs'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-581180634648210924</id><published>2010-07-29T13:21:00.002+03:00</published><updated>2010-07-29T13:37:03.391+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>ADF UI Shell: Updating Title of the Current Tab</title><summary type='text'>Sometimes you may wish to update the current tab title after some actions like saving a new record. You can do so through the following code inside your backing bean:

    public void updateCurrentTabTitle(String title) {
        TabContext tabContext = TabContext.getCurrentInstance();
        int currentTabIndex = tabContext.getSelectedTabIndex();
        Tab tab = tabContext.getTabs().get(</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/581180634648210924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/07/adf-ui-shell-updating-title-of-current.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/581180634648210924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/581180634648210924'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/07/adf-ui-shell-updating-title-of-current.html' title='ADF UI Shell: Updating Title of the Current Tab'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-8789800150856071265</id><published>2010-06-21T11:26:00.002+03:00</published><updated>2010-06-21T11:28:34.411+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SOA Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><title type='text'>Configuring a New Oracle SOA Domain on Oracle Enterprise Linux</title><summary type='text'>





Introduction
With the current trend of having 64 bit as the new desktop standard, then you would most likely come into a situation where you have a hard time deciding what OS to buy that can support your software development tasks, while not being left behind. That OS selection decision is made simpler by the advent of Virtualization wherein you can have multiple OS on a single hardware </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/8789800150856071265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/06/configuring-new-oracle-soa-domain-on.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8789800150856071265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8789800150856071265'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/06/configuring-new-oracle-soa-domain-on.html' title='Configuring a New Oracle SOA Domain on Oracle Enterprise Linux'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/TB8ENdQkbPI/AAAAAAAAAe0/1uxYcCqENE0/s72-c/config_soa_1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5865685717027302851</id><published>2010-06-20T10:02:00.004+03:00</published><updated>2010-06-21T09:29:12.452+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SOA Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><title type='text'>Installing Oracle SOA Suite 11.1.1.3 on Oracle Enterprise Linux</title><summary type='text'>Introduction
With the current trend of having 64 bit as the new desktop standard, then you would most likely come into a situation where you have a hard time deciding what OS to buy that can support your software development tasks, while not being left behind. That OS selection decision is made simpler by the advent of Virtualization wherein you can have multiple OS on a single hardware machine.
</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5865685717027302851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/06/oracle-soa-suite-on-oel.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5865685717027302851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5865685717027302851'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/06/oracle-soa-suite-on-oel.html' title='Installing Oracle SOA Suite 11.1.1.3 on Oracle Enterprise Linux'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3wpN-L65axo/TB3HAb50C3I/AAAAAAAAAek/nIHhKy59bk8/s72-c/soa_-1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4693107538779449818</id><published>2010-06-19T15:17:00.155+03:00</published><updated>2010-06-20T10:05:27.777+03:00</updated><title type='text'>Installing Weblogic 10.3.3 on Oracle Enterprise Linux</title><summary type='text'>
Introduction
With the current trend of having 64 bit as the new desktop standard, then you would most likely come into a situation where you have a hard time deciding what OS to buy that can support your software development tasks, while not being left behind. That OS selection decision is made simpler by the advent of Virtualization wherein you can have multiple OS on a single hardware machine.</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4693107538779449818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/06/weblogic-1033-on-oel5u5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4693107538779449818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4693107538779449818'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/06/weblogic-1033-on-oel5u5.html' title='Installing Weblogic 10.3.3 on Oracle Enterprise Linux'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3wpN-L65axo/TBy3Yzc0ffI/AAAAAAAAAac/oLE3MRTHAEY/s72-c/weblogic_1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-1223706207861066000</id><published>2010-06-18T14:14:00.006+03:00</published><updated>2010-06-20T10:06:01.926+03:00</updated><title type='text'>Installing Java1.6 on Oracle Enterprise Linux</title><summary type='text'>

Introduction
This is Part II of the following series:


Setting-up Oracle Enterprise Linux on Oracle VM VirtualBox 3.2.4

Installing Java 1.6 on Oracle Enterprise Linux

Installing Weblogic 10.3.3 on Oracle Enterprise Linux
Installing Oracle SOA Suite 11.1.1.3 on Oracle Enterprise Linux

Configuring a new Oracle SOA 11.1.1.3 Domain on Oracle Enterprise Linux



Prerequisites

Downloaded Java </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/1223706207861066000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/06/java16-on-oel55.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1223706207861066000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1223706207861066000'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/06/java16-on-oel55.html' title='Installing Java1.6 on Oracle Enterprise Linux'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3wpN-L65axo/TBtJvlSYXvI/AAAAAAAAAZc/V3X6HhGr7xU/s72-c/java_install_1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-9139172457593227919</id><published>2010-06-17T17:12:00.011+03:00</published><updated>2010-06-20T10:06:34.631+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SOA Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><title type='text'>Setting-up Oracle Enterprise Linux 5.5 on Oracle VM VirtualBox 3.2.4</title><summary type='text'>

Introduction
With the current trend of having 64 bit as the new desktop standard, then you would most likely come into a situation where you have a hard time deciding what OS to buy that can support your software development tasks, while not being left behind. That OS selection decision is made simpler by the advent of Virtualization wherein you can have multiple OS on a single hardware machine</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/9139172457593227919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/06/oracle-enterprise-linux-55-on-oracle-vm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9139172457593227919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9139172457593227919'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/06/oracle-enterprise-linux-55-on-oracle-vm.html' title='Setting-up Oracle Enterprise Linux 5.5 on Oracle VM VirtualBox 3.2.4'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/TBmcgWzm4JI/AAAAAAAAAUM/DViekXmJ2eI/s72-c/oel_1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3160971343341077677</id><published>2010-04-13T11:01:00.007+03:00</published><updated>2010-04-13T22:29:22.078+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLAuthenticator'/><title type='text'>ADF Security: Playing with Weblogic APIs on Authentication Providers</title><summary type='text'>As promised in my last post, in this post I will share with you how to play with the Weblogic API through JMX to handle tasks such as creating users, creating roles, assigning users to roles, and letting users change their own password. This post will clear out the gray areas in implementing user subscription or registration forms and the generation of salted-hashed passwords that can be </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3160971343341077677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/04/sqlauthenticatoradapter-weblogic-mbeans.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3160971343341077677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3160971343341077677'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/04/sqlauthenticatoradapter-weblogic-mbeans.html' title='ADF Security: Playing with Weblogic APIs on Authentication Providers'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-1826037070159760607</id><published>2010-04-09T01:44:00.011+03:00</published><updated>2010-04-13T22:30:15.942+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Security'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLAuthenticator'/><title type='text'>ADF Security: SQLAuthenticator is Simply the Best!</title><summary type='text'>When choosing authentication repositories, something that is more familiar can be the best choice. And what is that "something familiar" for us developers?- Of course, the relational database (unless, if you know LDAPs more :D). Relational databases (RDMS) has encryption capability while authentication providers supports cryptographic hashing, so what else could you ask? Plus the recommendation </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/1826037070159760607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/04/sqlauthenticator-simply-best.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1826037070159760607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1826037070159760607'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/04/sqlauthenticator-simply-best.html' title='ADF Security: SQLAuthenticator is Simply the Best!'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3642905342911322380</id><published>2010-03-24T01:31:00.010+03:00</published><updated>2010-05-17T17:20:23.640+03:00</updated><title type='text'>UI Shell in Action: Building Task Flows and Pages that Supports Multiple Record Viewing, Editing, and Creation While Maximizing Reuse</title><summary type='text'>Please see the following thread in OTN for the updated version of this post:

Pattern For Review: ADF UI Shell In Action with EJB  


Cheers!

Pino</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3642905342911322380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/03/reusing-single-page-for-record-viewing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3642905342911322380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3642905342911322380'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/03/reusing-single-page-for-record-viewing.html' title='UI Shell in Action: Building Task Flows and Pages that Supports Multiple Record Viewing, Editing, and Creation While Maximizing Reuse'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-2009418441321865669</id><published>2010-03-20T22:23:00.020+03:00</published><updated>2010-03-21T10:42:42.812+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='Localization'/><category scheme='http://www.blogger.com/atom/ns#' term='Formating'/><title type='text'>ADF Faces RC: Change the Global Date Format of Your Application</title><summary type='text'>To change the date format of your application, without necessarily affecting other locale settings like Language(localized text) ,or to established a standard global date format across different locales/countries, define the &lt;formatting-locale&gt; element of the trinidad-config.xml as illustrated below:

&lt;?xml version="1.0" encoding="windows-1252"?&gt;
&lt;trinidad-config xmlns="http://myfaces.apache.org/</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/2009418441321865669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/03/change-global-date-format-of-your.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/2009418441321865669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/2009418441321865669'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/03/change-global-date-format-of-your.html' title='ADF Faces RC: Change the Global Date Format of Your Application'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3wpN-L65axo/S6U-ZXY3eQI/AAAAAAAAASM/feiuLrPWHgg/s72-c/en-US.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-9001894352218080742</id><published>2010-03-19T13:50:00.010+03:00</published><updated>2010-03-24T09:46:58.904+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Task flows'/><category scheme='http://www.blogger.com/atom/ns#' term='Parameter Passing'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>ADF UI Shell: Extending the UI Shell to Allow Passing of Parameters to Bounded Task Flows</title><summary type='text'>I am trying to create a blog-post demonstrating a pattern of having a list, show details, edit, and create activities based on the HR Schema. But upon testing, I was stacked on the issue of parameter passing to bounded task flows of the UI Shell which was discussed on this thread. Since in the previous post, I had just demonstrated how to make minor modification to the layout of the Dynamic Tab </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/9001894352218080742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/03/extending-ui-shell-to-pass-parameters.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9001894352218080742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9001894352218080742'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/03/extending-ui-shell-to-pass-parameters.html' title='ADF UI Shell: Extending the UI Shell to Allow Passing of Parameters to Bounded Task Flows'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/S6Nb5Y3EaDI/AAAAAAAAAQ8/YTdMdKRNMg0/s72-c/defining+parameters+map.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-8736447451264816811</id><published>2010-03-17T14:46:00.018+03:00</published><updated>2010-03-19T18:20:54.029+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Customizing UI Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>ADF UI Shell: Customizing the Dynamic Tab Shell Layout</title><summary type='text'>A user in Oracle UI Shell Functional Pattern thread asked me on a step by step guide on how to re-size the space taken by the Legal area at the bottom part of the UI Shell, thus I came up with this post.

If you wanted to modify some layout of the Oracle Dynamic Tabs template, you can do the following:


Copy the oracle-page-templates-ext.jar from %MiddlewareHome%\jdeveloper\adfv\jlib\ folder

</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/8736447451264816811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/03/customising-dynamic-tab-shell.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8736447451264816811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8736447451264816811'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/03/customising-dynamic-tab-shell.html' title='ADF UI Shell: Customizing the Dynamic Tab Shell Layout'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3wpN-L65axo/S6CncRJNbVI/AAAAAAAAAQM/IPfeVtoHgxU/s72-c/open_file_in+_jdeveloper.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4956264899354290204</id><published>2010-03-12T03:57:00.010+03:00</published><updated>2010-03-14T00:33:24.541+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='jsp:include'/><title type='text'>ADF Faces RC: Grab that ADF Skins in 5 minutes</title><summary type='text'>In this post, I applied skinning to the accompanying demo application (UIShellSherman_V02)of the ADF UI Shell to demonstrate how easy it is to apply skinning into an existing ADF application . You can do the same into your current application in just a matter of 5 minutes by following this blogpost. Impress your boss now! :D
Oracle ADF Faces RC has the following skins which could jump-start </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4956264899354290204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/03/adf-faces-rc-grab-that-adf-skins-in-5.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4956264899354290204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4956264899354290204'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/03/adf-faces-rc-grab-that-adf-skins-in-5.html' title='ADF Faces RC: Grab that ADF Skins in 5 minutes'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/S5mAHabGXGI/AAAAAAAAAPk/H81vdci3YEs/s72-c/fusion_skin.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7356102075370940884</id><published>2010-03-10T03:03:00.011+03:00</published><updated>2010-03-11T09:48:42.375+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='Localization'/><category scheme='http://www.blogger.com/atom/ns#' term='Internationalization'/><title type='text'>ADF Faces RC : Supplement on How to Configure Pages for an End User to Specify Locale at Runtime</title><summary type='text'>I am completely lost when I read section 21.4 (Configuring Pages for an End User to Specify Locale at Runtime) of the  Web User Interface Developer's Guide. Correct me if I am wrong, but it seems that, that section is still in draft mode as of this blog-posting, and that motivated me to write this post to supplement it. This post references some other sections of the guide to as not recreate </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7356102075370940884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/03/adf-faces-rc-supplement-on-how-to.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7356102075370940884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7356102075370940884'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/03/adf-faces-rc-supplement-on-how-to.html' title='ADF Faces RC : Supplement on How to Configure Pages for an End User to Specify Locale at Runtime'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-525535916146802676</id><published>2010-03-05T04:00:00.008+03:00</published><updated>2010-03-20T11:37:14.921+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataProvider'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Model'/><title type='text'>ADF Model: How to Programmatically Access the DataProvider Thing</title><summary type='text'>
"One of the 'power tools' of ADF Binding is the dataProvider attribute that pretty much every binding object supports." -Duncan Mills

Duncan Mills has a comprehensive blogpost about this DataProvider thing here. When I was still on my first steps in learning ADF, I found it a challenge to programmatically access this DataProvider thing without using the JSFUtils.resolveExpression() method, that</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/525535916146802676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/03/adf-model-how-to-programmatically.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/525535916146802676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/525535916146802676'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/03/adf-model-how-to-programmatically.html' title='ADF Model: How to Programmatically Access the DataProvider Thing'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3889310432140924802</id><published>2010-02-28T12:25:00.011+03:00</published><updated>2010-03-02T16:40:42.071+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='Proxy Authentication'/><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><title type='text'>Setting Proxy Authentication in Java (weblogic.net.http.HttpUnauthorizedException: Proxy or Server Authentication Required)</title><summary type='text'>
weblogic.net.http.HttpUnauthorizedException: Proxy or Server Authentication Required
 at weblogic.net.http.HttpURLConnection.getAuthInfo(HttpURLConnection.java:284)
 at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:455)
 at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:36)
 at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:112</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3889310432140924802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/setting-proxy-authentication-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3889310432140924802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3889310432140924802'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/setting-proxy-authentication-in-java.html' title='Setting Proxy Authentication in Java (weblogic.net.http.HttpUnauthorizedException: Proxy or Server Authentication Required)'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5410524622181688699</id><published>2010-02-28T01:54:00.006+03:00</published><updated>2010-03-25T23:55:38.321+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Translate API'/><title type='text'>Oracle ADF and Google Translate : Leveraging Google Translation Services in Oracle ADF Applications</title><summary type='text'>An application that will be used in a multi-cultural and multi-language environment can leverage the free translation service of Google through Google Translate API.

This post recreated the Google Translate service using Oracle ADF Faces RC in JDeveloper 11g to demonstrate the simplicity and the possibilities of using the Google Translate API.
Below are screen shots of our completed Google </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5410524622181688699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/oracle-adf-and-google-translate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5410524622181688699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5410524622181688699'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/oracle-adf-and-google-translate.html' title='Oracle ADF and Google Translate : Leveraging Google Translation Services in Oracle ADF Applications'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3wpN-L65axo/S4mGRtKbCmI/AAAAAAAAANg/bMbJN9QtTQk/s72-c/google_translate_api_demo_in_adf_blank.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-6715502065747260682</id><published>2010-02-24T11:15:00.012+03:00</published><updated>2010-03-25T23:51:54.889+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Declarative Lightweight Popup'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='Run Code Upon Page Load'/><category scheme='http://www.blogger.com/atom/ns#' term='Googe Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>ADF Faces RC: Building a Reusable Google Map Viewer that Supports both Geocoding and Reverse Geocoding (Applying Frank Nimphius' Declarative Lightweight Popup)</title><summary type='text'>In this post, I will show you how to build a reusable Google Map Viewer that supports both Geocoding and Reverse Geocoding. This map viewer is implemented based on Frank Nimphius' declarative lightweight popup pattern. This can be incorporated from anywhere in your application that has address information.



Our steps to recreate this would be as follows:

Sign up for the Google Maps API
Create </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/6715502065747260682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/adffaces-rc-building-reusable-google.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6715502065747260682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6715502065747260682'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/adffaces-rc-building-reusable-google.html' title='ADF Faces RC: Building a Reusable Google Map Viewer that Supports both Geocoding and Reverse Geocoding (Applying Frank Nimphius&apos; Declarative Lightweight Popup)'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3wpN-L65axo/S4PwzL9LekI/AAAAAAAAAMA/Gv8A3eKsSGY/s72-c/resusable_google_map_viewer.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7976969703135029360</id><published>2010-02-18T14:29:00.011+03:00</published><updated>2010-03-24T09:57:04.546+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Code Upon Page Load'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>ADF UI Shell: Automatically Open a Default Activity Upon Page Load</title><summary type='text'>I am watching the Oracle UI Shell Functional Pattern thread at OTN and noted that some people were interested on how to automatically open a default activity in ADF UI Shell. I decided to take up the challenge and came up with the following.

This post is just a demonstration on how to open a default activity upon page load in ADF UI Shell, based on the accompanying sample application named "</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7976969703135029360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-ui-shell-automatically-open-default.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7976969703135029360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7976969703135029360'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-ui-shell-automatically-open-default.html' title='ADF UI Shell: Automatically Open a Default Activity Upon Page Load'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7905575877613704716</id><published>2010-02-15T16:03:00.001+03:00</published><updated>2010-02-15T16:06:53.812+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>ADF Model: java.lang.NullPointerException at oracle.adf.model.binding.DCIteratorBinding.getSortCriteria</title><summary type='text'>If you encountered this error though your code was running good before, then welcome to the club! :D
Here are some of our colleagues:
ADF webapp deployment problem...
JDBC connection for ADF
Both of them have resolve their case by recreating their application and build it from scratch. Yaiks! We sure cannot afford that on an app that we build for months.  

Luckily, I was able to resolve my case </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7905575877613704716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-model-javalangnullpointerexception.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7905575877613704716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7905575877613704716'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-model-javalangnullpointerexception.html' title='ADF Model: java.lang.NullPointerException at oracle.adf.model.binding.DCIteratorBinding.getSortCriteria'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5246352195291549967</id><published>2010-02-15T01:11:00.004+03:00</published><updated>2010-02-23T15:36:49.327+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EJB'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><title type='text'>EJB with EclipseLink: How to Synchronize to the Database the Objects that were Removed from a List Attribute while the Entity is in Detached State</title><summary type='text'>When developing web applications, it is likely that we will deal with entity objects in detached state (unmanaged state) while working with them in the web layer.
In my case, I have an AcctgEntry object that has a list of AcctgLine objects as an attribute.
public class AcctgEntry{

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE,
                    generator = "</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5246352195291549967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/ejb-with-eclipselink-how-to-synchronize.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5246352195291549967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5246352195291549967'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/ejb-with-eclipselink-how-to-synchronize.html' title='EJB with EclipseLink: How to Synchronize to the Database the Objects that were Removed from a List Attribute while the Entity is in Detached State'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5732066350943675899</id><published>2010-02-14T16:09:00.038+03:00</published><updated>2010-02-23T15:20:36.340+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic Menu'/><title type='text'>ADF UI Shell: Dynamic Tree Menu based on User Roles (ADF Policies)</title><summary type='text'>In this post, I will try to share with you how to create a dynamic tree menu based on the authorization defined in ADF Policies (jazn.xml) in an application built with ADF UI Shell. Menu Items will be added to the tree menu, if the user has a role that was granted view authorization on a certain task-flow or page.


To accomplish the creation of a dynamic menu based on user roles, we need to do </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5732066350943675899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/dynamic-tree-menu-based-on-user-roles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5732066350943675899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5732066350943675899'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/dynamic-tree-menu-based-on-user-roles.html' title='ADF UI Shell: Dynamic Tree Menu based on User Roles (ADF Policies)'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3wpN-L65axo/S3cEeJkCh0I/AAAAAAAAAKE/KXha_zt9uhc/s72-c/dynamicTreeMenuBasedOnRoles.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-8264268310757703724</id><published>2010-02-10T16:36:00.009+03:00</published><updated>2010-02-23T15:35:14.142+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java in General'/><title type='text'>Java: Comparing BigDecimal objects for equality</title><summary type='text'>If you are developing a financial application you would probably agree that 1.0 is equivalent to 1.00, but the BigDecimal API says otherwise. If you will run the following code, you will be bewildered at first on the results:
package blogspot.soadev.test;
import java.math.BigDecimal;
public class BigDecimalTestRunner {
    public static void main(String[] args) {
        BigDecimal x = new </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/8264268310757703724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/java-comparing-bigdecimal-objects-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8264268310757703724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8264268310757703724'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/java-comparing-bigdecimal-objects-for.html' title='Java: Comparing BigDecimal objects for equality'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7319055533962648695</id><published>2010-02-09T22:42:00.006+03:00</published><updated>2010-02-23T15:49:39.901+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='Conditional Dialog'/><title type='text'>ADF Faces RC: A simple but robust  implementation of  a conditional confirmation dialog/ pop-up</title><summary type='text'>Sometimes you may need to display a confirmation dialog in response to a user action. You can easily launched a pop-up by adding a popup and a showPopupBehavior component inside your commandButton, commandToolbarButton, and etc. like below:
&lt;af:commandToolbarButton text="Post" id="ctb4"&gt;
  &lt;af:showPopupBehavior popupId="confirmPostingPopup"
                           triggerType="action"/&gt;
&lt;/af:</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7319055533962648695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-faces-rc-simple-but-robust.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7319055533962648695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7319055533962648695'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-faces-rc-simple-but-robust.html' title='ADF Faces RC: A simple but robust  implementation of  a conditional confirmation dialog/ pop-up'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-1619405892857665737</id><published>2010-02-08T17:24:00.006+03:00</published><updated>2010-02-23T16:22:23.359+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>The ADF Faces RC: &lt;af:resetActionListener/&gt; tag works like magic!</title><summary type='text'>I can't imagine that my half-day of debugging on how to reset the input components in my form to original value will be solved by a single tag, and that is:
&lt;af:resetActionListener/&gt;

Below is an excerpt from the JDeveloper help:
The resetActionListener tag is a declarative way to allow an action source (&lt;commandbutton&gt;, &lt;commandlink&gt;, etc.) to fire a reset action. All values submitted will be </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/1619405892857665737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-faces-rc-tag-works-like-magic.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1619405892857665737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1619405892857665737'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/adf-faces-rc-tag-works-like-magic.html' title='The ADF Faces RC: &amp;lt;af:resetActionListener/&amp;gt; tag works like magic!'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-2391411645639685146</id><published>2010-02-06T22:41:00.004+03:00</published><updated>2010-03-25T21:25:52.500+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSR 303'/><category scheme='http://www.blogger.com/atom/ns#' term='Bean Validation'/><title type='text'>JSR 303 Bean Validation: Error "java.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;"</title><summary type='text'>When we adopted the JSR 303 Bean Validation into our ADF/EJB project, we encountered the above error, so I posted on hibernate forums and was advised to implement my own custom class that implements TraversableResolver (Check the discussion here). 
Here I will post a simple working implementation that works.
TODO:
1) Create a class that implements TraversableResolver like below:
package </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/2391411645639685146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/jsr-303-bean-validation-error.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/2391411645639685146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/2391411645639685146'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/jsr-303-bean-validation-error.html' title='JSR 303 Bean Validation: Error &quot;java.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;&quot;'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3025272679083513290</id><published>2010-02-06T15:32:00.003+03:00</published><updated>2010-03-01T07:09:44.331+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EJB'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><title type='text'>EJB with EclipseLink: How to ensure that your query returns fresh data</title><summary type='text'>If you wanted to retrieve always fresh data from your query, you could set the hints parameter in the @NamedQuery declaration like below:

...
import org.eclipse.persistence.config.HintValues;
import org.eclipse.persistence.config.QueryHints;
...

@NamedQuery(name = "findEmployeesByDepartmentId", 
            query = "select o from Employee o where o.department.id = :departmentId"), 
            </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3025272679083513290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/02/ejb-with-eclipselink-how-to-ensure-that.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3025272679083513290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3025272679083513290'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/02/ejb-with-eclipselink-how-to-ensure-that.html' title='EJB with EclipseLink: How to ensure that your query returns fresh data'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4986468402968437930</id><published>2010-01-29T03:47:00.008+03:00</published><updated>2010-03-25T21:29:56.985+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSR 303'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Reflection'/><category scheme='http://www.blogger.com/atom/ns#' term='Bean Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='Java EE6'/><title type='text'>JSR 303 Bean Validation: @ValidateDateRange - A reusable constraint annotation to validate date ranges</title><summary type='text'>In a previous blog-post, I have described my experience on JSR 303 Bean Validation, and in the process, this @ValidateDateRange constraint annotation came upon into my mind. I thought that it would be useful so it inspired me to create its implementation and eventually made this blog-post. 

The @ValidateDateRange is a class-level constraint annotation that will validate a date range represented </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4986468402968437930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/jsr-303-bean-validation_29.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4986468402968437930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4986468402968437930'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/jsr-303-bean-validation_29.html' title='JSR 303 Bean Validation: @ValidateDateRange - A reusable constraint annotation to validate date ranges'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4116788678461479967</id><published>2010-01-28T03:03:00.009+03:00</published><updated>2010-03-01T07:12:36.176+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle XE'/><title type='text'>Oracle XE: Exporting and Importing Dump Files</title><summary type='text'>An easy way to copy a schema would be through JDeveloper Database Copy Utility under Tools&gt;Database&gt;Database Copy... menu. But in our case, we encounter errors in the transfer of records from the source to my target connection and many of the records were not exported successfully. This is the reason why we resorted to exporting and importing dump files.

Yesterday, I was given a dump file which </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4116788678461479967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/oracle-xe-successfully-importing-dump.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4116788678461479967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4116788678461479967'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/oracle-xe-successfully-importing-dump.html' title='Oracle XE: Exporting and Importing Dump Files'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5822687554978465696</id><published>2010-01-26T11:36:00.018+03:00</published><updated>2010-03-25T21:33:04.289+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSR 303'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Reflection'/><category scheme='http://www.blogger.com/atom/ns#' term='Bean Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='Java EE6'/><title type='text'>JSR 303 Bean Validation: @AssertMethodAsTrue - A reusable constraint annotation that spans multiple properties.</title><summary type='text'>I have made my own hands-on on this Bean Validation based on the [hibernate-validator-4.0.0.Beta2] and the experience was great. One thing that I have observed though is that there is no built-in annotation to check for a constraint spanning multiple properties, or to check if a certain property is valid based on other properties. One obvious example to this is validating date ranges where you </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5822687554978465696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/jsr-303-bean-validation.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5822687554978465696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5822687554978465696'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/jsr-303-bean-validation.html' title='JSR 303 Bean Validation: @AssertMethodAsTrue - A reusable constraint annotation that spans multiple properties.'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-1926618247530752913</id><published>2010-01-26T00:38:00.007+03:00</published><updated>2010-02-10T09:31:49.840+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Layout Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><title type='text'>Layout Tips: ADF Faces RC - Panel Stretch Layout  Component</title><summary type='text'>There is a not so obvious setting for the width and height attributes of the facets of the Panel Stretch Layout Component and that is setting the values as "auto". It applies to the following attributes:
startWidth
endWidth
topHeight
bottomHeight
This is necessary especially if the component that you put in your top facet is expandable, a Query component for example. You would not most likely </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/1926618247530752913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/layout-tips-adf-faces-rc-panel-stretch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1926618247530752913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/1926618247530752913'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/layout-tips-adf-faces-rc-panel-stretch.html' title='Layout Tips: ADF Faces RC - Panel Stretch Layout  Component'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/S14O4ILaxfI/AAAAAAAAAJk/sSJqmvgjt7E/s72-c/panelStretchLayoutTip.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-8582381034608742252</id><published>2010-01-25T15:01:00.003+03:00</published><updated>2010-01-25T17:05:45.030+03:00</updated><title type='text'>EJB and ADF model:  (Error JBO-25221) SessionBean.dataProvider Method not supported</title><summary type='text'>Problem: (Error JBO-25221) Method not supported.

I was puzzled by this error for sometime because the log do not give much information about the source of the error. The method is present in my SessionBeanLocal and the bindings was set in the ADF page definition file and yet, I am encountering this error. What I failed to realize is that I re-factored my session bean method to remove some </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/8582381034608742252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/ejb-and-adf-model-jbo-25221-method.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8582381034608742252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8582381034608742252'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/ejb-and-adf-model-jbo-25221-method.html' title='EJB and ADF model:  (Error JBO-25221) SessionBean.dataProvider Method not supported'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-665598825301942976</id><published>2010-01-19T01:46:00.001+03:00</published><updated>2010-01-19T01:46:44.938+03:00</updated><title type='text'>Using an EJB Service / Reference in Soa Suite 11G</title><summary type='text'>Java / Oracle SOA blog: Using an EJB Service / Reference in Soa Suite 11G</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/665598825301942976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/using-ejb-service-reference-in-soa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/665598825301942976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/665598825301942976'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/using-ejb-service-reference-in-soa.html' title='Using an EJB Service / Reference in Soa Suite 11G'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5481566304372769161</id><published>2010-01-10T20:09:00.012+03:00</published><updated>2010-03-03T22:23:37.687+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle SOA Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><title type='text'>Error: CFGFWK-60184: Configuring WebLogic Domain  :  Multiple dependency matches</title><summary type='text'>Error: CFGFWK-60184: The template you selected can't be applied because the following dependencies have not been satisfied:
 
Unresolved ORs:
Or for Oracle SOA Suite:11.1.1.0
[C:\Oracle\Middleware\Oracle_SOA1\common\templates\applications\oracle.soa_template_11.1.1.jar] 
Multiple dependency matches: 
Oracle SOA Management Extension:11.1.1.0
[C:\Oracle\Middleware\jdeveloper\common\templates\</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5481566304372769161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/error-cfgfwk-60184-domain-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5481566304372769161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5481566304372769161'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/error-cfgfwk-60184-domain-configuration.html' title='Error: CFGFWK-60184: Configuring WebLogic Domain  :  Multiple dependency matches'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3wpN-L65axo/S0oK9va1scI/AAAAAAAAAJc/mNxDJZOpyHc/s72-c/CFGFWK-60814.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-6338644816604926424</id><published>2010-01-09T22:28:00.008+03:00</published><updated>2010-11-05T17:26:45.268+03:00</updated><title type='text'>Error Starting Weblogic Admin Server: Could not reserve enough space for object heap</title><summary type='text'>The first time that I run my weblogic admin server after installing and configuring oracle soa in weblogic 10.3.2, I encountered the following error:
Could not reserve enough space for object heap.
Could not create the Java virtual machine.
  
I resolved this by creating a new environment variable called EXTRA_JAVA_PROPERTIES with the following value "-Xms512m -Xmx512m". 
  From the JDeveloper </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/6338644816604926424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/error-starting-weblogic-admin-server.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6338644816604926424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6338644816604926424'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/error-starting-weblogic-admin-server.html' title='Error Starting Weblogic Admin Server: Could not reserve enough space for object heap'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3wpN-L65axo/S0jdypkYgfI/AAAAAAAAAJM/glL2zp7ZnMg/s72-c/Could+not+reserve+enough+space+for+object+heap.bmp' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7322235025284050513</id><published>2010-01-09T09:56:00.007+03:00</published><updated>2010-03-01T23:18:26.835+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EJB'/><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>EJB and ADF: BUG! JPQLEntity.getAliasName() NullPointerException (EJB @Embedded Objects)</title><summary type='text'>The title above is my posting on OTN Forum. I also filed a corresponding Service Request in Oracle Support to report such behavior. 

I got an update that the corresponding bug was reproduced on there side. I am still waiting for the resolution of this and will update this post for any developments.


13 January 2010: I received the confirmation from Oracle Support that they filed (bug#9281552) </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7322235025284050513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/ejb-and-adf-bug-jpqlentitygetaliasname.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7322235025284050513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7322235025284050513'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/ejb-and-adf-bug-jpqlentitygetaliasname.html' title='EJB and ADF: BUG! JPQLEntity.getAliasName() NullPointerException (EJB @Embedded Objects)'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3650894909876164587</id><published>2010-01-05T16:48:00.022+03:00</published><updated>2010-09-28T00:35:53.119+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF Faces RC'/><category scheme='http://www.blogger.com/atom/ns#' term='EJB DataControls'/><category scheme='http://www.blogger.com/atom/ns#' term='RichTable'/><title type='text'>EJB and ADF Faces RC: Inserting and Deleting Records to an Editable ADF Table that is Bound to an Entity (ArrayList) in a Managed Bean</title><summary type='text'>My inspiration to write this post are the challenges that I have encountered in getting the selected row data, the method to remove rows and the inconsistent state of the table rows after removing a record. The Web User Interface Developers' Guide do not have a straight forward illustration on removing a row on a table that is not bound to an ADF Model/ADF BC type of data. Please note that I have</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3650894909876164587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/ejb-and-adf-faces-rc-inserting-and.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3650894909876164587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3650894909876164587'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/ejb-and-adf-faces-rc-inserting-and.html' title='EJB and ADF Faces RC: Inserting and Deleting Records to an Editable ADF Table that is Bound to an Entity (ArrayList) in a Managed Bean'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4382946770114955725</id><published>2010-01-05T16:23:00.006+03:00</published><updated>2010-03-08T17:47:37.113+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>Oracle UI Shell: java.lang.InstantiationException TabContext$TabSelectionActionListener</title><summary type='text'>The title above is my posting on OTN Forum and was noted to be a known issue. Please see Richard Wright response here.

Update: March 08, 2010. I receive an email that the fix will be available thru Check for Updates in the next two weeks.</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4382946770114955725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/ui-shell-javalanginstantiationexception.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4382946770114955725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4382946770114955725'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/ui-shell-javalanginstantiationexception.html' title='Oracle UI Shell: java.lang.InstantiationException TabContext$TabSelectionActionListener'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-8024704466129638482</id><published>2010-01-01T01:28:00.002+03:00</published><updated>2010-01-01T01:31:48.625+03:00</updated><title type='text'>Attn. JDeveloper Team: Painful to Drag an EJB DataControl as a Form (Ouch!)</title><summary type='text'>The title above is my posting on OTN and was acknowledge as a bug with ticket no. 9248820. To see the post, click here.</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/8024704466129638482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2010/01/attn-jdeveloper-team-painful-to-drag.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8024704466129638482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/8024704466129638482'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2010/01/attn-jdeveloper-team-painful-to-drag.html' title='Attn. JDeveloper Team: Painful to Drag an EJB DataControl as a Form (Ouch!)'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-414816860302998437</id><published>2009-12-29T09:35:00.010+03:00</published><updated>2010-03-08T21:47:08.573+03:00</updated><title type='text'>EJB and ADF Faces RC: How to Create a SelectOneChoice with Value Bound to an Object Property</title><summary type='text'>There has been a lot of blog post with regards to creating SelectOneChoice in ADF Faces RC but all are bound to a data  control based on ADF Business Components . In this post, I will try show you how to create a selectOneChoice component if you want to bound the value to an object property (not just mapping simple data types like String, Long, etc.).
 Please see below a demonstrative code </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/414816860302998437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/12/ejb-and-adf-faces-rc-how-to-create.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/414816860302998437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/414816860302998437'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/12/ejb-and-adf-faces-rc-how-to-create.html' title='EJB and ADF Faces RC: How to Create a SelectOneChoice with Value Bound to an Object Property'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7440626733557384840</id><published>2009-12-26T11:48:00.008+03:00</published><updated>2010-03-02T18:21:53.688+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EJB Security'/><title type='text'>EJB Security: Logging the user that invokes a session bean method</title><summary type='text'>If you have a requirement to log the user who created or updated a certain record. You can do so by getting the CallerPrincipal object in the SessionContext of an EJB session bean. The SessionContext can be injected in a session bean using the @Resource annotation. Please see below a sample session bean with an injected SessionContext plus the call to get the CallerPrincipal object:

package </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7440626733557384840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/12/ejb-security-logging-user-that-invoke.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7440626733557384840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7440626733557384840'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/12/ejb-security-logging-user-that-invoke.html' title='EJB Security: Logging the user that invokes a session bean method'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7425587178733641117</id><published>2009-12-25T13:54:00.022+03:00</published><updated>2010-04-07T09:13:00.639+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSR 303'/><category scheme='http://www.blogger.com/atom/ns#' term='Bean Validation'/><title type='text'>Integrating JSR 303 Bean Validation with Oracle ADF 11g</title><summary type='text'>In this post, I will try to show you how we were able to successfully integrate the JSR 303 Bean Validation into our ADF 11g Application built with EJB/JPA. The result is a centralized area to define validation constraints using annotations which can be invoked from any layer of the application.

Below is the screen-shot of a sample edit page created with the JSR 303 Bean Validation:
  To apply </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7425587178733641117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/12/integrating-jsr-303-bean-validation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7425587178733641117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7425587178733641117'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/12/integrating-jsr-303-bean-validation.html' title='Integrating JSR 303 Bean Validation with Oracle ADF 11g'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/SzVGv61QlZI/AAAAAAAAAJE/PIHd7L6lTlo/s72-c/JSR303BeanValidation.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3428901050368492951</id><published>2009-12-25T10:09:00.018+03:00</published><updated>2010-03-02T18:22:38.097+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF Security'/><title type='text'>ADF Security: The Two Most Useful Security Expression - #{securityContext.regionViewable[''] and #{securityContext.taskFlowViewable['']</title><summary type='text'>If you have a requirement to conditionally display a tab, a link, or a toolbar button to prevent navigation to a protected page allowed only for some specific roles then I bet that the following security expression will satisfy your need:
1)#{securityContext.regionViewable['your.page.targetPageDef']} 

Chris Muir has a nice blog about conditionally displaying the global tabs of the ADF UI Shell </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3428901050368492951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/12/adf-security-two-most-useful-security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3428901050368492951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3428901050368492951'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/12/adf-security-two-most-useful-security.html' title='ADF Security: The Two Most Useful Security Expression - #{securityContext.regionViewable[&apos;&apos;] and #{securityContext.taskFlowViewable[&apos;&apos;]'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4749518838665618643</id><published>2009-12-25T00:55:00.019+03:00</published><updated>2010-02-26T00:57:35.510+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF UI Shell'/><title type='text'>Oracle UI Shell: Passing Parameters to a Bounded Task Flow</title><summary type='text'>The discussion below is taken from my feedback on the ADF UI Patterns in OTN forum, I just copied it here for my reference: 

Hi! 

I have already figured out how to pass parameters to my bounded taskflow that I intend to launch on a separate tab. It would be the same way as how the UI Shell framework passes the TabContext object to the interested taskflows. This cannot be done though without </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4749518838665618643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/12/oracle-ui-shell-passing-parameters-to.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4749518838665618643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4749518838665618643'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/12/oracle-ui-shell-passing-parameters-to.html' title='Oracle UI Shell: Passing Parameters to a Bounded Task Flow'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4030742914442487002</id><published>2009-07-18T12:41:00.003+03:00</published><updated>2009-12-25T04:07:48.910+03:00</updated><title type='text'>unable to startup the Resource Adapter specified in the  element: location='eis/Jms/TopicConnectionFactory'</title><summary type='text'>Problem:
Exception occured when binding was invoked.



Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Produce_Message' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. OrderBookingComposite:FulfillmentBatch [ Produce_Message_ptt::Produce_Message(purchaseOrder) ] : </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4030742914442487002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/07/unable-to-startup-resource-adapter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4030742914442487002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4030742914442487002'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/07/unable-to-startup-resource-adapter.html' title='unable to startup the Resource Adapter specified in the &lt;connection-factory/&gt; element: location=&apos;eis/Jms/TopicConnectionFactory&apos;'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-5655894283273536673</id><published>2009-07-13T09:16:00.002+03:00</published><updated>2010-03-02T18:19:20.923+03:00</updated><title type='text'>Error Running "populateImages" Ant Target of the Oracle FOD Infratructure Application</title><summary type='text'>I wonder why my FusionOrderDemo StoreFrontModule user interface do not display the product images. I re-run the MasterBuildScript build.xml of the Infrastructure application bundled in the FusionOrderDemo_R1 and noted that the populateImages target raises an exception and that is another "timezone region not found error". I have encountered this  of error before and documented it in my earlier </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/5655894283273536673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/07/error-running-populateimages-ant-target.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5655894283273536673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/5655894283273536673'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/07/error-running-populateimages-ant-target.html' title='Error Running &quot;populateImages&quot; Ant Target of the Oracle FOD Infratructure Application'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-6543792679143046768</id><published>2009-07-11T18:05:00.000+03:00</published><updated>2009-07-18T12:54:49.321+03:00</updated><title type='text'>Error Deploying to Stand Alone WebLogic Server -"java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet", "Deployment incomplete"</title><summary type='text'>To avoid the following error :"java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet", deploy the application on the application context and not only on the UI project.


To avoid the "Deployment Incomplete" error, try to disable proxy settings.

To avoid more errors in deploying the Fusion Order Demo to a stand alone WebLogic Server 11g , refer to the following tutorial:
</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/6543792679143046768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/07/error-deploying-to-stand-alone-weblogic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6543792679143046768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/6543792679143046768'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/07/error-deploying-to-stand-alone-weblogic.html' title='Error Deploying to Stand Alone WebLogic Server -&quot;java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet&quot;, &quot;Deployment incomplete&quot;'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3wpN-L65axo/SlivbkRWSNI/AAAAAAAAAD0/Xt73wy27e64/s72-c/deploying+application.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-7309624202335654010</id><published>2009-07-08T17:02:00.003+03:00</published><updated>2010-03-08T22:03:36.232+03:00</updated><title type='text'>Error in Running Repository Creation Utility (RCU) While Using Oracle XE database</title><summary type='text'>While following the Quick Installation Guide for Oracle SOA Suite11g Release 1, I encountered the following error in running the Repository Creation Utility while using Oracle XE database.


ERROR rcu: oracle.sysman.assistants.rcu.backend.task.PrereqTask::execute: Prereq Evaluation Failed
oracle.sysman.assistants.rcu.backend.validation.PrereqException: RCU-6083:Failed - Check prerequisites </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/7309624202335654010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/07/error-in-running-repository-creation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7309624202335654010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/7309624202335654010'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/07/error-in-running-repository-creation.html' title='Error in Running Repository Creation Utility (RCU) While Using Oracle XE database'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-3910484432259975747</id><published>2009-06-17T21:34:00.000+03:00</published><updated>2009-06-17T22:57:37.123+03:00</updated><title type='text'>How the ADF PageLifeCycle come into the picture in ADF 11g?</title><summary type='text'>I was wondering how the enhanced ADF PageLifeCycle come into the picture in Oracle ADF 11g when I noted that there was no phase listener configured in faces-config.xml, and specially that I have read the one stated in Oracle® Application Development Framework Developer’s Guide 10g Release 3-

"When an ADF Faces component bound to an ADF data control is inserted into a JSF page for the first time,</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/3910484432259975747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/06/how-adf-pagelifecycle-come-into-picture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3910484432259975747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/3910484432259975747'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/06/how-adf-pagelifecycle-come-into-picture.html' title='How the ADF PageLifeCycle come into the picture in ADF 11g?'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-4884564380282375717</id><published>2009-06-16T16:46:00.002+03:00</published><updated>2010-02-26T17:59:19.979+03:00</updated><title type='text'>Troubleshooting JDeveloper Out of Memory Error - Perm Gen Size/ Space</title><summary type='text'>This is another usual error encountered when deploying projects to embedded WebLogic Server in JDeveloper 11g. I have done my searching to google and lost myself on the many lengthy discussion.  
To make the life of others easy, here is the solution that I have got: 

Change the PermGen size for your internal WLS in \jdeveloper\system\system11.1.1.0.31.51.88\DefaultDomain\bin\setDomainEnv.cmd 
</summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/4884564380282375717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/06/troubleshooting-jdeveloper-out-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4884564380282375717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/4884564380282375717'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/06/troubleshooting-jdeveloper-out-of.html' title='Troubleshooting JDeveloper Out of Memory Error - Perm Gen Size/ Space'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-615938067727026007</id><published>2009-06-16T15:52:00.000+03:00</published><updated>2009-07-11T21:28:09.684+03:00</updated><title type='text'>Error running project in JDeveloper - "java.sql.SQLDataException: ORA-01882: timezone region  not found"</title><summary type='text'>I always encountered this error when I started learning Oracle ADF in JDeveloper and had found no straightforward answer in the forums. Now that I was able to find the solution through a similar case in Metalink, I thougth that it would help other beginners like me, if I will post the solution here.

Error: java.sql.SQLDataException: ORA-01882: timezone region  not found

Error: </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/615938067727026007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/06/error-running-project-in-jdeveloper.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/615938067727026007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/615938067727026007'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/06/error-running-project-in-jdeveloper.html' title='Error running project in JDeveloper - &quot;java.sql.SQLDataException: ORA-01882: timezone region  not found&quot;'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037164747358119793.post-9066352192387287598</id><published>2009-06-16T12:52:00.000+03:00</published><updated>2009-06-16T15:50:11.137+03:00</updated><title type='text'>ORACLE FUSION MIDDLEWARE 11g ONLINE LAUNCH</title><summary type='text'>Huh!!! Oracle Fusion 11g will be launched finally!
After knowing yesterday that the Oracle Fusion Middleware 11g is scheduled to be launched on July 1st to Oracle Partners, I am happy to received today an email invitation from Oracle to register for the online launch (this is the link) which is scheduled on July 9. This is one great news to our Java Development Team for this Fusion 11g has been </summary><link rel='replies' type='application/atom+xml' href='http://soadev.blogspot.com/feeds/9066352192387287598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://soadev.blogspot.com/2009/06/oracle-fusion-middleware-11g-online.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9066352192387287598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037164747358119793/posts/default/9066352192387287598'/><link rel='alternate' type='text/html' href='http://soadev.blogspot.com/2009/06/oracle-fusion-middleware-11g-online.html' title='ORACLE FUSION MIDDLEWARE 11g ONLINE LAUNCH'/><author><name>Rommel Pino</name><uri>http://www.blogger.com/profile/18179809528284596087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-bgWHGxwhZ4w/TyA21YpvpeI/AAAAAAAAAq0/X9RLQdoc18E/s220/me.jpg'/></author><thr:total>0</thr:total></entry></feed>
