Tuesday, February 21, 2012

ADF Dynamic Regions

What are they?
As per the fusion docs, "An ADF dynamic region is an ADF region where the task flow binding dynamically determines the value of its taskFlowId attribute at runtime. This allows the Fusion web application to determine which bounded task flow to execute within the ADF dynamic region based on the result of evaluation of the task flow binding's taskFlowId attribute".

Thus, a page renders a different task flow page fragments in response to the command component button that the end user clicks.

Why Dynamic Regions?
I happened to come across and make use of ADF Dynamic Regions because of a peculiar issue that I faced. I was to make use of a taskflow (that belonged to a different workspace) as a region within my workspace page-fragment. This particular region would not behave as expected at runtime on the said page-fragment (pop-up would not render on click of the commandImageLink) but would behave normally on all others. The difference between this page-fragment and others was that, it had two different bounded taskflows with page fragments that would show up conditionally on click of a commandImageLink. The parent page-fragment was not making use of dynamic ADF regions initially. Once we switched to make use of ADF Dynamic regions to show the containing taskflow regions conditionally at runtime, our issue was solved!!

Monday, February 13, 2012

JpsRuntimeException: JPS-01520: Cannot initialize identity store

For the last couple of times, I've been running into this security exception while running my junit test cases. This time around I was determined to get over it. A number of links on googling mention some workarounds related to SOA. Most of these solutions are also for windows based OS(s).

Some links talk about permissions for either your cwallet.sso file or mentioning an accessible IP address in your console or connections.xml file.

Finally, a simple workaround that worked for me, was :

just check-out your jazn-data.xml file and re-run your test. And Lo...and Behold...your test case runs perfectly fine !!

The error could sometimes also pop-up in a slightly different form :


javax.security.auth.login.LoginException: Run into error oracle.security.jps.JpsException: JPS-03026:
PDPService and PolicyStore Service instance not found in default context. Reason: {0} while using identity store.

In this case, a check-out of both connections.xml and cwallet.sso files and then re-running the test case should work!

Wednesday, February 8, 2012

When you run into a classNotFoundException..

In case you do happen to run into a ClassNotFoundException and the culprit is a class outside your own workspace and you do have a jar that fixes the exception, make sure you follow the below mentioned steps :-

1. Copy the jar (that fixes the issue) into some location on your machine.
2. Delete the current jar that is problematic from its said location.
3. Copy the new jar at the required location.
4. Deploy the project with the new jar in place.
5. Run your application to get rid of the exception.