List of requests for custom objects

I can't find a concrete answer on how to query an object when it is contained in a list. Maybe it's in the documentation or forums, but I have not found. What I have is a building object that includes a list < room > parts, and each room has its own attributes as typeCode. Our cache contains building objects indexed by its own key. Now, I want to write a filter to find 1 to several building objects have a room with a specific typeCode, for example "2 dB.

I tried an EqualsFilter with 2 "dB" and in him passing a ValueExtractor that navigates the building as: rooms.typeCode. I expect the getRooms() of construction method to be called, which returns a list < room > and then thinking to evaluate the content of the list to call getTypeCode() on each instance of House. Instead, I see errors because there is no such thing as getTypeCode() on java.util.ArrayList. No joke.

How can I get to dive inside the list and framework to evaluate instances of the room inside? All the examples I've seen are for simple collections, such as list < String > or < Integer >, while I have a < FooBar > list.

Hello

You must write a custom puller for that purpose that the out-of-the-box extractors do not support the invocation chaining in the collections (i.e. extracting a collection created by extraction of the attributes of the items in the collection).

something like this:

import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;

import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
import com.tangosol.io.pof.PortableObject;
import com.tangosol.util.ValueExtractor;

public class TwoLevelChainExtractor implements ValueExtractor, PortableObject {

   private ValueExtractor extractorReturningCollection;
   private ValueExtractor extractorExtractingFromCollectionElement;

   /**
    * This is for the POF deserialization.
    */
   public TwoLevelChainExtractor() {
   }

   public TwoLevelChainExtractor(ValueExtractor extractorReturningCollection, ValueExtractor extractorExtractingFromCollectionElement) {
      this.extractorReturningCollection = extractorReturningCollection;
      this.extractorExtractingFromCollectionElement = extractorExtractingFromCollectionElement;
   }

