Transient attributes

Cache scheme: replicated
     If our data objects has a few transient attributes (say large attributes, that we do not like to replicate until the need arise, a.k.a lazy loading), how do we code this logic in our put/get API? An example would suffice.
     I think this issue also arises in Coherence *Web, where large attributes can be declared as transient, and are stored as different entities for performance reasons as in ``split'' session model.
     Regards,
     Bulut.

The easiest approach is to mark the fields as     > transient, then use getter methods with lazy loading.
     > This can read those attributes from the appropriate
     > data source (which may be a cache or even a database,
     > depending on your requirements).
     Do you think Coherence would help in this case? Where would you implement this lazy loading logic? And more importantly, how would it look like? I can see two alternatives:
     i) using Coherence services... maybe using a near cache?
     ii) independent of Coherence? which definitely looks more cumbersome.
     > Coherence*Web simply queries a method which indicates
     > whether a given named attribute should be clustered
     > or not (this class is provided by the application
     > developer). Also, note that Coherence*Web does not
     > lazily load non-clustered attributes; it actually
     > determines whether to make them visible to other
     > cluster member.
     Basically, my question is how Coherence implements handling of transient attributes, if we need a local transient attribute at a remote site.

Similar Messages

  • How to reference a custom property in a vo transient attribute expr + bug

    Hi all
    I have created a transient attribute with an expression that evaluate null content to replace it by a appropriate text.
    <ViewAttribute
        Name="DescriptionUI"
        IsUpdateable="false"
        IsSelected="false"
        IsPersistent="false"
        PrecisionRule="true"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="VIEW_ATTR"
        SQLType="VARCHAR">
        <TransientExpression><![CDATA[((Description == null) ? 'Pas de description' : Description)]]></TransientExpression>
      </ViewAttribute>I have defined a custom property for that attribute that contains the message text. I was surprised to see that the custom property was not associate with the attribute in the source file. Don't understand where the association is done
        <Properties>
          <CustomProperties>
            <Property
              Name="flex.tree.noLabel"
              ResId="flex.noDescription"/>
          </CustomProperties>
        </Properties>I had some difficulties to use the custom property editor. When creating a new related one by using an existing resource the property column value is not changed and the content 'Property' is generated. Because no relationships exists between attribute and the property, the entry is lost in the table referring custom property list for the attribute when your come back into the view object or if you save an another entry in an another attribute.
    So my first question ? Is the attribute editing part the right part to define custom property pairs if they are not related to attributes ? is it a bug ?
    My second question is : is it possible to evaluate the bundle in the expression (replacing the literal 'Pas de description' by an expression) ? What is the expression to use ? Where it is described to do such things in the help or in the documentation ?
    Thank you

    This is wrong
    ((Label == null) ? {FlexParameterModelBundle['flex.tree.noLabel']} : Label)
    What is the correct syntax to refer to the project model standard bundle in the groovy expression ?
    Thank for the help !

  • Error while creating Transient Attribute in VO

    Hi.,
    I am using jdeveloper 11.1.1.5.,
    I had created a GlAcctYearlyBalEO with corresponding VO., I had created an transient attribute GaybCurrBal with type BigDecimal., While i am trying to create another transient attribute GaybCloseBal with type BigDecimal I am getting an error as
    Invalid identifier found in Attribute Name or Type
    GaybCloseBal

    Hello wilhelm,
    If you copy the attribute name from somewhere make sure that your GaybCloseBal has no spaces at the end.

  • Migration issue on default value for transient attribute in 11.1.2

    Experts,
    I migrated my JDev 11.1.1.5 project to JDev 11.1.2. After successful migration i began to run the project and it ran without issue. In the application however when i clicked on any link or button i get the following exception
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=Cannot get property 'saleType' on null object
    Caused by: java.lang.NullPointerException: Cannot get property 'saleType' on null object
         at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:56)
         at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:154)
         at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:29)
         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:237)
         at bc4j_com_xxx_portal_model_uiView_SaleVO_SaleTypeTransient_null_gs.run(bc4j_com_xxx_portal_model_uiView_SaleVO_SaleTypeTransient_null_gs.groovy:1)
         at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:1200)
    In my SaleVO i have a transient attribute whos value is set as
    adf.userSession.userData.saleType == 'ORGANIZATION' ?
                               'LOV_PartyTypeOrg' : 'LOV_PartyType'When i print the value from user session i am getting a value there, so a bit confused about the NPE here.
    Please advice
    Jdev 11.1.2

    Hi,
    this is something you should report to customer support to have them looking at this and helping you out
    Frank

  • Issue with value of  transient attribute after filtering or sorting a table

    Hi guys,
      i'm using jdev 11.1.1.4.0 .
      i've the use case :
             - a table with a column containing a checkbox to mark the selection of  a row
    <af:column align="center" sortProperty="TemIsChosen" filterable="true"
    sortable="true" id="c6">
    <af:selectBooleanCheckbox value="#{row.bindings.TemIsChosen.inputValue}" autoSubmit="true"
    shortDesc="#{bindings.ServersIndicTempVVO.hints.TemIsChosen.tooltip}"
    id="sbc1"
    valueChangeListener="#{backing_initIndicatorsTemp.onSelectTemp}"/>
    </af:column>
             - i select one or more rows with checkboxes
             - if i filter  or sort the table, the selection of the checkboxes reset to not selected (value false by default).
         I understand that for the framework, it's a normal behavior because for filtering or sorting , it re-executes the query from database. And transient attribute is not persistent, so it goes back to the default initial value "false".
         What i would appreciate, it's that filtering or sorting has no effect on the value of the transient attribute, ie end user selection remains.
          I tried to modify query mode of the ViewObject to filter with in-memory data. It works fine but if you reset filter inputs you can't retrieve correct RowSet. Only new RowSet is stored, old is lost.
           So  now it's the filtering feature that doesn't work as expected.
       How can i implement  my use case withouth the troubles i've described.
    Best regards,
    David

    Hi Frank,
       no it's a view object level attribute inside a read-only view object.
      The view object doesn't use any entity.
      Here is the definition of the attribute in the xml file of the VO, if can help you :
    <ViewAttribute
        Name="TemIsChosen"
        IsSelected="false"
        IsPersistent="false"
        PrecisionRule="true"
        Type="java.lang.Boolean"
        ColumnType="BIT"
        AliasName="VIEW_ATTR"
        SQLType="BIT"
        Passivate="true">
        <Properties>
          <SchemaBasedProperties>
            <TOOLTIP
              ResId="ADD"/>
            <DISPLAYWIDTH
              Value="50"/>
          </SchemaBasedProperties>
        </Properties>
      </ViewAttribute>
    David

  • How to populate transient attribute from view object dynamically

    I have three 4 tables named as "employee,event,event_progress,and checklist progress". i have created a view object using the first three tables . i ahave also created 5 transient variables in to the same view object.when i dragged the view object in to my page as a table i want to populate those transient attribute.
    i have 5 transient attribute which are present as a column value named as chechlist_name in another table "checklist".those all transient attribute also having two sub rows whose data should be populated from the checklist progress table.

    Hi
    Please post your question on this forum, your question belong to this forum.
    JDeveloper and ADF
    Muhammad Nasir

  • Export Transient Attribute data to excel sheet (from Advance Table)

    Hi,
    I have an advanced table in which its columns mapped with both vo attributes(from database) and transient attributes. If i select 'Export Button' i need to export all data present in the advanced table to excel sheet.. But i am not able to export transient attribute data .. Can anyone help me to solve this problem...
    Thanks,
    Babu

    Babu
    You should be able to export any attribute from the VO, provided they are not hidden fields. Do the values appear on the screen? What is the field type on the advanced table of the attribute you are trying to export?
    --Ritu                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • ReadOnly items based on transient attribute - best approach?

    JDev11 question:
    Do you have any idea how can I make items updatable/readOnly based on transient attribute?
    Why is there only feature for "Updatable while new"..?It should be updatable based on function.
    I tried making my coponents disabled based on transient attribute based on a groovy expression.
    However when I invoke af:query, there is a problem - a bug which is similar to this thread:
    http://cn.forums.oracle.com/forums/thread.jspa?threadID=1018561&tstart=89
    So there should be another good approach.. Please suggest anything you think is flexible enough.

    Navid,
    JHeadstart checks whether the attribute definition is queryable before adding it to the list of advanced search attributes. A transient VO attribute can still be set to queryable, for a transient EO attribute this is not possible. We will remove this check on queryability in the upcoming patch release, since you have a valid use case. For now, you can subclass JhsSearchBean and override method createArgumentListForAdvancedSearch and comment out the check for "def.isQueryable()".
    Steven Davelaar,
    JHeadstart Team.

  • Difference between EO and VO Transient Attributes

    Guys,
    We do have Transient attributes at EO and VO Level. Are there any difference in that?
    Can you give me use cases where we need to prefer EO Transient attribute instead of VO Tranisent attribute or Vice versa...
    Any help appreciated....

    EO transient Attribute - behave like a column in the db table.. either it can be mapped tothe db column or not..
    VO transient attribte - behaves like a query attribute.. its just used to mape the attribute with the underlying EO attributes.. or for any calculations to be made based on other attributes..

  • Can Shuttles be based non-base  table ViewObjects with transient attributes

    Hello,
    Users have to select records from a data collection and a Shuttle looks most appropriate/nice for this purpose. We can introduce technical intersection tables in order to generate the Shuttles with JHeadstart 10g R3 if necessary, but there is no “functional” need to update any data in the database and therefore it would be practical if the ‘right’ side from a Shuttle can be based non-base table ViewObjects with transient attributes only. So, our interested is to know which records have been selected, i.e. moved to the right side from the Shuttle.
    Hope that my question is clear enough.
    Greetings,
    Michael

    Michael,
    This cannot be generated out-of-the-box.
    It is easiest to add the shuttle post-generation to your page, and then create a custom template to generate your custom shuttle into the page. I suggest you take a look at an example of a generated shuttle in a page, and the JHeadstart IntersectionShuttleBean class. You will see that the value property of <af:selectManyShuttle> points to the selectedKeys method in the JHeadstart Shuttle bean. In your case, you can create your own managed bean and bind the value property to your own method which will provide you access to the selected rows. The value property of the selectItem within the af:selectManyShuttle determines the property that is used to identify the selected row (which is the row key in case of Jhs-generated shuttles).
    Steven Davelaar,
    JHeadstart Team.

  • What is the default value of boolean type transient attribute in VO?

    Hi All,.
    jdev version-11.1.2.1.0
    i have created one vo based on eo where i add one boolean type transient attribute Marked(uihint checkbox).
    now i have apply view criteria on this vo.
    like---
         ViewObject vo=getView(iterator);
         vo.setQueryMode(ViewObject.QUERY_MODE_SCAN_VIEW_ROWS);
         ViewCriteria vc=vo.createViewCriteria();
         ViewCriteriaRow vcr=vc.createViewCriteriaRow();
         vcr.setAttribute("Marked", "true");//Setting attribute on view criteria.
           vcr.setConjunction(ViewCriteriaRow.VCROW_CONJ_AND);
           vc.setCriteriaMode(ViewCriteria.CRITERIA_MODE_CACHE);
         vo.applyViewCriteria(vc);//Apply view criteria on vo.
         vo.executeQuery();
         vc.add(vcr);
       vo.executeQuery();this code running fine and that is selected only those row which i have cheked.
    but now i want to apply view criteria that select select those rows that are not checked.
    like-
    vcr.setAttribute("Marked", "false");but it is not return any row.
    if select checked any row and then uncheked that row so marked attribute for this row set false. but rows that are unchecked by default not return.
    so my question is that what is default value of Marked attribute when user not take any action i will try
    vcr.setAttribute("Marked","null");
    but not working.

    i have tried this but this is not working.
    follwing code working for Null case not for False
    vcr.setAttribute("Marked","is null"); this code display all rows who has null but when i checked any row and then unchecked so that row get value "false" also not display.

  • Problem with transient attribute attach to standard vo from the controller

    Hi all,
    I attached two transient attributes to the standard vo through controller.
    Then i passed values to these fields from controller based on another field in the standard vo.
    I created two columns in the table without given the view instance and view attribute.
    But in the controller i'm setting the view instance and view attribute for this two columns.
    After i applied this extended controller it is working fine, but one problem is there.
    Once if i clear the cache and then i enters the page, the extended fields are appearing with null. if i press F5 in the browser then its working fine.
    same problem happens only when the cache cleared or server gets bounced. so i need to go each page and press F5 once then everything is fine.
    Here, I shared my code, please tell me what is the problem and how to solve this.
    Code:
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAViewObject cvo=(OAViewObject)am.findViewObject("FinalCompListVO");
    if(!cvo.isPreparedForExecution()){
    cvo.executeQuery();
    if(cvo!=null){
    try{
    String temp1=cvo.findAttributeDef("XXCompNameAttr").toString();
    }catch(Exception e){
    cvo.addDynamicAttribute("XXCompNameAttr");
    try{
    String temp1=cvo.findAttributeDef("XXCompTypeAttr").toString();
    }catch(Exception e){
    cvo.addDynamicAttribute("XXCompTypeAttr");
    Row compRow[]=cvo.getAllRowsInRange();
    for(int i=0; i<compRow.length;i++){
    FinalCompListVORowImpl cVORowImpl=(FinalCompListVORowImpl)compRow;
    String name[]=cVORowImpl.getName().split("\\.");
    String compName=name[2];
    cVORowImpl.setAttribute("XXCompNameAttr",compName);
    for(int i=0; i<compRow.length;i++){
    FinalCompListVORowImpl cVORowImpl=(FinalCompListVORowImpl)compRow[i];
    String name[]=cVORowImpl.getName().split("\\.");
    String compName=name[0];
    if(i==0){
    cVORowImpl.setAttribute("XXCompTypeAttr","Behavioral");
    }else if(i!=0&&compName.equals("FUNC")){
    cVORowImpl.setAttribute("XXCompTypeAttr","Functional");
    break;
    OAMessageStyledTextBean mstb=(OAMessageStyledTextBean)webBean.findChildRecursive("XXCompTypeCol");
    mstb.setViewUsageName("FinalCompListVO");
    mstb.setViewAttributeName("XXCompTypeAttr");
    OAMessageStyledTextBean mstb1=(OAMessageStyledTextBean)webBean.findChildRecursive("XXCompNameCol");
    mstb1.setViewUsageName("FinalCompListVO");
    mstb1.setViewAttributeName("XXCompNameAttr");
    Thanks in advance,
    SAN

    Hi,
    1. ExecuteQuery should already be executed in Base Controller, So please check if you need it. though i don't think that might be causing the issue.
    cvo.executeQuery();
    2. The code where you call findAttributeDef and handle the Exception, Can you debug that portion. As It may not be throwing exception in any case and so the Attributes were never added to VO and Page Displays null..
    I am not sure, but i think the issue seems to be around 2.
    all the best
    -Idris

  • Treetable with transient attributes

    Hi,
    I use JDeveloper 11.1.1.2.0 to develope an ADF application.
    I need to create and show two level treetable using viewobjects theese have only transient fields.
    I have two viewobjects and a viewlink described below:
    1. VO : AccountsVO
    2. VO : ProductsVO
    Viewlink : ProductsOfAccountVL
    An account can has a lot of products. Both of viewobjects have only transient attributes.
    I have to use transient attributes because of the architecture of the application.
    I create and insert the rows to the viewobjects in managed bean.
    I need to create a treetable like below :
    AccountName1 AccountDesc1
    ---ProductNo1 ProductName1 ProductDesc1
    ---ProductNo2 ProductName2 ProductDesc2
    AccountName2 AccountDesc2
    ---ProductNo3 ProductName3 ProductDesc3
    When I drag and drop the parent VO as an ADF Tree Table then run the application, I could see only first level records.
    I mean only Accounts are shown.
    The viewlink doesn't work. Is this a bug or is it normally work like this.
    Finally I intend to create and add child node programmatically, but I don't know is it possible or not and how could it be done.
    What do you advice or what is the correct way.
    Mehmet
    Thanks.
    Edited by: mdoldur on 03.Haz.2010 12:33

    Hi Frank,
    I don't have any entity object, so I get the informations from a few different modules and
    insert them to the programmatic viewobjects which have transient attributes.
    In fact I could create 2 temporary tables on the database but I am not allowed to change the database schema.
    By the way I have updated my JDeveloper from 11.1.1.2 to 11.1.1.3 I will try the same operation and inform you.
    Thanks.
    Mehmet.

  • Getting error when trying to extend standard VO with transient attributes

    Hello,
    I am trying to extend the standard VO ReqSummaryVO in iprocurement module and getting the error "Each Row in the Query Result Columns must be mapped to a unique Query Attribute in the mapped entity columns" at step 4. This VO has a lot of transient attributes. I have gone through solutions from other threads related to this error but none of them worked for me. Can someone help me on this please?
    Thanks,
    Girish.

    Hello,
    I am trying to extend the standard VO ReqSummaryVO in iprocurement module and getting the error "Each Row in the Query Result Columns must be mapped to a unique Query Attribute in the mapped entity columns" at step 4. This VO has a lot of transient attributes. I have gone through solutions from other threads related to this error but none of them worked for me. Can someone help me on this please?
    Thanks,
    Girish.

  • Problem extending a VO with transient attributes

    I am trying to extend a VO that is based on a query with a Binding Style of Oracle Positional.
    The Attributes that are listed for the original VO are the attributes from the Query Statement plus some transient attributes.
    I extended the VO by modifying the query. Added my two columns at the END of the Select statement.
    Successfully substituted the VO but I am getting a runtime error when saving a record.
    Reviewed the extended VO and noticed that the new columns are listed as attributes AFTER the transient attributes.
    This could be the cause of the runtime error since one of the transient attributes listed after the query attributes is RowChanged.
    How can I force my new attributes to be positioned BEFORE the transient attributes?
    Is this the problem or is it something else?
    Thanks for any suggestions.

    Runtime error:
    java.lang.NullPointerException
         at oracle.apps.pos.supplier.server.ByrSuppAMImpl.validateDffVo(ByrSuppAMImpl.java:3575)
    Yes, I have checked the attributes (Updateable Always, etc.) and the attribute mappings and they all seem fine.
    My two new attributes are at the end of the original attributes. I think my new attributes should NOT be at the end of the original attributes because the original VO.xml has attributes from the query and then transient attributes that are not from the query. My extended VO now has the attributes from the original query, the transient attributes, and then my new attributes from the query.
    The first two transient attributes are RowChanged and RenderFlex and it seems like OAF is confusing it with my new attributes because:
    (1) the runtime error I get when saving (RowChanged attribute)
    (2) the Flex field icon grays out after my VO extension was deployed (RenderFlex attribute)
    To test out my theory, I would like to move my new attributes to be listed BEFORE the transient attributes.
    I tried editing the VO.xml file by moving my new attributes (query-related) to the end of the other query-related attributes and before the transient attributes (that are not query-related). When I try to view my changes inside JDeveloper, the attributes are shown in the new order (on the left) but the query mappings are still listed in the old order.
    Where can I re-order the query mappings? Tried using the up/down arrows on the right but it's grayed out.
    If I re-order the attributes in the VO.xml file and save it, is that all the change I need to do?
    Thanks.

  • Sorting on table with transient attributes

    Hello all,
    I would like to know if it is possible to enable sorting on a table with only transient attributes? I have an advanced table which is based on a VO that has all transient attributes. In this scenario, is there a way to enable sorting? Is this supported? Please let me know.
    Thanks in advance
    Raja

    Raja,
    Here are my responses:
    I would like to know if it is possible to enable sorting on a table with only transient attributes? >>Yes
    I have an advanced table which is based on a VO that has all transient attributes. In this scenario, is there a way to enable sorting?
    It does not depends whether the attributes are transient or not as sorting in framework will be done on view instance, you can still enable sorting in advanced table.For details refer to dev guide.Is this supported?>>Yes
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for

  • How do I get my contacts back on to my Macbook pro and delete them from iCloud?

    How do I get my contacts back on to my macbook pro and delete them from icloud?

  • How to get online help when creat new filter files in EDS?

    I want to creat some my own filter files in order to get Event report from network management station when some special situations appear. I have run /opt/CSCOpx/bineds -filter,and the Named Filter window appears,I select new a file,later select "add

  • How do I get my phone to show me when making a call?

    I have a personal I-phone that my wife now uses because I have a company I-phone now.   My wife has added her apple id to the i-phone but when she calls me her names does not show up but mine.  It is like I am calling myself.  How do I get this resol

  • ATV wont finish sync

    I finally figured out my router issues, and was able to set up ATV in iTunes. That being said, I am attempting to "load / sync" my music with ATV. Granted, my 160G ATV will not hold my library of 185G+, but each time I hit sync, the ATV will take ano

  • Left outer join functions like simple join

    I created two views SCO_REQGROSSLINES_V & SCO_REQLINESCOMPLETE on Oracle requisitions base tables. Our business rules enforce the following identity: the number of gross requisition lines will always be greater than or equal to the number of requisit