<?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:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18725506</id><updated>2010-08-28T14:51:39.728+05:30</updated><title type='text'>The Middle Tier</title><subtitle type='html'>General notes and bite sized pieces of technology by Jang Vijay Singh.

Wisdom &amp;amp; tips derieved from an everyday use of 
the
Oracle Fusion Middleware technology stack - notably ADF &amp;amp; SOA suite with JDeveloper 11g.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18725506.post-8495415328971069172</id><published>2010-08-01T17:42:00.009+05:30</published><updated>2010-08-04T03:40:20.885+05:30</updated><title type='text'>My development box</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;The kit:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;a href="http://ark.intel.com/Product.aspx?id=41316"&gt;Intel i7 860&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt; (A decent quad core, 64 bit, 8 thread processor)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;6 GB Memory&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Windows 7 (64 bit)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;A 64 bit JDK (with a 32 bit JDK installed as backup just for JDeveloper at design time at the moment)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Running a weblogic cluster &amp;nbsp;with 2 managed SOA servers (Oracle SOA suite 11.1.1).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;A weblogic admin server.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Making do with an XE database for now, the full blown Enterprise 11gR2 database - maybe later on a need basis.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;With the above running, i've already hit 5.17G of memory usage. &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Another half a gig should do for JDeveloper.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;But with a node manager and a BAM server, it should soon be time&amp;nbsp;to stack in a set of low latency RAM cards - 8G to keep the sanity of a 'development box'; 16G be the dream.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Before that, I could do with switching off the Aero theme and other bells and whistles.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Disk transfer rate on this box is not on my side here, so i'm really not keen on anything crucial swapping in and out. So far, I haven't heard&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Bottleneck:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- Not the fastest disk I/O&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- Not the lowest latency RAM either; could do with a faster 8G of RAM.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;Gotchas!:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;1. All weblogic servers are running with the 64 bit JDK. However, the first time I attempted to start the managed servers, it went into a FORCED shutdown as soon as I entered the username &amp;nbsp;via commandline. No stacktraces could be saved for future examination.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;However, setting up boot.properties got me past this.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;2. Nodemanager still coughs up&lt;s&gt; this nasty error&amp;nbsp;&lt;/s&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;but so far, this setup is on a dream run..&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;Update: 2/Aug/10 &lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Running steady at about 4.1G Physical memory.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;Update: 3/Aug/10&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;All servers running steady. Used in full throttle, memory usage peaked at 5.18G.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Left undisturbed (with JDeveloper open) it steadied at 4G.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Woke the machine from sleep (with everything still running) and the memory usage rose from ~2.7G.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Nothing&amp;nbsp;cataclysmic attempted yet except for&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-8495415328971069172?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/8495415328971069172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=8495415328971069172&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/8495415328971069172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/8495415328971069172'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2010/08/my-development-box.html' title='My development box'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-7520051354000928368</id><published>2010-02-12T02:41:00.004+05:30</published><updated>2010-02-12T14:23:29.490+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='request'/><category scheme='http://www.blogger.com/atom/ns#' term='implicit objects'/><category scheme='http://www.blogger.com/atom/ns#' term='requestScope'/><category scheme='http://www.blogger.com/atom/ns#' term='http request'/><title type='text'>Getting hold of the http request object (ServletRequest) in ADF</title><content type='html'>Anyhow, this piece of java code can be used to access the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;http request &lt;/span&gt;object, &lt;a href="http://forums.oracle.com/forums/message.jspa?messageID=4091051"&gt;if needed&lt;/a&gt;: &lt;br /&gt;&lt;pre class="jive-pre"&gt;&lt;b&gt;&lt;code class="jive-code jive-java"&gt;((ServletRequest)ADFContext.getCurrent().getEnvironment().getRequest())&lt;/code&gt;&lt;/b&gt;&lt;/pre&gt;&amp;nbsp; &lt;br /&gt;Normally, i'm not in favour of jumping through hoops to do things that the framework doesn't provide. If it's a framework shortcoming, by all means, go with a good lightweight workaround. But report it, get it fixed!&lt;br /&gt;&lt;br /&gt;If the restriction is by design, then look for better ways to achieve the same outcome with the framework's capability (rather than going with pre-concieved notions of what should have been)&lt;br /&gt;In ADF, there are a &lt;a href="http://one-size-doesnt-fit-all.blogspot.com/2007/03/some-explicit-language-about-implicit.html"&gt;set of implicit objects&lt;/a&gt; that allow declarative, EL access to the most commonly needed data/operations.&lt;br /&gt;The closest to the good old &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ServletRequest &lt;/span&gt;is the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;requestScope&lt;/span&gt;, but somehow, it doesn't seem to contain all the information that the full fledged http request has - this &lt;i&gt;&lt;b&gt;might &lt;/b&gt;&lt;/i&gt;be by design but I have no evidence either way (I speak as of 11.1.1.1.0).&lt;code class="jive-code jive-java"&gt;&lt;/code&gt;&lt;code class="jive-code jive-java"&gt;&lt;/code&gt;&lt;br /&gt;&lt;pre class="jive-pre"&gt;&lt;b&gt;&lt;code class="jive-code jive-java"&gt;&lt;br /&gt;&lt;/code&gt;&lt;/b&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-7520051354000928368?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/7520051354000928368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=7520051354000928368&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/7520051354000928368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/7520051354000928368'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2010/02/getting-hold-of-http-request-object.html' title='Getting hold of the http request object (ServletRequest) in ADF'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-1350290128029003168</id><published>2010-02-09T05:32:00.010+05:30</published><updated>2010-02-11T15:45:42.235+05:30</updated><title type='text'>Something about requestScope.</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I should first mention, Frank Nimpihus has an excellent viewlet on &lt;a href="http://www.oracle.com/technology/products/jdev/tips/fnimphius/tf_camtesia/bookmarking%20view%20activities.htm"&gt;"How - to bookmark view activities in a taskflow"&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Edit:&lt;/b&gt; I started off to address the bit about having a bookmarkable page &lt;i&gt;with parameters using just the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;requestScope&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;I started this intending to get hold of an &lt;i&gt;http&lt;/i&gt; &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;request&lt;/span&gt;&lt;span style="font-size: small;"&gt; parameter via adf &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;requestScope&lt;/span&gt;&lt;span style="font-size: small;"&gt;. Turned out, the whole request URL is actually nested deep inside a &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;requestScope&lt;/span&gt;&lt;span style="font-size: small;"&gt; object. See this:&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_atwbQXJP2FA/S3GvjeD8D-I/AAAAAAAAAu0/uQBvF9dV7ko/s1600-h/bookmark4.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://1.bp.blogspot.com/_atwbQXJP2FA/S3GvjeD8D-I/AAAAAAAAAu0/uQBvF9dV7ko/s640/bookmark4.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I then wrote this piece of code in a Filter -&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ADFContext.getCurrent().getRequestScope().put("&lt;b&gt;adfItemId&lt;/b&gt;", servletRequest.getParameter("ItemId"));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Expecting to see the value via &lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#{requestScope.adfItemId}&lt;/span&gt;&amp;nbsp; on my page. That was not to be. Only digging deeper through the debugger unearthed what you see in the above screeshot.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I finally got over this and arrived at the below steps to achieve a bookmarkable page with parameters (almost identical to the viewlet linked above, except for the use of &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;requestScope&lt;/span&gt;&lt;span style="font-size: small;"&gt;):&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Step 1. Create a requestScoped 'bean' in the unbounded taskflow containing the bookmarkable page. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/_atwbQXJP2FA/S3Ck-pVZ0eI/AAAAAAAAAuc/kbXgHxeIaSQ/s1600-h/bookmark2.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="175" src="http://2.bp.blogspot.com/_atwbQXJP2FA/S3Ck-pVZ0eI/AAAAAAAAAuc/kbXgHxeIaSQ/s640/bookmark2.gif" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Step 2. Set the ItemId request parameter (set in the URL) in the requestScope parameter &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/_atwbQXJP2FA/S3CkS19ZhlI/AAAAAAAAAuU/-BbB_HZHkwU/s1600-h/bookmark1.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="326" src="http://3.bp.blogspot.com/_atwbQXJP2FA/S3CkS19ZhlI/AAAAAAAAAuU/-BbB_HZHkwU/s640/bookmark1.gif" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Step 3. Access the value:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/_atwbQXJP2FA/S3ClcvlKGwI/AAAAAAAAAuk/aptC8me3Ams/s1600-h/bookmark3.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="340" src="http://3.bp.blogspot.com/_atwbQXJP2FA/S3ClcvlKGwI/AAAAAAAAAuk/aptC8me3Ams/s640/bookmark3.gif" width="640" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-1350290128029003168?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/1350290128029003168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=1350290128029003168&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/1350290128029003168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/1350290128029003168'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2010/02/bookmarkable-page-with-url-request.html' title='Something about requestScope.'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_atwbQXJP2FA/S3GvjeD8D-I/AAAAAAAAAu0/uQBvF9dV7ko/s72-c/bookmark4.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-7954409900521656848</id><published>2010-01-31T07:23:00.007+05:30</published><updated>2010-02-09T00:31:50.455+05:30</updated><title type='text'>ADF Sample: Declarative line item search</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_atwbQXJP2FA/S2TjFcaH6lI/AAAAAAAAAt8/OV7wIUm8dFE/s1600-h/linesearch.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5432716733180275282" src="http://3.bp.blogspot.com/_atwbQXJP2FA/S2TjFcaH6lI/AAAAAAAAAt8/OV7wIUm8dFE/s400/linesearch.gif" style="cursor: pointer; float: left; height: 250px; margin: 0pt 10px 10px 0pt; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;A common functional requirement is to search for master objects based on some attributes of its detail objects.&lt;br /&gt;- Search for requisitions containing an item costing more than a given amount. &lt;br /&gt;- Invoices containing invoice lines with specific item names. &lt;br /&gt;&lt;br /&gt;ADF has purely declarative support for implementing this kind of a usecase. To illustrate, I have implemented:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A search for departments which have at least one employee whose salary is greater than the salary entered in search form. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.jangvijay.org/2009/11/step-1-expose-accessor-to-child-vo-in.html"&gt;The core concept&lt;/a&gt; is that a 'view link accessor' (or an association accessor in the entity layer) can (should) be seen as just another attribute. &lt;br /&gt;&lt;br /&gt;Download the example: &lt;a href="http://bitesizedadf.googlecode.com/files/LineItemSearch.zip"&gt;&lt;span style="font-weight: bold;"&gt;LineItemSearch.zip&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-7954409900521656848?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/7954409900521656848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=7954409900521656848&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/7954409900521656848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/7954409900521656848'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2010/01/line-item-search.html' title='ADF Sample: Declarative line item search'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_atwbQXJP2FA/S2TjFcaH6lI/AAAAAAAAAt8/OV7wIUm8dFE/s72-c/linesearch.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-4225822395766194977</id><published>2010-02-07T19:32:00.004+05:30</published><updated>2010-02-07T19:40:26.097+05:30</updated><title type='text'>Read only View Object should *also* be based on Entities</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This might involve a wee bit of paradigm shift for developers moving on from 10g.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The &lt;/span&gt;&lt;a href="http://www.oracle.com/technology/oramag/oracle/06-may/o36frame.html"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;prevailing wisdom&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;in 10g has been to not base read-only view objects on Entities and for good reason: performance gain.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The recommended approach in the&amp;nbsp;&lt;/span&gt;&lt;a href="http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcadvvo.htm#ADFFD1197"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Fusion developer guide&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;, however,&amp;nbsp;is to base all view objects on Entities - a fact that &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;might &lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;have gone unnoticed, especially in projects newly migrating over from 10g.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;While no measurable metrics seem to be available for 10g, the Fusion developer guide (Section 39.2.2) mentions that&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;"there is no significant performance degradation incurred by using the entity object to create the local cache"&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Not just that, for entity based view objects,&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;"The data in the view object will reflect the state of the local cache rather than need to return to the database for each read operation"&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This is something that ANY object-relational mapping/persistence&amp;nbsp;technology should have built in - so does ADFbc, with its entity and view caches.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;While any Entity usage can be marked as 'non updatable' in the VO (as discussed in the dev guide section referenced above), in 11g, there is an additional EO level property that allows you to mark the whole Entity as non-updatable.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_atwbQXJP2FA/S27FkzF8ceI/AAAAAAAAAuE/u81ctum24X8/s1600-h/readonlyEO.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_atwbQXJP2FA/S27IYRPaR5I/AAAAAAAAAuM/1ux1SyEDLew/s1600-h/readonlyEO.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_atwbQXJP2FA/S27IYRPaR5I/AAAAAAAAAuM/1ux1SyEDLew/s320/readonlyEO.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Possible usecases might be:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- A way of enforcing read-only access to certain data, say, in a shared service or ADFbc library.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;To sum up some of the benefits of having your read-only view objects to be entity based:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;1. Declarative SQL generation.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;2. Reuse of common properties (like attribute hints, labels etc.) across different views of data, enforcing consistency (unless some views explicitly have to display something differently, they get to just reuse the EO properties)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;3. Additional overhead of maintaining the view-entity coordination is &lt;b&gt;minimal&lt;/b&gt;, and possibly overshadowed by performance gains from local caching. (an expert-mode VO would need to return to DB for each read operation)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-4225822395766194977?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/4225822395766194977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=4225822395766194977&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/4225822395766194977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/4225822395766194977'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2010/02/read-only-view-object-also-be-based-on.html' title='Read only View Object should *also* be based on Entities'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_atwbQXJP2FA/S27IYRPaR5I/AAAAAAAAAuM/1ux1SyEDLew/s72-c/readonlyEO.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-7191723645901989257</id><published>2010-02-01T01:20:00.005+05:30</published><updated>2010-02-06T17:39:53.877+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ViewCriteria'/><category scheme='http://www.blogger.com/atom/ns#' term='LOV'/><category scheme='http://www.blogger.com/atom/ns#' term='list_of_values'/><title type='text'>ADF Example: LOV search region fields and operators</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The (11.1.1.1.0) example can be &lt;a href="http://bitesizedadf.googlecode.com/files/LOVSearchRegion.zip"&gt;downloaded here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Based on a &lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=4063077"&gt;recent forum thread,&lt;/a&gt; seems this idea could use some more 'how-to' type clarity.&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;For LOV's on an ADF Faces UI, a popup dialog with search form and search results is presented to the user to facilitate search for specific values. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;By default, the search form contains &lt;b&gt;all&lt;/b&gt; queriable fields.  &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This example illustrates how to replace this by specific fields and/or operators chosen at design time. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;1. DepartmentView has a view criteria defined as shown:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://bitesizedadf.googlecode.com/files/vc.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://bitesizedadf.googlecode.com/files/vc.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;2. EmployeeView has a view accessor to DepartmentView which uses the criteria defined above (edit view accessor and shuttle the criteria from available to 'selected'&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;3. DepartmentName attribute of EmployeeView has an LOV defined - which is in turn based on a view accessor to DepartmentView. With the below settings, fields (and operators) defined in the criteria from DepartmentView will appear on the search region of the LOV:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://bitesizedadf.googlecode.com/files/lov_search.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://bitesizedadf.googlecode.com/files/lov_search.gif" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;PS: LOV = List of Values&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;LOV's are commonly defined on ViewObject attributes in 11g. That makes a more model-driven UI and keeps the business logic (that a field can hold a specific set of values) in ADFbc components. Not much work is required on the UI itself - apart from drag and drop. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-7191723645901989257?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/7191723645901989257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=7191723645901989257&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/7191723645901989257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/7191723645901989257'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2010/02/adf-example-lov-search-region-fields.html' title='ADF Example: LOV search region fields and operators'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-1626946479900905069</id><published>2009-10-25T21:08:00.001+05:30</published><updated>2010-02-01T00:53:58.284+05:30</updated><title type='text'>Autumn</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_atwbQXJP2FA/SuRxg34dIwI/AAAAAAAAAsU/IWl1DvgItmY/s1600-h/18102009268.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_atwbQXJP2FA/SuRxg34dIwI/AAAAAAAAAsU/IWl1DvgItmY/s400/18102009268.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5396563063067190018" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-1626946479900905069?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/1626946479900905069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=1626946479900905069&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/1626946479900905069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/1626946479900905069'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2009/10/autumn.html' title='Autumn'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_atwbQXJP2FA/SuRxg34dIwI/AAAAAAAAAsU/IWl1DvgItmY/s72-c/18102009268.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-456172413139316585</id><published>2010-01-31T05:48:00.004+05:30</published><updated>2010-01-31T07:42:34.843+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='adf'/><category scheme='http://www.blogger.com/atom/ns#' term='fusion'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>ADF in bite-sized pieces</title><content type='html'>I had to start this sometime 'soon'. Over a period of time you kind of just catch on and wisen up to the fact that there are going to be similar questions asked over and over and over again. &lt;br /&gt;So, here goes: &lt;a href="http://bitesizedadf.googlecode.com"&gt;http://bitesizedadf.googlecode.com/&lt;/a&gt;&lt;br /&gt;Now that it's all out there, I better keep up. Hope to keep posting something interesting at least every week (Bill, if you are reading this, it's strictly on my own time/weekends)&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-456172413139316585?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/456172413139316585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=456172413139316585&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/456172413139316585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/456172413139316585'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2010/01/ive-decided-to-give-it-start.html' title='ADF in bite-sized pieces'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-4670270015310285225</id><published>2009-12-30T21:14:00.007+05:30</published><updated>2010-01-31T05:31:11.976+05:30</updated><title type='text'>ORCL</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Leaving &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://www.oracle.com/index.html"&gt;Oracle&lt;/a&gt; in August &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;felt like graduation more than anything else. Since then, for the first time in my career, I started working with a &lt;/span&gt;&lt;a href="http://www.accaglobal.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;company&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; whose core product or service is not software (and has a significant &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://www.accaglobal.org/"&gt;non profit&lt;/a&gt; operation&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;). Of course, it's software, and people who design and develop it, that helps them do business better, smoother and quicker!&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;I literally worked in a &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://www.flickr.com/photos/balamurugan/3302534199/in/photostream/"&gt;campus&lt;/a&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;for more than two years and in hindsight, it feels like I was in grad school with a stipend. &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;There was learning that one can only achieve in mega-corporation that now &lt;/span&gt;&lt;a href="http://www.blogger.com/www.peoplesoft.com"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;literally&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  owns &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://www.blogger.com/www.sun.com"&gt;a big&lt;/a&gt;  &lt;/span&gt;&lt;a href="http://www.blogger.com/www.oracle.com/bea/index.html"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;chunk&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; of the &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://www.blogger.com/www.oracle.com/iflex/index.html"&gt;industry&lt;/a&gt; in diverse product lines&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;I got to interact with some of the best minds in the industry. There are teams and individuals that resemble &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://oratweet.com/"&gt;startups&lt;/a&gt;, all part of the giant global ecosystem&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;And &lt;/span&gt;&lt;a href="http://www.blogger.com/www.oracle.com/us/products/applications/fusion/index.htm"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Fusion&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; is something that truly excited me and many others. The sheer scale of it is staggering. A brand new product suite from the ground up on shiny &lt;/span&gt;&lt;a href="http://www.oracle.com/technology/products/middleware/index.html"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;new technology&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Fusion was what made the past few years the best time to work at Oracle for me and i'm sure, for many others. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;I now continue to be involved with the &lt;/span&gt;&lt;a href="http://forums.oracle.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;general community&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; and some &lt;a href="http://wiki.oracle.com/page/ADF+Enterprise+Methodology+Group"&gt;specialised groups&lt;/a&gt; of interest. Not vastly different being on the other side of the fence actually. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Except that what I now do at work has a quicker and more direct impact on the way my company's customers benefit from its online systems. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-4670270015310285225?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/4670270015310285225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=4670270015310285225&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/4670270015310285225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/4670270015310285225'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2009/12/orcl.html' title='ORCL'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18725506.post-1383356814031317189</id><published>2009-11-12T01:35:00.006+05:30</published><updated>2009-11-12T02:12:06.580+05:30</updated><title type='text'>Detail attributes in master ViewCriteria</title><content type='html'>Step 1&lt;br /&gt;Expose the accessor to child VO in Master VO&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_atwbQXJP2FA/SvsdhOBI29I/AAAAAAAAAss/IGu3hyYYmeM/s1600-h/ExposeAccessor.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 224px;" src="http://2.bp.blogspot.com/_atwbQXJP2FA/SvsdhOBI29I/AAAAAAAAAss/IGu3hyYYmeM/s400/ExposeAccessor.jpg" alt="" id="BLOGGER_PHOTO_ID_5402944634496801746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Step 2&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_atwbQXJP2FA/SvsdWMxoydI/AAAAAAAAAsk/qD0PGseOZF0/s1600-h/2_DetailAccessorInMasterCriteria.jpg"&gt;&lt;img style="cursor: pointer; width: 398px; height: 400px;" src="http://2.bp.blogspot.com/_atwbQXJP2FA/SvsdWMxoydI/AAAAAAAAAsk/qD0PGseOZF0/s400/2_DetailAccessorInMasterCriteria.jpg" alt="" id="BLOGGER_PHOTO_ID_5402944445184788946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Step 3&lt;br /&gt;Add any child attributes needed in the ViewCriteria&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_atwbQXJP2FA/Svsejyqk0oI/AAAAAAAAAs0/ucz3vOtSP8o/s1600-h/3_DetailAttributesInMasterCriteria.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 397px;" src="http://1.bp.blogspot.com/_atwbQXJP2FA/Svsejyqk0oI/AAAAAAAAAs0/ucz3vOtSP8o/s400/3_DetailAttributesInMasterCriteria.jpg" alt="" id="BLOGGER_PHOTO_ID_5402945778205643394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt; 
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8222017394375153";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FDFFCA";
google_color_bg = "FDFFCA";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18725506-1383356814031317189?l=weblog.singhpora.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weblog.singhpora.com/feeds/1383356814031317189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=18725506&amp;postID=1383356814031317189&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/1383356814031317189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18725506/posts/default/1383356814031317189'/><link rel='alternate' type='text/html' href='http://weblog.singhpora.com/2009/11/step-1-expose-accessor-to-child-vo-in.html' title='Detail attributes in master ViewCriteria'/><author><name>Jang Vijay Singh</name><uri>http://www.blogger.com/profile/11926334117288628075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09964885723157769584'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_atwbQXJP2FA/SvsdhOBI29I/AAAAAAAAAss/IGu3hyYYmeM/s72-c/ExposeAccessor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>