   @Override
   public Object extract(Object obj) {

      Object interim = extractorReturningCollection.extract(obj);

      Collection res = new ArrayList();
      ValueExtractor innerExtractor = extractorExtractingFromCollectionElement;

      if (interim instanceof Collection) {

         for (Object element : (Collection) interim) {

            res.add(innerExtractor.extract(element));
         }

      } else if (interim instanceof Object[]) {

         for (Object element : (Object[]) interim) {

            res.add(innerExtractor.extract(element));
         }

      } else {

         Class cls = interim.getClass();
         if (cls.isArray()) {

            // primitive array

            int count = Array.getLength(interim);
            for (int i=0; i

Subsequently, you can use just this extractor to extract a collection of rooms type codes:

ValueExtractor roomsTypeCodes = new TwoLevelChainExtractor(new ReflectionExtractor("getRooms"), new ReflectionExtractor("getTypeCode"));

To achieve what you want, you can use the roomsTypeCodes and ContainsFilter or ContainsAnyFilter.

You can implement similar stuff for the extraction of POF by taking advantage of the PofValueParser class in a subclass of EntryExtractor.

Best regards

Robert

Tags: Fusion Middleware

Similar Questions

  • Are there any restrictions for custom object records?

    Hello

    Are there any restrictions for custom object records?

    Thank you

    Hello

    Registration of custom object data cannot be used:

    • with Hypersite field mergers;
    • with the research data on the data in the field, only the number of overall;
    • on off key Dynamic Content in the emails

    edynamic expert Eloqua

  • Request for custom trigger

    Hi you all,.

    I use custom triggers, because they are very practical. I must, however, make a query that made a selection and based on the result of a process loop update or insert. Well, my problem is that I can't natively to fetch the result in a custom trigger. I always did something like that for my updates for example:

    $update_prices = "update cart_details set price = '$cost' where cart_details_id ="$cart_details_id "';"

    $result2 = $tNG-> connection-> execute ($update_prices);

    However when it come to the results of a select statement, I'm lost. I wish there was a manual or some kind of documentation of this framework. Any ideas?

    I found the API to solve my problem. Its amazing that the solution was not displayed on this fourm before. Looks like he is a former Executive it is not used by hard-core coders who need more than what is offered by the gui uninstaller. Through my own digging, I was able to find a solution:

    -> $result2 $tNG-> connection = execute ("select idprd_pdt from the fbs_product_pdt where idmnu_pdt = '".) $result-> Fields ("idmnu_pdt"). » » ");

    {if ($result2)}

    While (! $result2-> EOF) {}

    $update = "update fbs_proddet_prd set image_prd ="$image_prd", make_default_image_for_this_category ="Y"

    where id_prd = ' "." $result2-> Fields ("idprd_pdt"). » » ";

    $result_update = $tNG-> connection-> execute ($update);

    $values. is $result2-> Fields ("idprd_pdt"). «, » ;

    $result2-> MoveNext();

    }

    to find classes and their function, you can navigate to includes/common/lib/db/KT_Recordset.class.php

  • Where to find a list of annotation for Cos objects keys?

    I try to get the name of the author, creation Date, and the GUID for an annotation and need to know what the keys are that I need to use.

    Is there a list of all keys that are available?

    Thank you

    Gregory

    All what you need to know is in the PDF reference / ISO 32000.

  • API bulk: creating custom objects, fields, and lists?

    Hi all

    I have searched and passed through the ticket of support for routing, but have not yet managed to find an answer to this question, so I thought that maybe the people who write the API would be the best ones to talk to

    Anyway, in summary, my question is:-

    Is it possible to create lists of contacts, the Contact fields and items customized by using the bulk API 1.0?

    I know, it is possible to create new contacts and add them to an existing list, but I want to create a new list with the bulk API and then add my contacts on this new list.

    Same kind of thing for the Contact fields. I want to be able to check if there is a Contact field and if not create one and then fill in the import.

    Once again, even for custom objects. I know I can do a GET for all currently available Custom objects, but can I create a new using the API as a whole?

    Any help would be most appreciated.

    Thank you

    Hi Chris,

    You cannot create contact fields, shared lists or the custom objects through the bulk API (which in fact is a RESTful API), they must exist already.

    You can use the REST or lists The SOAP API to create only shared the REST API to create the contact fields, but SOAP or REST currently supports the creation of custom data objects.

    If you don't have it already, please take a look here, building on The Eloqua Platform - A Resource Guide and there REST API - Documentation for kernel objects that will hopefully more questions.

    T.J.

  • Menus custom objects

    I'm starting with custom objects, but the menu does not match other screenshots I've seen here on topliners. In the custom menu object, the only option is 'Search for custom object records' (see screenshot). Y at - it something I need to install or configure to use these, or am I just missing something?

    Well Yes, Michael is right – not everyone has CDO, according to your level of finish. If you are on Basic of Eloqua trim, then you need not CDO unless pay you extra. The cost for the extra features depends on the size of your database, so I would recommend reaching out to your ad

    Also, here is the list of features produced in case you need more information: Oracle Eloqua price | Marketing, management and integration costs. Eloqua Oracle products

  • fetch the request for resources

    Hello

    How to retrieve all resource requests using a method?

    The below method returns requests for an object of resource of spefic with ' approved '.

    tcResultSet rs = reqIntf.getRequestsForObject ("iPlanet user", "approved");

    I want to retrieve all resource requests.

    Thanks and greetings
    Inbaa

    public Thor.API.tcResultSet findRequests (phAttributeList, java.util.Map)
    throws Thor.API.Exceptions.tcAPIException,
    tcAPIException

    Returns a list of queries that match the list of attributes provided.

    Just give your criteria in the list (you can see this API in the given link)

    I have not tried but give:

    Map = new Hashmap();
    a.put ("Objects.Object Status.Status", "*");

    Then you can sort this resultset depends on your use case.

    It should work...

    http://otndnld.Oracle.co.jp/document/products/id_mgmt/idm_903/doc_cd/Javadocs/operations/Thor/API/operations/tcRequestOperationsIntf.html#findRequests (java.util.Map)

    Let me know the results...

    AND

    getRequestsForObject will give you all the demand for an object only.

    Published by: Arnaud

  • Bad when document icon (file) with the request for assistance

    I have a WinXP VM (using 2.0.5) running in unity with the sharing of applications from two ways on Snow Leopard (although the problem was the same on Leopard).

    On the host OS, I "Get Info" on a document, let's say on my desktop and specify that I want it to be ' Open (ed) by ' an application for the virtual machine. The association works very well, as expected, the only problem is that the icon of the document, not that of the (helper) application, is just jumbled up pixels; nowhere else that the icon is fine, whether for the (helper) application itself, or even when it appears in the menu and other screens, such as the list of drop-down 'Open with', but in the Finder, in a document and with Quick Look, it is garbage and this is the case, any Windows program I chose , despite the reconstruction of the list of requests for assistance.  I even changed the icon of an application, by copying into a Mac program, thinking it might have something to do with the Windows icon formats, but the problem persists.

    Again, everything works well, whether using the document or the throw with the right program, but it's rather ugly to look at, say on your desktop or in Finder in general.

    Has anyone met, or not, and someone has a solution?

    Hey Francois,.

    Just after my first answer, I found this thread: VMware Fusion 2.0.6 beta with fixed for Snow Leopard now available that may be useful.

    I have not yet tried, but it looks promising. Not the comment later in the thread on the entire Application, which seems also relevant/necessary.

  • How to fill out a customer request for a customer calls field

    Hello

    When you view a call, if we click on the icon 'Journal New Request', then the popup "New application" appears and you can choose a new request must be created.  When the request is displayed then it is empty.  Is it possible to get the customer when calling, filled on demand which is created?

    I had a peek in "InCallDetails.js" and can see that the NewRequest() function is:

    function NewRequest()
    {
    NAV. Focus();
    NAV. NewRequest (da.) CALL_NUMBER. (Value, 0);
    }

    Is it possible to change settings for customer reference result is transmitted and demand new picks it up?

    Thank you
    Ian

    Yes Mr. Hawkins, you can customize this feature a little to demand, many call field values you want:

    Custom_InCallDetails.js:

    function NewRequest()
    {
       nav.focus();
       // Customization. 2013.03.10. Transferring information from the Call to a New Request.
       // nav.NewRequest(da.CALL_NUMBER.value, 0);
       var Params = "REQUESTOR_REF=USER_REF,CLIENT_CO_REF=CLIENT_COMPANY_REF,LOCATION_REF,REQUEST_DESC=PROBLEM_DESC,REQUEST_DESC_HTML=PROBLEM_DESC_HTML,z_CR_MAIN_BUSINESS_SERVICE_REF=SERVICE_REF";
       nav.NewRequest(da.CALL_NUMBER.value, 0, Params);
    }
    

    It is even possible to copy objects of the call for a new application. Just tell me if you must.

    Regs, Gytis

  • Creating a new workspace of object for a custom object

    Hello

    I have a problem with creating workspace object for my custom in the plugin object. I am trying to create something similar to 'chassis-rack' example that comes with the SDK. I added a new category of app and I want to display lists of the inventory of the various objects custom under him. For each custom object, I can see it has objects and its own properties. So I did everything as in the sample "chassis-rack". I am able to display lists of custom my objects. However, when I click on a specific object in the list, its workspace does not appear (although it is defined in plugin.xml), I get a blank screen with a message: "you don't have privileges to view this object, or there is not." I added two custom objects, and both behave the same way.

    I checked the newspaper and there is nothing interesting. I also have it debugged and discovered that "getData" function of the object DataAdapter recorded for these objects is not called when I click on the object in question, so I guess that the problem is linked to the workspace object, but I can not find or understand how I can find it.

    I'll be very grateful for the help.

    Here's my plugin.xml:

    <? XML version = "1.0" encoding = "UTF-8"? >

    < id = "com.emc.ecs.scaleioPlugin plugin"

    moduleUri = "Scaleiopluginui.swf" defaultBundle = "ScaleiopluginuiResources" > "

    < resources >

    < local resources = "en_US" >

    <! - relative path of the .swf resource generated by the build script - >

    < uri="locales/scaleio-plugin-ui-resources-en_US.swf"/ module >

    < / resource >

    < / resource >

    <!--==========================================================================

    ================================== General ===================================

    ==============================================================================-->

    <!-add "ScaleIO ECS' node in the view of the Virtual Infrastructure of the object

    Navigator. This category node is used below for the MDM group collection. ->

    < id = "com.emc.ecs.scaleioAppCategory extension" >

    < extendedPoint > vise.navigator.nodespecs < / extendedPoint >

    < object >

    < title > #{scaleioAppCategory} < /title >

    < parentUid > vsphere.core.navigator.virtualInfrastructure < / parentUid >

    < / object >

    < / extension >

    <!--==========================================================================

    ==================================== MDM =====================================

    ==============================================================================-->

    < id = "com.emc.ecs.mdm.objectType extension" >

    < extendedPoint > vsphere.core.objectTypes < / extendedPoint >

    < object >

    < types >

    < string > ecs:Mdm < / String >

    < / types >

    < label > #{mdmLabel} < / label >

    < labelPlural > #{mdmLabelPlural} < / labelPlural >

    icon <>#{mdmIcon} < / icon >

    < / object >

    < / extension >

    < templateInstance id = "com.emc.ecs.mdm.viewTemplateInstance" >

    < templateId > vsphere.core.inventory.objectViewTemplate < / templateId >

    < variable name = "namespace" value="com.emc.ecs.mdm"/ >

    < variable name = "objectType" value = "ecs:Mdm" / >

    < / templateInstance >

    < templateInstance id = "com.emc.ecs.lists.allMdm" >

    < templateId > vsphere.core.inventorylist.objectCollectionTemplate < / templateId >

    < variable name = "namespace" value="com.emc.ecs.mdmCollection"/ >

    < variable name = "title" value = "#{mdmLabel}" / >

    < variable name = "icon" value = "#{mdmIcon}" / >

    < variable name = "objectType" value = "ecs:Mdm" / >

    < variable name = value="com.emc.ecs.mdm.list"/ "listViewId" >

    < variable name = value="com.emc.ecs.scaleioAppCategory"/ "parentUid" >

    < / templateInstance >

    < id = "com.emc.ecs.mdm.list.sampleColumns extension" >

    < extendedPoint > com.emc.ecs.mdm.list.columns < / extendedPoint >

    < object >

    elements <>

    < com.vmware.ui.lists.ColumnContainer >

    com.EMC.ECS.MDM.column.IP < uid > < / uid >

    < dataInfo >

    < com.vmware.ui.lists.ColumnDataSourceInfo >

    < requestedProperties >

    < string > ip < / String >

    < / requestedProperties >

    intellectual property < sortProperty > < / sortProperty >

    < exportProperty > ip < / exportProperty >

    < /com.vmware.ui.lists.ColumnDataSourceInfo >

    < / dataInfo >

    < item >

    < mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    Ip address < headerText > < / headerText >

    intellectual property < dataField > < / dataField >

    < /mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    < / component >

    < /com.vmware.ui.lists.ColumnContainer >

    < com.vmware.ui.lists.ColumnContainer >

    com.EMC.ECS.MDM.column.Type < uid > < / uid >

    < dataInfo >

    < com.vmware.ui.lists.ColumnDataSourceInfo >

    < requestedProperties >

    Type < string > < / String >

    < / requestedProperties >

    Type < exportProperty > < / exportProperty >

    < /com.vmware.ui.lists.ColumnDataSourceInfo >

    < / dataInfo >

    < item >

    < mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    < headerText > MDM Type < / headerText >

    Type < dataField > < / dataField >

    < /mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    < / component >

    < /com.vmware.ui.lists.ColumnContainer >

    < / object >

    < / object >

    < / extension >

    <!--==========================================================================

    ================================ MDM Cluster =================================

    ==============================================================================-->

    < templateInstance id = "com.emc.ecs.mdmCluster.viewTemplate" >

    < templateId > vsphere.core.inventory.objectViewTemplate < / templateId >

    < variable name = "namespace" value="com.emc.ecs.mdmCluster"/ >

    < variable name = "objectType" value = "ecs:MdmCluster" / >

    < / templateInstance >

    < templateInstance id = "com.emc.ecs.lists.allMdmCluster" >

    < templateId > vsphere.core.inventorylist.objectCollectionTemplate < / templateId >

    < variable name = "namespace" value="com.emc.ecs.mdmClusterCollection"/ >

    < variable name = "title" value = "#{mdmClusterLabel}" / >

    < variable name = "icon" value = "#{mdmClusterIcon}" / >

    < variable name = "objectType" value = "ecs:MdmCluster" / >

    < variable name = value="com.emc.ecs.mdmCluster.list"/ "listViewId" >

    < variable name = value="com.emc.ecs.scaleioAppCategory"/ "parentUid" >

    < / templateInstance >

    < id = "com.emc.ecs.mdmCluster.list.sampleColumns extension" >

    < extendedPoint > com.emc.ecs.mdmCluster.list.columns < / extendedPoint >

    < object >

    elements <>

    < com.vmware.ui.lists.ColumnContainer >

    com.emc.ecs.mdmCluster.column.name < uid > < / uid >

    < dataInfo >

    < com.vmware.ui.lists.ColumnDataSourceInfo >

    < requestedProperties >

    < string > name < / String >

    < / requestedProperties >

    < sortProperty > name < / sortProperty >

    name of < exportProperty > < / exportProperty >

    < /com.vmware.ui.lists.ColumnDataSourceInfo >

    < / dataInfo >

    < item >

    < mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    < headerText > name < / headerText >

    < dataField > name < / dataField >

    < /mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    < / component >

    < /com.vmware.ui.lists.ColumnContainer >

    < com.vmware.ui.lists.ColumnContainer >

    com.emc.ecs.mdmCluster.column.mode < uid > < / uid >

    < dataInfo >

    < com.vmware.ui.lists.ColumnDataSourceInfo >

    < requestedProperties >

    mode of < string > < / String >

    < / requestedProperties >

    mode of < exportProperty > < / exportProperty >

    < /com.vmware.ui.lists.ColumnDataSourceInfo >

    < / dataInfo >

    < item >

    < mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    < headerText > Mode < / headerText >

    mode of < dataField > < / dataField >

    < /mx.controls.advancedDataGridClasses.AdvancedDataGridColumn >

    < / component >

    < /com.vmware.ui.lists.ColumnContainer >

    < / object >

    < / object >

    < / extension >

    < id = "com.emc.ecs.mdmCluster.objectType extension" >

    < extendedPoint > vsphere.core.objectTypes < / extendedPoint >

    < object >

    < types >

    < string > ecs:MdmCluster < / String >

    < / types >

    < label > #{mdmClusterLabel} < / label >

    < labelPlural > #{mdmClusterLabelPlural} < / labelPlural >

    icon <>#{mdmClusterIcon} < / icon >

    < / object >

    < / extension >

    < / plugin >

    Thanks for your help, laurentsd. I think that I managed to find the problem (actually, it looks like some sort of bug).

    I think there is a problem when the word "cluster" appears in the object type, because when I changed the type of the object to "ecs:mdmCluster" to "ecs: something ' in all places where it appears, everything started working. I'm sure that if collect you chassis and change the type "samples: chassis ' in ' samples: Cluster ', you will get the same problem I experienced. In any case, my problem is already solved.

  • Get custom object drop-down list values

    I am using the drop-down list of web Services and try to use them against a custom object. They work very well for standard objects such as account, but do not reach my custom object. I tried calling it 'Custom object 01', 'CustomObject1', 'connection' etc. I feel that these web services do not work against custom objects... Does anyone have a contrary experience?


    createSession();
    selection list. List drop-down selection = new iLink.picklist.Picklist ();
    Pick. URL = session. GetURL();
    selection list. Entry PicklistWS_GetPicklistValues_Input = new iLink.picklist.PicklistWS_GetPicklistValues_Input ();
    selection list. PicklistWS_GetPicklistValues_Output output = new iLink.picklist.PicklistWS_GetPicklistValues_Output ();
    entry. RecordType = "CustomObject1";
    entry. FieldName = "IndexedPick0";
    output = pick. GetPicklistValues (input);
    session. Destroy(session.) SessionID);

    Thanks in advance for your comments...

    I recommend you post this question on the forum of CRM on demand integration development.

    Published by: bobb on June 9, 2009 08:02

  • How can I make Apple sent an official request for Andorra in the list of international codes?

    Apple acknowledges that Andorra Telecom (Mobiland) is an approved operator.

    However it does not include the international dialing code of Andorra (+ 376) in the list of phone prefixes in the country.

    This prevents verification services, such as in two steps and two-factor authentication.

    How can I make Apple sent an official request for Andorra in the list of international codes?

    Thank you.

    Return of goods - Apple

  • Evaluation period for the stage of field custom object compare?

    I've never used an evaluation period during a stage of field of the custom object to compare on the canvas of the campaign and I want to confirm that she will be as I wait for him.

    We have a campaign that will send an email in nine batches, each a week after previous. I have a custom object with a field that contains the batch number (1-9) and I put nine steps to compare items customized on the canvas. The first checks to see if batch = 1, the second batch = 2, etc. I added a trial period of 7 days for the first eight steps. After I activated the campaign, I would expect all flow into the first stage of the decision and all those whose lot = 1 will immediately proceed to the stage of e-mail and the rest will wait seven days before moving on to the second decision, where everyone with batch = 2 will be moved to the stage left and e-mail everyone will wait for more than seven days, etc.

    I want to just make sure that this will be similar to, say, the Email step click on decision given that the data in the custom object will not change during the evaluation period, as it can to the other stages of decisions. And I don't want to accidentally send all nine lots at a time.

    Thank you.

    Hi Rob,

    This could work, as the Yes path would fire instantly and without the path would check during the evaluation period. Is there a reason to not only use a delay of a week between each stage of the decision well? A little more crowded, but perhaps more clearly during the audit of the canvas to the wire without having to enter each stage?

    See you soon,.

    Phil

  • Worst ever customer service! Took a month to solve my request for an account that was signed for fraud with my bank details, and would not deliver even a refund of $1 for fraudulent use of the account. If they treat their employees the way cu

    Worst ever customer service! Took a month to solve my request for an account that was signed for fraud with my bank details, and would not deliver even a refund of $1 for fraudulent use of the account. If they treat their employees the way of customer service treats its customers, not surprising that the service is the worst I've ever met.  Bad form Adobe.  What a month subscription pay you? Adobe Community

    If your card has been used fraudulently to subscribe, you should be able to get the charges reversed with your credit card company. Not to defend the whole Adobe Customer Service, but in this case Adobe has no way to tell if it is a fraudulent use.

  • I received a request for donation through TechSoup. When I go to the list of products I don't find an option for Acrobat Pro Win ESD XI. I tried to download Adobe Acrobat Pro 11.0 instead, but when the dowloand begins and the files are being extracted I a

    I received a request for donation through TechSoup. When I go to the list of products I don't find an option for Acrobat Pro Win ESD XI. I tried to download Adobe Acrobat Pro 11.0 instead, but when the dowloand starts and files are being extracted I'm then alerted my "device already has a more functional product installed. The installation program will end now. "I had already downloaded a free trial of Acrobat Pro DC. When the trial ended, I tried to activate my new purchase of product with the serial number gave me of TechSoup... no luck. Help, please

    Please uninsatll Acrobat DC version.

    You can install Acrobat XI pro from the link below:

    Download Adobe Acrobat products. Standard, Pro | DC, XI, X

    I hope this helps.

    Concerning

    Megha Rawat

Maybe you are looking for