TOPLINK QUERY - N to N objects

Well, let me see if I can explain my problem.
I have 4 Toplink POJOS:
Customers, Suppliers, Systems and one N-N entity called CustomerSupplier.
The CustomerSupplier table on my DB only have 3 fields:
CustomerID, SupplierID and SystemID.
I have a method on my Facade Bean that returns the CustomerSupplier rows for a specific Customer.
Well, given this, I want to create an ADF Table to show me this IDs. But, when I drag the CustomerSupplier collection (result of the method), I don't have the ID's, only the customer object, the supplier object and the system object.
How could I do this? I tried to manually drag the IDs that are inside the customer, supplier and system object but I can't.

Thanks Frank!
Yes, it's pointing to the CustomerSupplier object.
But I only had the object-oriented objects on my TopLink Descriptor, so when I return the CustomerSupplier there were only "Customer" object, "Supplier" object and "System" object.
I solved it putting the IDs of the 3 fields on my toplink descriptor, as I do on a normal relational system (not object-oriented).
Well, but I still have an doubt:
I have a query called "findCustomerSupplierByCustomerID".
If I pass the current CustomerID to this and create an ADF Table, this returns me the 3 IDs.
Could I show the names of the Customer/Supplier/System, like when I do a normal query with JOIN to the tables just to get the names?

