<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8013330744794401835</id><updated>2012-02-07T12:02:15.850-08:00</updated><title type='text'>Oracle Fusion Middleware Blog by - Mohammed Tanveer</title><subtitle type='html'>This blog will cover Oracle ADF, Weblogic, Oracle Application Server, Oracle Collaboration Suite etc....</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tanveeroracle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7032491612712170988</id><published>2012-02-07T12:02:00.000-08:00</published><updated>2012-02-07T12:02:15.856-08:00</updated><title type='text'>Search Criteria - View Criteria</title><content type='html'>Create view criterias against a view object (you can also have lov in the  view criteria fields i.e. by defining the attribute as selectively required, as in screeshot).&lt;br /&gt;&lt;br /&gt;In your datacontrol panel inside named criteria&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-vzswQFo6aOI/TzGDP4KilDI/AAAAAAAAAhk/_B3PCFjBLqw/s1600/view_criteria.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="320" src="http://1.bp.blogspot.com/-vzswQFo6aOI/TzGDP4KilDI/AAAAAAAAAhk/_B3PCFjBLqw/s320/view_criteria.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;, you will see this viewcriteria drag and drop it as ADF Query panel with table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7032491612712170988?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7032491612712170988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7032491612712170988'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2012/02/search-criteria-view-criteria.html' title='Search Criteria - View Criteria'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-vzswQFo6aOI/TzGDP4KilDI/AAAAAAAAAhk/_B3PCFjBLqw/s72-c/view_criteria.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-820305457027125629</id><published>2012-01-23T16:25:00.000-08:00</published><updated>2012-01-23T16:25:54.469-08:00</updated><title type='text'>Key Sample: How to find row from viewobject based on key attribute</title><content type='html'>DCBindingContainer dbc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();&lt;br /&gt;DCIteratorBinding iter = dbc.findIteratorBinding("EmployeeIterator");&lt;br /&gt;Key k1 = new Key(new Object[]{100}); //employee id&lt;br /&gt;Row[] r1 = iter.getViewObject().findByKey(k1, 1);&lt;br /&gt;for(Row r: r1){&lt;br /&gt;          System.out.println(r.getAttribute(0)+" "+r.getAttribute(1));&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-820305457027125629?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/820305457027125629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/820305457027125629'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2012/01/key-sample-how-to-find-row-from.html' title='Key Sample: How to find row from viewobject based on key attribute'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5859873963869127219</id><published>2012-01-23T15:59:00.001-08:00</published><updated>2012-01-23T15:59:10.230-08:00</updated><title type='text'>TaskFlow as Popup Window</title><content type='html'>TaskFlow in Popup&lt;br /&gt;&lt;br /&gt;You can run a taskflow like a popup window and also return value:&lt;br /&gt;1)In 1st taskflow definition drag and drop the taskflow which you want to run like a popup window&lt;br /&gt;2) select that taskflow and in properties panel in return parameter you can specify a parameter, if you plan to return something&lt;br /&gt;   - In behaviour tab set Run as Dialog property to True &amp; display type default(external window)&lt;br /&gt;&lt;br /&gt;and then you can set pageflow scope varible to return value from here for selected record.&lt;br /&gt; AdfFacesContext.getCurrentInstance().getPageFlowScope().put("parameter", value);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-5859873963869127219?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5859873963869127219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5859873963869127219'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2012/01/taskflow-as-popup-window.html' title='TaskFlow as Popup Window'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7202793170173814299</id><published>2012-01-23T14:51:00.000-08:00</published><updated>2012-01-23T14:53:40.646-08:00</updated><title type='text'>AutoSuggest TextField (InputText Field).</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HfQD_78zCJ0/Tx3k5h1lnVI/AAAAAAAAAhU/5uvnztLAWOI/s1600/sam1.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="319" src="http://3.bp.blogspot.com/-HfQD_78zCJ0/Tx3k5h1lnVI/AAAAAAAAAhU/5uvnztLAWOI/s320/sam1.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;AutoSuggest Behaviour on Text Fields&lt;br /&gt;&lt;br /&gt;1) In ViewObjext definition create a new attribute (transient attribute, because autosuggest will work on the description / id lov for e.g. if you define the lov on any id field and you are displaying description / name as label then in that case the sorting will happen on ids and not on descripti&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-V_X1wkYAl1Y/Tx3kcprLYcI/AAAAAAAAAhI/J9QUwdsIUJg/s1600/sam2.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="320" src="http://1.bp.blogspot.com/-V_X1wkYAl1Y/Tx3kcprLYcI/AAAAAAAAAhI/J9QUwdsIUJg/s320/sam2.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;on).&lt;br /&gt;To avoid this problem define transient attribute, name it accordingly and in lov Configuration Select that id attribute (employee id) as well as description, so what will happen is based on the description selected corresponding id will also be selected).&lt;br /&gt;&lt;br /&gt;In UI Hints you can select the name/descirption field to display and List Type should be InputText with List of Values.&lt;br /&gt;&lt;br /&gt;2) Now on you JSF page, lets say that you have dragged and dropped this viewobjects datacontrol as table and for this field you select it as textfild(default will be combo etc).&lt;br /&gt;Add this code for you field &lt;af:autoSuggestBehavior suggestedItems="#{row.bindings.MyField.suggestedItems}"/&gt;&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;af:inputText value="#{row.bindings.MyField.inputValue}"                              label="#{bindings.MyView.hints.CAcctNm.label}"                              required="#{bindings.MyView.hints.CAcctNm.mandatory}"                              columns="#{bindings.MyView.hints.CAcctNm.displayWidth}"                              maximumLength="#{bindings.MyView.hints.CAcctNm.precision}"                              shortDesc="#{bindings.MyView.hints.MyField.tooltip}"                              id="it5"&gt;                  &lt;br /&gt;&lt;af:autoSuggestBehavior suggestedItems="#{row.bindings.MyField.suggestedItems}"/&gt;&lt;br /&gt;&lt;/af:inputText&gt;&lt;br /&gt;&lt;br /&gt;Once you drag and drop view as table then the tree node is created in table and this expressions will work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7202793170173814299?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7202793170173814299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7202793170173814299'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2012/01/autosuggest-textfield-inputtext-field.html' title='AutoSuggest TextField (InputText Field).'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-HfQD_78zCJ0/Tx3k5h1lnVI/AAAAAAAAAhU/5uvnztLAWOI/s72-c/sam1.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6648352127839529591</id><published>2012-01-23T13:10:00.000-08:00</published><updated>2012-01-23T13:10:32.777-08:00</updated><title type='text'>findRowByIteratorAttribute - Find a row within Iterator with some attribute value</title><content type='html'>Once we get hold of iterator and when we need to find a row in iterator based on any attribute value, we can use below code&lt;br /&gt;&lt;br /&gt;String lName = "Joe";&lt;br /&gt;DCBindingContainer dbc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); &lt;br /&gt;DCIteratorBinding iter = dbc.findIteratorBinding("EmployeesIterator");&lt;br /&gt;RowIterator rIter=   iter.findRowsByAttributeValue("LastName", true, lName);&lt;br /&gt;String empId  = rIter.first().getAttribute("AcctId").toString();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6648352127839529591?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6648352127839529591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6648352127839529591'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2012/01/findrowbyiteratorattribute-findl-row.html' title='findRowByIteratorAttribute - Find a row within Iterator with some attribute value'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6908149921538142089</id><published>2012-01-22T19:38:00.000-08:00</published><updated>2012-01-22T19:38:04.468-08:00</updated><title type='text'>Setting PageFlowScope Parameters from Button ActionListener withoout code</title><content type='html'>1) When we want to set pageflowscope parameters without writing code&lt;br /&gt;&lt;br /&gt;- Attach SetActionListener Operation to button &lt;br /&gt;&lt;af:commandToolbarButton text="Edit"                                               id="ctb1" action="edit"&gt;&lt;br /&gt;                        &lt;af:setActionListener to="#{pageFlowScope.empId}"                                              from="#{bindings.EmployeeId.inputValue}"/&gt;&lt;br /&gt;                      &lt;/af:commandToolbarButton&gt;&lt;br /&gt;&lt;br /&gt;The EmployeeId is defined against employee id attribute against employee iterator on pagedefinition.&lt;br /&gt;&lt;br /&gt;We can have n number of the variables defined here to pass pageflow scope variables.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6908149921538142089?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6908149921538142089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6908149921538142089'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2012/01/setting-pageflowscope-parameters-from.html' title='Setting PageFlowScope Parameters from Button ActionListener withoout code'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7393306692078741002</id><published>2011-12-19T11:54:00.000-08:00</published><updated>2011-12-19T23:50:51.323-08:00</updated><title type='text'>ADF TaskFlow Method Call On page load</title><content type='html'>In taskflow we can drop execute with parama e.g. employees with dept 10 from datacontrols. You can even right click and say create page definition and define operations there for taskflow.&lt;br /&gt;&lt;br /&gt;The binding for this will be with method now you need to change this binding and update it to backing bean method (binding value: #{backingBeanScope.MethodCall.CalledMethod}) and now you can execute the execute this mehtod from operation binding as in below code&lt;br /&gt;&lt;br /&gt;public void CalledMethod() {&lt;br /&gt;&lt;br /&gt;DCBindingContainer dc = (DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();&lt;br /&gt;OperationBinding operationBinding = dc.getOperationBinding("ExecuteWithParams");&lt;br /&gt;operationBinding.execute();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;In this way you intitialize your page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7393306692078741002?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7393306692078741002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7393306692078741002'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/12/adf-taskflow-method-call-on-page-load.html' title='ADF TaskFlow Method Call On page load'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6483142322877994182</id><published>2011-12-15T21:05:00.000-08:00</published><updated>2011-12-15T21:05:09.777-08:00</updated><title type='text'>Passing values between ADF Task Flow</title><content type='html'>1) IF we have one taskflow inside another taskflow. The PageflowScope can be use to set values into variables i.e. &lt;br /&gt;AdfFacesContext.getCurrentInstance().getPageFlowScope().put("varName","varValue");&lt;br /&gt;and select the child taskflow(this task flow should have relevant parameters defined) and in properties give value to parameter value as #{pageFlowScope.varName}&lt;br /&gt;2) When we have Jsff (region) within which we have taskflow pulled and we need to pass value to this taskflow then go to pagedefinition for the page/region and select this taskflow from executables and in properties you provide value to particular variable like #{pageFlowScope.varName}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6483142322877994182?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6483142322877994182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6483142322877994182'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/12/passing-values-between-adf-task-flow.html' title='Passing values between ADF Task Flow'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-1422316520137075772</id><published>2011-12-04T20:16:00.000-08:00</published><updated>2011-12-04T20:19:20.762-08:00</updated><title type='text'>Check Authentication &amp; Get Logged in user id</title><content type='html'>Use this code in you application module Impl class in methods&lt;br /&gt;&lt;br /&gt;1) SecurityContext securityContext = ADFContext.getCurrent().getSecurityContext();&lt;br /&gt;// 2. authentication check &lt;br /&gt;if(securityContext.isAuthenticated()){&lt;br /&gt;String username = securityContext.getUserName();  &lt;br /&gt;&lt;br /&gt;2) String userName = ADFContext.getCurrent().getSecurityContext().getUserName();&lt;br /&gt;if(ADFContext.getCurrent().getSecurityContext().isAuthenticated()){&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-1422316520137075772?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1422316520137075772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1422316520137075772'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/12/check-authentication-get-logged-in-user.html' title='Check Authentication &amp; Get Logged in user id'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3652367834453348230</id><published>2011-12-04T20:10:00.000-08:00</published><updated>2011-12-04T20:19:42.586-08:00</updated><title type='text'>Remove all rows from viewobject.</title><content type='html'>Define a method in Application Module Impl class.&lt;br /&gt;Using below sample code you can delete all the rows in current resultset of view object&lt;br /&gt;In Application Impl all the methods will have viewobject accessors(get and set viewobjects)&lt;br /&gt;&lt;br /&gt;ViewObjectImpl employeesVO= getEmployees();&lt;br /&gt;// 1. reset iterator to start before first row&lt;br /&gt;shoppingCartVO.setRangeSize(-1);&lt;br /&gt;Row[] rows = employeesVO.getAllRowsInRange();&lt;br /&gt;// 2. iterate over rows and remove each instance&lt;br /&gt;for(Row row: rows){&lt;br /&gt;row.remove(); &lt;br /&gt;}&lt;br /&gt;getDBTransaction().commit();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-3652367834453348230?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3652367834453348230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3652367834453348230'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/12/remove-all-rows-from-viewobject.html' title='Remove all rows from viewobject.'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2617055564930469001</id><published>2011-12-03T17:20:00.000-08:00</published><updated>2011-12-03T17:20:35.558-08:00</updated><title type='text'>Table Column Sum / Table Footer Displaying Sum of Column</title><content type='html'>Lets say we have employees table and we want sum on salary column.&lt;br /&gt;&lt;br /&gt;Drag viewobject and create table normally.&lt;br /&gt;Select Salary table -&gt; Right Click -&gt; Facet Column -&gt; Footer&lt;br /&gt;From structure pane for this column add output text filed and surround it with panel grouplayout (layout property as horizontal and halign as right)&lt;br /&gt;&lt;br /&gt;You can have two view object viz one for just employees and secont view object to contain the sum query.&lt;br /&gt;&lt;br /&gt;The output text should refer to the sum value of the second view.&lt;br /&gt;Checout the attached application&lt;br /&gt;&lt;br /&gt;https://docs.google.com/open?id=0B-zSRgGSIJgNMTIyMTk1Y2ItMDNjMS00N2Y5LWFkYWItNWI4YWY4YzUyZWQ2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2617055564930469001?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2617055564930469001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2617055564930469001'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/12/table-column-sum-table-footer.html' title='Table Column Sum / Table Footer Displaying Sum of Column'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3483337866130043962</id><published>2011-11-28T07:50:00.000-08:00</published><updated>2011-11-28T07:50:35.360-08:00</updated><title type='text'>SelectOneChoice ValueChangeListener ProcessUpdates</title><content type='html'>When value is changed in selectonechoice and you have valuechangelistener associated with it, which has iterator and a variable which captures particular attribute but the problem is in valuechangelistener if you dont specify below line of code you will see that the values are not right (some old selection is captured) hence give this code in valuechangelistener.&lt;br /&gt;&lt;br /&gt;valueChangeEvent.getComponent().processUpdates(FacesContext.getCurrentInstance());&lt;br /&gt;e.g of complete method&lt;br /&gt;public void PersonSelected(ValueChangeEvent valueChangeEvent) {&lt;br /&gt;&lt;br /&gt;valueChangeEvent.getComponent().processUpdates(FacesContext.getCurrentInstance());&lt;br /&gt;BindingContext bctx = BindingContext.getCurrent(); &lt;br /&gt;DCBindingContainer bindings = (DCBindingContainer)bctx.getCurrentBindingsEntry(); &lt;br /&gt;OperationBinding opr = (OperationBinding)bindings.getOperationBinding("AllFruitsEP");&lt;br /&gt;Object result = opr.execute();&lt;br /&gt;DCIteratorBinding allFruitsItr = bindings.findIteratorBinding("AllFruits1Iterator");&lt;br /&gt;AttributeBinding personId = (AttributeBinding)bindings.getControlBinding("Personid");&lt;br /&gt;System.out.println("Person ID:"+personId);&lt;br /&gt;System.out.println("Iter size:"+ allFruitsItr.getViewObject().getRowCount());&lt;br /&gt;if (!opr.getErrors().isEmpty()) {&lt;br /&gt;System.out.println("ERROR");&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/8013330744794401835-3483337866130043962?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3483337866130043962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3483337866130043962'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/11/selectonechoice-valuechangelistener.html' title='SelectOneChoice ValueChangeListener ProcessUpdates'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-1247533257738615186</id><published>2011-11-26T11:02:00.000-08:00</published><updated>2011-11-26T23:54:18.500-08:00</updated><title type='text'>Requied Field, Show Required Message Details, Programmatically Navigate</title><content type='html'>Requirment- Navigation from one page to another only if all the fields have value/ mandatory fields are not blank&lt;br /&gt;1) Page1 say we have text field and a button&lt;br /&gt;2) In adfc-config pull two pages page1 &amp;amp; page2 and controlFlow "gotoPage2" from page 1.&lt;br /&gt;3) set action property for button on page1 to "gotoPage2"&lt;br /&gt;4) Now for textfield on page one set below properties&lt;br /&gt;Behaviour- Required-&amp;gt; True&lt;br /&gt;Appearence- Required Message Details value -&amp;gt; {0} is mandatory, cannot be blank (sample message)&lt;br /&gt;And simply run the page.&lt;br /&gt;This will even work when you have some code attached to submit button and you want to return/navigate to specific control flow. This is what you need&lt;br /&gt;Create a java class with request scope in adfc-config and to your button add expression to a method, and the method body can be like&lt;br /&gt;public String SubmitBtn() {&lt;br /&gt;return "gotoTest"; //this is the value on adfc-config control flow&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://docs.google.com/open?id=0B-zSRgGSIJgNYzgyOTIzMjQtYzNlZC00NjQ2LTkwNWQtNGE3YWJlMzY4ZTMy"&gt;Download Application&lt;/a&gt;&lt;br /&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/8013330744794401835-1247533257738615186?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1247533257738615186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1247533257738615186'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/11/field-required-validation-custom.html' title='Requied Field, Show Required Message Details, Programmatically Navigate'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5175661550914811265</id><published>2011-11-26T10:37:00.000-08:00</published><updated>2011-11-26T10:37:54.109-08:00</updated><title type='text'>ADF Error Handler Page</title><content type='html'>In your ADF Task Flow-&amp;gt; Overview-&amp;gt;General Tab - Exception Handler define a simple jspx page call it as Error.jspx (If you dont have this page then first create it and then assiociate it as exception handler)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-5175661550914811265?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5175661550914811265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5175661550914811265'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/11/adf-error-handler-page.html' title='ADF Error Handler Page'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-9153326783328384157</id><published>2011-11-25T18:46:00.000-08:00</published><updated>2011-11-25T18:46:50.338-08:00</updated><title type='text'>ADF Passing Parameter to Page - Execute with parameters</title><content type='html'>Requirement: Two page with different tables/viewobject one click on any record on first page next page should display values based on that parameter (execute with parameter)&lt;br /&gt;1 - First Page to have list of records in table etc convert first column output text field to command link (link) item. If you see a warning on this field then in structure page remove and ConvertToNumber or other attribute which is not required with the field. This is coming from View1 object&lt;br /&gt;2 - View2 is having query with bind variable say :parm1, now we need to pass value from view1 into parm1 of view2 object on click of that link.&lt;br /&gt;3- Second page Drag and drop view2&lt;br /&gt;4- In taskflow definition drag and drop the two pages. Now in DataControls expand View2 definition and in operations select ExecuteWithParameter and drag and drop it between the&amp;nbsp;two pages in taskflow definition. It will ask for parameter value, In value dropdown select Expression -&amp;gt;ADF Managed Beans-&amp;gt;pageFlowScope and type a parameter name like pid after #{pageFlowScope}i.e.#{pageFlowScope.pid}&lt;br /&gt;5- Expand navigation control from from ExecuteWithParam operation to Page2 and from page1 to ExecuteWithOperation say the control link to be "select"&lt;br /&gt;6-On first page select the link and action&amp;nbsp; attribute value select "select" from dropdown.&lt;br /&gt;7-Now we need to pass value of this record to executewithparam opration. From operation panel select setPropertyListener and drop it on command link and set the values as From:&amp;nbsp;#{row.DepartmentId} To:#{pageFlowScope.pid} Type: action&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-9153326783328384157?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/9153326783328384157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/9153326783328384157'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/11/adf-passing-parameter-to-page-execute.html' title='ADF Passing Parameter to Page - Execute with parameters'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-1077457330028388704</id><published>2011-11-13T21:30:00.003-08:00</published><updated>2011-11-13T21:30:06.266-08:00</updated><title type='text'>Table SelectionListener</title><content type='html'>Drag and drop table with rowselection checkbox selected and assign selection listener property to binding bean method&lt;br /&gt;&lt;br /&gt;public void TableSelect(org.apache.myfaces.trinidad.event.SelectionEvent selectionEvent) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RichTable richTable = (RichTable)selectionEvent.getSource();&lt;br /&gt;&lt;br /&gt;CollectionModel tableModel = (CollectionModel)richTable.getValue();&lt;br /&gt;&lt;br /&gt;JUCtrlHierBinding adfTableBinding = (JUCtrlHierBinding)tableModel.getWrappedData();&lt;br /&gt;&lt;br /&gt;Object selectedRowData = richTable.getSelectedRowData();&lt;br /&gt;&lt;br /&gt;JUCtrlHierNodeBinding nodeBinding = (JUCtrlHierNodeBinding)selectedRowData;&lt;br /&gt;&lt;br /&gt;for (Object o : nodeBinding.getAttributeValues()) {&lt;br /&gt;&lt;br /&gt;System.out.println("Selected values " + o);&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/8013330744794401835-1077457330028388704?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1077457330028388704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1077457330028388704'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/11/table-selectionlistener.html' title='Table SelectionListener'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5346227930965253543</id><published>2011-11-03T23:34:00.000-07:00</published><updated>2011-11-03T23:34:24.557-07:00</updated><title type='text'>Accessing Attribute Programmatically</title><content type='html'>When you have defined attributes on pagedefinition and you want to access it in backing bean use below code to do this:&lt;br /&gt;&lt;br /&gt;DCBindingContainer dbc = (DCBindingContainer)this.getBindings();&lt;br /&gt;AttributeBinding attr =((AttributeBinding)dbc.getControlBinding("FirstName"));&lt;br /&gt;&lt;br /&gt;AttributeBinding email = ((AttributeBinding)dbc.getControlBinding("Email"));&lt;br /&gt;&lt;br /&gt;System.out.println("First Name:"+attr+" "+email); &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-40-z7NbdOaA/TrOHOH47Z6I/AAAAAAAAAgo/PLdlpkZEEi4/s1600/abc.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143px" ida="true" src="http://1.bp.blogspot.com/-40-z7NbdOaA/TrOHOH47Z6I/AAAAAAAAAgo/PLdlpkZEEi4/s320/abc.JPG" width="320px" /&gt;&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/8013330744794401835-5346227930965253543?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5346227930965253543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5346227930965253543'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/11/accessing-attribute-programmatically.html' title='Accessing Attribute Programmatically'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-40-z7NbdOaA/TrOHOH47Z6I/AAAAAAAAAgo/PLdlpkZEEi4/s72-c/abc.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8296546172420284106</id><published>2011-10-22T09:05:00.000-07:00</published><updated>2011-10-22T09:05:41.122-07:00</updated><title type='text'>Programmatically Accessing Application Module, ViewImpl &amp; ViewRowImpl classes</title><content type='html'>//the syntax of configuration is 1st parameter to have full path and second to have modulename with Local added to it&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        ApplicationModule appModule =&lt;br /&gt;            Configuration.createRootApplicationModule("com.adf.sample.model.SampleModule", "SampleModuleLocal");&lt;br /&gt;        DepartmentsViewImpl deptVo = (DepartmentsViewImpl)appModule.findViewObject("DepartmentsView1");&lt;br /&gt;        while(deptVo.hasNext()){&lt;br /&gt;          DepartmentsViewRowImpl deptRowVo = (DepartmentsViewRowImpl)deptVo.next();&lt;br /&gt;          System.out.println("Department Name: "+deptRowVo.getDepartmentName());&lt;br /&gt;          RowIterator empVo = deptRowVo.getEmployeesView();&lt;br /&gt;            while(empVo.hasNext()){&lt;br /&gt;              Row empRow = empVo.next();&lt;br /&gt;              //EmpDetailsViewViewRowImpl empRow = (EmpDetailsViewViewRowImpl)empVo.next();&lt;br /&gt;              //System.out.println("  "+empRow.getFirstName());&lt;br /&gt;              System.out.println("    "+empRow.getAttribute(1));&lt;br /&gt;            }&lt;br /&gt;            &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/8013330744794401835-8296546172420284106?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8296546172420284106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8296546172420284106'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/10/programmatically-accessing-application.html' title='Programmatically Accessing Application Module, ViewImpl &amp; ViewRowImpl classes'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7385109598014087017</id><published>2011-10-12T23:02:00.000-07:00</published><updated>2011-10-12T23:02:59.508-07:00</updated><title type='text'>ADF Insert Row and Use it in procedures or funtions without commiting this.getDBTransaction().postChanges();</title><content type='html'>Given senarios like we need to create a row in a particular table and then call a procedure which uses the key from this row and inserts records in another tables all without commiting this to database. This is done using this.getDBTransaction().postChanges();&lt;br /&gt;&lt;br /&gt;You can define this is any impl classes of view object and expose it to client. If you make any changes to view object in backing bean then call this method before invoking any procedures :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7385109598014087017?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7385109598014087017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7385109598014087017'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/10/adf-insert-row-and-use-it-in-procedures.html' title='ADF Insert Row and Use it in procedures or funtions without commiting this.getDBTransaction().postChanges();'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6346036961820427111</id><published>2011-10-12T01:32:00.000-07:00</published><updated>2011-10-12T01:32:50.582-07:00</updated><title type='text'>Application Module Impl.java Method Declaration</title><content type='html'>You should define your custom methods in ApplModuleImpl.java class for reusability. &lt;br /&gt;&lt;br /&gt;Sample Method :&lt;br /&gt;public void getEmpDetails(Number empId) {&lt;br /&gt;ViewObjectImpl myViewQuery = this.getMyViewQueryVO1(); //the view you have defined and added to appmodule.xml file&lt;br /&gt;myViewQuery .setNamedWhereClauseParam("empId", empID); //view with param&lt;br /&gt;myViewQuery .executeQuery();&lt;br /&gt;&lt;br /&gt;//to commit you can use&lt;br /&gt;getDBTransaction.commit() / rollback()&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;After defining this method you need to add this method to AppModule.xml file to expose it to client and you will find it in DataController panel.&lt;br /&gt;&lt;br /&gt;To invoke this metod: In your jsff or jspx page definition in bindings create method binding for this method. you can also define values for this here or programmatically do it as&lt;br /&gt;&lt;br /&gt;bindings = getBindings();&lt;br /&gt;OperationBinding operationBinding = bindings.getOperationBinding("getEmpDetails");&lt;br /&gt;operationBinding.getParamsMap().put("empId", employeeId);&lt;br /&gt;operationBinding.execute();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public BindingContainer getBindings() {&lt;br /&gt;        return BindingContext.getCurrent().getCurrentBindingsEntry();&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6346036961820427111?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6346036961820427111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6346036961820427111'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/05/application-module-impljava-method.html' title='Application Module Impl.java Method Declaration'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4454023503154141930</id><published>2011-10-10T00:54:00.001-07:00</published><updated>2011-10-10T00:54:51.221-07:00</updated><title type='text'>ADF Table automatically loads in between data entry?</title><content type='html'>Set the content delivery property to lazy to solve this issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-4454023503154141930?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4454023503154141930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4454023503154141930'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/10/adf-table-automatically-loads-in.html' title='ADF Table automatically loads in between data entry?'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2002867131059613284</id><published>2011-10-04T20:38:00.001-07:00</published><updated>2011-10-11T08:23:53.499-07:00</updated><title type='text'>Helpful ADF Blogs</title><content type='html'>ADF Demo Links:&lt;br /&gt;http://jdevadf.oracle.com/adf-richclient-demo/faces/components/lov/comboLOVWithCustomActions.jspx;jsessionid=xsmhTJpVKCyyQvnRrF2pnQgKyx2XbSZbnncNdNy3mlMQJqsGvlqS!446378343?_afrLoop=392807939445182&amp;_afrWindowMode=2&amp;Adf-Window-Id=w0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.oracle.com/technetwork/developer-tools/adf/learnmore/index-101235.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2002867131059613284?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2002867131059613284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2002867131059613284'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/10/helpful-adf-blogs.html' title='Helpful ADF Blogs'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-1467336567900447731</id><published>2011-09-29T05:47:00.000-07:00</published><updated>2011-09-29T05:47:24.409-07:00</updated><title type='text'>Navigation based on popup outcome</title><content type='html'>To navigate to some other page you should not use dialoglistener because it will not navigate from your method instead you should define buttons in your popup and the action of these buttons to return to some page e.g.&lt;br /&gt;&lt;br /&gt;public String gotoHomePage(){&lt;br /&gt;return "gotoHome"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This will not work with dialoglistener buttons but will work and navigate to home page if custom buttons are used. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-1467336567900447731?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1467336567900447731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1467336567900447731'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/09/navigation-based-on-popup-outcome.html' title='Navigation based on popup outcome'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7833125645017692092</id><published>2011-09-15T22:28:00.000-07:00</published><updated>2011-09-15T22:28:23.328-07:00</updated><title type='text'>Custom Methods in Application Module &amp; ViewObject</title><content type='html'>We can define method inside Application Moduel Impl class for funtionality which is using multiple viewobjects and ViewObject Impl class is used for functionality specific to a particular Viewobject.&lt;br /&gt;&lt;br /&gt;ViewObject Impl and RowImpl:&lt;br /&gt;- We have two java clases for each view object&lt;br /&gt;- Impl java class can contain method to either delete a row from this view object e.g.&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-1jiiEkatxBM/TnLW7yqT8MI/AAAAAAAAAZo/CUdYn52__f8/s1600/impl.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="282" src="http://3.bp.blogspot.com/-1jiiEkatxBM/TnLW7yqT8MI/AAAAAAAAAZo/CUdYn52__f8/s320/impl.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void deleteEmployee() {&lt;br /&gt;        Row currentRow = this.getCurrentRow();&lt;br /&gt;        if (currentRow != null) {&lt;br /&gt;            currentRow.remove();&lt;br /&gt;            this.getDBTransaction().commit();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Now you need to expose this method to client interfcae (This is present in Viewobject-&gt; Java-&gt;ClientInterface\&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jM_F90z_Gks/TnLX9uDF8TI/AAAAAAAAAZw/sZ61KTCCjEs/s1600/impl.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="222" width="320" src="http://4.bp.blogspot.com/-jM_F90z_Gks/TnLX9uDF8TI/AAAAAAAAAZw/sZ61KTCCjEs/s320/impl.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;- Now in your jspx/jsf page definition insert bindings methodAction, select Employees Viewobject and this mehthod will be available in operations.&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-80J27RlDJhw/TnLZMLUO_XI/AAAAAAAAAZ4/29eLYvunni0/s1600/impl.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="311" width="320" src="http://3.bp.blogspot.com/-80J27RlDJhw/TnLZMLUO_XI/AAAAAAAAAZ4/29eLYvunni0/s320/impl.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;- Now to invoke this method you can either call it on mehtod click in ActionListener give this value #{bindings.deleteEmployee.execute}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7833125645017692092?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7833125645017692092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7833125645017692092'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/09/custom-methods-in-application-module.html' title='Custom Methods in Application Module &amp; ViewObject'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-1jiiEkatxBM/TnLW7yqT8MI/AAAAAAAAAZo/CUdYn52__f8/s72-c/impl.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7593434958101705454</id><published>2011-09-14T22:33:00.000-07:00</published><updated>2011-09-14T22:33:07.859-07:00</updated><title type='text'>Detailed Table Edit Selected Row (Click to Edit) Attribute</title><content type='html'>Assume that we have a detailed employee table and when we select a particular row I want that row to become editable.&lt;br /&gt;&lt;br /&gt;For this to happen select adf table i.e. af:table t1 and in property listener in Behaviour tab set EditMode property value to "clickToEdit" and thats it. (Note the adf table should not be read only)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7593434958101705454?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7593434958101705454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7593434958101705454'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/09/detailed-table-edit-selected-row-click.html' title='Detailed Table Edit Selected Row (Click to Edit) Attribute'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6850597707300008469</id><published>2011-09-14T21:24:00.000-07:00</published><updated>2011-09-14T21:24:33.016-07:00</updated><title type='text'>Attribute level Custom Message Display</title><content type='html'>E.g. When creating new employee if the user forgets to provide mandatory field e.g. firstname then you can specify the required message details field in property inspector as follows &lt;br /&gt;&lt;br /&gt;{0} is Mandatory.Please provide value&lt;br /&gt;&lt;br /&gt;The value in {} should be 0 to reflect to current fields.&lt;br /&gt;&lt;br /&gt;Message will be displayed like "FirstName is Mandatory. Please provide value"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6850597707300008469?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6850597707300008469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6850597707300008469'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/09/attribute-level-custom-message-display.html' title='Attribute level Custom Message Display'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2536370569646066062</id><published>2011-09-06T00:01:00.000-07:00</published><updated>2011-09-06T00:01:18.787-07:00</updated><title type='text'>SelectOneChoice Selected value in attribute without loop</title><content type='html'>1) Go to page definition&lt;br /&gt;2) Create Employees Iterator from employees view object.&lt;br /&gt;3) In bindings create a list for employees first name list as in screen shot (does not update base datasource).&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OjcZEF7H3pA/TmXDvLKJfKI/AAAAAAAAAXg/nEPLoZrWzHg/s1600/img1.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="43" width="320" src="http://1.bp.blogspot.com/-OjcZEF7H3pA/TmXDvLKJfKI/AAAAAAAAAXg/nEPLoZrWzHg/s320/img1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;4)On jsf page drag selectone choice from components section and in popup give binding for the list that you created in step 3 also set autosubmit property to true for this dropdown.&lt;br /&gt;&lt;br /&gt;5) Now in page definition create a&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_rxGhKRZx3k/TmXE3qhopFI/AAAAAAAAAXo/c3m5cvEwHDo/s1600/img2.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="147" width="320" src="http://2.bp.blogspot.com/-_rxGhKRZx3k/TmXE3qhopFI/AAAAAAAAAXo/c3m5cvEwHDo/s320/img2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;6) Create one output textfield in jsf page and give its value as #{bindings.FirstName.inputValue} and set partial trigger property to the dropdown id&lt;br /&gt;n attributebinding with the same iterator.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2536370569646066062?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2536370569646066062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2536370569646066062'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/09/selectonechoice-selected-value-in.html' title='SelectOneChoice Selected value in attribute without loop'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-OjcZEF7H3pA/TmXDvLKJfKI/AAAAAAAAAXg/nEPLoZrWzHg/s72-c/img1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-1816262768824110944</id><published>2011-09-05T23:02:00.000-07:00</published><updated>2011-11-26T18:24:05.725-08:00</updated><title type='text'>Attribute Binding</title><content type='html'>Attribute Binding is of greate help, It can be used to get the values of current selected row in table, selectonechoice etc instead of iterating through the viewobject iterator.&lt;br /&gt;&lt;br /&gt;1) On you jsf/jsff page right click and say goto page definition.&lt;br /&gt;2) In bindings click to add (+) and select attributevalues&lt;br /&gt;3) Select datasource and in second dropdown select the attribute you want this variable to store e.g. emp id, name etc&lt;br /&gt;4) Now which ever row/record you select dynamically this attribute will hold the value of that record e.g. for employee if you select some middle row this will show the emp id of that record. &lt;br /&gt;5) The value of this variable is accessed using following expression:&lt;br /&gt;#{bindings.FirstName.inputValue} (based upon the attribute you have specified) or programmatically&lt;br /&gt;&lt;br /&gt;DCBindingContainer dbc = (DCBindingContainer)this.getBindings();&lt;br /&gt;&lt;br /&gt;AttributeBinding attr =((AttributeBinding)dbc.getControlBinding("FirstName"));&lt;br /&gt;&lt;br /&gt;Your can even specific this as input parameter to you execute with parameter operations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-1816262768824110944?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1816262768824110944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1816262768824110944'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/09/attribute-binding.html' title='Attribute Binding'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2145804726795314667</id><published>2011-09-05T21:50:00.000-07:00</published><updated>2011-09-05T21:50:03.407-07:00</updated><title type='text'>ADF Dialog confirmation</title><content type='html'>Dialog Tutorial Link:&lt;br /&gt;http://www.oracle.com/technetwork/developer-tools/adf/learnmore/77-ok-cancel-support-in-dialog-351871.pdf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2145804726795314667?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2145804726795314667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2145804726795314667'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/09/adf-dialog-confirmation.html' title='ADF Dialog confirmation'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2736319783477130207</id><published>2011-08-22T00:37:00.000-07:00</published><updated>2011-11-28T08:06:54.739-08:00</updated><title type='text'>SelectOneChoice selected value stored in variable</title><content type='html'>1) In view object define a drop down list for department name (it should display a list of departments).&lt;br /&gt;2) Drag and drop a table attribute(column eg Department name column alone) on a jsff page.&lt;br /&gt;3) Right click on jsff page and select goto page definition. (use this rather than bindings tab)&lt;br /&gt;4) In page definition.xm file goto source tab and find variablesIterator tag. If this tag is not present in design tab in executables region add variablesIterator by click the + sign and creating variable iterator object.&lt;br /&gt;5) In source tab under variableIterator table define a variable name as under: &lt;br /&gt;(lessthansign)variable name="personId" type="oracle.jbo.domain.Number" (greatthansign)&lt;br /&gt;6) Now goto jsff page of page definition inside bindings create one attributeValues binding by clicking + sign. Specify the Datasource as variables and select Attribute name as varDeptId as declared earlier.&lt;br /&gt;7) Now goto page bindings and double click the LOV of department name that you have created in step 2. Select base data source type as variables.&lt;br /&gt;In list datasource select departments view. In data value select the variable and in list attribute select the attribute you want from department column e.g department id and select the display element i.e. the value you want to display on screen.&lt;br /&gt;8) This binding varaible we contain the value you have selected in dropdown list. Your can use JSFUtils to resolve the expression value or assign this value to and execute with paramters operation. The expression for this values is #{bindings.varDeptId1.inputValue}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2736319783477130207?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2736319783477130207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2736319783477130207'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/08/selectonechoice-selected-value-stored.html' title='SelectOneChoice selected value stored in variable'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8359738084283070599</id><published>2011-05-18T20:40:00.003-07:00</published><updated>2011-05-18T20:40:08.052-07:00</updated><title type='text'>ANT DEPLOYMENT</title><content type='html'>http://www.oracle.com/technetwork/articles/adf/part4-098813.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8359738084283070599?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8359738084283070599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8359738084283070599'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/05/ant-deployment.html' title='ANT DEPLOYMENT'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2057321288388602178</id><published>2011-04-29T07:48:00.000-07:00</published><updated>2011-04-29T07:48:13.325-07:00</updated><title type='text'>Usefull ADF Blog</title><content type='html'>http://adf-blogs.blogspot.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2057321288388602178?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://adf-blogs.blogspot.com/' title='Usefull ADF Blog'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2057321288388602178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2057321288388602178'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/04/usefull-adf-blog.html' title='Usefull ADF Blog'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6263066287608304231</id><published>2011-04-10T23:02:00.000-07:00</published><updated>2011-04-10T23:02:01.901-07:00</updated><title type='text'>ADF Taskflow Return to parent after completing taskflow</title><content type='html'>Use "Parent Action" component to call control flow of parent&lt;br /&gt;Also in your parent taskflow you should have a control flow for this outcome.&lt;br /&gt;The child will be calling this taskflow using parent action activity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6263066287608304231?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6263066287608304231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6263066287608304231'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/04/adf-taskflow-return-to-parent-after.html' title='ADF Taskflow Return to parent after completing taskflow'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4107687359228113902</id><published>2011-04-07T00:21:00.000-07:00</published><updated>2011-04-07T00:21:19.324-07:00</updated><title type='text'>ADF TaskFlow Parameters</title><content type='html'>You will require to pass page flow scope parameters from your current environment into the adf taskflow:&lt;br /&gt;&lt;br /&gt;Open the taskflow in overview mode and create a parameter&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JzxAjFtvaXg/TZ1lXtc4QCI/AAAAAAAAAWc/s6V0unktCKk/s1600/pageflow.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="138" width="320" src="http://2.bp.blogspot.com/-JzxAjFtvaXg/TZ1lXtc4QCI/AAAAAAAAAWc/s6V0unktCKk/s320/pageflow.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Open the jspx page or the fragment where you are plcing this taksflow, &lt;br /&gt;go to bindings tab and give the input value for taskflow parameter from you page flow variable as in below image&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cmIeRim-JSQ/TZ1l6ucCBxI/AAAAAAAAAWk/wHXXK9CpJ1g/s1600/pageflow.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="169" width="320" src="http://4.bp.blogspot.com/-cmIeRim-JSQ/TZ1l6ucCBxI/AAAAAAAAAWk/wHXXK9CpJ1g/s320/pageflow.JPG" /&gt;&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/8013330744794401835-4107687359228113902?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4107687359228113902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4107687359228113902'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/04/adf-taskflow-parameters.html' title='ADF TaskFlow Parameters'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-JzxAjFtvaXg/TZ1lXtc4QCI/AAAAAAAAAWc/s6V0unktCKk/s72-c/pageflow.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7536983549269670501</id><published>2011-03-31T22:40:00.000-07:00</published><updated>2011-03-31T22:40:25.619-07:00</updated><title type='text'>PanelCollection set width 100 percent</title><content type='html'>Select Panel collection in properties set Style Class property to "AFStretchWidth"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7536983549269670501?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7536983549269670501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7536983549269670501'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/03/panelcollection-set-width-100-percent.html' title='PanelCollection set width 100 percent'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5063724874711218644</id><published>2011-03-24T20:58:00.000-07:00</published><updated>2011-03-24T20:58:52.064-07:00</updated><title type='text'>JNDI Connection in jdeveloper</title><content type='html'>In applicationmodule properties set the database connection to jdbc datasource and the value "jdbc/your_datasource_name"&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-q98WgLmEViw/TYwS98wVb2I/AAAAAAAAAS8/obZ5l9fnhG4/s1600/jndi.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="266" src="http://3.bp.blogspot.com/-q98WgLmEViw/TYwS98wVb2I/AAAAAAAAAS8/obZ5l9fnhG4/s320/jndi.jpg" /&gt;&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/8013330744794401835-5063724874711218644?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5063724874711218644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5063724874711218644'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/03/jndi-connection-in-jdeveloper.html' title='JNDI Connection in jdeveloper'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-q98WgLmEViw/TYwS98wVb2I/AAAAAAAAAS8/obZ5l9fnhG4/s72-c/jndi.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4362786144216068920</id><published>2011-03-09T04:08:00.000-08:00</published><updated>2011-03-09T04:08:12.430-08:00</updated><title type='text'>Application Context</title><content type='html'>In viewcontroller project properties -&gt; Java EE Application. give application name and context name here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-4362786144216068920?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4362786144216068920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4362786144216068920'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/03/application-context.html' title='Application Context'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3551518409337042537</id><published>2011-03-03T23:17:00.000-08:00</published><updated>2011-03-03T23:17:14.647-08:00</updated><title type='text'>ADF 11g: Deleting all rows from Viewobject programmatically.</title><content type='html'>On button event write below code:&lt;br /&gt;&lt;br /&gt;DCBindingContainer dc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();&lt;br /&gt;       &lt;br /&gt;   ViewObject myVo= dc.findIteratorBinding("myVoIterator").getViewObject();    &lt;br /&gt;   RowSetIterator rsI = myVo.createRowSetIterator(null);&lt;br /&gt;   while(rsI.hasNext()){&lt;br /&gt;     rsI.next().remove();&lt;br /&gt;   }&lt;br /&gt;   rsI.closeRowSetIterator();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-3551518409337042537?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3551518409337042537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3551518409337042537'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/03/adf-11g-deleting-all-rows-from.html' title='ADF 11g: Deleting all rows from Viewobject programmatically.'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4942311498979118706</id><published>2011-02-27T23:39:00.000-08:00</published><updated>2011-03-02T04:44:54.800-08:00</updated><title type='text'>PageFlowScope variables</title><content type='html'>Drag and drop Set Property lister from operations pallette onto any component on your page. This gives flexibility to assign values to variables on the go whithout declaring them anywhere.&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0FSBPFhw8E0/TWtPSgeGfkI/AAAAAAAAASk/gYhuPdWwock/s1600/provertylistener.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="138" width="320" src="http://2.bp.blogspot.com/-0FSBPFhw8E0/TWtPSgeGfkI/AAAAAAAAASk/gYhuPdWwock/s320/provertylistener.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The value "test" will be assigned to variable demo, note the demo variable is not declated anywhere. &lt;br /&gt;&lt;br /&gt;This can be used in many places e.g in menuitems create command menu items and you can drag and drop property listener on each of them. On clicking any of the items you assign different values to just one variable everywhere say #{pageFlowScope.menuClicked} and values as user defined.&lt;br /&gt;&lt;br /&gt;Now in bounded taskflow say adfc-config.xml you can define controlflow for each of these values&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-rEvgVdw2OJ8/TWtRKbV6iJI/AAAAAAAAAS0/6sAaLr9sNHg/s1600/router.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="305" src="http://1.bp.blogspot.com/-rEvgVdw2OJ8/TWtRKbV6iJI/AAAAAAAAAS0/6sAaLr9sNHg/s320/router.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can also programmatically access pageFlowScope variables:&lt;br /&gt;AdfFacesContext.getCurrentInstance().getPageFlowScope().put("user_var","value" );&lt;br /&gt;System.out.println("value"+AdfFacesContext.getCurrentInstance().getPageFlowScope().get("user_var")); //user defined variables as first argument.&lt;br /&gt;&lt;br /&gt;This can be used in lot of places e.g. if you three tabs add, update, delete you can use single interface with all the buttons setting the buttons rendered property to values of this variable like this:&lt;br /&gt;&lt;br /&gt;#{pageFlowScope.selectedTab == 'addTab'}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-4942311498979118706?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4942311498979118706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4942311498979118706'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/02/pageflowscope-variables.html' title='PageFlowScope variables'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-0FSBPFhw8E0/TWtPSgeGfkI/AAAAAAAAASk/gYhuPdWwock/s72-c/provertylistener.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8780679313893164990</id><published>2011-02-21T02:08:00.001-08:00</published><updated>2011-02-21T02:08:59.108-08:00</updated><title type='text'>Oracle ADF View Criteria</title><content type='html'>We can have one view object to have multiple view criterias which can be used to execute at run time. Define the view criteria at desin time and use following code to execute any of the view criteria:&lt;br /&gt;        DCBindingContainer dc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();&lt;br /&gt;        ViewObject vo=dc.findIteratorBinding("SubmissionViewRptPrdVO1Iterator").getViewObject();&lt;br /&gt;        System.out.println("View name: "+vo.getName());&lt;br /&gt;        ViewCriteriaManager vcm = vo.getViewCriteriaManager();&lt;br /&gt;        ViewCriteria vc=vcm.getViewCriteria("RptPrdForUser");&lt;br /&gt;        VariableValueManager vm=vo.ensureVariableManager();&lt;br /&gt;        vm.setVariableValue("userId", "3");&lt;br /&gt;        vo.applyViewCriteria(vc);&lt;br /&gt;        vo.executeQuery();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8780679313893164990?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8780679313893164990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8780679313893164990'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/02/oracle-adf-view-criteria.html' title='Oracle ADF View Criteria'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6380680492484355059</id><published>2011-02-14T23:03:00.001-08:00</published><updated>2011-02-14T23:03:11.810-08:00</updated><title type='text'>Database(Tables Objects) with data export steps.</title><content type='html'>Select all tables you need to export -&gt; right click -&gt; upload&lt;br /&gt;this will create the sql script file. Which you can execute on your local database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6380680492484355059?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6380680492484355059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6380680492484355059'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/02/databasetables-objects-with-data-export.html' title='Database(Tables Objects) with data export steps.'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-139338880761283452</id><published>2011-02-04T02:26:00.003-08:00</published><updated>2011-02-04T02:26:05.464-08:00</updated><title type='text'>ADF Timestamp &amp; Date</title><content type='html'>In view object attribute value specify type as expression and give value as&lt;br /&gt;&lt;br /&gt;adf.currentDate&lt;br /&gt;adf.currentDateTime&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-139338880761283452?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/139338880761283452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/139338880761283452'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/02/adf-timestamp-date.html' title='ADF Timestamp &amp; Date'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8145942080509654700</id><published>2011-02-02T03:26:00.000-08:00</published><updated>2011-02-02T03:26:59.004-08:00</updated><title type='text'>ADF Sequence number</title><content type='html'>Create java classes for entity object and for the attribute setter method put below code and your sequence name instead of seq1.&lt;br /&gt;&lt;br /&gt;      SequenceImpl s = new SequenceImpl("seq1",getDBTransaction());      &lt;br /&gt;      setAttributeInternal(SUBMHEADID, s.getSequenceNumber());&lt;br /&gt;&lt;br /&gt;Note: you need to provide some dummy value like -1 in the display to avoid madatory validation. At the time of insert it will take value from sequence.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8145942080509654700?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8145942080509654700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8145942080509654700'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/02/adf-sequence-number.html' title='ADF Sequence number'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7813153852449822450</id><published>2011-01-19T01:41:00.000-08:00</published><updated>2011-01-19T01:41:55.555-08:00</updated><title type='text'>ADF: Code to insert record in database table programmatically</title><content type='html'>Code for inserting record in Database programmatically.&lt;br /&gt;&lt;br /&gt;    public String cb2_action() {        &lt;br /&gt;        // Add event code here...&lt;br /&gt;        Row newRow;&lt;br /&gt;        BindingContainer bindings = getBindings();&lt;br /&gt;        OperationBinding operationBinding = bindings.getOperationBinding("Commit");&lt;br /&gt;        Object result ;        &lt;br /&gt;        ApplicationModule am = ADFUtils.getApplicationModuleForDataControl("BHCModuleDataControl");        //application name from data controls and not application module&lt;br /&gt;        ViewObject myView = am.findViewObject("TempView1");  //view name from data controls&lt;br /&gt;        newRow = (oracle.jbo.server.ViewRowImpl)myView.createRow();&lt;br /&gt;        newRow.setAttribute("Name", "Amol");&lt;br /&gt;        myView.insertRow(newRow);&lt;br /&gt;        operationBinding = bindings.getOperationBinding("Commit");&lt;br /&gt;        result = operationBinding.execute();&lt;br /&gt;        &lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;Note: Drag and Drop Commit operation from Datacontrol on jsf page to get Commit binding in page definition.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_IFdtldi3EYs/TTax2TsBWsI/AAAAAAAAASY/VUZuADEB9qI/s1600/InsertRecord.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="123" width="320" src="http://3.bp.blogspot.com/_IFdtldi3EYs/TTax2TsBWsI/AAAAAAAAASY/VUZuADEB9qI/s320/InsertRecord.jpg" /&gt;&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/8013330744794401835-7813153852449822450?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7813153852449822450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7813153852449822450'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/01/adf-code-to-insert-record-in-database.html' title='ADF: Code to insert record in database table programmatically'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IFdtldi3EYs/TTax2TsBWsI/AAAAAAAAASY/VUZuADEB9qI/s72-c/InsertRecord.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6928666039558081199</id><published>2011-01-06T01:16:00.001-08:00</published><updated>2011-01-06T01:16:30.193-08:00</updated><title type='text'>Navigating between JSF pages programmatically</title><content type='html'>FacesContext fctx = FacesContext.getCurrentInstance();&lt;br /&gt;Application application = fctx.getApplication();&lt;br /&gt;NavigationHandler navHandler = application.getNavigationHandler();&lt;br /&gt;navHandler.handleNavigation(fctx,null, "name of navigation case");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-6928666039558081199?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6928666039558081199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6928666039558081199'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2011/01/navigating-between-jsf-pages.html' title='Navigating between JSF pages programmatically'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7019955862836784747</id><published>2010-12-29T23:14:00.000-08:00</published><updated>2010-12-29T23:17:01.752-08:00</updated><title type='text'>Programmatically Getting and Setting Expression Values</title><content type='html'>You need to have ADFUtils and JSF Utils Class in you application and within your backing bean you can used below code to resolve and set expression values. Also if your managed bean is having session scope you can use below code:&lt;br /&gt;************************************&lt;br /&gt;JSFUtils.setExpressionValue("#{UserBean.uid}","tanveer");&lt;br /&gt;&lt;br /&gt;UserDetails userBean = (UserDetails)JSFUtils.getFromSession("UserBean");        &lt;br /&gt;&lt;br /&gt;String myExpVal = (String)JSFUtils.resolveExpression("#{UserBean.uid}");&lt;br /&gt;*****************************************&lt;br /&gt;&lt;br /&gt;ADFUtils Code:&lt;br /&gt;*********************************************&lt;br /&gt;package bhc.view;&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;import javax.faces.model.SelectItem;&lt;br /&gt;&lt;br /&gt;import oracle.adf.model.BindingContext;&lt;br /&gt;import oracle.adf.model.binding.DCBindingContainer;&lt;br /&gt;import oracle.adf.model.binding.DCIteratorBinding;&lt;br /&gt;import oracle.adf.model.binding.DCParameter;&lt;br /&gt;&lt;br /&gt;import oracle.adf.share.logging.ADFLogger;&lt;br /&gt;&lt;br /&gt;import oracle.binding.AttributeBinding;&lt;br /&gt;import oracle.binding.BindingContainer;&lt;br /&gt;&lt;br /&gt;import oracle.binding.ControlBinding;&lt;br /&gt;&lt;br /&gt;import oracle.binding.OperationBinding;&lt;br /&gt;&lt;br /&gt;//import oracle.fodemo.storefront.jsf.util.JSFUtils;&lt;br /&gt;&lt;br /&gt;import oracle.jbo.ApplicationModule;&lt;br /&gt;import oracle.jbo.Key;&lt;br /&gt;import oracle.jbo.Row;&lt;br /&gt;import oracle.jbo.uicli.binding.JUCtrlValueBinding;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* A series of convenience functions for dealing with ADF Bindings.&lt;br /&gt;* Note: Updated for JDeveloper 11&lt;br /&gt;*&lt;br /&gt;* @author Duncan Mills&lt;br /&gt;* @author Steve Muench&lt;br /&gt;*&lt;br /&gt;* $Id: ADFUtils.java 2513 2007-09-20 20:39:13Z ralsmith $.&lt;br /&gt;*/&lt;br /&gt;public class ADFUtils {&lt;br /&gt;&lt;br /&gt;public static final ADFLogger LOGGER = ADFLogger.createADFLogger(ADFUtils.class);&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get application module for an application module data control by name.&lt;br /&gt;* @param name application module data control name&lt;br /&gt;* @return ApplicationModule&lt;br /&gt;*/&lt;br /&gt;public static ApplicationModule getApplicationModuleForDataControl(String name) {&lt;br /&gt;return (ApplicationModule)JSFUtils.resolveExpression("#{data." + name +&lt;br /&gt;".dataProvider}");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* A convenience method for getting the value of a bound attribute in the&lt;br /&gt;* current page context programatically.&lt;br /&gt;* @param attributeName of the bound value in the pageDef&lt;br /&gt;* @return value of the attribute&lt;br /&gt;*/&lt;br /&gt;public static Object getBoundAttributeValue(String attributeName) {&lt;br /&gt;return findControlBinding(attributeName).getInputValue();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* A convenience method for setting the value of a bound attribute in the&lt;br /&gt;* context of the current page.&lt;br /&gt;* @param attributeName of the bound value in the pageDef&lt;br /&gt;* @param value to set&lt;br /&gt;*/&lt;br /&gt;public static void setBoundAttributeValue(String attributeName,&lt;br /&gt;Object value) {&lt;br /&gt;findControlBinding(attributeName).setInputValue(value);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Returns the evaluated value of a pageDef parameter.&lt;br /&gt;* @param pageDefName reference to the page definition file of the page with the parameter&lt;br /&gt;* @param parameterName name of the pagedef parameter&lt;br /&gt;* @return evaluated value of the parameter as a String&lt;br /&gt;*/&lt;br /&gt;public static Object getPageDefParameterValue(String pageDefName,&lt;br /&gt;String parameterName) {&lt;br /&gt;BindingContainer bindings = findBindingContainer(pageDefName);&lt;br /&gt;DCParameter param =&lt;br /&gt;((DCBindingContainer)bindings).findParameter(parameterName);&lt;br /&gt;return param.getValue();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method to find a DCControlBinding as an AttributeBinding&lt;br /&gt;* to get able to then call getInputValue() or setInputValue() on it.&lt;br /&gt;* @param bindingContainer binding container&lt;br /&gt;* @param attributeName name of the attribute binding.&lt;br /&gt;* @return the control value binding with the name passed in.&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public static AttributeBinding findControlBinding(BindingContainer bindingContainer,&lt;br /&gt;String attributeName) {&lt;br /&gt;if (attributeName != null) {&lt;br /&gt;if (bindingContainer != null) {&lt;br /&gt;ControlBinding ctrlBinding =&lt;br /&gt;bindingContainer.getControlBinding(attributeName);&lt;br /&gt;if (ctrlBinding instanceof AttributeBinding) {&lt;br /&gt;return (AttributeBinding)ctrlBinding;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method to find a DCControlBinding as a JUCtrlValueBinding&lt;br /&gt;* to get able to then call getInputValue() or setInputValue() on it.&lt;br /&gt;* @param attributeName name of the attribute binding.&lt;br /&gt;* @return the control value binding with the name passed in.&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public static AttributeBinding findControlBinding(String attributeName) {&lt;br /&gt;return findControlBinding(getBindingContainer(), attributeName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Return the current page's binding container.&lt;br /&gt;* @return the current page's binding container&lt;br /&gt;*/&lt;br /&gt;public static BindingContainer getBindingContainer() {&lt;br /&gt;return (BindingContainer)JSFUtils.resolveExpression("#{bindings}");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Return the Binding Container as a DCBindingContainer.&lt;br /&gt;* @return current binding container as a DCBindingContainer&lt;br /&gt;*/&lt;br /&gt;public static DCBindingContainer getDCBindingContainer() {&lt;br /&gt;return (DCBindingContainer)getBindingContainer();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding.&lt;br /&gt;*&lt;br /&gt;* Uses the value of the 'valueAttrName' attribute as the key for&lt;br /&gt;* the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iteratorName ADF iterator binding name&lt;br /&gt;* @param valueAttrName name of the value attribute to use&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @return ADF Faces SelectItem for an iterator binding&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsForIterator(String iteratorName,&lt;br /&gt;String valueAttrName,&lt;br /&gt;String displayAttrName) {&lt;br /&gt;return selectItemsForIterator(findIterator(iteratorName),&lt;br /&gt;valueAttrName, displayAttrName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding with description.&lt;br /&gt;*&lt;br /&gt;* Uses the value of the 'valueAttrName' attribute as the key for&lt;br /&gt;* the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iteratorName ADF iterator binding name&lt;br /&gt;* @param valueAttrName name of the value attribute to use&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @param descriptionAttrName name of the attribute to use for description&lt;br /&gt;* @return ADF Faces SelectItem for an iterator binding with description&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsForIterator(String iteratorName,&lt;br /&gt;String valueAttrName,&lt;br /&gt;String displayAttrName,&lt;br /&gt;String descriptionAttrName) {&lt;br /&gt;return selectItemsForIterator(findIterator(iteratorName),&lt;br /&gt;valueAttrName, displayAttrName,&lt;br /&gt;descriptionAttrName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of attribute values for an iterator.&lt;br /&gt;* @param iteratorName ADF iterator binding name&lt;br /&gt;* @param valueAttrName value attribute to use&lt;br /&gt;* @return List of attribute values for an iterator&lt;br /&gt;*/&lt;br /&gt;public static List attributeListForIterator(String iteratorName,&lt;br /&gt;String valueAttrName) {&lt;br /&gt;return attributeListForIterator(findIterator(iteratorName),&lt;br /&gt;valueAttrName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of Key objects for rows in an iterator.&lt;br /&gt;* @param iteratorName iterabot binding name&lt;br /&gt;* @return List of Key objects for rows&lt;br /&gt;*/&lt;br /&gt;public static List&lt;key&gt; keyListForIterator(String iteratorName) {&lt;br /&gt;return keyListForIterator(findIterator(iteratorName));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of Key objects for rows in an iterator.&lt;br /&gt;* @param iter iterator binding&lt;br /&gt;* @return List of Key objects for rows&lt;br /&gt;*/&lt;br /&gt;public static List&lt;key&gt; keyListForIterator(DCIteratorBinding iter) {&lt;br /&gt;List&lt;key&gt; attributeList = new ArrayList&lt;key&gt;();&lt;br /&gt;for (Row r : iter.getAllRowsInRange()) {&lt;br /&gt;attributeList.add(r.getKey());&lt;br /&gt;}&lt;br /&gt;return attributeList;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of Key objects for rows in an iterator using key attribute.&lt;br /&gt;* @param iteratorName iterator binding name&lt;br /&gt;* @param keyAttrName name of key attribute to use&lt;br /&gt;* @return List of Key objects for rows&lt;br /&gt;*/&lt;br /&gt;public static List&lt;key&gt; keyAttrListForIterator(String iteratorName,&lt;br /&gt;String keyAttrName) {&lt;br /&gt;return keyAttrListForIterator(findIterator(iteratorName), keyAttrName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of Key objects for rows in an iterator using key attribute.&lt;br /&gt;*&lt;br /&gt;* @param iter iterator binding&lt;br /&gt;* @param keyAttrName name of key attribute to use&lt;br /&gt;* @return List of Key objects for rows&lt;br /&gt;*/&lt;br /&gt;public static List&lt;key&gt; keyAttrListForIterator(DCIteratorBinding iter,&lt;br /&gt;String keyAttrName) {&lt;br /&gt;List&lt;key&gt; attributeList = new ArrayList&lt;key&gt;();&lt;br /&gt;for (Row r : iter.getAllRowsInRange()) {&lt;br /&gt;attributeList.add(new Key(new Object[] { r.getAttribute(keyAttrName) }));&lt;br /&gt;}&lt;br /&gt;return attributeList;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get a List of attribute values for an iterator.&lt;br /&gt;*&lt;br /&gt;* @param iter iterator binding&lt;br /&gt;* @param valueAttrName name of value attribute to use&lt;br /&gt;* @return List of attribute values&lt;br /&gt;*/&lt;br /&gt;public static List attributeListForIterator(DCIteratorBinding iter,&lt;br /&gt;String valueAttrName) {&lt;br /&gt;List attributeList = new ArrayList();&lt;br /&gt;for (Row r : iter.getAllRowsInRange()) {&lt;br /&gt;attributeList.add(r.getAttribute(valueAttrName));&lt;br /&gt;}&lt;br /&gt;return attributeList;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Find an iterator binding in the current binding container by name.&lt;br /&gt;*&lt;br /&gt;* @param name iterator binding name&lt;br /&gt;* @return iterator binding&lt;br /&gt;*/&lt;br /&gt;public static DCIteratorBinding findIterator(String name) {&lt;br /&gt;DCIteratorBinding iter =&lt;br /&gt;getDCBindingContainer().findIteratorBinding(name);&lt;br /&gt;if (iter == null) {&lt;br /&gt;throw new RuntimeException("Iterator '" + name + "' not found");&lt;br /&gt;}&lt;br /&gt;return iter;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param bindingContainer&lt;br /&gt;* @param iterator&lt;br /&gt;* @return&lt;br /&gt;*/&lt;br /&gt;public static DCIteratorBinding findIterator(String bindingContainer, String iterator) {&lt;br /&gt;DCBindingContainer bindings =&lt;br /&gt;(DCBindingContainer)JSFUtils.resolveExpression("#{" + bindingContainer + "}");&lt;br /&gt;if (bindings == null) {&lt;br /&gt;throw new RuntimeException("Binding container '" +&lt;br /&gt;bindingContainer + "' not found");&lt;br /&gt;}&lt;br /&gt;DCIteratorBinding iter = bindings.findIteratorBinding(iterator);&lt;br /&gt;if (iter == null) {&lt;br /&gt;throw new RuntimeException("Iterator '" + iterator + "' not found");&lt;br /&gt;}&lt;br /&gt;return iter;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param name&lt;br /&gt;* @return&lt;br /&gt;*/&lt;br /&gt;public static JUCtrlValueBinding findCtrlBinding(String name){&lt;br /&gt;JUCtrlValueBinding rowBinding =&lt;br /&gt;(JUCtrlValueBinding)getDCBindingContainer().findCtrlBinding(name);&lt;br /&gt;if (rowBinding == null) {&lt;br /&gt;throw new RuntimeException("CtrlBinding " + name + "' not found");&lt;br /&gt;}&lt;br /&gt;return rowBinding;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Find an operation binding in the current binding container by name.&lt;br /&gt;*&lt;br /&gt;* @param name operation binding name&lt;br /&gt;* @return operation binding&lt;br /&gt;*/&lt;br /&gt;public static OperationBinding findOperation(String name) {&lt;br /&gt;OperationBinding op =&lt;br /&gt;getDCBindingContainer().getOperationBinding(name);&lt;br /&gt;if (op == null) {&lt;br /&gt;throw new RuntimeException("Operation '" + name + "' not found");&lt;br /&gt;}&lt;br /&gt;return op;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Find an operation binding in the current binding container by name.&lt;br /&gt;*&lt;br /&gt;* @param bindingContianer binding container name&lt;br /&gt;* @param opName operation binding name&lt;br /&gt;* @return operation binding&lt;br /&gt;*/&lt;br /&gt;public static OperationBinding findOperation(String bindingContianer,&lt;br /&gt;String opName) {&lt;br /&gt;DCBindingContainer bindings =&lt;br /&gt;(DCBindingContainer)JSFUtils.resolveExpression("#{" + bindingContianer + "}");&lt;br /&gt;if (bindings == null) {&lt;br /&gt;throw new RuntimeException("Binding container '" +&lt;br /&gt;bindingContianer + "' not found");&lt;br /&gt;}&lt;br /&gt;OperationBinding op =&lt;br /&gt;bindings.getOperationBinding(opName);&lt;br /&gt;if (op == null) {&lt;br /&gt;throw new RuntimeException("Operation '" + opName + "' not found");&lt;br /&gt;}&lt;br /&gt;return op;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding with description.&lt;br /&gt;*&lt;br /&gt;* Uses the value of the 'valueAttrName' attribute as the key for&lt;br /&gt;* the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iter ADF iterator binding&lt;br /&gt;* @param valueAttrName name of value attribute to use for key&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @param descriptionAttrName name of the attribute for description&lt;br /&gt;* @return ADF Faces SelectItem for an iterator binding with description&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsForIterator(DCIteratorBinding iter,&lt;br /&gt;String valueAttrName,&lt;br /&gt;String displayAttrName,&lt;br /&gt;String descriptionAttrName) {&lt;br /&gt;List&lt;selectitem&gt; selectItems = new ArrayList&lt;selectitem&gt;();&lt;br /&gt;for (Row r : iter.getAllRowsInRange()) {&lt;br /&gt;selectItems.add(new SelectItem(r.getAttribute(valueAttrName),&lt;br /&gt;(String)r.getAttribute(displayAttrName),&lt;br /&gt;(String)r.getAttribute(descriptionAttrName)));&lt;br /&gt;}&lt;br /&gt;return selectItems;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding.&lt;br /&gt;*&lt;br /&gt;* Uses the value of the 'valueAttrName' attribute as the key for&lt;br /&gt;* the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iter ADF iterator binding&lt;br /&gt;* @param valueAttrName name of value attribute to use for key&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @return ADF Faces SelectItem for an iterator binding&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsForIterator(DCIteratorBinding iter,&lt;br /&gt;String valueAttrName,&lt;br /&gt;String displayAttrName) {&lt;br /&gt;List&lt;selectitem&gt; selectItems = new ArrayList&lt;selectitem&gt;();&lt;br /&gt;for (Row r : iter.getAllRowsInRange()) {&lt;br /&gt;selectItems.add(new SelectItem(r.getAttribute(valueAttrName),&lt;br /&gt;(String)r.getAttribute(displayAttrName)));&lt;br /&gt;}&lt;br /&gt;return selectItems;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding.&lt;br /&gt;*&lt;br /&gt;* Uses the rowKey of each row as the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iteratorName ADF iterator binding name&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @return ADF Faces SelectItem for an iterator binding&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsByKeyForIterator(String iteratorName,&lt;br /&gt;String displayAttrName) {&lt;br /&gt;return selectItemsByKeyForIterator(findIterator(iteratorName),&lt;br /&gt;displayAttrName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding with discription.&lt;br /&gt;*&lt;br /&gt;* Uses the rowKey of each row as the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iteratorName ADF iterator binding name&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @param descriptionAttrName name of the attribute for description&lt;br /&gt;* @return ADF Faces SelectItem for an iterator binding with discription&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsByKeyForIterator(String iteratorName,&lt;br /&gt;String displayAttrName,&lt;br /&gt;String descriptionAttrName) {&lt;br /&gt;return selectItemsByKeyForIterator(findIterator(iteratorName),&lt;br /&gt;displayAttrName,&lt;br /&gt;descriptionAttrName);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding with discription.&lt;br /&gt;*&lt;br /&gt;* Uses the rowKey of each row as the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iter ADF iterator binding&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @param descriptionAttrName name of the attribute for description&lt;br /&gt;* @return ADF Faces SelectItem for an iterator binding with discription&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsByKeyForIterator(DCIteratorBinding iter,&lt;br /&gt;String displayAttrName,&lt;br /&gt;String descriptionAttrName) {&lt;br /&gt;List&lt;selectitem&gt; selectItems = new ArrayList&lt;selectitem&gt;();&lt;br /&gt;for (Row r : iter.getAllRowsInRange()) {&lt;br /&gt;selectItems.add(new SelectItem(r.getKey(),&lt;br /&gt;(String)r.getAttribute(displayAttrName),&lt;br /&gt;(String)r.getAttribute(descriptionAttrName)));&lt;br /&gt;}&lt;br /&gt;return selectItems;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get List of ADF Faces SelectItem for an iterator binding.&lt;br /&gt;*&lt;br /&gt;* Uses the rowKey of each row as the SelectItem key.&lt;br /&gt;*&lt;br /&gt;* @param iter ADF iterator binding&lt;br /&gt;* @param displayAttrName name of the attribute from iterator rows to display&lt;br /&gt;* @return List of ADF Faces SelectItem for an iterator binding&lt;br /&gt;*/&lt;br /&gt;public static List&lt;selectitem&gt; selectItemsByKeyForIterator(DCIteratorBinding iter,&lt;br /&gt;String displayAttrName) {&lt;br /&gt;List&lt;selectitem&gt; selectItems = new ArrayList&lt;selectitem&gt;();&lt;br /&gt;for (Row r : iter.getAllRowsInRange()) {&lt;br /&gt;selectItems.add(new SelectItem(r.getKey(),&lt;br /&gt;(String)r.getAttribute(displayAttrName)));&lt;br /&gt;}&lt;br /&gt;return selectItems;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Find the BindingContainer for a page definition by name.&lt;br /&gt;*&lt;br /&gt;* Typically used to refer eagerly to page definition parameters. It is&lt;br /&gt;* not best practice to reference or set bindings in binding containers&lt;br /&gt;* that are not the one for the current page.&lt;br /&gt;*&lt;br /&gt;* @param pageDefName name of the page defintion XML file to use&lt;br /&gt;* @return BindingContainer ref for the named definition&lt;br /&gt;*/&lt;br /&gt;private static BindingContainer findBindingContainer(String pageDefName) {&lt;br /&gt;BindingContext bctx = getDCBindingContainer().getBindingContext();&lt;br /&gt;BindingContainer foundContainer =&lt;br /&gt;bctx.findBindingContainer(pageDefName);&lt;br /&gt;return foundContainer;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param opList&lt;br /&gt;*/&lt;br /&gt;public static void printOperationBindingExceptions(List opList){&lt;br /&gt;if(opList != null &amp;&amp; !opList.isEmpty()){&lt;br /&gt;for(Object error:opList){&lt;br /&gt;LOGGER.severe( error.toString() );&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;***************************************************************************************************&lt;br /&gt;JSFUtils.java&lt;br /&gt;***************************************************************************************************&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package bhc.view;&lt;br /&gt;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.Locale;&lt;br /&gt;import java.util.Map;&lt;br /&gt;import java.util.MissingResourceException;&lt;br /&gt;import java.util.ResourceBundle;&lt;br /&gt;&lt;br /&gt;import javax.el.ELContext;&lt;br /&gt;import javax.el.ExpressionFactory;&lt;br /&gt;import javax.el.MethodExpression;&lt;br /&gt;import javax.el.ValueExpression;&lt;br /&gt;&lt;br /&gt;import javax.faces.application.Application;&lt;br /&gt;import javax.faces.application.FacesMessage;&lt;br /&gt;import javax.faces.component.UIComponent;&lt;br /&gt;import javax.faces.component.UIViewRoot;&lt;br /&gt;import javax.faces.context.ExternalContext;&lt;br /&gt;import javax.faces.context.FacesContext;&lt;br /&gt;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* General useful static utilies for working with JSF.&lt;br /&gt;* NOTE: Updated to use JSF 1.2 ExpressionFactory.&lt;br /&gt;*&lt;br /&gt;* @author Duncan Mills&lt;br /&gt;* @author Steve Muench&lt;br /&gt;* @author Ric Smith&lt;br /&gt;*&lt;br /&gt;* $Id: JSFUtils.java 2383 2007-09-17 16:25:37Z drmills $&lt;br /&gt;*/&lt;br /&gt;public class JSFUtils {&lt;br /&gt;&lt;br /&gt;private static final String NO_RESOURCE_FOUND = "Missing resource: ";&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Method for taking a reference to a JSF binding expression and returning&lt;br /&gt;* the matching object (or creating it).&lt;br /&gt;* @param expression EL expression&lt;br /&gt;* @return Managed object&lt;br /&gt;*/&lt;br /&gt;public static Object resolveExpression(String expression) {&lt;br /&gt;FacesContext facesContext = getFacesContext();&lt;br /&gt;Application app = facesContext.getApplication();&lt;br /&gt;ExpressionFactory elFactory = app.getExpressionFactory();&lt;br /&gt;ELContext elContext = facesContext.getELContext();&lt;br /&gt;ValueExpression valueExp =&lt;br /&gt;elFactory.createValueExpression(elContext, expression,&lt;br /&gt;Object.class);&lt;br /&gt;return valueExp.getValue(elContext);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static String resolveRemoteUser() {&lt;br /&gt;FacesContext facesContext = getFacesContext();&lt;br /&gt;ExternalContext ectx = facesContext.getExternalContext();&lt;br /&gt;return ectx.getRemoteUser();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static String resolveUserPrincipal() {&lt;br /&gt;FacesContext facesContext = getFacesContext();&lt;br /&gt;ExternalContext ectx = facesContext.getExternalContext();&lt;br /&gt;HttpServletRequest request = (HttpServletRequest)ectx.getRequest();&lt;br /&gt;return request.getUserPrincipal().getName();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static Object resloveMethodExpression(String expression,&lt;br /&gt;Class returnType,&lt;br /&gt;Class[] argTypes,&lt;br /&gt;Object[] argValues) {&lt;br /&gt;FacesContext facesContext = getFacesContext();&lt;br /&gt;Application app = facesContext.getApplication();&lt;br /&gt;ExpressionFactory elFactory = app.getExpressionFactory();&lt;br /&gt;ELContext elContext = facesContext.getELContext();&lt;br /&gt;MethodExpression methodExpression =&lt;br /&gt;elFactory.createMethodExpression(elContext, expression, returnType,&lt;br /&gt;argTypes);&lt;br /&gt;return methodExpression.invoke(elContext, argValues);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Method for taking a reference to a JSF binding expression and returning&lt;br /&gt;* the matching Boolean.&lt;br /&gt;* @param expression EL expression&lt;br /&gt;* @return Managed object&lt;br /&gt;*/&lt;br /&gt;public static Boolean resolveExpressionAsBoolean(String expression) {&lt;br /&gt;return (Boolean)resolveExpression(expression);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Method for taking a reference to a JSF binding expression and returning&lt;br /&gt;* the matching String (or creating it).&lt;br /&gt;* @param expression EL expression&lt;br /&gt;* @return Managed object&lt;br /&gt;*/&lt;br /&gt;public static String resolveExpressionAsString(String expression) {&lt;br /&gt;return (String)resolveExpression(expression);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method for resolving a reference to a managed bean by name&lt;br /&gt;* rather than by expression.&lt;br /&gt;* @param beanName name of managed bean&lt;br /&gt;* @return Managed object&lt;br /&gt;*/&lt;br /&gt;public static Object getManagedBeanValue(String beanName) {&lt;br /&gt;StringBuffer buff = new StringBuffer("#{");&lt;br /&gt;buff.append(beanName);&lt;br /&gt;buff.append("}");&lt;br /&gt;return resolveExpression(buff.toString());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Method for setting a new object into a JSF managed bean&lt;br /&gt;* Note: will fail silently if the supplied object does&lt;br /&gt;* not match the type of the managed bean.&lt;br /&gt;* @param expression EL expression&lt;br /&gt;* @param newValue new value to set&lt;br /&gt;*/&lt;br /&gt;public static void setExpressionValue(String expression, Object newValue) {&lt;br /&gt;FacesContext facesContext = getFacesContext();&lt;br /&gt;Application app = facesContext.getApplication();&lt;br /&gt;ExpressionFactory elFactory = app.getExpressionFactory();&lt;br /&gt;ELContext elContext = facesContext.getELContext();&lt;br /&gt;ValueExpression valueExp =&lt;br /&gt;elFactory.createValueExpression(elContext, expression,&lt;br /&gt;Object.class);&lt;br /&gt;&lt;br /&gt;//Check that the input newValue can be cast to the property type&lt;br /&gt;//expected by the managed bean.&lt;br /&gt;//If the managed Bean expects a primitive we rely on Auto-Unboxing&lt;br /&gt;//I could do a more comprehensive check and conversion from the object&lt;br /&gt;//to the equivilent primitive but life is too short&lt;br /&gt;Class bindClass = valueExp.getType(elContext);&lt;br /&gt;if (bindClass.isPrimitive() || bindClass.isInstance(newValue)) {&lt;br /&gt;valueExp.setValue(elContext, newValue);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method for setting the value of a managed bean by name&lt;br /&gt;* rather than by expression.&lt;br /&gt;* @param beanName name of managed bean&lt;br /&gt;* @param newValue new value to set&lt;br /&gt;*/&lt;br /&gt;public static void setManagedBeanValue(String beanName, Object newValue) {&lt;br /&gt;StringBuffer buff = new StringBuffer("#{");&lt;br /&gt;buff.append(beanName);&lt;br /&gt;buff.append("}");&lt;br /&gt;setExpressionValue(buff.toString(), newValue);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method for setting Session variables.&lt;br /&gt;* @param key object key&lt;br /&gt;* @param object value to store&lt;br /&gt;*/&lt;br /&gt;public static&lt;br /&gt;&lt;br /&gt;void storeOnSession(String key, Object object) {&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;Map sessionState = ctx.getExternalContext().getSessionMap();&lt;br /&gt;sessionState.put(key, object);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method for getting Session variables.&lt;br /&gt;* @param key object key&lt;br /&gt;* @return session object for key&lt;br /&gt;*/&lt;br /&gt;public static Object getFromSession(String key) {&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;Map sessionState = ctx.getExternalContext().getSessionMap();&lt;br /&gt;return sessionState.get(key);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static String getFromHeader(String key) {&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;ExternalContext ectx = ctx.getExternalContext();&lt;br /&gt;return ectx.getRequestHeaderMap().get(key);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method for getting Request variables.&lt;br /&gt;* @param key object key&lt;br /&gt;* @return session object for key&lt;br /&gt;*/&lt;br /&gt;public static Object getFromRequest(String key) {&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;Map sessionState = ctx.getExternalContext().getRequestMap();&lt;br /&gt;return sessionState.get(key);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Pulls a String resource from the property bundle that&lt;br /&gt;* is defined under the application &amp;lt;message-bundle&amp;gt; element in&lt;br /&gt;* the faces config. Respects Locale&lt;br /&gt;* @param key string message key&lt;br /&gt;* @return Resource value or placeholder error String&lt;br /&gt;*/&lt;br /&gt;public static String getStringFromBundle(String key) {&lt;br /&gt;ResourceBundle bundle = getBundle();&lt;br /&gt;return getStringSafely(bundle, key, null);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Convenience method to construct a &lt;code&gt;FacesMesssage&lt;/code&gt;&lt;br /&gt;* from a defined error key and severity&lt;br /&gt;* This assumes that the error keys follow the convention of&lt;br /&gt;* using &lt;b&gt;_detail&lt;/b&gt; for the detailed part of the&lt;br /&gt;* message, otherwise the main message is returned for the&lt;br /&gt;* detail as well.&lt;br /&gt;* @param key for the error message in the resource bundle&lt;br /&gt;* @param severity severity of message&lt;br /&gt;* @return Faces Message object&lt;br /&gt;*/&lt;br /&gt;public static FacesMessage getMessageFromBundle(String key,&lt;br /&gt;FacesMessage.Severity severity) {&lt;br /&gt;ResourceBundle bundle = getBundle();&lt;br /&gt;String summary = getStringSafely(bundle, key, null);&lt;br /&gt;String detail = getStringSafely(bundle, key + "_detail", summary);&lt;br /&gt;FacesMessage message = new FacesMessage(summary, detail);&lt;br /&gt;message.setSeverity(severity);&lt;br /&gt;return message;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Add JSF info message.&lt;br /&gt;* @param msg info message string&lt;br /&gt;*/&lt;br /&gt;public static void addFacesInformationMessage(String msg) {&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;FacesMessage fm =&lt;br /&gt;new FacesMessage(FacesMessage.SEVERITY_INFO, msg, "");&lt;br /&gt;ctx.addMessage(getRootViewComponentId(), fm);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Add JSF error message.&lt;br /&gt;* @param msg error message string&lt;br /&gt;*/&lt;br /&gt;public static void addFacesErrorMessage(String msg) {&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;FacesMessage fm =&lt;br /&gt;new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, "");&lt;br /&gt;ctx.addMessage(getRootViewComponentId(), fm);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Add JSF error message for a specific attribute.&lt;br /&gt;* @param attrName name of attribute&lt;br /&gt;* @param msg error message string&lt;br /&gt;*/&lt;br /&gt;public static void addFacesErrorMessage(String attrName, String msg) {&lt;br /&gt;// TODO: Need a way to associate attribute specific messages&lt;br /&gt;//       with the UIComponent's Id! For now, just using the view id.&lt;br /&gt;//TODO: make this use the internal getMessageFromBundle?&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;FacesMessage fm =&lt;br /&gt;new FacesMessage(FacesMessage.SEVERITY_ERROR, attrName, msg);&lt;br /&gt;ctx.addMessage(getRootViewComponentId(), fm);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Informational getters&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get view id of the view root.&lt;br /&gt;* @return view id of the view root&lt;br /&gt;*/&lt;br /&gt;public static String getRootViewId() {&lt;br /&gt;return getFacesContext().getViewRoot().getViewId();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get component id of the view root.&lt;br /&gt;* @return component id of the view root&lt;br /&gt;*/&lt;br /&gt;public static String getRootViewComponentId() {&lt;br /&gt;return getFacesContext().getViewRoot().getId();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get FacesContext.&lt;br /&gt;* @return FacesContext&lt;br /&gt;*/&lt;br /&gt;public static FacesContext getFacesContext() {&lt;br /&gt;return FacesContext.getCurrentInstance();&lt;br /&gt;}&lt;br /&gt;/*&lt;br /&gt;* Internal method to pull out the correct local&lt;br /&gt;* message bundle&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;private static ResourceBundle getBundle() {&lt;br /&gt;FacesContext ctx = getFacesContext();&lt;br /&gt;UIViewRoot uiRoot = ctx.getViewRoot();&lt;br /&gt;Locale locale = uiRoot.getLocale();&lt;br /&gt;ClassLoader ldr = Thread.currentThread().getContextClassLoader();&lt;br /&gt;return ResourceBundle.getBundle(ctx.getApplication().getMessageBundle(),&lt;br /&gt;locale, ldr);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Get an HTTP Request attribute.&lt;br /&gt;* @param name attribute name&lt;br /&gt;* @return attribute value&lt;br /&gt;*/&lt;br /&gt;public static Object getRequestAttribute(String name) {&lt;br /&gt;return getFacesContext().getExternalContext().getRequestMap().get(name);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Set an HTTP Request attribute.&lt;br /&gt;* @param name attribute name&lt;br /&gt;* @param value attribute value&lt;br /&gt;*/&lt;br /&gt;public static void setRequestAttribute(String name, Object value) {&lt;br /&gt;getFacesContext().getExternalContext().getRequestMap().put(name,&lt;br /&gt;value);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Internal method to proxy for resource keys that don't exist&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;private static String getStringSafely(ResourceBundle bundle, String key,&lt;br /&gt;String defaultValue) {&lt;br /&gt;String resource = null;&lt;br /&gt;try {&lt;br /&gt;resource = bundle.getString(key);&lt;br /&gt;} catch (MissingResourceException mrex) {&lt;br /&gt;if (defaultValue != null) {&lt;br /&gt;resource = defaultValue;&lt;br /&gt;} else {&lt;br /&gt;resource = NO_RESOURCE_FOUND + key;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return resource;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Locate an UIComponent in view root with its component id. Use a recursive way to achieve this.&lt;br /&gt;* Taken from http://www.jroller.com/page/mert?entry=how_to_find_a_uicomponent&lt;br /&gt;* @param id UIComponent id&lt;br /&gt;* @return UIComponent object&lt;br /&gt;*/&lt;br /&gt;public static UIComponent findComponentInRoot(String id) {&lt;br /&gt;UIComponent component = null;&lt;br /&gt;FacesContext facesContext = FacesContext.getCurrentInstance();&lt;br /&gt;if (facesContext != null) {&lt;br /&gt;UIComponent root = facesContext.getViewRoot();&lt;br /&gt;component = findComponent(root, id);&lt;br /&gt;}&lt;br /&gt;return component;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Locate an UIComponent from its root component.&lt;br /&gt;* Taken from http://www.jroller.com/page/mert?entry=how_to_find_a_uicomponent&lt;br /&gt;* @param base root Component (parent)&lt;br /&gt;* @param id UIComponent id&lt;br /&gt;* @return UIComponent object&lt;br /&gt;*/&lt;br /&gt;public static UIComponent findComponent(UIComponent base, String id) {&lt;br /&gt;if (id.equals(base.getId()))&lt;br /&gt;return base;&lt;br /&gt;&lt;br /&gt;UIComponent children = null;&lt;br /&gt;UIComponent result = null;&lt;br /&gt;Iterator childrens = base.getFacetsAndChildren();&lt;br /&gt;while (childrens.hasNext() &amp;&amp; (result == null)) {&lt;br /&gt;children = (UIComponent)childrens.next();&lt;br /&gt;if (id.equals(children.getId())) {&lt;br /&gt;result = children;&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;result = findComponent(children, id);&lt;br /&gt;if (result != null) {&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return result;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Method to create a redirect URL. The assumption is that the JSF servlet mapping is&lt;br /&gt;* "faces", which is the default&lt;br /&gt;*&lt;br /&gt;* @param view the JSP or JSPX page to redirect to&lt;br /&gt;* @return a URL to redirect to&lt;br /&gt;*/&lt;br /&gt;public static String getPageURL(String view) {&lt;br /&gt;FacesContext facesContext = getFacesContext();&lt;br /&gt;ExternalContext externalContext = facesContext.getExternalContext();&lt;br /&gt;String url =&lt;br /&gt;((HttpServletRequest)externalContext.getRequest()).getRequestURL().toString();&lt;br /&gt;StringBuffer newUrlBuffer = new StringBuffer();&lt;br /&gt;newUrlBuffer.append(url.substring(0, url.lastIndexOf("faces/")));&lt;br /&gt;newUrlBuffer.append("faces");&lt;br /&gt;String targetPageUrl = view.startsWith("/") ? view : "/" + view;&lt;br /&gt;newUrlBuffer.append(targetPageUrl);&lt;br /&gt;return newUrlBuffer.toString();&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/8013330744794401835-7019955862836784747?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7019955862836784747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7019955862836784747'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/12/programmatically-getting-and-setting.html' title='Programmatically Getting and Setting Expression Values'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5039555731593185431</id><published>2010-12-28T05:17:00.000-08:00</published><updated>2010-12-28T05:17:58.167-08:00</updated><title type='text'>Iterator Range Size</title><content type='html'>The iterator by default works with Range Size of 25, to make it work for all the records set the size of iterator to -1 inside pagedefinition iterator properties to avoid below error.&lt;br /&gt;&lt;br /&gt;javax.servlet.ServletException: oracle.jbo.InvalidParamException: JBO-25006: Value 26 passed as parameter rangeIndex to method ViewRowSetIteratorImpl.insertRowAtRangeIndex is invalid: index outside range.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-5039555731593185431?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5039555731593185431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5039555731593185431'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/12/iterator-range-size.html' title='Iterator Range Size'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4280102269829951212</id><published>2010-12-28T02:17:00.000-08:00</published><updated>2010-12-28T04:27:51.232-08:00</updated><title type='text'>Access Application Module, ViewObject programmatically from Managed/Backing Beans</title><content type='html'>At times we need to programmatically update viewobject and do lot of other funtions on them. To achieve this we have to first connect to application module as it is able to query all the view objects in it.&lt;br /&gt;The code which is required is:&lt;br /&gt;ApplicationModule am = ADFUtils.getApplicationModuleForDataControl("AppModuleDataControl");    &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_IFdtldi3EYs/TRm5QKiTU0I/AAAAAAAAASQ/e-shJ9nsG8w/s1600/appmodule.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="258" src="http://3.bp.blogspot.com/_IFdtldi3EYs/TRm5QKiTU0I/AAAAAAAAASQ/e-shJ9nsG8w/s320/appmodule.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Note: The view objects which you are trying to access should be part of your jsf page definition (in executables), else you will not be able to refer it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-4280102269829951212?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4280102269829951212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4280102269829951212'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/12/access-application-module-viewobject.html' title='Access Application Module, ViewObject programmatically from Managed/Backing Beans'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IFdtldi3EYs/TRm5QKiTU0I/AAAAAAAAASQ/e-shJ9nsG8w/s72-c/appmodule.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3618639796045121238</id><published>2010-12-27T04:36:00.000-08:00</published><updated>2010-12-27T04:36:08.762-08:00</updated><title type='text'>ADF 11g - SelectOneChoice Values based upon another SelectOneChoice component independent of base datasource.</title><content type='html'>Requirement: ADF BC - Selectonechoice without base datasource create as per my earlier post. Now I need a second selectonechoice from DB without base datasource based upon the value selected in first SelectOneChoice.&lt;br /&gt;&lt;br /&gt;Step1: Create the view object with bind variable (Value for this will be provided at run time).&lt;br /&gt;Step2: Create a Executing With Parameter binding in page definition for this view.&lt;br /&gt;Step3: In Executables section of PageDefinition create an iterator for this view object.&lt;br /&gt;Step4: Create a list in bindings for specific attribute(similar to create list without basedatasource)&lt;br /&gt;Step5: Drag and drop selectOncechoice from component pallete on JSF page. Bind it to the list which we created earlier.&lt;br /&gt;Step6: Set the autosubmit of the first selectonechoice to true and partial trigger of second selectonechoice to first selectonechoice value.&lt;br /&gt;Step7: Now create valuechangelistener for first selectonechoice and put below code.&lt;br /&gt;&lt;br /&gt;  public void RptYrMoSubValChg(ValueChangeEvent valueChangeEvent) {&lt;br /&gt;       Bindings bindings = getBindings();           &lt;br /&gt;       if(soc1.getValue()!=null) {&lt;br /&gt;        tempIter=((DCBindingContainer)getBindings()).findIteratorBinding("SubmTypeLovIterator");&lt;br /&gt;        tempRow=tempIter.getRowAtRangeIndex(Integer.parseInt(soc1.getValue().toString()));      &lt;br /&gt;        this.subType = tempRow.getAttribute("SubmTypeCd").toString(); &lt;br /&gt;        System.out.println("Selected Submission Type"+subType);&lt;br /&gt;          &lt;br /&gt;        operationBinding = bindings.getOperationBinding("ExecuteWithParams");&lt;br /&gt;        Object result = operationBinding.execute();&lt;br /&gt;        if (!operationBinding.getErrors().isEmpty()) {&lt;br /&gt;        System.out.println("ERROR");&lt;br /&gt;        }     &lt;br /&gt;        &lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;  public BindingContainer getBindings() {&lt;br /&gt;      return BindingContext.getCurrent().getCurrentBindingsEntry();&lt;br /&gt;  }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-3618639796045121238?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3618639796045121238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3618639796045121238'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/12/adf-11g-selectonechoice-values-based.html' title='ADF 11g - SelectOneChoice Values based upon another SelectOneChoice component independent of base datasource.'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3191764380448597900</id><published>2010-12-23T04:36:00.000-08:00</published><updated>2010-12-23T04:36:42.549-08:00</updated><title type='text'>ADF Fileupload - InputFile with autosubmit &amp; valuechange listener</title><content type='html'>Issue Description: JSF page have inputFile component to upload file which return uploadFile object.&lt;br /&gt;I have binded this component to backingbeans uploadFile object. Also this component has autosubmit true and value change listener method and this form has submit button at the end. I want the value changelister to validate file type and few other validations and submit button to upload document to specific location on server. The problem is the value changelister is working fine but the submit button action method was returning null for this.uploadFile object (this does not happen when I set autosubmit property to false for inputFile component).&lt;br /&gt;&lt;br /&gt;Sol: I created inputFile and a (hidden) textfield. I binded the textfield to the uploadfile object in backing bean&amp;nbsp;instead of the inputFile component. The autosubmit and valuchangelistener remains as its is I just assigned the value to this textfield the upload file object as input which I can typecast in the submit action button. sample code:&lt;br /&gt;&lt;br /&gt;package demo.view.backing;&lt;br /&gt;&lt;br /&gt;import demo.view.ExcelADF;&lt;br /&gt;&lt;br /&gt;import demo.view.UnitSubmission;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileOutputStream;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStream;&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;&lt;br /&gt;import javax.faces.application.FacesMessage;&lt;br /&gt;import javax.faces.component.UIComponent;&lt;br /&gt;import javax.faces.context.FacesContext;&lt;br /&gt;&lt;br /&gt;import javax.faces.event.ValueChangeEvent;&lt;br /&gt;&lt;br /&gt;import oracle.adf.view.rich.component.rich.RichDocument;&lt;br /&gt;import oracle.adf.view.rich.component.rich.RichForm;&lt;br /&gt;import oracle.adf.view.rich.component.rich.input.RichInputFile;&lt;br /&gt;import oracle.adf.view.rich.component.rich.input.RichInputText;&lt;br /&gt;import oracle.adf.view.rich.component.rich.nav.RichCommandButton;&lt;br /&gt;import oracle.adf.view.rich.component.rich.output.RichMessages;&lt;br /&gt;&lt;br /&gt;import oracle.adf.view.rich.context.AdfFacesContext;&lt;br /&gt;&lt;br /&gt;import org.apache.myfaces.trinidad.context.RequestContext;&lt;br /&gt;import org.apache.myfaces.trinidad.model.UploadedFile;&lt;br /&gt;&lt;br /&gt;public class SampleFileUpload {&lt;br /&gt;    private RichForm f1;&lt;br /&gt;    private RichDocument d1;&lt;br /&gt;    private RichInputFile if1;&lt;br /&gt;    private RichCommandButton cb1;&lt;br /&gt;    private RichMessages m1;&lt;br /&gt;    private UploadedFile uploadedFile;&lt;br /&gt;  private UploadedFile uploadedFile1;&lt;br /&gt;    private String filename;&lt;br /&gt;    private long filesize;&lt;br /&gt;    private String filecontents;&lt;br /&gt;    private String filetype;&lt;br /&gt;&lt;br /&gt;    ArrayList&lt;UnitSubmission&gt; dataHolder;&lt;br /&gt;    private RichInputText it1;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public void setF1(RichForm f1) {&lt;br /&gt;        this.f1 = f1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public RichForm getF1() {&lt;br /&gt;        return f1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setD1(RichDocument d1) {&lt;br /&gt;        this.d1 = d1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public RichDocument getD1() {&lt;br /&gt;        return d1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public void setIf1(RichInputFile if1) {&lt;br /&gt;        this.if1 = if1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public RichInputFile getIf1() {&lt;br /&gt;        return if1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public void setCb1(RichCommandButton cb1) {&lt;br /&gt;        this.cb1 = cb1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public RichCommandButton getCb1() {&lt;br /&gt;        return cb1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setM1(RichMessages m1) {&lt;br /&gt;        this.m1 = m1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public RichMessages getM1() {&lt;br /&gt;        return m1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;    public UploadedFile getUploadedFile() {&lt;br /&gt;        return uploadedFile;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setFilename(String filename) {&lt;br /&gt;        this.filename = filename;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getFilename() {&lt;br /&gt;        return filename;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setFilesize(long filesize) {&lt;br /&gt;        this.filesize = filesize;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public long getFilesize() {&lt;br /&gt;        return filesize;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setFilecontents(String filecontents) {&lt;br /&gt;        this.filecontents = filecontents;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getFilecontents() {&lt;br /&gt;        return filecontents;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setFiletype(String filetype) {&lt;br /&gt;        this.filetype = filetype;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getFiletype() {&lt;br /&gt;        return filetype;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public void setDataHolder(ArrayList&lt;UnitSubmission&gt; dataHolder) {&lt;br /&gt;        this.dataHolder = dataHolder;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public ArrayList&lt;UnitSubmission&gt; getDataHolder() {&lt;br /&gt;        return dataHolder;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public void fileUpdate(ValueChangeEvent valueChangeEvent) {&lt;br /&gt;        RichInputFile inputFileComponent = (RichInputFile)valueChangeEvent.getComponent();&lt;br /&gt;        UploadedFile newFile = (UploadedFile)valueChangeEvent.getNewValue();&lt;br /&gt;        newFile = (UploadedFile)valueChangeEvent.getNewValue();&lt;br /&gt;        it1.setValue(newFile);&lt;br /&gt;       // this.uploadedFile = newFile;&lt;br /&gt;        if (!newFile.getFilename().endsWith("xls")) {&lt;br /&gt;            FacesContext.getCurrentInstance().addMessage(inputFileComponent.getClientId(FacesContext.getCurrentInstance()),&lt;br /&gt;                                                         new FacesMessage(FacesMessage.SEVERITY_ERROR,&lt;br /&gt;                                                                          "Only Excel files are allowed",&lt;br /&gt;                                                                          "This file (" +&lt;br /&gt;                                                                          newFile.getFilename() +&lt;br /&gt;                                                                          ") is not allowed; the extension is not allowed."));&lt;br /&gt;            inputFileComponent.resetValue();&lt;br /&gt;            inputFileComponent.setValid(false);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public String SubmitAction() {       &lt;br /&gt;        uploadedFile = (UploadedFile)it1.getValue();&lt;br /&gt;        System.out.println("File Name: "+uploadedFile.getFilename());&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setUploadedFile1(UploadedFile uploadedFile1) {&lt;br /&gt;        this.uploadedFile1 = uploadedFile1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public UploadedFile getUploadedFile1() {&lt;br /&gt;        return uploadedFile1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public void setIt1(RichInputText it1) {&lt;br /&gt;        this.it1 = it1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public RichInputText getIt1() {&lt;br /&gt;        return it1;&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/8013330744794401835-3191764380448597900?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3191764380448597900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3191764380448597900'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/12/adf-fileupload-inputfile-with.html' title='ADF Fileupload - InputFile with autosubmit &amp; valuechange listener'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5328769064268162357</id><published>2010-12-16T05:33:00.000-08:00</published><updated>2010-12-16T05:33:22.327-08:00</updated><title type='text'>java.lang.ClassNotFoundException: oracle.bpel.services.workflow.WorkflowException</title><content type='html'>Error during deployment of ADF 11g application server:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_IFdtldi3EYs/TQoBih9qZ5I/AAAAAAAAASI/AzP6oz9LkKQ/s1600/workfolw.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="167" n4="true" src="http://4.bp.blogspot.com/_IFdtldi3EYs/TQoBih9qZ5I/AAAAAAAAASI/AzP6oz9LkKQ/s320/workfolw.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;In Application Resources Pallette -&amp;gt; weblogic-application.xml add below lines&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-5328769064268162357?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5328769064268162357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5328769064268162357'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/12/javalangclassnotfoundexception.html' title='java.lang.ClassNotFoundException: oracle.bpel.services.workflow.WorkflowException'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IFdtldi3EYs/TQoBih9qZ5I/AAAAAAAAASI/AzP6oz9LkKQ/s72-c/workfolw.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3507805522790094201</id><published>2010-12-02T22:44:00.000-08:00</published><updated>2010-12-02T22:51:06.195-08:00</updated><title type='text'>ADF SelectOneChoice without base datasource</title><content type='html'>PageDefinition:&lt;br /&gt;Create Iterator in your executables section.&lt;br /&gt;and create a list binding in your bindings section to this iterator.&lt;br /&gt;Sample page definition code:&lt;br /&gt;&lt;executables&gt;&lt;br /&gt;&lt;variableiterator id="variables"&gt;&lt;br /&gt;&lt;iterator binds="Departments1View1" datacontrol="AppModuleDataControl" id="Departments1View1Iterator" rangesize="25"&gt;&lt;br /&gt;&lt;/executables&gt;&lt;br /&gt;&lt;bindings&gt;&lt;br /&gt;&lt;list dtsupportsmru="true" id="DepartmentId" iterbinding="Departments1View1Iterator" staticlist="false" uses="LOV_DepartmentId"&gt;&lt;br /&gt;&lt;list id="DepartmentId1" iterbinding="Departments1View1Iterator" listiter="Departments1View1Iterator" listopermode="navigation"&gt;&lt;br /&gt;&lt;attrnames&gt;&lt;br /&gt;&lt;item value="DepartmentId"&gt;&lt;br /&gt;&lt;item value="DepartmentName"&gt;&lt;br /&gt;&lt;/attrnames&gt;&lt;br /&gt;&lt;/list&gt;&lt;br /&gt;&lt;/bindings&gt;&lt;br /&gt;&lt;executables&gt;&lt;br /&gt;&lt;br /&gt;&lt;/attrnames&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_IFdtldi3EYs/TPiTI--7DFI/AAAAAAAAARk/HvLjTevgZZw/s1600/sample.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="174" ox="true" src="http://2.bp.blogspot.com/_IFdtldi3EYs/TPiTI--7DFI/AAAAAAAAARk/HvLjTevgZZw/s320/sample.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/list&gt;&lt;br /&gt;&lt;br /&gt;&lt;/bindings&gt;&lt;br /&gt;Page:&lt;br /&gt;Drag and drop the selectonechoice component and bind it to above created binding.&lt;br /&gt;&lt;br /&gt;Note that selectonechoice will return index, use iterator bind to get the value at selected index below is backing bean code&lt;br /&gt;public void choiceListListener(ValueChangeEvent valueChangeEvent) {&lt;br /&gt;DCIteratorBinding iter=((DCBindingContainer)getBindings()).findIteratorBinding("Departments1View1Iterator");&lt;br /&gt;Row r=iter.getRowAtRangeIndex((Integer)valueChangeEvent.getNewValue());&lt;br /&gt;System.out.println("Attr names"+r.getAttribute("DepartmentId"));&lt;br /&gt;System.out.println("Attr names"+r.getAttribute("DepartmentName"));&lt;br /&gt;System.out.println("atr1");&lt;br /&gt;//set value of your variable equal to "value"&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-3507805522790094201?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://forums.oracle.com/forums/thread.jspa?threadID=2113079&amp;tstart=0' title='ADF SelectOneChoice without base datasource'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3507805522790094201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3507805522790094201'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/12/adf-selectonechoice-without-base.html' title='ADF SelectOneChoice without base datasource'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IFdtldi3EYs/TPiTI--7DFI/AAAAAAAAARk/HvLjTevgZZw/s72-c/sample.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8519997961337031687</id><published>2010-04-12T06:58:00.001-07:00</published><updated>2010-04-12T06:58:32.758-07:00</updated><title type='text'>Iterator throws java.lang.NullPointerException</title><content type='html'>1) Go to page defination of JSF page&lt;br /&gt;2) Select the Iterator you are using&lt;br /&gt;3) Right click -&gt; go to properties&lt;br /&gt;4) In porperties change the RangeSize property to -1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8519997961337031687?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8519997961337031687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8519997961337031687'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/04/iterator-throws-javalangnullpointerexce.html' title='Iterator throws java.lang.NullPointerException'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7379274272587202351</id><published>2010-01-07T09:25:00.000-08:00</published><updated>2010-01-07T09:25:31.229-08:00</updated><title type='text'>ADF 11g: Execute Operation defined in page defination from backing bean</title><content type='html'>BindingContainer bindings = getBindings();&lt;br /&gt;OperationBinding operationBinding = bindings.getOperationBinding("ExecuteWithParams");&lt;br /&gt;Object result = operationBinding.execute();&lt;br /&gt;if (!operationBinding.getErrors().isEmpty()) {&lt;br /&gt;System.out.println("ERROR");&lt;br /&gt;return null;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7379274272587202351?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7379274272587202351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7379274272587202351'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2010/01/adf-11g-execute-operation-defined-in.html' title='ADF 11g: Execute Operation defined in page defination from backing bean'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7261158216579202032</id><published>2009-10-29T03:41:00.000-07:00</published><updated>2009-10-29T03:41:33.858-07:00</updated><title type='text'>Deploy ADF application on weblogic server (10.3)</title><content type='html'>(prerequisite) Create JNDI on weblogic server&lt;br /&gt;In JDeveloper in &lt;br /&gt;Model-&amp;gt; Rt clk your ApplicationModule file-&amp;gt; Configuration&lt;br /&gt;- Edit both the setting (AppLocal &amp;amp; AppShared)&lt;br /&gt;- Select Connection type to JDBC datasource (default is JDBC URL)&lt;br /&gt;- Give proper DS name e.g java:comp/env/jdbc/MyDS (Note: Same DS name should be thr in weblogic server)&lt;br /&gt;- Follow this for AppShared&lt;br /&gt;- Now, Right clk ur application -&amp;gt; Deploy&amp;nbsp;to EAR file&lt;br /&gt;you can deploy EAR file on WEBLOGIC&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7261158216579202032?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7261158216579202032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7261158216579202032'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/10/deploy-adf-application-on-weblogic.html' title='Deploy ADF application on weblogic server (10.3)'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2814414362154602598</id><published>2009-10-18T06:41:00.000-07:00</published><updated>2009-10-18T06:41:22.564-07:00</updated><title type='text'>ADF 11g : Failed to lock the record, another user holds the lock.</title><content type='html'>Change the jbo.lockingmode property to optimistic&lt;br /&gt;&lt;br /&gt;Select application module-&amp;gt; rt clik -&amp;gt; Configurations -&amp;gt; Edit -&amp;gt; (Properties tab)&lt;br /&gt;Property: jbo.locking.mode replace pessimistic with optimistic&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2814414362154602598?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2814414362154602598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2814414362154602598'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/10/adf-11g-failed-to-lock-record-another.html' title='ADF 11g : Failed to lock the record, another user holds the lock.'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2458252859447126942</id><published>2009-10-04T10:41:00.001-07:00</published><updated>2009-10-04T10:41:22.853-07:00</updated><title type='text'>1) Programmatically accessing values from managed bean &amp; Programmatically executing view with parameters</title><content type='html'>UserDetailsPersist obj1 = (UserDetailsPersist)JSFUtils.getFromSession("UserDetailsPersistent");&lt;br /&gt;String startDayNo="";&lt;br /&gt;&lt;br /&gt;ApplicationModule am = ADFUtils.getApplicationModuleForDataControl("RotaAppDataControl");      &lt;br /&gt;ViewObject vo = am.findViewObject("StartDay");&lt;br /&gt;vo.setNamedWhereClauseParam("locId",obj1.getLocationId());&lt;br /&gt;vo.executeQuery();                &lt;br /&gt;&lt;br /&gt;while (vo.hasNext())&lt;br /&gt;{&lt;br /&gt; StartDayRowImpl currRecd = (StartDayRowImpl) vo.next();   &lt;br /&gt; System.out.println("Now accessing department " + currRecd.getWeekDesc());&lt;br /&gt; startDayNo  = currRecd.getWeekDesc().toString();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;System.out.println("Start day no"+startDayNo);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2458252859447126942?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2458252859447126942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2458252859447126942'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/10/1-programmatically-accessing-values.html' title='1) Programmatically accessing values from managed bean &amp; Programmatically executing view with parameters'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4050440844805342329</id><published>2009-09-23T23:05:00.000-07:00</published><updated>2009-09-23T23:22:07.078-07:00</updated><title type='text'>Page Load Progress bar (GIF IMAGE)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_IFdtldi3EYs/SrsQAxmS2tI/AAAAAAAAAC4/2wAdclXVKiE/s1600-h/Progressbar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" iq="true" src="http://3.bp.blogspot.com/_IFdtldi3EYs/SrsQAxmS2tI/AAAAAAAAAC4/2wAdclXVKiE/s400/Progressbar.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="crt"&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&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/8013330744794401835-4050440844805342329?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4050440844805342329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4050440844805342329'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/09/page-load-progress-bar-gif-image.html' title='Page Load Progress bar (GIF IMAGE)'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IFdtldi3EYs/SrsQAxmS2tI/AAAAAAAAAC4/2wAdclXVKiE/s72-c/Progressbar.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-1040897181106590784</id><published>2009-09-17T04:37:00.001-07:00</published><updated>2009-09-17T04:41:39.765-07:00</updated><title type='text'>ADF 11g: SelectOneChoice to display values based upon bind variable view criteria</title><content type='html'>*) When we have one of the attribute as LOV to other view's column, and we need to define a record based upon some criteria and also our LOV should display values based upon this criteria or BIND VARIABLE do the following.&lt;br /&gt;&lt;br /&gt;Whe you create a view delatively,and creating an LOV on one of the attr in 1) overview tab, click on green + sign&lt;br /&gt;2)In edit list of value, against List Data Source click green + sign to open view accessor&lt;br /&gt;3) Shuffle required view object on the right, now this view object has bind variable associated with it so,&lt;br /&gt;4)In View accessor click the Edit button and give the parameter value.&lt;br /&gt;&lt;br /&gt;Give the value of this bind variable name of the current attribute to which it is binded so that both the parent and lov values a syncronized.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_IFdtldi3EYs/SrIf3jLvrkI/AAAAAAAAACo/gquhmw571x4/s1600-h/img1.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" mq="true" src="http://2.bp.blogspot.com/_IFdtldi3EYs/SrIf3jLvrkI/AAAAAAAAACo/gquhmw571x4/s320/img1.jpg" /&gt;&lt;/a&gt;\&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_IFdtldi3EYs/SrIgNmeI-LI/AAAAAAAAACw/FTaR9sNAVVM/s1600-h/img2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" mq="true" src="http://3.bp.blogspot.com/_IFdtldi3EYs/SrIgNmeI-LI/AAAAAAAAACw/FTaR9sNAVVM/s320/img2.jpg" /&gt;&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/8013330744794401835-1040897181106590784?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1040897181106590784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1040897181106590784'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/09/adf-11g-selectonechoice-to-display.html' title='ADF 11g: SelectOneChoice to display values based upon bind variable view criteria'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IFdtldi3EYs/SrIf3jLvrkI/AAAAAAAAACo/gquhmw571x4/s72-c/img1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-6706569150283803146</id><published>2009-09-16T03:21:00.001-07:00</published><updated>2009-09-16T03:24:02.276-07:00</updated><title type='text'>ADF 11g:  Rowcount from Execute with parameter query programmatically</title><content type='html'>//Requirement: ADFUtils class,OnPageLoadBackingBeanBase class backing bean extending this(OnPage...) class, override onPageLoad method as below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void onPageLoad() {&lt;br /&gt;BindingContainer bindings = getBindings();&lt;br /&gt;try&lt;br /&gt;{ &lt;br /&gt;OperationBinding operationBinding = bindings.getOperationBinding("ExecuteWithParams");&lt;br /&gt;Object result = operationBinding.execute();&lt;br /&gt;System.out.println("Result"+result);&lt;br /&gt;BindingContainer bindings1 = ADFUtils.getBindingContainer();&lt;br /&gt;DCIteratorBinding dcitr = &lt;br /&gt;(DCIteratorBinding)bindings1.get("Storetimings1View2Iterator");&lt;br /&gt;//Fetch the number of rows returned&lt;br /&gt;long count = dcitr.getDeferredEstimatedRowCount(); &lt;br /&gt;System.out.println("Rows returned:: "+count);&lt;br /&gt;if(count == 0) {&lt;br /&gt;OperationBinding operationBinding1 = bindings.getOperationBinding("Createwithparameters");&lt;br /&gt;Object result1 = operationBinding1.execute();&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;catch(Exception e) {&lt;br /&gt;System.out.println("The exception");&lt;br /&gt;&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/8013330744794401835-6706569150283803146?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6706569150283803146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/6706569150283803146'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/09/adf-11g-rowcount-from-execute-with.html' title='ADF 11g:  Rowcount from Execute with parameter query programmatically'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4581977700137971445</id><published>2009-09-12T23:40:00.000-07:00</published><updated>2009-09-12T23:41:29.404-07:00</updated><title type='text'>Create New ADF Table Row with Parameters.</title><content type='html'>Refer the below url for help.&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/jdev/tips/fnimphius/createWithParameters/createWithParameters.html"&gt;http://www.oracle.com/technology/products/jdev/tips/fnimphius/createWithParameters/createWithParameters.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-4581977700137971445?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4581977700137971445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4581977700137971445'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/09/create-new-adf-table-row-with.html' title='Create New ADF Table Row with Parameters.'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7698734558959113944</id><published>2009-09-09T11:41:00.000-07:00</published><updated>2009-09-26T23:35:04.541-07:00</updated><title type='text'>ADF 11g - Assign default value to attribute(from managed bean) while creating new record at runtime OR Execute with parameter ON PAGE LOAD</title><content type='html'>&lt;div&gt;To assign default value to entity attribute at runtime:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;At run time we want to assign value from a managed bean to an entity attribute while creating a new record&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1) You need 3 files for this &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1.1) ADFUtils.java&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1.2) JSFUtiles.java&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1.3) OnPageLoadBackingBeanBase.java&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;These can be downloaded from steve's undocumented list of application at (sample no. 58)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#58"&gt;http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#58&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;2) In backing bean (e.g NewShift.java) change it to extent OnPageLoadBackingBeanBase&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;public class NewShift extends OnPageLoadBackingBeanBase {&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;3) Now, goto NewShiftPageDef file, and in property section change the "Controller Class" property to the backing bean as in diag&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_IFdtldi3EYs/SqgCChMb7KI/AAAAAAAAACc/bR_eU5rINso/s1600-h/shift.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5379551997187583138" src="http://4.bp.blogspot.com/_IFdtldi3EYs/SqgCChMb7KI/AAAAAAAAACc/bR_eU5rINso/s320/shift.jpg" style="cursor: hand; height: 167px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;(logic: whenever this page is called the backing bean will refer to the methods in parent class for on load functionality)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;4) now you can modify beforePhase metod of OnPageLoadBackingBeanBase to set values of view objects using the JSFUtils class e.g&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;public void beforePhase(PagePhaseEvent event) { FacesPageLifecycleContext ctx = (FacesPageLifecycleContext)event.getLifecycleContext(); if (event.getPhaseId() == Lifecycle.PREPARE_MODEL_ID) { bc = ctx.getBindingContainer(); System.out.println("ON PAGE LOAD"); //JSFUtils.setExpressionValue("#{bindings.Locationid.inputValue}","20041"); &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;JSFUtils.setExpressionValue("#{bindings.Locationid.inputValue}",UserDetailsPersist.pLocationId);&lt;/strong&gt;&lt;/span&gt; onPageLoad(); bc = null; } }&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;thats it when your page is called the value from managed bean userdetailspersist is set into the location id attribute on your page&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;:-)&lt;br /&gt;&lt;br /&gt;2) To execute query "execute with parameters" programmatically on page load&lt;br /&gt;- Extend OnPageLoadBackingBeanBase in your page's backing bean&lt;br /&gt;- override onPageLoad method as below.&lt;br /&gt;- go to page definition and change controller class property to have value of this backing bean&lt;br /&gt;(e.g Controller class= view.backing.StaffDetails)&lt;br /&gt;&lt;br /&gt;public void onPageLoad(){ &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BindingContainer bindings = getBindings();&lt;br /&gt;&lt;br /&gt;OperationBinding operationBinding = bindings.getOperationBinding("ExecuteWithParams");&lt;br /&gt;&lt;br /&gt;Object result = operationBinding.execute(); &lt;br /&gt;&lt;br /&gt;JSFUtils.setExpressionValue("#{bindings.Location.inputValue}","1024"); &lt;br /&gt;&lt;br /&gt;if (!operationBinding.getErrors().isEmpty()) { &lt;br /&gt;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/div&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/8013330744794401835-7698734558959113944?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7698734558959113944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7698734558959113944'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/09/adf-11g-assign-default-value-to.html' title='ADF 11g - Assign default value to attribute(from managed bean) while creating new record at runtime OR Execute with parameter ON PAGE LOAD'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IFdtldi3EYs/SqgCChMb7KI/AAAAAAAAACc/bR_eU5rINso/s72-c/shift.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3723063074983108728</id><published>2009-09-09T09:15:00.000-07:00</published><updated>2009-09-09T11:25:56.059-07:00</updated><title type='text'>ADF 11g - CreateInsert to display a blank form</title><content type='html'>&lt;div&gt;Create two forms &lt;/div&gt;&lt;br /&gt;&lt;div&gt;1) Master form to call create new record form&lt;/div&gt;&lt;br /&gt;&lt;div&gt;2) New Record form&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1) In adf-config.xml you need to drop a method call activity between these two pages&lt;/div&gt;&lt;br /&gt;&lt;div&gt;2) From Data Control pallette drag and drop Create Insert operation on this method activity&lt;/div&gt;&lt;br /&gt;&lt;div&gt;3) Set navigation parameters i.e for these pages and you will get the required output.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_IFdtldi3EYs/SqfyKfHJgKI/AAAAAAAAACU/MswbA-BiPgw/s1600-h/CreateInsert.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5379534541881442466" style="WIDTH: 312px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://4.bp.blogspot.com/_IFdtldi3EYs/SqfyKfHJgKI/AAAAAAAAACU/MswbA-BiPgw/s320/CreateInsert.jpg" border="0" /&gt;&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/8013330744794401835-3723063074983108728?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3723063074983108728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3723063074983108728'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/09/adf-11g-createinsert-to-display-blank.html' title='ADF 11g - CreateInsert to display a blank form'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IFdtldi3EYs/SqfyKfHJgKI/AAAAAAAAACU/MswbA-BiPgw/s72-c/CreateInsert.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8652335924184269711</id><published>2009-08-23T11:16:00.000-07:00</published><updated>2009-08-23T11:50:42.761-07:00</updated><title type='text'>Oracle ADF 11g- Generate values from sequence for a given table.</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When creating a database table using JDeveloper 11g (11.1.1.10), select column sequence from left context menu and select the check box for sequence and trigger. (as in given figure)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_IFdtldi3EYs/SpGJc6DEj9I/AAAAAAAAAB8/LhgxqUzbv-4/s1600-h/abc.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5373226960141193170" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 229px" alt="" src="http://3.bp.blogspot.com/_IFdtldi3EYs/SpGJc6DEj9I/AAAAAAAAAB8/LhgxqUzbv-4/s320/abc.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Generate Business Component for this table and then double click this entity, to view the xml file, click on the attributes link and the select the attribute which generates values from sequence(EmployeeId), make its datatype to be DBSequence (See below image)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_IFdtldi3EYs/SpGL7b4XhGI/AAAAAAAAACE/HpLxx2Jd90c/s1600-h/img2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5373229683642434658" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 118px" alt="" src="http://4.bp.blogspot.com/_IFdtldi3EYs/SpGL7b4XhGI/AAAAAAAAACE/HpLxx2Jd90c/s320/img2.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_IFdtldi3EYs/SpGMxHLzAiI/AAAAAAAAACM/PBUJ61b4vSo/s1600-h/img2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5373230605799719458" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 200px" alt="" src="http://3.bp.blogspot.com/_IFdtldi3EYs/SpGMxHLzAiI/AAAAAAAAACM/PBUJ61b4vSo/s320/img2.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note initially for display the value will be shown as negative but once you commit the record the values will be automatically taken from the sequence.&lt;br /&gt;&lt;/div&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/8013330744794401835-8652335924184269711?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8652335924184269711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8652335924184269711'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/08/oracle-adf-11g-generate-values-from.html' title='Oracle ADF 11g- Generate values from sequence for a given table.'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IFdtldi3EYs/SpGJc6DEj9I/AAAAAAAAAB8/LhgxqUzbv-4/s72-c/abc.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2516697415564457075</id><published>2009-08-10T23:12:00.000-07:00</published><updated>2009-08-10T23:13:29.622-07:00</updated><title type='text'>Restarting Oracle Application Server</title><content type='html'>telnet myserver&lt;br /&gt;uname/password&lt;br /&gt;opmnctl stopall&lt;br /&gt;su –u [infra tier uname/passwd]&lt;br /&gt;opmnctl stopall&lt;br /&gt;sqlplus /nolog&lt;br /&gt;conn /as sysdba&lt;br /&gt;shutdown immediate [database shutdown]&lt;br /&gt;startup [database start]&lt;br /&gt;quit&lt;br /&gt;opmnctl startall [infra tier restart]&lt;br /&gt;exit&lt;br /&gt;opmnctl startall [mid tier restart]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2516697415564457075?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2516697415564457075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2516697415564457075'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/08/restarting-oracle-application-server.html' title='Restarting Oracle Application Server'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-213964284083395259</id><published>2009-08-03T02:23:00.000-07:00</published><updated>2009-08-03T02:25:17.567-07:00</updated><title type='text'>PrinteWriter in jsp while returning ajax call</title><content type='html'>Printwriter in JSP during ajax call&lt;br /&gt;&lt;br /&gt;out.write(xmlData);&lt;br /&gt;pw =new PrintWriter(out, true);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-213964284083395259?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/213964284083395259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/213964284083395259'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/08/printewriter-in-jsp-while-returning.html' title='PrinteWriter in jsp while returning ajax call'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4079491798659263586</id><published>2009-08-03T01:47:00.000-07:00</published><updated>2009-08-03T01:52:48.481-07:00</updated><title type='text'>Create new domains in BPEL</title><content type='html'>open bpel console in your browser&lt;br /&gt;eg.&lt;br /&gt;....com:7777/BPELConsole&lt;br /&gt;just replace "Console" with Admin i.e. BPELAdmin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-4079491798659263586?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4079491798659263586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4079491798659263586'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/08/create-new-domains-in-bpel.html' title='Create new domains in BPEL'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2776855404287473262</id><published>2009-08-02T23:23:00.000-07:00</published><updated>2009-08-02T23:29:01.029-07:00</updated><title type='text'>Create a datasource</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_IFdtldi3EYs/SnaDWGsvXbI/AAAAAAAAABg/GNa0TX1QQ5s/s1600-h/1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5365620421837151666" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 130px" alt="" src="http://4.bp.blogspot.com/_IFdtldi3EYs/SnaDWGsvXbI/AAAAAAAAABg/GNa0TX1QQ5s/s320/1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_IFdtldi3EYs/SnaDWYsyVSI/AAAAAAAAABo/27NRUaOJZl4/s1600-h/2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5365620426669184290" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 122px" alt="" src="http://4.bp.blogspot.com/_IFdtldi3EYs/SnaDWYsyVSI/AAAAAAAAABo/27NRUaOJZl4/s320/2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_IFdtldi3EYs/SnaDWhCHgPI/AAAAAAAAABw/H9rRIN7GFjo/s1600-h/3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5365620428906135794" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 76px" alt="" src="http://2.bp.blogspot.com/_IFdtldi3EYs/SnaDWhCHgPI/AAAAAAAAABw/H9rRIN7GFjo/s320/3.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Login oracle entireprise manager-&gt; oc4j instance-&gt; administration tab-&gt; Datasource&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&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/8013330744794401835-2776855404287473262?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2776855404287473262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2776855404287473262'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/08/create-datasource.html' title='Create a datasource'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IFdtldi3EYs/SnaDWGsvXbI/AAAAAAAAABg/GNa0TX1QQ5s/s72-c/1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8320980751910911356</id><published>2009-08-02T23:08:00.000-07:00</published><updated>2009-08-02T23:17:40.260-07:00</updated><title type='text'>How to hide the url of ur application</title><content type='html'>eg. &lt;a href="http://www.tanveer.com/MyPayrollContext/jsp/index.jsp"&gt;www.tanveer.com/MyPayrollContext/jsp/index.jsp&lt;/a&gt; to display only till "&lt;a href="http://www.tanveer.com/MyPayroll"&gt;www.tanveer.com/MyPayroll&lt;/a&gt;Context" do the following your web.xml should have the following entry&lt;br /&gt;"&lt;"welcome-file-list"&gt;"&lt;br /&gt;   "&lt;"welcome-file"&gt;"index.jsp"&lt;"/welcome-file"&gt;"&lt;br /&gt;" &lt;"/welcome-file-list"&gt;"&lt;br /&gt;//ignore double codes&lt;br /&gt;&lt;br /&gt;and your index.jsp should be placed in the main project directory, you can have your other jsp's inside your jsp folder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8320980751910911356?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8320980751910911356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8320980751910911356'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/08/how-to-hide-url-of-ur-application.html' title='How to hide the url of ur application'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7392152216211296528</id><published>2009-07-16T04:26:00.000-07:00</published><updated>2009-07-16T04:33:07.622-07:00</updated><title type='text'>SSO- External Application</title><content type='html'>Q) When password changes in external application, how can we reflect this in SSO?&lt;br /&gt;A) When we register an external application and when user access it for the first time, he has to enter userid and password for this application these details get stored in orasso schema.&lt;br /&gt;Details: use toad and login using system user into oracle application server infrasturcture.&lt;br /&gt;switch to orasso schema, the entry is made in WWSEC_ENABLER_CONFIG_INFO$ table&lt;br /&gt;, If you remove the entry for a specific user the user will again be prompted to enter his user name and password.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7392152216211296528?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7392152216211296528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7392152216211296528'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/07/sso-external-application.html' title='SSO- External Application'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8067794939069266190</id><published>2009-07-16T02:59:00.000-07:00</published><updated>2009-07-16T03:00:25.544-07:00</updated><title type='text'>SSO: Customize Login Page</title><content type='html'>Way 1:&lt;br /&gt;Edit the default SSO login page available at the following location,&lt;br /&gt;$ORACLE_HOME/j2ee/OC4J_SECURITY/applications/sso/web/login.jsp&lt;br /&gt;Way 2:&lt;br /&gt;To install your own login and change password pages, provide the following parameters in $ORACLE_HOME/sso/conf/policy.properties&lt;br /&gt;#Custom login page link&lt;br /&gt;loginPageUrl=login_page_URL&lt;br /&gt;#Custom change password page link&lt;br /&gt;chgPasswordPageUrl=change_password_page_URL&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8067794939069266190?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8067794939069266190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8067794939069266190'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/07/sso-customize-login-page.html' title='SSO: Customize Login Page'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-7973371695255363417</id><published>2009-07-07T22:43:00.000-07:00</published><updated>2009-07-07T22:45:18.113-07:00</updated><title type='text'>Good Sites</title><content type='html'>HTML DESIGNER&lt;br /&gt;&lt;a href="http://www.dynamicdrive.com/"&gt;http://www.dynamicdrive.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MY FAVOURITE JAVASCRIPT LIBRARIES&lt;br /&gt;&lt;a href="http://extjs.com/products/extjs/"&gt;http://extjs.com/products/extjs/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-7973371695255363417?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7973371695255363417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/7973371695255363417'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/07/good-sites.html' title='Good Sites'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-4799594032421770088</id><published>2009-05-27T22:47:00.000-07:00</published><updated>2009-05-27T22:49:24.381-07:00</updated><title type='text'>Important Sites and Links</title><content type='html'>Link to upload large size documents and send via mail&lt;br /&gt;www.youSENDit.com&lt;br /&gt;&lt;br /&gt;Proxy links&lt;br /&gt;kproxy&lt;br /&gt;http://www.publicproxyservers.com/page1.html&lt;br /&gt;http://www.terj.info&lt;br /&gt;http://aflu.info&lt;br /&gt;http://www.anonymoususer.biz&lt;br /&gt;http://deeproxy.com&lt;br /&gt;http://www.rosc.info&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-4799594032421770088?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4799594032421770088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/4799594032421770088'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/important-sites-and-links.html' title='Important Sites and Links'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-3074239191933825057</id><published>2009-05-25T00:43:00.000-07:00</published><updated>2009-05-25T00:45:47.386-07:00</updated><title type='text'>Java- Searching a matching countrycode column from database, exception code</title><content type='html'>String myNumber = destNumber.substring(1);&lt;br /&gt;        if(myNumber.startsWith("00")){&lt;br /&gt;            myNumber = myNumber.substring(2);&lt;br /&gt;        } else if(myNumber.startsWith("0")) {&lt;br /&gt;            myNumber = myNumber.substring(1);&lt;br /&gt;        } else if(myNumber.startsWith("+")){&lt;br /&gt;            myNumber = myNumber.substring(1);&lt;br /&gt;        }&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;          Class.forName("com.mysql.jdbc.Driver");&lt;br /&gt;          conn = DriverManager.getConnection (dbUrl);&lt;br /&gt;          s = conn.createStatement();&lt;br /&gt;          s.executeQuery("SELECT CountryCode, CountryName, CallRate FROM ratestable");&lt;br /&gt;          rs = s.getResultSet();        &lt;br /&gt;          boolean myMatch = false;&lt;br /&gt;          while(rs.next())&lt;br /&gt;          {&lt;br /&gt;                String myLocalNumber = "";&lt;br /&gt;                String myCountryCode = rs.getString(1);&lt;br /&gt;                if(myNumber.startsWith(myCountryCode)){&lt;br /&gt;                    myMatch = true;&lt;br /&gt;                    myLocalNumber = myNumber.substring(myCountryCode.length());&lt;br /&gt;                    System.out.println("Country Code:"+myCountryCode+"Local no="+myLocalNumber);&lt;br /&gt;                    myArrayList.add(myCountryCode);&lt;br /&gt;                    myArrayList.add(rs.getString(2));&lt;br /&gt;                    myArrayList.add(rs.getString(3));&lt;br /&gt;                    myArrayList.add(myConnectionType);&lt;br /&gt;                    myArrayList.add(myLocalNumber);&lt;br /&gt;                    return myArrayList;&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/8013330744794401835-3074239191933825057?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3074239191933825057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/3074239191933825057'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/java-searching-matching-countrycode.html' title='Java- Searching a matching countrycode column from database, exception code'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5702464581857395850</id><published>2009-05-25T00:33:00.000-07:00</published><updated>2009-05-25T00:43:14.520-07:00</updated><title type='text'>Date Query (Records between fromdate and to date) in MYSQL DB</title><content type='html'>SELECT calldate FROM dateTable WHERE calldate between STR_TO_DATE('05/01/2009','%m/%d/%Y') and STR_TO_DATE('05/25/2009','%m/%d/%Y')&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-5702464581857395850?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5702464581857395850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5702464581857395850'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/date-query-records-between-fromdate-and.html' title='Date Query (Records between fromdate and to date) in MYSQL DB'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-5963489452861033418</id><published>2009-05-22T01:14:00.000-07:00</published><updated>2009-05-22T01:16:30.443-07:00</updated><title type='text'>Sampel Date Example in JAVA</title><content type='html'>package mysamplesprj;import java.util.*;&lt;br /&gt;public class DateSample2&lt;br /&gt;{   &lt;br /&gt;   public static void main(String[] args)&lt;br /&gt; {  &lt;br /&gt;    Calendar c1 = Calendar.getInstance();&lt;br /&gt;    System.out.println(c1.get(Calendar.YEAR));       &lt;br /&gt;   int month = Integer.parseInt(String.valueOf(c1.get(Calendar.MONTH))) ;       &lt;br /&gt;   month = month + 1;       &lt;br /&gt;  System.out.println(month);       &lt;br /&gt;  System.out.println(c1.get(Calendar.DATE));   &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/8013330744794401835-5963489452861033418?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5963489452861033418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/5963489452861033418'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/sampel-date-example-in-java.html' title='Sampel Date Example in JAVA'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8157697612549883603</id><published>2009-05-22T00:51:00.000-07:00</published><updated>2009-05-22T00:56:26.083-07:00</updated><title type='text'>Java Code to use SSO login</title><content type='html'>Q) How to bind java application to SSO i.e whenever someone tries to access application he is prompted for oracle SSO&lt;br /&gt;A) Add the following code to first page of you application, and deploy you application to oas, your job is done.&lt;br /&gt;String portalUser = request.getRemoteUser();      &lt;br /&gt; try   &lt;br /&gt;{&lt;br /&gt;        portalUser = request.getRemoteUser();  &lt;br /&gt;        System.out.println(portalUser);   &lt;br /&gt;}  &lt;br /&gt;catch(Exception e)   &lt;br /&gt;{       &lt;br /&gt;  portalUser = null;  &lt;br /&gt;}     &lt;br /&gt;if ((portalUser == null)  (portalUser.length() &lt;= 0))   &lt;br /&gt;{       &lt;br /&gt;response.sendError(499, "Oracle SSO");   &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8157697612549883603?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8157697612549883603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8157697612549883603'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/java-code-to-use-sso-login.html' title='Java Code to use SSO login'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-1369046610998629056</id><published>2009-05-20T12:20:00.000-07:00</published><updated>2009-05-20T12:34:32.855-07:00</updated><title type='text'>Deploying java application from jdeveloper to oracle application server</title><content type='html'>Q) you want to deploy a java application on oracle application server from jdeveloper&lt;br /&gt;A) once u hav created a java application in jdeveloper&lt;br /&gt;1) Create a war file( right clk project-&gt;new-&gt;deployment profile-&gt;war file)&lt;br /&gt;2) once the war file is created, right click the war file and deploy the war file ( rt clk war file-&gt;deploy to war)&lt;br /&gt;3) In the deployment window you will see the path where the war file got deployed, copy this path.&lt;br /&gt;4) Go to oracle application server, oc4j instance and application tab,&lt;br /&gt;5) you will see deploy war option there , now give the copied path and the two values.. eg&lt;br /&gt;application name:  mytestapplication&lt;br /&gt;mapping:  /mytestapplication&lt;br /&gt;ur application is ready , now check ur application on port 7777&lt;br /&gt;&lt;br /&gt;eg http://myserver.com:7777/mytestapplication/index.jsp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-1369046610998629056?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1369046610998629056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/1369046610998629056'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/deploying-java-application-from.html' title='Deploying java application from jdeveloper to oracle application server'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-8369172353732690273</id><published>2009-05-20T12:17:00.000-07:00</published><updated>2009-05-20T12:20:20.447-07:00</updated><title type='text'>Run Java Application Deployed on oracle application Server</title><content type='html'>assume ur application name is sample and deployed on myserver (oracle app server)&lt;br /&gt;you need to execute ur application on port 7777&lt;br /&gt;eg&lt;br /&gt;http://myserver:7777/sample/index.jsp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-8369172353732690273?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8369172353732690273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/8369172353732690273'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/run-java-application-deployed-on-oracle.html' title='Run Java Application Deployed on oracle application Server'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8013330744794401835.post-2972456905724731946</id><published>2009-05-20T12:09:00.000-07:00</published><updated>2009-05-20T12:14:56.556-07:00</updated><title type='text'>Java Application On Oracle Application Server &amp; accessible only to priviledged users</title><content type='html'>Q&gt; Java application deployed on oracle app server, need to make it accessible only to group of users?&lt;br /&gt;A&gt;&lt;br /&gt;1) Login oracle portal&lt;br /&gt;2) Create a dynamic page&lt;br /&gt;3) In region of this page, create an item- u may use an image or link item&lt;br /&gt;4) Assign java application url to this item&lt;br /&gt;5) While creating this item u will see access option, grant access to specific group or user&lt;br /&gt;6) when ever these users will login they will see this link/image on clicking this the will be able to see the java application&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8013330744794401835-2972456905724731946?l=tanveeroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2972456905724731946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8013330744794401835/posts/default/2972456905724731946'/><link rel='alternate' type='text/html' href='http://tanveeroracle.blogspot.com/2009/05/java-application-on-oracle-application.html' title='Java Application On Oracle Application Server &amp; accessible only to priviledged users'/><author><name>Mohammed Tanveer</name><uri>http://www.blogger.com/profile/12791205519183202617</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-JYD3utIc8Ig/TnGOtnEohHI/AAAAAAAAAZY/jj6WKCuITMk/s220/Copy%2Bof%2Btan_usvisa1.jpg'/></author></entry></feed>
