<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C04GRn48eSp7ImA9WhRUF0o.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487</id><updated>2012-01-28T23:02:07.071+05:30</updated><category term="wls" /><category term="linux" /><category term="Adobe" /><category term="facebook" /><category term="ORACLE" /><category term="view object" /><category term="Jdeveloper" /><category term="transaction" /><category term="SQL" /><category term="java" /><category term="Release" /><category term="bugs" /><category term="webservices" /><category term="ADF Declarative components" /><category term="jsp-servlet" /><category term="Misc" /><category term="ADF UI" /><category term="XML" /><category term="application module" /><category term="hudson" /><category term="Perl" /><category term="ADF BC" /><category term="Page Template" /><category term="Google App Engine" /><category term="Ajax" /><category term="CLOB" /><category term="ADF" /><category term="iPhone" /><category term="Firefox" /><category term="Task Flow" /><category term="weblogic" /><category term="Flex" /><category term="JSF" /><category term="performance" /><category term="Spring" /><category term="Postgre" /><category term="BLOB" /><title>Dare to Code...</title><subtitle type="html">This blog is run by an Oracle employee working on ADF and JSF technologies with the intention of spreading awareness and posting some tips and hints to work with the various components quickly. Further this blog is open for all the discussions, suggestions feedback about this blog and JAVA, J2EE technology based frameworks like ADF, JSF etc and other technological aspects like tools, languages etc</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://adfjsf.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>94</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DareToCode" /><feedburner:info uri="daretocode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CkAFQHgyfyp7ImA9WhRWEkk.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-5888578880784313399</id><published>2011-12-30T15:55:00.000+05:30</published><updated>2011-12-30T15:55:11.697+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-30T15:55:11.697+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF UI" /><title>Redirecting to a URL from a action listener in ADF 11g</title><content type="html">Very recently I was working on implementing OaAuth flow a typical standard these days to authenticate against various social media sties like facebook, twitter etc. using my ADF app. Typically, the first step in OaAuth flow is to call to a url passing some sort of consumer or app id which then in turns after authentication invokes a callback url from your application to do the next step.&lt;br /&gt;
&lt;br /&gt;
As a result, I needed a way to invoke the url from adf command button actionListener after constructing the url containing user supplied consumerKey. So, here is how you can invoke the url after that:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; FacesContext fc = FacesContext.getCurrentInstance();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; String callbackUrl = "https://www.facebook.com/dialog/oauth?client_id=" + fbClientId.getValue().toString() + "&amp;amp;redirect_uri=http://mycallbackURL&amp;amp;scope=publish_stream";&lt;br /&gt;
&amp;nbsp; &amp;nbsp; try&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; fc.getExternalContext().redirect(callbackUrl);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; catch (IOException e)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
So this is written in the actionListener and fbClientId is bound to a inputText on UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-5888578880784313399?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/xVEtP1lGa6I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/5888578880784313399/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=5888578880784313399" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5888578880784313399?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5888578880784313399?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/xVEtP1lGa6I/redirecting-to-url-from-action-listener.html" title="Redirecting to a URL from a action listener in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>1</thr:total><georss:featurename>Hyderabad, Andhra Pradesh, India</georss:featurename><georss:point>17.385044 78.486671</georss:point><georss:box>17.142593 78.17081400000001 17.627495 78.802528</georss:box><feedburner:origLink>http://adfjsf.blogspot.com/2011/12/redirecting-to-url-from-action-listener.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08DR3k7eCp7ImA9WhdRFEs.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-4671286174114270728</id><published>2011-08-04T18:32:00.002+05:30</published><updated>2011-08-04T19:21:16.700+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-04T19:21:16.700+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Task Flow" /><category scheme="http://www.blogger.com/atom/ns#" term="transaction" /><category scheme="http://www.blogger.com/atom/ns#" term="application module" /><title>Conclusion on Chris Muir's ADF Task Flow Behavior in 11g</title><content type="html">Chris Muir wrote an excellent series on the behavior of adf task flows in conjunction with the transaction control options and am connection. You can find all from the last post&amp;nbsp;available&amp;nbsp;&lt;a href="http://one-size-doesnt-fit-all.blogspot.com/2011/08/task-flows-sayonara-auto-am-nesting-in.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+OneSizeDoesntFitAll+%28One+size+doesn%27t+fit+all%29"&gt;here&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
For little impatient people who may not have enough time to go through all the 4 blog posts may read the key points here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;1. A Bounded Task flow knows to which AM to connect and establish which db connection only via page definition file bindings. So, a transaction wont be initiated or a&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;db connection won't be created until some event is triggered on the page to access page definition bindings.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;2. If "No Controller Transaction" option is chosen then creation of transaction are totally relied on BC4J.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;3. Chained calls of bounded task flows with no controller transaction option and other transaction options should not be mixed to avoid unpredictable results.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;4. Calling a bounded task flow with option use existing transaction from another bounder task flow with option 'always create a new transaction' and both having different&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;db connections will cause the caller db connection to be used in the called BTF as well.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: Tahoma; font-size: small; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;5. 11.1.2 onwards there is no automatic nesting of AM of the called BTF under calling BTF's AM. So prior to 11.1.2 this would have resulted into just 1 AM Pool but now all AMs would be treated as root AM and having their own pool (unless they are explicitly nested at design time). Needless to say they will still share the same transaction/connection (if called BTF has option used exiting transaction (or, if possible))&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-4671286174114270728?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/4ASjRGGGPxE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/4671286174114270728/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=4671286174114270728" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/4671286174114270728?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/4671286174114270728?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/4ASjRGGGPxE/conclusion-on-chris-muirs-adf-task-flow.html" title="Conclusion on Chris Muir's ADF Task Flow Behavior in 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/08/conclusion-on-chris-muirs-adf-task-flow.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8DRXc7eyp7ImA9WhdRE00.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-5093624329865349617</id><published>2011-08-02T21:31:00.000+05:30</published><updated>2011-08-02T21:31:14.903+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-02T21:31:14.903+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Jdeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="weblogic" /><title>Forcing weblogic server to pick project defined libraries</title><content type="html">While building a web application using external jars you may frequently hit issues of having multiple jars containing different versions of same class in the class path and thus unable to run your app. In case of weblogic server you can always force the server to pick classes from your included libraries instead of from other places.&lt;br /&gt;
To do it just put the following lines in the weblogic.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;container-descriptor&amp;gt;&lt;br /&gt;
&amp;lt;prefer-web-inf-classes&amp;gt;true&amp;lt;/prefer-web-inf-classes&amp;gt;&lt;br /&gt;
&amp;lt;/container-descriptor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case weblogic.xml does not exist in your app then right click web project and click new. Go to deployment descriptors and choose weblogic.xml. This should generate a weblogic.xml file for you in case of jdeveloper.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-5093624329865349617?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/YVxf8emydPE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/5093624329865349617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=5093624329865349617" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5093624329865349617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5093624329865349617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/YVxf8emydPE/forcing-weblogic-server-to-pick-project.html" title="Forcing weblogic server to pick project defined libraries" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/08/forcing-weblogic-server-to-pick-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QBSX0zcCp7ImA9WhdTF0Q.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-6238930549452775895</id><published>2011-06-19T18:42:00.001+05:30</published><updated>2011-07-16T11:19:18.388+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-16T11:19:18.388+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="view object" /><title>Changes to VO query edit in ADF 11g Jdeveloper 11.1.2</title><content type="html">New jdev 11.1.1.2 &amp;nbsp;VO query edit now shows test and explain instead of test. This is very nice and much more productive than earlier versions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-6238930549452775895?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/PYE9PrRlC7g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/6238930549452775895/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=6238930549452775895" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/6238930549452775895?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/6238930549452775895?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/PYE9PrRlC7g/changes-to-vo-query-edit-in-adf-11g.html" title="Changes to VO query edit in ADF 11g Jdeveloper 11.1.2" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/06/changes-to-vo-query-edit-in-adf-11g.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYBSXs-fSp7ImA9WhZWGEo.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-8517298205784476498</id><published>2011-05-20T11:45:00.000+05:30</published><updated>2011-05-20T11:45:58.555+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-20T11:45:58.555+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bugs" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF BC" /><category scheme="http://www.blogger.com/atom/ns#" term="application module" /><title>Possible bug in ADF 11g when exposing AM methods</title><content type="html">Last week I was trying to expose a AM method to the client for calling from my View layer and I hit an issue. Every thing what I did to expose the AM method at design time worked fine but the code failed to compile saying&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Error(17,8):  vik.tools.changeNotifier.model.applicationModule.client.ChangeManagerAMClient is not abstract and does not override abstract method store(java.util.List&amp;lt;map&amp;lt;string, string in vik.tools.changeNotifier.model.applicationModule.common.ChangeManagerAM&amp;nbsp;/li&amp;gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;I investigated all the involved files and found no clue why it is so. After some hit and trials finally I found that the one of the parameter pased in the method signature was causing the issue. &amp;nbsp;In the above case the method was:&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;public void store(List&amp;lt;map&amp;lt;string, string&amp;gt;&amp;gt;&amp;nbsp;myData){} &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;And the issue was using the generic type here. To fix it I had to use the old style and had to change it to&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
public void store(List&amp;lt;map&amp;gt; myData){} &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
to make it work. I have logged a bug for the same and will update the post if I get some resolution on this from Oracle.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE: &lt;/b&gt;This was turned out to be a bug which is fixed and should be available in some future release of jdeveloper.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-8517298205784476498?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/3EmN3YBoXi4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/8517298205784476498/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=8517298205784476498" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8517298205784476498?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8517298205784476498?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/3EmN3YBoXi4/possible-bug-in-adf-11g-when-exposing.html" title="Possible bug in ADF 11g when exposing AM methods" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/05/possible-bug-in-adf-11g-when-exposing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMNSXk4fyp7ImA9WhZWE0w.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-8326697182986559793</id><published>2011-05-12T18:38:00.000+05:30</published><updated>2011-05-14T01:58:18.737+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-14T01:58:18.737+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="11g" /><category scheme="http://www.blogger.com/atom/ns#" term="Jdeveloper" /><title>Jdeveloper 11.1.1.5.0 ADF 11g Released</title><content type="html">This is a&amp;nbsp;maintenance release came out yesterday and available to download at:&amp;nbsp;&lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html"&gt;http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Bugs fixed in this release are documented at:&amp;nbsp;&lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/index-088099.html"&gt;http://www.oracle.com/technetwork/developer-tools/jdev/index-088099.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-8326697182986559793?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/_cCagyusuIw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/8326697182986559793/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=8326697182986559793" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8326697182986559793?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8326697182986559793?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/_cCagyusuIw/jdeveloper-111150-adf-11g-released.html" title="Jdeveloper 11.1.1.5.0 ADF 11g Released" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/05/jdeveloper-111150-adf-11g-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQDQ3c-fip7ImA9WhZXFE8.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-5702801160596704770</id><published>2011-05-03T18:26:00.000+05:30</published><updated>2011-05-03T18:26:12.956+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-03T18:26:12.956+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hudson" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><title>Continuous Integration for ADF applications using Hudson</title><content type="html">This post is to show how to create a new job in hudson to setup continuous integration for an ADF application source controlled using svn and hosted on a standalone weblogic server.&lt;br /&gt;
&lt;br /&gt;
Installation of hudson is very simple. Just download the latest version war file from&amp;nbsp;&lt;a href="http://hudson-ci.org/"&gt;http://hudson-ci.org/&lt;/a&gt;&amp;nbsp;and drop this war in your favorite server container. I am using Tomcat 7 currently.&lt;br /&gt;
&lt;br /&gt;
For this blog post I am assuming following things:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;You already have a standalone weblogic server setup and capable to run a ADF application.&lt;/li&gt;
&lt;li&gt;You have the source code of your application version controlled using svn.&lt;/li&gt;
&lt;li&gt;You have a running hudson with administrator&amp;nbsp;privileges&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;So, here are the detailed steps to create and configure a job in hudson which will pull the source code from the svn repository when there are any changes committed to it and build n deploy the same code to the running standalone wls.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;From the hudson dashboard click on New Job link&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dWlu18iXcx0/Tb-7OfNB6SI/AAAAAAAAen0/thtUh-qh_kw/s1600/1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-dWlu18iXcx0/Tb-7OfNB6SI/AAAAAAAAen0/thtUh-qh_kw/s1600/1.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On next screen choose the first option free style software project for our job &amp;nbsp;and give a suitable name the job as shown below&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-tTP5Fg-KX3U/Tb_qxmNlXyI/AAAAAAAAen8/CT3sy9zEUfI/s1600/2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://1.bp.blogspot.com/-tTP5Fg-KX3U/Tb_qxmNlXyI/AAAAAAAAen8/CT3sy9zEUfI/s320/2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On pressing ok will take you to detailed configuration of the job. This is a big page with a lot of options. So, I am giving a walk-through section via section. In the first part, fill job description and click on 'Discard old builds' checkbox. Here, you can specify how many old builds you want to keep to save the server space as shown below:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-LCkHjdNi7xw/Tb_rv7cUKII/AAAAAAAAeoA/jNUlpy_puXQ/s1600/3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="184" src="http://4.bp.blogspot.com/-LCkHjdNi7xw/Tb_rv7cUKII/AAAAAAAAeoA/jNUlpy_puXQ/s320/3.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You can leave rest of the options and can explore on your own as they are self&amp;nbsp;explanatory. Move down to the 'Source Code Management' section where we will configure the adf source code to pull and build it to deploy.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-d7d18PSCGVs/Tb_yaozdtDI/AAAAAAAAepg/VNdoYpvk1fI/s1600/4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://3.bp.blogspot.com/-d7d18PSCGVs/Tb_yaozdtDI/AAAAAAAAepg/VNdoYpvk1fI/s320/4.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On choosing subversion, section will expand and ask for repository url which it will check for the validity. Rest of the options can be left default as they are good to go. In the next section, you need to configure at what frequency the builds should happen. Two typical options are polling svn and building periodically. You can choose both for the same job and it totally depends on individual's need. I have below used scm poll which will check for changes in the repository every 5 min.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ZtAfIFegP_s/Tb_0Fox_NGI/AAAAAAAAeq4/cKPHSCp8tlg/s1600/5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://2.bp.blogspot.com/-ZtAfIFegP_s/Tb_0Fox_NGI/AAAAAAAAeq4/cKPHSCp8tlg/s320/5.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Other schedules can be configured similarly and well explained in the question mark on the top right corner of the schedule box. So till here, your job is ready to pull the code from svn repo as soon as new changes are there. After this, next steps is to write a small script to build a ear from this code and then deploy it to the running standalone server. &amp;nbsp;For this click on the list in the build section and choose 'Execute Shell' option. This will provide a text box to write a shell script. You can either write the script here itself or write on the machine where hudson is running and just provide the path here like: /home/username/buildScript.sh as shown below:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--BaDcXDu6no/Tb_1vkjxLgI/AAAAAAAAeq8/1Zajpgu-bVs/s1600/6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://1.bp.blogspot.com/--BaDcXDu6no/Tb_1vkjxLgI/AAAAAAAAeq8/1Zajpgu-bVs/s320/6.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I am providing the complete script which can be used to build the ear and deploy it to the running standalone wls with just replacing repo, server urls etc &lt;a href="https://docs.google.com/document/d/131wGYQJ-kNC6UFO31Ooj3hklsr28I3tckd6-KRwR6iM/edit?hl=en"&gt;here&lt;/a&gt;. Just copy paste it to above text box or store it as a script in your machine and provide the path. Finally there are some post build steps which are like sending email notifications, publishing results etc. Hudson provides a large array of plugins to use for this purpose.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-5702801160596704770?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/AukZzNYdZd8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/5702801160596704770/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=5702801160596704770" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5702801160596704770?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5702801160596704770?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/AukZzNYdZd8/continuous-integration-for-adf.html" title="Continuous Integration for ADF applications using Hudson" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-dWlu18iXcx0/Tb-7OfNB6SI/AAAAAAAAen0/thtUh-qh_kw/s72-c/1.PNG" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/05/continuous-integration-for-adf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQHQXw5eyp7ImA9WhZSFk4.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-3569975818942710795</id><published>2011-04-01T11:42:00.000+05:30</published><updated>2011-04-01T11:42:10.223+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-01T11:42:10.223+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Task Flow" /><category scheme="http://www.blogger.com/atom/ns#" term="Page Template" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF Declarative components" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF UI" /><title>Design standard for Page Templates and Sub flow calls in ADF 11g</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;ADF 11g provides effective ways of reducing development time by allowing to create page templates. So, a typical example of a page template is say your organization app has 20 pages and all having same header and footer (or at least same layout). Now to avoid&amp;nbsp;repetition&amp;nbsp;of designing or copy/pasting manually in all 20 pages you can simply create a page template and use it while creating your pages. Page templates are much more powerful than what I said above as it allows you to keep dynamic data as well. But lets understand it this way as the focus of this post is different.&lt;br /&gt;
&lt;br /&gt;
When a Task Flow call is made from a page fragment which is inside a task flow then the Task flow being invoked is referred as Sub-flow. The design diagram usually represent it by a task flow call activity. So, one of the most typical mistake I have seen people doing in ADF world is wrong way of using the page template in the sub-flows. &amp;nbsp;You must make sure that if the parent flow is using a page Template A (say with two areas header and content area) then you must not use the same template Template A in any of the page fragment of the sub-flow. The simple obvious reason is: in that case the page fragment of subflow having Template A will be embedded in the parent task flow page fragment. Visually, It is like:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6e7ETiS9a34/TZVrdGCyhiI/AAAAAAAAc8U/gvo51Z1mKOE/s1600/SubflowCall.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-6e7ETiS9a34/TZVrdGCyhiI/AAAAAAAAc8U/gvo51Z1mKOE/s320/SubflowCall.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So, what is the right way? Well in case of sub flows you should only use the page Template A in the parent task flow's page fragments. For the subflow page fragments there should not be any page template or there should be another page Template B which is only the content part of the template A.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So, in other words you should create a page Template B with only content part of Template A. And then you should create another Template A with only header part and in the content area including template B. So, for parent flow page fragments Template A should be used and for sub flow page fragment's Template B should be used.&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-3569975818942710795?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/j-4WSRPYSGU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/3569975818942710795/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=3569975818942710795" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3569975818942710795?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3569975818942710795?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/j-4WSRPYSGU/design-standard-for-page-templates-and.html" title="Design standard for Page Templates and Sub flow calls in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-6e7ETiS9a34/TZVrdGCyhiI/AAAAAAAAc8U/gvo51Z1mKOE/s72-c/SubflowCall.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/04/design-standard-for-page-templates-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MHR3kycSp7ImA9WhZSEE4.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-4058371551108411213</id><published>2011-03-25T11:07:00.000+05:30</published><updated>2011-03-25T11:07:16.799+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-25T11:07:16.799+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF BC" /><category scheme="http://www.blogger.com/atom/ns#" term="application module" /><title>Optimistic or Pessimistic Locking for ADF 11g Web Applications?</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;You would be knowing that ADF supports both type of locking mechanisms for ADF web applications. By default the locking mode is set to pessimistic. However, the&amp;nbsp;recommended&amp;nbsp;mode for web applications is Optimistic for performance reasons.&lt;br /&gt;
&lt;br /&gt;
The reason is pessimistic lock creates pending transactional states in the database in the from of row level locks. And if in the background an application module recycling will happen it will call a rollback on the associated jdbc connection thus, causing all the locks to be released. This will cause unexpected behavior for pessimistic locking mode.&lt;br /&gt;
&lt;br /&gt;
On the other hand, with optimistic locking as soon as page will terminate associated AM will be released immediately and without any burden of possible database level locks.&lt;br /&gt;
&lt;br /&gt;
Andrejus has explain with a demo app the difference on these &lt;a href="http://andrejusb.blogspot.com/2010/03/optimistic-and-pessimistic-locking-in.html"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-4058371551108411213?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/S_su2o_8oKc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/4058371551108411213/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=4058371551108411213" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/4058371551108411213?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/4058371551108411213?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/S_su2o_8oKc/optimistic-or-pessimistic-locking-for.html" title="Optimistic or Pessimistic Locking for ADF 11g Web Applications?" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/03/optimistic-or-pessimistic-locking-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EHR3oycSp7ImA9WhZRFEQ.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-2523989687967251773</id><published>2011-03-11T16:33:00.001+05:30</published><updated>2011-04-11T10:57:16.499+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-11T10:57:16.499+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><title>ADF 11g: String comparison in EL expressions</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Few days ago I got a situation where i had to compare a part of a string type vo attribute to decide on rendering a component. The value in the vo attribute was a url like http:://facebook.com/user/id=2454555 . So, the requirement was to render a component only if the url is of facebook. &amp;nbsp;By default you cannot write an EL expression on render property to achieve this. So here is what you can do:&lt;br /&gt;
&lt;br /&gt;
1. On the jspx or jsff add&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px; white-space: pre;"&gt;xmlns:fn=&lt;span style="color: red;"&gt;"http://java.sun.com/jsp/jstl/functions" &lt;/span&gt;&lt;/span&gt;Make sure to add the library as well in the project properties&lt;br /&gt;
&lt;br /&gt;
2. Now you can right as: &amp;nbsp;&amp;lt;af:outputtext id="o1" rendered="#{fn:contains(row.link, 'facebook') ? true :false}"&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-2523989687967251773?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/HKDfu8c2VFM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/2523989687967251773/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=2523989687967251773" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/2523989687967251773?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/2523989687967251773?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/HKDfu8c2VFM/adf-11g-string-comparison-in-el.html" title="ADF 11g: String comparison in EL expressions" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/03/adf-11g-string-comparison-in-el.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUBQH8zeip7ImA9Wx9bEEw.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-8905829677504290910</id><published>2011-02-18T14:07:00.000+05:30</published><updated>2011-02-18T14:07:31.182+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-18T14:07:31.182+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF UI" /><title>Controlling message display style in ADF 11g</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;On a ADF form bound to a updatable view object, when you hit the submit button after entering data, error messages may come up due to failures like required attribute missing, business logic failure written at EO level etc.&lt;br /&gt;
&lt;br /&gt;
By default these messages comes as a popup on the screen. If you want them to appear on the page itself instead of a popup then there is a property 'inline' in the af:messages component. You can set it to true.&lt;br /&gt;
&lt;br /&gt;
However, there may be a requirement where you want to display the messages as inline if it's just one message and in a popup if more than one. To do that, you can create a request scope managed bean and count the size of iterator&amp;nbsp;FacesContext.getCurrentInstance().getMessages(); &amp;nbsp;Based on the count you can return true or false.&lt;br /&gt;
&lt;br /&gt;
A sample workspace can be found &lt;a href="https://docs.google.com/leaf?id=0BwMHadroX7nQOWM4OTExNWQtM2E4Yy00ZTZiLWJlMDItNWJkZDZjM2ViMjI0&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-8905829677504290910?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/gA60dLXgbf8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/8905829677504290910/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=8905829677504290910" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8905829677504290910?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8905829677504290910?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/gA60dLXgbf8/controlling-message-display-style-in.html" title="Controlling message display style in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/02/controlling-message-display-style-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0INQXY5eSp7ImA9Wx9VGE4.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-7581474823984816632</id><published>2011-02-04T20:29:00.000+05:30</published><updated>2011-02-04T20:29:50.821+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-04T20:29:50.821+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="view object" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF BC" /><title>A note about in memory filtering on View Objects in ADF 11g</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Very recently a friend encountered following issue in his adf 11g based fusion web application development. He wanted to fetch the rows from the db table just once and there after wanted to do in memory searching. His view object was a sql based view object.&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Issue: &lt;/b&gt;He could see after first vo.executeQuery() &amp;nbsp;showing some row count. But after applying a view criteria programmatically and setting vo query mode to&amp;nbsp;QUERY_MODE_SCAN_VIEW_ROWS the row count after vo.executeQuery() was coming 0.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Solution: &lt;/b&gt;Well he missed to set the VO tuning to fetch all rows at once. Without this, VO query was fetching only few rows from db when query was executing for the first time. And there were no rows in the VO cache matching to his filter criteria.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-7581474823984816632?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/22Q888YMTaQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/7581474823984816632/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=7581474823984816632" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/7581474823984816632?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/7581474823984816632?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/22Q888YMTaQ/note-about-in-memory-filtering-on-view.html" title="A note about in memory filtering on View Objects in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/02/note-about-in-memory-filtering-on-view.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQCSHo4fip7ImA9Wx9VF0w.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-7098320650650404242</id><published>2011-02-03T10:49:00.000+05:30</published><updated>2011-02-03T10:49:29.436+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-03T10:49:29.436+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wls" /><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF UI" /><title>javax.net.ssl.SSLKeyException due to certificate check by wls in ADF 11g</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I was working on some facebook apis for trying http://www.restfb.com java framework and got below exceptions from wls:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;javax.net.ssl.SSLKeyException: [Security:090504]Certificate chain received from ****** graph.facebook.com failed hostname verification check. Certificate contained *.facebook.com but check expected graph.facebook.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
If you are getting this error then you can set the wls to ignore the certificate check by adding&lt;br /&gt;
&lt;br /&gt;
-Dweblogic.security.SSL.ignoreHostnameVerification=true&lt;br /&gt;
&lt;br /&gt;
to your run/debug/profile of view controller properties. It should work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-7098320650650404242?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/gBl8vr_R5N8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/7098320650650404242/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=7098320650650404242" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/7098320650650404242?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/7098320650650404242?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/gBl8vr_R5N8/javaxnetsslsslkeyexception-due-to.html" title="javax.net.ssl.SSLKeyException due to certificate check by wls in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/02/javaxnetsslsslkeyexception-due-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8EQHY7eCp7ImA9Wx9WEk4.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-3724194975803280926</id><published>2011-01-17T10:03:00.000+05:30</published><updated>2011-01-17T10:03:21.800+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-17T10:03:21.800+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Jdeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><category scheme="http://www.blogger.com/atom/ns#" term="Release" /><title>Oracle JDeveloper and Oracle ADF 11g (11.1.1.4.0) (Build 5923) Release 1 Patch Set 3 is released!!!</title><content type="html">Monday morning came with a surprise a new Jdev 11g build which is Release 1 PS3...&lt;br /&gt;
&lt;br /&gt;
Grab it from otn site at:&amp;nbsp;&lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html"&gt;http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html&lt;/a&gt;&lt;br /&gt;
Check out the release notes at:&amp;nbsp;&lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/relnotes-14-jan-11-261400.html"&gt;http://www.oracle.com/technetwork/developer-tools/jdev/relnotes-14-jan-11-261400.html&lt;/a&gt;&amp;nbsp;which is a long list of fixes and features...&lt;br /&gt;
For highlights checkout the What's New section at:&amp;nbsp;&lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/index-088099.html#NewInThisRelease"&gt;http://www.oracle.com/technetwork/developer-tools/jdev/index-088099.html#NewInThisRelease&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Don't forget to add your comment on what you like and what you didn't? What met expectations and what you were expecting...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-3724194975803280926?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/2MZVmTVHt8I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/3724194975803280926/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=3724194975803280926" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3724194975803280926?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3724194975803280926?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/2MZVmTVHt8I/oracle-jdeveloper-and-oracle-adf-11g.html" title="Oracle JDeveloper and Oracle ADF 11g (11.1.1.4.0) (Build 5923) Release 1 Patch Set 3 is released!!!" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/01/oracle-jdeveloper-and-oracle-adf-11g.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MDRn85fip7ImA9Wx9XFE0.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-8738702242623682167</id><published>2011-01-07T17:27:00.000+05:30</published><updated>2011-01-07T17:27:57.126+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-07T17:27:57.126+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Jdeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="webservices" /><title>How to view webservices inside jdeveloper 11g</title><content type="html">This is new thing I got to know today while trying to find the url of the wsdl deployed on my standalone wls. Jdev gives a very nice option to test, validate and view the web services deployed to any wls server. &amp;nbsp;Here, &amp;nbsp;is what you can do:&amp;nbsp;&lt;a href="https://docs.google.com/leaf?id=0BwMHadroX7nQYjBhNGQ0NTktMWE0NS00YzQzLWI3MzQtY2Q5NmY5ZWYzNWZm&amp;amp;hl=en"&gt;https://docs.google.com/leaf?id=0BwMHadroX7nQYjBhNGQ0NTktMWE0NS00YzQzLWI3MzQtY2Q5NmY5ZWYzNWZm&amp;amp;hl=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-8738702242623682167?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/scajESp4Xyg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/8738702242623682167/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=8738702242623682167" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8738702242623682167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8738702242623682167?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/scajESp4Xyg/how-to-view-webservices-inside.html" title="How to view webservices inside jdeveloper 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2011/01/how-to-view-webservices-inside.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EAQX87fSp7ImA9Wx9QFUg.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-5502744462433849023</id><published>2010-12-28T23:37:00.000+05:30</published><updated>2010-12-28T23:37:20.105+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-28T23:37:20.105+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF BC" /><title>Row STATUS_INITIALIZED and STATUS_NEW behavior in ADF 11g</title><content type="html">When an entity row is created it's row status is STATUS_NEW . This means row is added in the transaction's list of changes to be validated or posted or committed. This is fine and expected in most of the cases. However, during complex business objects like master-detail there comes the situation where you may want to turn off these validations until both master and detail are available. For such situations to remove the row from transactions's list of changes ADF exposes an api setNewRowStatus(ROW.STATUS_INITIALIZED).&lt;br /&gt;
&lt;br /&gt;
This is specifically helpful when master-detail association is a composite association and situation demands to create the detail rows before the master row. In that case without setting the row status to STATUS_INITIALIZED you will face:&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New'; white-space: pre;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New'; white-space: pre;"&gt;JBO-25030: Detail entity &lt;master entity="" name=""&gt; with row key null cannot find or invalidate its owning entity.&lt;/master&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New'; white-space: pre;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New';"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;There is no harm programatically changing the row status to STATUS_INITIALIZED or STATUS_NEW using the setNewRowStatus api as long as you understand its implications.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-5502744462433849023?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/6yYPhGV7MP4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/5502744462433849023/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=5502744462433849023" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5502744462433849023?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5502744462433849023?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/6yYPhGV7MP4/row-statusinitialized-and-statusnew.html" title="Row STATUS_INITIALIZED and STATUS_NEW behavior in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/12/row-statusinitialized-and-statusnew.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIBSX8-eSp7ImA9Wx9RGUw.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-878365338661600708</id><published>2010-12-21T11:52:00.000+05:30</published><updated>2010-12-21T11:52:38.151+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-21T11:52:38.151+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF BC" /><category scheme="http://www.blogger.com/atom/ns#" term="webservices" /><title>ADF 11g: My XSD does not include Child VO details</title><content type="html">I very recently started working on ADF BC based webservices and had to create a web service in which I can pass a master detail stuff.&lt;br /&gt;
&lt;br /&gt;
After generating the client proxy I could see the parent VO SDO but it was missing the child VO SDO to pass child details. So, in such situations the most obvious place to look for is the parent xsd generated by jdeveloper. I looked into it and to my surprise the child vo details were not included in the parent vo xsd.&lt;br /&gt;
&lt;br /&gt;
I retried the process of generating the service interface of my application module number of times and every time it failed to generate the child vo details in the parent vo xsd. The natural thing came to my mind was a bug in jdeveloper in this case. I was about to do that and by chance I just navigated to child VO details and saw that child vo is not exposed as a service. So, I manually did that and bingo!!! &amp;nbsp;The smart jdeveloper automatically updated my parent vo xsd to include its details.&lt;br /&gt;
&lt;br /&gt;
So, I would conclude it saying that when I generated the service interface for my AM at that time while including parent vo it should automatically take care to generate the child vo xsd as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-878365338661600708?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/isD2SHxFfAo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/878365338661600708/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=878365338661600708" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/878365338661600708?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/878365338661600708?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/isD2SHxFfAo/adf-11g-my-xsd-does-not-include-child.html" title="ADF 11g: My XSD does not include Child VO details" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/12/adf-11g-my-xsd-does-not-include-child.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEMSXo-cCp7ImA9Wx5aGEQ.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-409068207813940249</id><published>2010-11-16T14:24:00.000+05:30</published><updated>2010-11-16T14:24:48.458+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-16T14:24:48.458+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CLOB" /><category scheme="http://www.blogger.com/atom/ns#" term="BLOB" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF BC" /><title>Things to care while storing BLOB/CLOB types via VO</title><content type="html">When you need to store a BLOB or CLOB type object into your database table via view objects (based on entity object) you need to make sure following two things should be there:&lt;br /&gt;
&lt;br /&gt;
1. EO Batch mode must be turned off. Make sure there is no BatchUpdate tag is present in the EO.xml as sometimes jdeveloper fails to remove it and things looks fine on Entity object overview page.&lt;br /&gt;
&lt;br /&gt;
2. Make sure there is no programmatic &amp;nbsp;or declaratively in view object tuning &amp;nbsp;section vo.setForwardOnly(true) set. BLOB and CLOB type object saving needs some special processing and need to go back to the same row in VO more than once. So setting this will fail to store these objects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-409068207813940249?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/LAwImXJdovY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/409068207813940249/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=409068207813940249" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/409068207813940249?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/409068207813940249?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/LAwImXJdovY/things-to-care-while-storing-blobclob.html" title="Things to care while storing BLOB/CLOB types via VO" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/11/things-to-care-while-storing-blobclob.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUINRn8_fip7ImA9WxBUEUQ.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-3113478786137597465</id><published>2010-02-26T19:34:00.003+05:30</published><updated>2010-02-26T19:43:17.146+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-26T19:43:17.146+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF UI" /><title>A note about multiple regions in ADF 11g</title><content type="html">Well, most of ADF applications have a need to have multiple regions on a single page.  For each task flow dropped on the ADF page, an entry is created in the page definition file. &lt;div&gt;&lt;br /&gt;&lt;div&gt;At the run time, ADF framework looks into the page definition file and tries to execute/initialize all the regions. This is true even if you set the render property of the region in your page to false.  At times, this may not be desirable and in some cases this could create problems for you.  Every region entry in the page definition comes up with a property called activation which has default value 'immediate'. So, to avoid un-necessary execution of a region you can change it to value 'conditional'. And in the next to it property active you can specify an EL expression with a condition to execute that region.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-3113478786137597465?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/85tSEiskpyo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/3113478786137597465/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=3113478786137597465" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3113478786137597465?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3113478786137597465?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/85tSEiskpyo/note-about-multiple-regions-in-adf-11g.html" title="A note about multiple regions in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/02/note-about-multiple-regions-in-adf-11g.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IHR3g_eSp7ImA9WxBVEkQ.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-5313238481940028772</id><published>2010-02-16T10:04:00.002+05:30</published><updated>2010-02-16T10:15:36.641+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-16T10:15:36.641+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF UI" /><title>A point about Bookmarking view activity in ADF 11g</title><content type="html">Few days back I was trying to implement bookmarkeble view activities in my ADF 11g app. This is quite easy. The only condition is you can bookmark only the view activities of a unbounded task flow. To enable bookmarking you can select the bookmark property to true of a view activity in the unbounded task flow. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One interesting thing to note down is the method attribute with the bookmark property. You create a method in a managed bean and provide it here. So, whenever someone pastes/types the url in browser this method gets invoked giving you the opportunity to update model or set values in pageflowScope or other scopes which might be needed to render the page properly. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But, remember this method will not be called when user navigates to this page from another page by adfc navigation. So, a question arises is how to do the required stuff in such cases which happens through the initializer method. What you can do to resolve this is you can expose your bean as a Data Control  and then drop the same method in the unbounded task flow as a method activity. So, instead of directly navigating to the bookmarked activity, navigate to the method call. This way it will be ensured that desired page parameters/model is initialized.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-5313238481940028772?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/wIN_ax_ydX8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/5313238481940028772/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=5313238481940028772" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5313238481940028772?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5313238481940028772?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/wIN_ax_ydX8/point-about-bookmarking-view-activity.html" title="A point about Bookmarking view activity in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/02/point-about-bookmarking-view-activity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcBRH85fCp7ImA9WxBWGEw.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-8771127461415707511</id><published>2010-02-10T19:35:00.002+05:30</published><updated>2010-02-10T19:57:35.124+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-10T19:57:35.124+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><title>What not to do while editing a AM method exposed to client</title><content type="html">In a typical ADF application you would be having some AM methods exposed to client side. Whenever you expose a AM method to client side you need to go to AM and in the java you need to shuttle the method to the right.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a result your AM.xml and AMClient.java will be modified (it will actually add the entry for the exposed method).  This is fine and works good.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, if a need arises to modify this method's signature then you should not directly go to your AM.java and modify it straight forward. Doing this may corrupt your AMClient.java file and leading to issues.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The right way is:&lt;/div&gt;&lt;div&gt;1. Open you AM and go to java tab. &lt;/div&gt;&lt;div&gt;2. Shuttle the method whose signature is to be modified towards left.&lt;/div&gt;&lt;div&gt;3. Now modify your method signature. save all.&lt;/div&gt;&lt;div&gt;4. Open you AM again and shuttle back the method.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You will also need to delete the method from the pageDefinition file where it is used and refresh the data control to add it again.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-8771127461415707511?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/fHo5r_T63Es" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/8771127461415707511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=8771127461415707511" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8771127461415707511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/8771127461415707511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/fHo5r_T63Es/what-not-to-do-while-editing-am-method.html" title="What not to do while editing a AM method exposed to client" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/02/what-not-to-do-while-editing-am-method.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8BQXwyfip7ImA9WxBWF0Q.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-3989566811837364795</id><published>2010-02-10T14:51:00.002+05:30</published><updated>2010-02-10T14:54:10.296+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-10T14:54:10.296+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ORACLE" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><title>Ninja ADF Developer</title><content type="html">Found an interesting video on oracle ADF  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qeAk0TQCMZ4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/qeAk0TQCMZ4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-3989566811837364795?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/xWi1EkFNZis" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/3989566811837364795/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=3989566811837364795" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3989566811837364795?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/3989566811837364795?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/xWi1EkFNZis/ninja-adf-developer.html" title="Ninja ADF Developer" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/02/ninja-adf-developer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMNQ3wzeip7ImA9WxBXFE8.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-2662160445135365316</id><published>2010-01-25T18:03:00.003+05:30</published><updated>2010-01-25T18:14:52.282+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-25T18:14:52.282+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF Declarative components" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF UI" /><title>Updating a Declarative Component in ADF 11g</title><content type="html">I have an adf application built in 11g. It uses a custom component which I developed for this app. Recently, I got the need to add an additional attribute in the component.  So, thought to blog about the way I did it without any issues.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Open your custom declarative component project. &lt;/div&gt;&lt;div&gt;2. Add the desired attribute and deploy it to your desired path.&lt;/div&gt;&lt;div&gt;3. Stop the running wls.&lt;/div&gt;&lt;div&gt;4. Open your main project ( consumer project). Go to properties.&lt;/div&gt;&lt;div&gt;5. From the libraries and class path delete the existing entry for the component. &lt;/div&gt;&lt;div&gt;6. Save the changes and close the jdeveloper completely.&lt;/div&gt;&lt;div&gt;7. Open the consumer project's ViewController.jpr in a text editor.&lt;/div&gt;&lt;div&gt;8.  Remove all the entries containing any reference to your custom component library.&lt;/div&gt;&lt;div&gt;9. Reopen jdev and then go to resource pallet.&lt;/div&gt;&lt;div&gt;10. Add a file system connection and select the directory you generated the custom declarative component jar. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's it. It should reflect your new updates component nicely.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-2662160445135365316?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/9r9v9FpGGaU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/2662160445135365316/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=2662160445135365316" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/2662160445135365316?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/2662160445135365316?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/9r9v9FpGGaU/updating-declarative-component-in-adf.html" title="Updating a Declarative Component in ADF 11g" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2010/01/updating-declarative-component-in-adf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcHRXk_cSp7ImA9WxBREks.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-2607153003484364167</id><published>2009-12-31T16:44:00.002+05:30</published><updated>2009-12-31T17:17:14.749+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-31T17:17:14.749+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ORACLE" /><category scheme="http://www.blogger.com/atom/ns#" term="Jdeveloper" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><title>Deploying ADF 11g application in weblogic 10.3</title><content type="html">Today, I was trying to deploy my ADF 11g web application to a weblogic server. So the first step was to right click on View Controller project and go to deploy option. This created a war file for me as npe.war . I went to weblogic console and in the deployments choose install option and provided the path of npe.war. After few next next and finish I saw an error saying:&lt;br /&gt;&lt;br /&gt;java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet&lt;br /&gt;&lt;br /&gt;So, on hunting for a solution finally found that I used the wrong way of deployment. Instead of deploying View-Controller project as a war file I should have deployed the whole application as an ear file. So to do so there is an application menu in the jdeveloper. Select deploy option from there and choose deploy to ear file. So far so good I went again to the weblogic console deleted the old npe.war web app and this time installed npe.ear. After reaching the finish step on hitting finish I saw a new set of errors saying:&lt;br /&gt;&lt;br /&gt;java.security.PrivilegedActionException: wenlogic.common.ResourceException:&lt;br /&gt;java.security.PrivilegedActionException: wenlogic.common.ResourceException:&lt;br /&gt;No credential mapper entry found for password indirection user=system for data source NPE&lt;br /&gt;&lt;br /&gt;So, another hunt on web resulted into another change I need to do before deploying the app as an ear. To avoid this error you need to go to Application --&gt; Application properties and in the new window uncheck Auto Generate and synchronize weblogic-jdbc.xml Descriptors during deployment.&lt;br /&gt;&lt;br /&gt;That's it.. now deploying the ear this time should successful. Please comment if you found any other issues while deploying your ADF application to weblogic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-2607153003484364167?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/tsbppdTPfOY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/2607153003484364167/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=2607153003484364167" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/2607153003484364167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/2607153003484364167?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/tsbppdTPfOY/deploying-adf-11g-application-in.html" title="Deploying ADF 11g application in weblogic 10.3" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2009/12/deploying-adf-11g-application-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QHSXg5fip7ImA9WxNWFEw.&quot;"><id>tag:blogger.com,1999:blog-589834708478184487.post-5748474323450340120</id><published>2009-10-13T10:34:00.002+05:30</published><updated>2009-10-13T10:52:18.626+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T10:52:18.626+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><title>Getting handle to HttpSession in ADF</title><content type="html">&lt;p&gt;However, in general you should not need to get HttpSession programmatically in ADF.&lt;/p&gt;&lt;p&gt;But sometimes you need and here is how:&lt;/p&gt;&lt;p&gt;FacesContext context = FacesContext.getCurrentInstance();&lt;/p&gt;&lt;p&gt;HttpSession session  = (HttpSession)context.getExternalContext().getSession()&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589834708478184487-5748474323450340120?l=adfjsf.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DareToCode/~4/Pno98NqYnaY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://adfjsf.blogspot.com/feeds/5748474323450340120/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=589834708478184487&amp;postID=5748474323450340120" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5748474323450340120?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/589834708478184487/posts/default/5748474323450340120?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DareToCode/~3/Pno98NqYnaY/getting-handle-to-httpsession-in-adf.html" title="Getting handle to HttpSession in ADF" /><author><name>Vik</name><uri>http://www.blogger.com/profile/12027032736055922650</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp1.blogger.com/_RXhwE3e0gyM/RvfuWpP6aXI/AAAAAAAADEc/Pha91umePVo/s400/01-04-07_1616.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://adfjsf.blogspot.com/2009/10/getting-handle-to-httpsession-in-adf.html</feedburner:origLink></entry></feed>