Similar Messages

  • Changing the query on a view object

    I have a view object right now, based on an entity. It is the default view object, so that means the query in the view object is straight forward, it grabs all of the attributes from the table. And there is no WHERE clause.
    In reality I only want to show a finite set of rows from my table. Every time a record is changed/edited in this entity and committed, a new row in the database is created with the same information (I'm using CreateWithParams) except for a few columns.
    I actually don't really have update on this table, just creation of new rows. But to the user, I want it to 'look' like they are editing something in the table.
    Example:
    12, 11:32,Thompson, 60 (the user edits this information in an adf table, and a new row is created in the db)
    12, 11:55, Thompson, 75
    I have a timestamp (see above) field in the database that is used as part of my primary key, so that I know which record is the latest.
    When the VO query is run, I want the user to only see the latest row from the db.
    12, 11:55, Thompson, 75
    So...
    I went to my VO, and I changed the WHERE query to add this:
    where t1.TimeStamp = (Select MAX(t2.TimeStamp) FROM rcl.x t2 where t1.uid = t2.uid);
    Now, this isn't a mysql/sql question. There's actually a better query that I'd rather run, but the VO editor doesn't allow me to change the query itself....
    When I save the new WHERE to my VO, run my page again, I get the expected result (showing me only the latest records).
    However, when I try and sort on the table in which my data is displayed, I am now getting ORDER BY errors.
    I don't want my VO to be read-only sql based. I want to be able to update my table, so I have my VO running off of the entity.
    Why doesn't the VO allow me to change the query itself? (Like do a subquery, instead of having my where clause do the work)
    Why are order by errors being thrown when I sort on my adf table after changing the where clause in my view?
    Hopefully I wasn't too convoluted in the explanation of my problem..
    Thanks in advance,
    Joel

    HI Joe,
    Regarding your problem you can do one of the following tasks:
    1- easily to tuning on your view object, I mean in the tuning page of the view you can set that only return 1 record or 2-3 record fetch not all the record.
    in the order by you will order by the timestamp field and descending.
    2- you can order by the timestamp descending and in the where clause only set the rownum<2 (will return the last record) you can also set rownum<5 and get the 4 last record etc.
    3-editing the view query in the expert mode is not advised at all because of many consequences that you will face.
    4- maybe it is not bat that you add a readonly view for the table you mentioned and every time you unpdate the entity just re-execute the read-only view.( this method maybe is good maybe is not it depends on your business logic)
    Regards.
    Edited by: Amir Khanof on Sep 3, 2010 11:11 PM

  • Query for recurring reports using Query Builder in Business objects

    1. How to count webi Recurring reports using query builder in business objects? (Need Query for this)
    2. How to count Crystal Recurring reports using query builder in business objects? (Need Query for this)
    I am able to get summerized recurring reports using Query Builder.
    For Example we have 343 reports which are under recurring (This includes both Webi Reports and Crystal Reports).
    we need to get individually how many webi reports are under Recurring and Crystal reports are under Recurring.

    1. How to count webi Recurring reports using query builder in business objects? (Need Query for this)
    2. How to count Crystal Recurring reports using query builder in business objects? (Need Query for this)
    I am able to get summerized recurring reports using Query Builder.
    For Example we have 343 reports which are under recurring (This includes both Webi Reports and Crystal Reports).
    we need to get individually how many webi reports are under Recurring and Crystal reports are under Recurring.

  • Need query to find out object Accessibility

    Hi Gurus,
    I am in need of a query that can show object accessibiliy .i.e
    given table can be accessed by which all oracle users.
    it should take into account grants given by roles.
    Please help.
    Regrads

    user5228856 wrote:
    the solution you give me l give me a all out report ,
    what i need is
    select <<>>
    from <<>>
    where object_name = owner.object_name
    result set should return what all db user has select priv on the given object.site below contains desired code
    http://www.petefinnigan.com/tools.htm

  • A simple query for an Account object *SOLUTION INSIDE*

    I've been trying to do a query to the Account object in CRM for release 16.
    This is the result after i run my app:
    Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Server
    at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:171)
    at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:102)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:240)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:210)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:103)
    at $Proxy30.accountQueryPage(Unknown Source)
    at integra.universal.accountWS.AccountWS.<init>(AccountWS.java:145)
    at integra.universal.accountWS.AccountWS.main(AccountWS.java:162)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 10 seconds)
    My code is :
    crmondemand.xml.account.query.AccountQuery queryCuenta = new AccountQuery();
    //Definimos el query a traves de QueryType
    * Cada clase tiene su propia definicion de QueryType
    * por lo que hay que ir a la direccion crmondemand.xml.<i>tipo</i>.query.QueryType
    crmondemand.xml.account.query.QueryType qt = new QueryType();
    //Definimos el valor del query
    qt.setValue("LIKE 'Ivan*'");
    //Llamamos los parametros de cada query para definir los campos de busqueda
    queryCuenta.setAccountName(qt);
    * queryCuenta.setAccountType(qt);
    * queryCuenta.setCreatedBy(qt2);
    * etc etc
    //agregamos a ListOfAccountQuery los parametros de busqueda
    crmondemand.xml.account.query.ListOfAccountQuery laqlaq = new ListOfAccountQuery();
    laqlaq.setAccount(queryCuenta);
    laqlaq.setPagesize(new BigInteger("20"));
    AccountQueryPageInput aqpi = new AccountQueryPageInput();
    * Generamos los objetos que reciben el parametro de busqueda y que regresan el resultado.
    URL wsURL, wsURL2 = null;
    //I can create the connection np.
    Conexion conecta = new Conexion();
    String jSessionId = conecta.conectaSiebel();
    String wsLocation = "https://secure-ausomxcia.crmondemand.com/Services/Integration";
    try {
    wsURL = new URL(wsLocation + ";jsessionid=" + jSessionId);
    wsURL2 = new URL(wsURL, "file:/C:/Some/Dir/Account.wsdl");
    } catch (MalformedURLException ex) {
    Logger.getLogger(AccountWS.class.getName()).log(Level.SEVERE, null, ex);
    Account_Service as = new Account_Service(wsURL2, new QName("urn:crmondemand/ws/ecbs/account/10/2004", "Account"));
    Account cuenta = as.getAccount();
    AccountQueryPageOutput aqpo = new AccountQueryPageOutput();
    //Agregamos al query la lista de propiedades a buscarse.
    aqpi.setViewMode("Manager");
    aqpi.setListOfAccount(laqlaq);
    aqpi.setBookId("");
    aqpi.setBookName("");
    aqpi.setLOVLanguageMode("");
    //Obtenemos el resultado en un objeto de tipo AccounQueryPageOutput
    aqpo = cuenta.accountQueryPage(aqpi); //The execution stops on this line.
    //Wrapper de una lista de AccountData objects
    // crmondemand.xml.account.data.ListOfAccountData lad = aqpo.getListOfAccount();
    //Estructura de datos que contiene cada AccountData object
    // List<AccountData> listaDeResultados = lad.getAccount();
    //Aqui recorremos la lista de objetos de tipo AccountData
    // for (AccountData accountData : listaDeResultados) {
    // accountData.getAccountName(); //Devuelven Strings y tipos basicos.
    Any suggestions really appreciated : )
    Edited by: user10957396 on Apr 28, 2009 1:01 PM
    Edited by: user10957396 on May 25, 2009 8:55 AM

    Thanxs for your reply Venky. You was right, i had to use wsdl instead of wsdl2, but that didn't fix it.
    Since i'm using release 16 i'm kinda lost, even that i think you guys did an amazing job with the new Web Services api(v2.0).
    Correct me if i'm wrong but i should use a code like this:
    endpoint = "https://secure-ausomxdsa.crmondemand.com/Services/Integration" + ";jsessionid=" + jsessionid;
    URL urlAddr = new java.net.URL( endpoint);
    crmondemand.ws.contact.Contact service = new crmondemand.ws.contact.ContactLocator();
    crmondemand.ws.contact.Default_Binding_Contact stub = service.getDefault(urlAddr);
    crmondemand.ws.contact.ContactWS_ContactQueryPage_Input contactlist = new crmondemand.ws.contact.ContactWS_ContactQueryPage_Input();
    crmondemand.ws.contact.ContactWS_ContactQueryPage_Output outlist = new crmondemand.ws.contact.ContactWS_ContactQueryPage_Output();
    crmondemand.xml.contact.Contact[] contacts = new crmondemand.xml.contact.Contact[1];
    crmondemand.xml.contact.Contact contact = new crmondemand.xml.contact.Contact();
    crmondemand.xml.contact.Activity[] activities = new crmondemand.xml.contact.Activity[1];
    crmondemand.xml.contact.Activity activity = new crmondemand.xml.contact.Activity();
    activity.setSubject("");
    activity.setType("");
    activity.setRowStatusOld("");
    activities[0] = activity;
    contact.setContactLastName("='Wallmueller'");
    contact.setContactFirstName("");
    contact.setContactId("");
    contact.setListOfActivity(activities);
    contacts[0] = contact;
    contactlist.setPageSize("10");
    contactlist.setUseChildAnd("false");
    contactlist.setStartRowNum("0");
    contactlist.setListOfContact(contacts);
    outlist = stub.contactQueryPage(contactlist);
    crmondemand.xml.contact.Contact[] results =
    new crmondemand.xml.contact.Contact[1];
    results = outlist.getListOfContact();
    crmondemand.xml.contact.Activity[] activitiesout =
    new crmondemand.xml.contact.Activity[1];
    int lenC = results.length;
    if (lenC > 0) {
    for (int i = 0; i < lenC; i++) {
    System.out.println(results.getContactFirstName());
    System.out.println(results[i].getContactLastName());
    System.out.println(results[i].getContactId());
    int lenA = results[i].getListOfActivity().length;
    if (lenA > 0) {
    for (int j = 0; j < lenA; j++) {
    activitiesout = results[i].getListOfActivity();
    System.out.println(" " + activitiesout[j].getSubject() + ", " + activitiesout[j].getType());
    that i found here [http://www.webbasedcrmsoftware.com.au/crm-on-demand-tutorials/65-java-access-to-crm-on-demand|http://www.webbasedcrmsoftware.com.au/crm-on-demand-tutorials/65-java-access-to-crm-on-demand]
    for the release 15. Wich is almost the same code i'm using for the new release besides lists(that now are actually lists) and i think i don't need to use any bindings.
    In particular for Account i found that only the name is a required field, so i'm just using that field for the query.
    Thanks in advance.

  • Put a Query in an Authorization Object

    Hi everyone
    Is there any way to set a query as an authorization object value?
    Best regards,
    Luis Elizondo

    Hi,
    This is not possible for finding out authorization value from a Table for an Authorization Oject. But in case of BI Analysis Authorization we have the option to pass the information of Authorization Value Dynamically from a Z-Table or an Hierarchy as a node of that Hierarchy. If you are looking for this in a BI system then you can of course dynamically pass a value from a Z-table through a Customer exit variable.
    Please note that even in BI analysis authorization also we don't have option to pass Query technical name and also conceptually this is not convincing and useful. BI query technical name can be maintained in the authorization objects S_RS_COMP and S_RS_COMP1 (please go through the text description of these two objects to understand the difference).
    Let us know for any query you have.
    Regards,
    Dipanjan

  • How to call a TopLink Query on ADF Page Load (onload)

    Hi,
    I am new to ADF wants to find out how to call a TopLink Query whenever a page loads. I saw SRDemo Sample but all the queries are bound to some kind of an action method i.e. clicking on a button executes a query etc. But I need to call a toplink query on my page load. Any small sample will help.
    Thanks

    Try this approach:
    http://blogs.oracle.com/shay/2007/07/25

  • Support of Query newQuery(java.lang.Object compiled)

    The implementation of the Query newQuery(java.lang.Object compiled)
    method doesn't copy the Class of the candidate instances but it should
    ad the documentation says :
    "All of the settings of the other Query are copied to this Query, except
    for the candidate Collection or Extent."
    Thanks.

    You can't query on a blob column.

  • How do I stop IN CLAUSE when query a hierarchy of object.

    I have a base class which is annotated with
    @Entity(name="UdmHierarchyObject")
    @Table(name="UDM_HIERARCHIES")
    @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
    public class UdmHierarchyObject ...
    I have a single table hierarchy of objects which use the following annotation:
    @Entity(name="Lookup")
    @DiscriminatorValue(value="Lookup")
    public class Lookup extends UdmHierarchyObject ....
    Now I may have MANY classes that extend the base and this is were I am worried. When I query, EclipseLink always creates an IN CLAUSE including all the subclassed entities, which I don't really need. And I worry about it's size.
    An example query produces the SELECT below.
    select l from Lookup l join l.data d
    where l.hierarchyObjectName = :name and d.name = 'Code'
    order by d.value"
    2008-05-28 14:06:31,773 DEBUG [oracle.toplink.sql:135] - ClientSession(22145060)--Connection(23069842)--
    SELECT t1.ID, t1.JPA_DISC, t1.OBJECT_NAME, t1.OBJECT_TYPE, t1.UPDATED_ON, t2.ID, t2.HIERARCHY_NAME, t2.PARENT_ID, t2.REFERENCE_ID FROM UDM_DATA t0, UDM_HIERARCHIES t2, UDM_OBJECTS t1 WHERE (((((t2.HIERARCHY_NAME = ?) AND (t0.DATA_NAME = ?)) AND (t2.ID = t1.ID)) AND (t1.JPA_DISC IN (?, ?))) AND (t0.OWNER_ID = t1.ID)) ORDER BY t0.DATA_VALUE ASC
    bind => [StateCode, Code, Lookup, EventTypeCode]
    The actual query is fine, however I don't always need the t1.JPA_DISC IN (?, ?) part because I am providing sufficient filtering.
    Is there a way to suppress this in the query, or should I not be bothered with a large IN CLAUSE?
    You comments would be appreciated.

    The issue is you are querying a branch class, so only the children of this branch must be filtered. Unless you are noticing real performance issues with the IN, I would not worry about it too much.
    Otherwise, you could consider using joined inheritance, or some level in between joined and single table (JPA does not support this, but TopLink does if you customize your descriptors).
    You could also customize your TopLink descriptors using a DescriptorCustomizer to change how subclasses are filtered. You would need to set the ClassDescriptor's InheritancePolicy's withAllSubclassesExpression.
    -- James : http://www.eclipselink.org

  • JPA toplink Query cache

    Any idea when performing Query's with Hint but no L2 cache enabled ? Will that object cached / lazyloaded /enriched on access ?
    By the way, whats the default L2 cache setting, is it enable or disabled ? If enable where does it stores, in memory ?
    Thanks
    Newbie

    A shared (L2) cache is enabled by default in TopLink/EclipseLink.
    The cache is in memory.
    Using a query cache, without the shared cache makes little sense, you should use both, or none.
    What will happen if you do is the query cache will be isolated to the session the same as the object cache, so you will get query cache hits for the duration of the persistence context/transaction. i.e. it will be an L1 query cache.
    To configure the cache see,
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/Caching

  • Toplink does not return the object sometimes - VeryHigh Volume application

    Hi All,
    Toplink version: 10.1.3.4, OAS 10.1.3.4, Oracle 10g, RedHat linux 4.0
    We have a high volume application where toplink issues one of our queries like 25K times/hour.Query is a simple one querying the table based on the primary key(Id) that should return 1 object.
    This query is not returning the object sometimes I should say like 200 times/hour. What bothers me is that the same query on the same Id(primary-key) returns the object another time.
    I did enable the toplink logging level to FINE where I could see the SQL query getting issued to the DB, I was unsuccessful in changing the logging level to ALL to check if the object is getting returned by the toplink layer and being registered in the cache kind of details.
    This is not easily re-producable as this only occurs in our Pre-Prod environment where we can simulate high volume. This completely baffles me and I am running out of ideas.
    Thanks in advance.
    -Ram
    Edited by: Raam on Jun 4, 2009 7:41 PM

    If you are configured for an isolated cache then there should be no concurrency issues. Each thread will query the database directly and load the object into the UnitOfWork. Is there an Exception handler configured on TopLink? Are you getting a timeout exception or some other exception that is being ignored?
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Querying for no related object on n-m relationship

    Hi,
    I have a n-m relationship between two objects A and B. I want to query all A objects that do not have a B (a.getB().isEmpty()). Is there a way to build an expression for that ?
    I cannot use getField("B_FK").isNull as the foreign key is in a relationship table and I'd like to avoid using direct SQL, so I'm kind of stuck.
    Thank you for any help you could provide me.
    Bye.

    The trick is to use a nested query, and think of the relationship in the other direction (i.e., not that A has many B's, but that B belongs to an A).
    There is an example of something similar to this on page 1-32 of the 903 "Using TopLink Foundation Library Guide". The example shows a query to find all the Employees who manage more than 5 employees.
    Here is a similar example I wrote recently to find all the HockeyTeams without any Players on them (sorry, it's NHL playoff time and I am Canadian.
    =====================
    ExpressionBuilder team = new ExpressionBuilder();
    ExpressionBuilder player = new ExpressionBuilder();
    ReportQuery subQuery =new ReportQuery(Player.class, player);
    subQuery.addCount();
    subQuery.setSelectionCriteria(player.get("team").equal(team));
    Expression exp = team.subQuery(subQuery).equal(0);
    ReadAllQuery q = new ReadAllQuery(HockeyTeam.class, exp);
    Vector v = (Vector)serverSession.acquireClientSession().executeQuery(q);

  • Multiple Rows Update / Refresh Toplink Query when database trigger involved

    Hi everybody!
    I have two easy troubles for you; the platform is the same as the SRDemo Toplink version.
    1.     Multiple Rows Update: I want to update with mergeEntity method, multiple rows for an isolated table; that method receives a parameter that I try to bind with the iterator "dataProvider" but it only merges the first row, not all, any other combination returns an error.
    What I want to do is to have a form (like tabular forms in Apex) that lets me update multiple rows in a single page. ¿May anyone tell me how to do it?
    2.     Refresh Toplink Named Query: I have a list on a page with two columns. From another page, a button does an action that fires a database trigger that updates one of the columns on the list´s page. When I go back to the list, it is not updated; however, the CacheResults´s property is set to false on the iterator.
    Thanks in advance,
    Alejandro T

    I didn't use it (yet), but - you might take a look. You'll find a [url http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-plug-ins-182042.html]Timer plug-in on this page. It is a dynamic action which allows you to periodically fire other dynamic actions in the browser. For example use the timer to refresh a region every five minutes. You can perform any dynamic action you want using this infrastructure.So I was thinking: you might use it to run a dynamic action which would check whether something changed in that table (I suppose you'll know the way) (for example, a database trigger might set a flag in some table, timestamp or similar), and - if you find that something really changed - refresh the page.
    As I said, I never used it so that's pure theory. Someone else might know better, though.

  • Passing an argument in the SQL Query of a View Object

    Hi,
    It is possible that this question has been asked before, however I have searched for a half an hour in the forums and couldn't find a solution.
    I am also new to using JDeveloper and ADF. Here's the situation:
    I am developing an application that doesn't have to do anything else then displaying data from a database. Pretty straightforward actually.
    Now I have made a vew pages with several collapsible panels (af:showDetailHeader) and have setup the datasources (or so I thought).
    All that remains is:
    - drag & drop a view object, from the application module that I created, onto the collabsible panels, so a child element gets created which displays data from the database.
    - hack the layout so it looks like I want it to.
    The problem that I have is the following:
    I am using a 'User'-class that contains values I need when quering the database.
    That User-object is part of a user-session.
    What I want, for example, is to use the 'getPersonId()' function of that User-object and pass the argument to a SQL-query of a certain view-object.
    The query would become something like:
    'SELECT * FROM people WHERE people.personId = :someNumber'.
    Now I've read some stuff about variable binding, which is complemented by something like (backing bean code):
    getDBTransaction().getRootApplicationModule().getACertainViewObject().setWhereClauseParameter(1, user.getPersonId());
    The examples I have found that might match my wishes are not using business components, but EJB's. I am having difficulty with understanding the 'how'-part of variable binding.
    Also, I do not know enough of ADF to be able to create a situation like:
    'User loads page, collapsible panel 1 is fully shown, the others are undisclosed.'
    (meaning, that for panel1 a query has been executed.)
    'User clicks on collapsible panel 2 which triggers a backingbean that somehow retrieves data from a view object'.
    I would appreciate any help that somebody can give.
    If it is not too much of a problem, please provide code snippets in case you have a solution. I am new to ADF :(.
    -edit
    I am using JDeveloper 10.1.3.3.0 in case that is of any importance.
    Message was edited by:
    Hugo Boog

    Hello Stijn,
    I didn't think about a referenced bean rule in the faces-config.
    I added it right away and I am now able to set parameters of a View-object, not using a page button and before the page loads. You made my day!
    In case anyone ever reads this post again, the summary of how to generate a table based on a View-object using dynamic parameters.:
    1a: Go to faces-config.xml -> Overview tab'
    1b: Go to the menuitem "Referenced Beans"
    1c: Click on 'new' and select the existing bean you want to access data from and input a name. In this example I use name="user"
    2: Create a View-object using the wizard.
    2a: Specify the query you want in the menuitem 'SQL Statement'.
    Add the 'parameters' you want to. You will have something like:
    "SELECT * FROM someTable WHERE table.columnname LIKE :someArgument".
    - hint: if you want the result to become something like:
    "SELECT * FROM someTable WHERE table.columnname LIKE '%someArgument%'" then you have to add the '%'-characters in your code itself (read: someClass.setParameter("%" + someArgument);).
    2b: In the menuitem 'Bind Variables' you have to add the variables you are referring to in the query. If you look at the query in 2a, then you have to add a variable with name "someArgument".
    2c: Add the View-object to a Application Module (create one if nessecairy).
    3a: Open a .jsp(x) file. Drag the View-object created in step 2 from the 'Data Controls'-pane to the page.
    3b: Click on the '+' of the View-object in the 'Data Controls'-pane and open 'Operations' and drag 'ExecuteWithParams' to your page as a button.
    3c: We do not want to use a button, the action has to be executed immediatly. So In the page source remove the lines that were created after dropping 'ExecuteWithParams'.
    3d: Right-click on the page and select "Go to Page Definition".
    3e: Go to the action id that is called 'ExecuteWithParams#', where # is a number.
    Change the id to something useful.
    3f: Change the NDValue so it corresponds with the value you want.
    Example:
    <action id="getAddressData" IterBinding="AddressesView1Iterator"
    InstanceName="MyHRServiceModuleDataControl.AddressView1"
    DataControl="MyHRServiceModuleDataControl" RequiresUpdateModel="true" Action="95">
    <NamedData NDName="someArgument" NDType="java.lang.String"
    NDValue="#{user.personId}"/>
    </action>
    Note: It is possible to use the value of a Backing Bean in NDValue.
    Note 2: user is the bean I referred to in the faces-config.xml!
    3g: Under the executables item, add an 'invokeAction' to pass the parameter to the View-object before your JSP-file loads:
    <executables>
    <invokeAction Binds="getAddressData"
    id="loadAddressDataOfPersonIdInSession"
    Refresh="prepareModel"/>
    Thank Stijn Haus for this :)

  • Query on using Collection object in Multithreading

    All,
    I have a query on multithreading, I have a collection object-eg. HashMap which needs to be shared
    among threads, I my have 3 options
    1st option is to synchronize the method which does some manipulation on the collection object,
    2nd option is to hold a lock on that object like
    synchronized(object){
    //do some work
    3rd option - to make use of class ConcurrentHashMap available in java.util.concurrent package; which claims to be
    Thread safe but also says the following in the API - They do not throw ConcurrentModificationException. However,
    iterators are designed to be used by only one thread at a time
    My queston is - how do I choose between these 3?
    I know the decison needs to be taken by keeping performance issue in mind and also the number of times the values in HashMap will be updated by the threads. Can some one explain to me when/under what circumstances do I use options 1 || 2 || 3

    My application has actually gone live now - after doing some load/performance testing
    and comming to the conclusion that performance is satisfactory [I am designing a SMS gateway
    that receives/buffers/stores/sends SMS]
    Initially I used Hashmap and a LinkedList to store objects in memory and I had a mixture
    of places where some times I made the entire method that modifies the LinkedList & hashmap
    synchronized and some places where I held a lock on the object alone (I wasnt too sure which to use where)
    Then upon movin to 1.5 I rechanged the the data structure to use ConcurrentLinkedQueue & ConcurrenthashMap.
    But i have places where I still hold synchronized locks over those objects (which i think is unnecessary and removing the locks may improve the performance)
    So can i come to the conclusion that classes in java.util.concurrent are all threadsafe and we can stop holding locks on the objects and let java take care of itself [or should I still hold a lock when doing structural modification] [though the APi states that a oncurrentmodificationexception will not be thrown & iterators are designed to be used by only one thread at a time]

Maybe you are looking for

  • Problem with uc-locale-en_GB-8.6.2.1-12.cop selection on unity connection cluster

    Hi All, Hopefully someone can help me out. I'm trying to install uc-locale-en_GB-8.6.2.1-12.cop on our unity connection cluster which is running 8.6.2.20000-2. The cop files successfully installs and I've rebooted the both servers but I cannot select

  • During MIGO for  Free goods documents posted in SPL in ECC6

    Hi Friends, In ECC6, when posting MIGO for free goods, document is being generated and posted in Special Purpose Ledger, but No Document is being generated for the same process in 4.6. Can any one suggest the reason for the same. Thanks

  • Go to Function in Report

    Hello Friends, Here i am having two BW reports, report 1 and report 2. I am accessing report 2 with GO TO functionality in report 1. In report 1, we have various fields such as characteristics, attributes, navigational attributes and Key figures. <b>

  • Oracle Service Bus: Monitoring/Tracking Consumer Services?

    Hi, since we have a Oracle Service Bus and a Oracle Service Registry, is there any standard solution for tracking which consumer services/applications are accessing which provider services? What we need is monitoring the applications (consumer) which

  • How to create BPM

    Hi All, Please anyone share me how to create BPM step by step wise? Regards Naveen