Use of prepareSession() in Model layer

All,
In my Jdev 11gR1 application i want to know the use of prepareSession().
My use case is : Currently i am storing a lot of values in the session (View layer using HTTP, and Model layer using userData Map populated from my custom method).
Now my question is should i override the prepareSession() or using my my custom method is the right way.
thnks

Hi,
prepareSession is called with each request to the AM to allow developers e.g. to setup database context information for users (which you would do for label security). Surely there are other usecases as well
Frank

Similar Messages

  • I am trying to use java  file as Model layer and jsf as presentation layer

    I am trying to use java file as Model layer and jsf as presentation layer and need some help
    I successfully get the value of h:outputText from java file by doing simple binding operation but I am facing problems when I am trying to fill h:dataTable
    I create java file
    package oracle.model;
    import java.sql.;*
    import java.util.;*
    *public class TableBean {*
    Connection con ;
    Statement ps;
    ResultSet rs;
    private List perInfoAll = new ArrayList();
    *public List getperInfoAll() {*
    perInfoAll.add(0,new perInfo("name","username","blablabla"));
    return perInfoAll;
    *public class perInfo {*
    String uname;
    String firstName;
    String lastName;
    *public perInfo(String firstName,String lastName,String uname) {*
    this.uname = uname;
    this.firstName = firstName;
    this.lastName = lastName;
    *public String getUname() {*
    return uname;
    *public String getFirstName() {*
    return firstName;
    *public String getLastName() {*
    return lastName;
    right click on the file and choose 'create data control'
    then i wrote the jsf file:
    *<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>*
    *<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>*
    *<f:view>*
    *<h:dataTable id="dt1" value="#{bindings.perInfoAll}"*
    var="item" bgcolor="#F1F1F1" border="10"
    cellpadding="5" cellspacing="3" rows="4" width="50%"
    dir="LTR" frame="hsides" rules="all"
    *>*
    *<f:facet name="header">*
    *<h:outputText value="This is 'dataTable' demo" id="ot6"/>*
    *</f:facet>*
    *<h:column id="c2">*
    *<f:facet name="header">*
    *<h:outputText value="First Name" id="ot1"/>*
    *</f:facet>*
    *<h:outputText style="" value="#{item.firstName}"*
    id="ot2"/>
    *</h:column>*
    *<h:column id="c4">*
    *<f:facet name="header">*
    *<h:outputText value="Last Name" id="ot9"/>*
    *</f:facet>*
    *<h:outputText value="#{item.lastName}" id="ot8"/>*
    *</h:column>*
    *<h:column id="c3">*
    *<f:facet name="header">*
    *<h:outputText value="Username" id="ot7"/>*
    *</f:facet>*
    *<h:outputText value="#{item.uname}" id="ot4"/>*
    *</h:column>*
    *<f:facet name="footer">*
    *<h:outputText value="The End" id="ot3"/>*
    *</f:facet>*
    *</h:dataTable>*
    *</center>*
    *</af:document>*
    *</f:view>*
    but nothing is appear in my table
    I know that there is something wrong in calling the binding object
    I need help pls and where can i find some help to deal with another tag types
    thanks

    i dragged the "perInfoAll" from my "Data Controls" and choosed adf table (even I know that new table with adf tags well be generated and i want table with jsf tags)
    and this code is generated
    *<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"*
    *"http://www.w3.org/TR/html4/loose.dtd">*
    *<%@ page contentType="text/html;charset=UTF-8"%>*
    *<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>*
    *<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>*
    *<%@ taglib uri="http://xmlns.oracle.com/adf/faces/rich" prefix="af"%>*
    *<f:view>*
    *<af:document id="d1">*
    *<af:messages id="m1"/>*
    *<af:form id="f1">*
    *<af:table value="#{bindings.perInfoAll1.collectionModel}" var="row"*
    *rows="#{bindings.perInfoAll1.rangeSize}"*
    *emptyText="#{bindings.perInfoAll1.viewable ? 'No data to display.' : 'Access Denied.'}"*
    *fetchSize="#{bindings.perInfoAll1.rangeSize}"*
    *rowBandingInterval="0"*
    *selectionListener="#{bindings.perInfoAll1.collectionModel.makeCurrent}"*
    *rowSelection="multiple" id="t1">*
    *<af:column sortProperty="uname" sortable="false"*
    *headerText="#{bindings.perInfoAll1.hints.uname.label}"*
    *id="c1">*
    *<af:inputText value="#{row.bindings.uname.inputValue}"*
    *label="#{bindings.perInfoAll1.hints.uname.label}"*
    *required="#{bindings.perInfoAll1.hints.uname.mandatory}"*
    *columns="#{bindings.perInfoAll1.hints.uname.displayWidth}"*
    *maximumLength="#{bindings.perInfoAll1.hints.uname.precision}"*
    *shortDesc="#{bindings.perInfoAll1.hints.uname.tooltip}"*
    *id="it3">*
    *<f:validator binding="#{row.bindings.uname.validator}"/>*
    *</af:inputText>*
    *</af:column>*
    *<af:column sortProperty="firstName" sortable="false"*
    *headerText="#{bindings.perInfoAll1.hints.firstName.label}"*
    *id="c2">*
    *<af:inputText value="#{row.bindings.firstName.inputValue}"*
    *label="#{bindings.perInfoAll1.hints.firstName.label}"*
    *required="#{bindings.perInfoAll1.hints.firstName.mandatory}"*
    *columns="#{bindings.perInfoAll1.hints.firstName.displayWidth}"*
    *maximumLength="#{bindings.perInfoAll1.hints.firstName.precision}"*
    *shortDesc="#{bindings.perInfoAll1.hints.firstName.tooltip}"*
    *id="it2">*
    *<f:validator binding="#{row.bindings.firstName.validator}"/>*
    *</af:inputText>*
    *</af:column>*
    *<af:column sortProperty="lastName" sortable="false"*
    *headerText="#{bindings.perInfoAll1.hints.lastName.label}"*
    *id="c3">*
    *<af:inputText value="#{row.bindings.lastName.inputValue}"*
    *label="#{bindings.perInfoAll1.hints.lastName.label}"*
    *required="#{bindings.perInfoAll1.hints.lastName.mandatory}"*
    *columns="#{bindings.perInfoAll1.hints.lastName.displayWidth}"*
    *maximumLength="#{bindings.perInfoAll1.hints.lastName.precision}"*
    *shortDesc="#{bindings.perInfoAll1.hints.lastName.tooltip}"*
    *id="it1">*
    *<f:validator binding="#{row.bindings.lastName.validator}"/>*
    *</af:inputText>*
    *</af:column>*
    *</af:table>*
    *</af:form>*
    *</af:document>*
    *</f:view>*
    but when run it i see the following errors
    *Class oracle.adf.model.adapter.bean.BeanDataControl can not access a member of class nl.amis.hrm.EmpManager with modifiers "private"*
    *Object EmpManager of type DataControl is not found.*
    *java.lang.NullPointerException*
    *Class oracle.adf.model.adapter.bean.BeanDataControl can not access a member of class nl.amis.hrm.EmpManager with modifiers "private"*
    *Object EmpManager of type DataControl is not found.*
    *java.lang.NullPointerException*
    :(

  • Implement QBE case insensitive search using model layer?

    Using ADF 11.1.1.6.2
    We know we can set filterFeatures='caseInsensitive' at UI layer to make QBE to search case insensitive.
    How can we push that behavior using model layer implementation?
    Thanks

    Using ADF 11.1.1.6.2
    We know we can set filterFeatures='caseInsensitive' at UI layer to make QBE to search case insensitive.
    How can we push that behavior using model layer implementation?
    Thanks

  • Approach to designing model layer

    Hi,
    I am keen to understand different approaches/routes to be followed to design model layer of an ADF project.
    As an example, the embedded URL shows the logical hierarchy strucutre of various business modules -
    http://www.slideshare.net/AnkitGupta55/hierarchy-23178558
    The logical structure will govern how the data will be shown to the user based on his selection of a value of in a top level LOV/Query component.
    For Ex:  if the user choose Child 1, then he should be able to see hierarchy : Main > Child 1 > Sub child 1
    Every module in the diagram has a backend supporting table, however, the tables may not have the similar relationships. So a follow up query would be - Is it mandatory to have an identical table relationships as depicted in the diagram.
    Also, request you to share suggestions on designing Entity Objects, View Objects etc.
    JDeveloper Version - 11.1.2.4.39.64.36.1
    Best Regards,
    Ankit Gupta

    Hi,
    Every module in the diagram has a backend supporting table, however, the tables may not have the similar relationships
    What do you refer to as module? The blocks as I see them can be treated as entities with associated VO. The relation between the two can be defined using entity associations or view links. Unfortunately its not easy to answer your question without knowing what you do know and what you don't know about ADF BC. Have you tried ADF (e..g running a tutorial) or have you only theoretical experience with the product. If you write ....
    request you to share suggestions on designing Entity Objects, View Objects etc.
    What exactly are you looking for and what does "etc." stand for in regards to the technology aspect it would represent? Entities and VO can be derived from an existing database infrastructure. If you don't have this, starting with teh ADF BC Diagrammer is a good way to start with. All documentation are accessible from otn.oracle.com/products/jdev
    Frank

  • Sort order in the Busines Model layer

    HI,
    When you specify a sort order in the Busines Model layer, it is ignored on Pivot Tables. Can we please get Pivot Tables to use the sort order specified in the BM layer?
    Thanks and Regards

    -- Can we please get Pivot Tables to use the sort order specified in the BM layer?
    If it doesn't work, please try to
    1) add the column in pivot table on which the sorting is based.
    2) hide it and
    3) place it at the beginning in the rows section.

  • Is it possible to define a boolean as a checkbox at Model layer of JDev?

    We are very new to JDeveloper and are using JHeadstart. We are a 'forte' shop and are converting our applications over to JDeveloper/JHeadstart. Our current system has a number of Boolean columns in our Oracle tables that are defined as Number(1) but are used as Booleans and displayed as checkboxes.
    For example the column "discontinued" is in every edit table we have and keeps historical reference to values that are no longer used. I am wondering if it is possible at the Model layer to define all of these so that they are generated through JHeadstart to display as checkboxes. This is done at the BusinessModel layer in forte and allows us to define this in one spot and everything generated is based on that definition.
    In JDeveloper, this is currently being done at the JHeadstart Application Definition each and every time one of these tables is used, but I was wondering if it can be done through the Control Hints level in the Model Layer so that it is done once (similar to forte) and have been looking at editting the formatinfo.xml file as a possible solution. Has anyone else done this? I have searched this forum and found a couple of things wrt title bindings, but not this specifically. Can this be done?
    Thanks very much in advance.
    Mary B
    University of Windsor

    I did some poking around and I believe I found what you were looking for. It can most easily be illustrated in the form of a screen capture - as a picture can save my fingers a thousand words...
    http://cs.uwindsor.ca/~ruston7/checkboxdefn.png
    This should be all the information anyone needs to know in order to implement the same set up in their own ADF Business Components.
    Notes:
    - 'DOMAIN' refers to the static domain I have defined throughout my JHeadstart applications to properly map the check box to yes/no (ref: JHeadstart Dev Guide for details).
    - I am not sure what READ_ONLY_IN_TABLE is referring too. I am quite positive that this field is editable pretty much anywhere for this specific ViewObject.

  • Sharing the Struts model layer as web service ?

    Hi
    I am currently trying to work out how to best share the model layer on a Struts application, so that this layer is also accessible from ie. a Swing based application.
    I was thinking about using Web services in JDeveloper to do this, but it seemes that I need to deploy the web service as a seperate "application" and thus duplicate the whole model layer (because it is no longer accessible for the web service), one for the Struts application and one for the web service.
    My Struts app is based on the DAO framework, there is no EJB layer.
    Does anyone have any tips, links or any information on how to "publish" some of the bussiness layer of a Struts application for usage on external clients using other technologies like SWING?
    Are there other methods to do this using JDeveloper?
    I'd rather not have both the Struts and the Swing to call an external webservice, just to expose some of the funtionality from Struts to other clients.
    Regards

    Hi ADF seemes to be a framework for creating common "front ends" that both web and swing can use.
    - If I understood it correctly that is.
    This is really not what I am looking for, the SWING based applications use their own frameworks (they are in production), the same is also true for the other web sollutions that one likes to talk to our sollution.
    We need to expose the bussiness logic part of our system, not have a common "front end" for the various applications.
    Z

  • How to get all previous versions page contents of a publishing page using SharePoint Client Object Model 2010

    How to get all previous versions page contents and other field values of a publishing page using SharePoint Client Object Model 2010?
    Thanks,
    Osmita

    Hi Osmita,
    Greetings.
    Here are the links that helps you. It has code attached to it.
    http://social.technet.microsoft.com/Forums/sharepoint/en-US/a0d2ab40-99ba-4368-8505-1dc559ef6469/get-content-of-previous-version-of-page-sharepoint-2010?forum=sharepointgeneralprevious
    http://social.technet.microsoft.com/Forums/sharepoint/en-US/faaf419f-997e-4150-9911-48cc375c3b46/how-to-get-previous-published-versions-of-publishing-pages-in-sharepoint-2010?forum=sharepointdevelopmentprevious
    Please remember to click 'Mark as Answer' on the answer if it helps you

  • How to catch Exception in backingbean which is thrown from the Model layer.

    Hi,
    JDev Ver: 11.1.1.2.0
    In my application there are two layer viewcontroller & model.
    In model layer I have created JPA service facade which does the database operation like persist, merge & remove entity.
    I am calling this service facade method from backing bean via below standard code.
    public static Object invokeMethod(String methodName, String mapKey,
    Object object){
    BindingContext bcx =
    DCUtil.getBindingContext((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest());
    JUFormBinding bc1 = (JUFormBinding)bcx.getCurrentBindingsEntry();
    FacesCtrlActionBinding reassignOperationBinding =
    (FacesCtrlActionBinding)bc1.findControlBinding(methodName);
    if (mapKey != null && object != null) {
    Map params = reassignOperationBinding.getParamsMap();
    params.put(mapKey, object);
    Object result = reassignOperationBinding.execute();
    return result;
    This is a static method which I am calling from backingbean to invoke service facade persist, merge or remove entity method
    I have written throws in all the methods signature of service facade.
    The exception which is thrown from the service facade are not comming back to backingbean catch block.
    Is there any way to catch this exception in backingbean.
    regards,
    devang

    Hi,
    2 things to check
    1 - does reassignOperationBinding has errors. You can check on the component
    2 - does the exception show on the binding layet. See the Fusion Developer guide for how to define an error handler on the databindings.cpx file
    Frank

  • Best practice when using auto complete in view layer

    Hello
    I have a question regarding best way to store/cash data when using auto complete function in view layer.
    I know that there will be a lot of visitors that will use this function and I dont want to kill the application server so I need some advice.
    Its about 6000 words that should be searchable .... my first thought was to create a Singleton-bean that stores current items and that I will iterate over but its a lot of "waste" doing that way.
    I would be very glad if anyone could advice me how to do this best way if there is any de-facto standard to use when using auto completion in "view layer"
    Thanks!
    Best Regards/D_S

    I dont know what your design is, but here are some ideas:
    To me, autocomplete means you have some user specific data that the user entered prevously such as their home address, and some generic data that is not specific to any particular user. I would store all that in a database. For the user specific data I would store their userID along with the data in the database. Then, when populating a JSP page, I would call up just the data specific to that user and the generic data from the database. I would store it as an array of some type in javascript client--side. When the user clicks the autopopulate button, I would have that button call a javascript fuction that reteives the data from the javascript array and populate the various textfields. All this is done client-side so the form does not have to be re-drawn. I question why you have 6000 items. Normally, autopopulate has at most only a few dozens of items. If you still need 6000 items, I suggest adding a textfield to the form to filter what the data he needs down to a manageable amount. Example: rather than get all names from a telephone book, put a textfield on the form that allowfs an end user to enter a letter a to z such as 'b', then only fetch last names from the phone book that begins with 'b'.

  • Add multiple people using Javascript Client Object Model

    I am trying to add multiple people to a SP column of type Person/Group i.e. people picker. I am able
    to add one successfully using their userId, but HAVE no clue how to do that for multiple people. Here is the code for one user:
    function UserDrop(e, toElement, listGuid, columnName) {
    //EcmaScript Client Object Model
    var ctx = new SP.ClientContext.get_current();
    var list = ctx.get_web().get_lists().getById(listGuid);
    var item = list.getItemById(elementId);
    //columnName is of type person/group and I am adding user //whose userId is 7
    item.set_item(columnName, 7);
    item.update();
    // asynchronous call
    ctx.executeQueryAsync(
    function () { toElement.innerHTML = userLinkHtml; },
    function () {alert ("Error")}
    return false;
    This works great and I can add user whose userId is 7, however I want to add multiple people like let's say users of user Ids 7 and 8. 
    Any ideas or help will be greatly appreciated. 
    There is a thread on this one but that's from .net COM which could accessed here: http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/5183e87c-ee1d-4594-9492-0dfdf6616cce
    7929

    Hi ,
    Can somebody let me know how the same(assigning the array values to lookup value field) can be achieved with multi-select lookup value. SP.FieldLookUpValue do not have any such methods like fromUser. Please help. Please find my code block below
    clientContext = new SP.ClientContext.get_current();
    if (this.clientContext != undefined && clientContext != null) {
    var webSite = clientContext.get_web();
    oList = webSite.get_lists().getByTitle("Add New User");
    $.urlParam = function(name){
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    return results[1] || 0;
    var itemid = parseInt($.urlParam('ID'));
    var item = oList.getItemById(itemid);
    var users = new Array();
    users.push(SP.FieldLookupValue.set_lookupId(1));
    users.push(SP.FieldLookupValue.set_lookupId(2));
    item.set_item('Responsibility', users);
    item.update();
    clientContext.executeQueryAsync(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed));
    also i cant use managed client object model.. so pls let me know how to achieve the same using javascript client object model
    Ranjani.R

  • Layer palette issue. I choose a layer and when I use move tool on that layer PSCC jumps to another layer

    I am Using Photoshop CC 14.2.1x32. When I choose a layer in the layers palette and then use the move tool to re-position an element on that layer, PS forces a jump to another layer. The only way I can re-position is by using free transform on the layer I want to work on. What is happening with PS CC? Please help. About to dump CC and go back to CS 6

    You might have been able to change the Auto Select option from the default Group to the usually more user friendly Layer.  It's one heck of a useful feature, so get used to using it if you can.  For instance, if you have a lot of layers, it can make it a lot easier just to find a particular layer in the layers panel.

  • Cannot download master page using managed client object model SharePoint 2010

    string siteUrl = "http://server:port/sites/demo";
    string fileServerRelativeUrl = @"/sites/demo/_catalogs/masterpage/v4.master";
    using (ClientContext context = new ClientContext(siteUrl)){ FileInformation fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(context, fileServerRelativeUrl);}
    File.OpenBinaryDirect() throws "The remote server returned an error: (404) Not Found" error. while Microsoft.SharePoint.Client.File f1 = web.GetFileByServerRelativeUrl(fileUrl);
                    context.Load(f1);
                    context.ExecuteQuery();this gives the file object.File.OpenBinaryDirect() works if I pass "/sites/demo/_catalogs/masterpage/TabViewPageLayout.aspx" as fileServerRelativeUrl.Both the files are present in Master Page Gallery.File.OpenBinaryDirect() doesn't work if I pass any of ".master" file in the master page galleryPlease let me know whether downloading the master pages is supported using managed Client object model. 

    Hi,
    If don't change the default config, We are unble to download master page.
    It's better to create your own (perhaps based on the default.master) and use that master page.
    also,make sure there's no a permission issue on the website.
    Thanks
    Guangchao chen
    TechNet Community Support

  • Add attachments to List Item using JavaScript Client object model in SP2010

    Hi All ,
    I have created custom form for submitng data in list using javascript client object model/jquery .
    Now I want to add option to uplaod multiple attachments to that list item also .
    Is there option with client object model for uplaoding attachment.
    Thanks
    M
    Manesh G

    Can you try this and let me know
    using (SPSite _site = new SPSite(SPContext.Current.Site.Url))
        using (SPWeb _web = _site.OpenWeb())
         //Let's suppose your Item Id is 1
         int ItemId = 1;
         SPList  oList = _web.Lists["EmployeeList"];
         SPListItem  _item = oList.GetItemById(ItemId);
         if (FileUpload1.HasFile)
               _web.AllowUnsafeUpdates = true;
              Stream fs = FileUpload1.PostedFile.InputStream;
              byte[] _bytes = new byte[fs.Length];
              fs.Position= 0;
              fs.Read(_bytes, 0, (int)fs.Length);
              fs.Close();
              fs.Dispose();
              _item.Attachments.Add(FileUpload1.PostedFile.FileName, _bytes);
              _item.Update();
              _web.AllowUnsafeUpdates = false;

  • Read versions of comments field using javascript client object model

    Hi,
     Does someone knows how to Read versions  of comments field in 'tasks' list using javascript client object model?
    Thanks
    Manvir

    Hi,
    According to your description, I know you want to read versions of comments field.
    We can use the
    SPServices to achieve it. The below code for your reference:
    $().SPServices({
    operation: "GetVersionCollection",
    async: false,
    strlistID: "tester",
    strlistItemID: 1,
    strFieldName: "comments",
    completefunc: function (xData, Status) {
    $(xData.responseText).find("Version").each(function(i) {
    console.log("Name: " + $(this).attr("Information") + " Modified: " + $(this).attr("Modified"));
    More information:
    http://spservices.codeplex.com/releases/view/81401
    Best Regards,
    Dennis Guo

Maybe you are looking for