Configuring Kodo default implementation for field of Collection type

If I am not mistaken default implementation for field of Collection type in
Kodo is
LinkedList based proxy. It would be great if it were possible to configure
Kodo to use a proxy of my choosing
I did some tests and it seems to me that ArrayList is much more efficient
than Linked list (see below)
Is there any specific reason I am not aware of that makes LinkedList better
than array list
In my applications all collections a relatively small (or at least most of
my collections are definitely small)
and since I use Collection interface there is no inserts into middle of my
collections - only appends (which ArrayList handles very well)
So my question is can I make Kodo to use ArrayListProxy for fields of
Collection type
(except of course using ArrayList field instead of Collection which I do not
want to do)
below is some statistics on collection performance (populating and iterating
collections)
the same test against 3 collections implementations (JDK 1.4.1)
Not only ArrayList by far the fastest and memory friendly it also garbage
collected much sooner and better -
I show here max memory consumption and last to would not be garbage
collected till all memory is in use (old generation GC)
and ArrayList seems to be collected by young gen GC because it was collected
very quickly between test cycles why other only when all memory was used
So please make ArrayList your default collection implementation :-)
Small collection size (40)
time(ms) memory(kb)
ArrayList 5,218 62,154
LinkedList 14,125 240,066
HashSet 27,000 311,825
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 8937, 53591
LinkedList 15047, 240066
Larger collection size (200)
ArrayList 4860, 47709
LinkedList 18468, 290704
HashSet 34391, 422282
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 11844, 47709
LinkedList 25766, 290704

You should be able to accomplish this fairly easily by extending
SimpleProxyManager:
http://solarmetric.com/Software/Documentation/2.4.3/docs/javadoc/com/solarmetric/kodo/util/SimpleProxyManager.html
and overriding the appropriate methods (getCollectionCopy and
getCollectionProxy).
On Mon, 12 May 2003 12:26:21 -0400, Alex Roytman wrote:
If I am not mistaken default implementation for field of Collection type in
Kodo is
LinkedList based proxy. It would be great if it were possible to configure
Kodo to use a proxy of my choosing
I did some tests and it seems to me that ArrayList is much more efficient
than Linked list (see below)
Is there any specific reason I am not aware of that makes LinkedList better
than array list
In my applications all collections a relatively small (or at least most of
my collections are definitely small)
and since I use Collection interface there is no inserts into middle of my
collections - only appends (which ArrayList handles very well)
So my question is can I make Kodo to use ArrayListProxy for fields of
Collection type
(except of course using ArrayList field instead of Collection which I do not
want to do)
below is some statistics on collection performance (populating and iterating
collections)
the same test against 3 collections implementations (JDK 1.4.1)
Not only ArrayList by far the fastest and memory friendly it also garbage
collected much sooner and better -
I show here max memory consumption and last to would not be garbage
collected till all memory is in use (old generation GC)
and ArrayList seems to be collected by young gen GC because it was collected
very quickly between test cycles why other only when all memory was used
So please make ArrayList your default collection implementation :-)
Small collection size (40)
time(ms) memory(kb)
ArrayList 5,218 62,154
LinkedList 14,125 240,066
HashSet 27,000 311,825
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 8937, 53591
LinkedList 15047, 240066
Larger collection size (200)
ArrayList 4860, 47709
LinkedList 18468, 290704
HashSet 34391, 422282
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 11844, 47709
LinkedList 25766, 290704

Similar Messages

  • Default values for fields in infotype 0017

    Is there any way to set default values for fields in infotype 0017? Maybe a
    feature? I'm thinking about defaulting values based on pay scale group.
    Thanks before.

    Hi
    You can implement what i suggested in my previous post.
    Or else, you can do what we did in one of our client requirement.
    We created a custom Ztable where we had defined which value of the the employee grouping to be placed for which record.
    We did that on the basis of the company code fields.
    For eg: IF BUKRS = 'TR01'
    then EE Grp Expense Type = '1'.
    ENDIF.
    Similarly for other fields.
    Hope this helps.
    Harsh

  • Default Implementation for PersistenceProvider

    I am going to test my persistence layer outside of Java EE server.
    Using jboss embedded ejb server, I write a persistence.xml with the following:
    <provider>
    org.hibernate.ejb.HibernatePersistence
    </provider>
    <transaction-type>RESOURCE_LOCAL<transaction-type>
    Is there any default ORM in jboss server or reference implementation, so I can remove hibernate from my test environment?
    i.e. is there any default implementation for PersistenceProvider.

    I am going to test my persistence layer outside of Java EE server.
    Using jboss embedded ejb server, I write a persistence.xml with the following:
    <provider>
    org.hibernate.ejb.HibernatePersistence
    </provider>
    <transaction-type>RESOURCE_LOCAL<transaction-type>
    Is there any default ORM in jboss server or reference implementation, so I can remove hibernate from my test environment?
    i.e. is there any default implementation for PersistenceProvider.

  • EMET group policy preference "application configuration" vs "default protection for popular software"

    Hello,
    Trying to implement EMET 4.1 update 1 in a VDI environment using group policy. When all default protections are enabled (IE, recommended and popular) EMET is blocking the startup of windows media player within citrix session as caller
    mitigation. At this time I wanted to use the GPO "Application Configuration" to specify an exception as "wmplayer.exe -Caller". Even tried "*\Windows Media Player\wmplayer.exe -Caller" but startup would still get blocked. When
    using emet_conf --list I would see three entries for wmplayer and the only way to remove Caller is to disable policy "default protection for popular software". Shouldn't settings in Application Configuration take priority as being the exception to
    the rule? Alternative is to turn off the "default protection for popular software and list all of them one by one (or use XML file)
    here is part of the output of emet_conf --list
    all policies:
    wmplayer.exe           *\Windows Media Player       DEP SEHOP NullPage HeapSpray
     EAF MandatoryASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
    wmplayer.exe                                        DEP SEHOP
    NullPage HeapSpray
     EAF MandatoryASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
    wmplayer.exe           *\Windows Media Player       DEP NullPage HeapSpray Botto
    mUpASLR LoadLib MemProt Caller SimExecFlow StackPivot
    without "default protection for popular software" (much less applications listed)
    wmplayer.exe                           DEP SEHOP NullPage HeapSpray EAF Mandator
    yASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
    wmplayer.exe  *\Windows Media Player   DEP SEHOP NullPage HeapSpray EAF Mandator
    yASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
    Thank you

    if I understood correctly from talking to EMET feedback team last time, they said  App Config settings don't actually override any the default app or popular or IE protection profiles. (it really seems like App config settings override the other profiles
    from the manual, hey? I thought so as well) 
    Sooo, it sounded like we'd need to extract the recommended or popular app list, convert it to the path + mitigation not included format for the app config GPO and then just use app config to manage it. 
    Needless to say it sounded surprising and laborious and not management by exception at all. 
    Rinse repeat for new versions of emet and XML policy files . 
    p.s what would be really helpful in the admin guide is some real world examples of contoso.local where they apply the recommended apps + a few exceptions for all + custom exceptions for a separate class of  machines or groups of users. hmeh.

  • Setting default values for field on screen.

    Hello,
    I am trying to set default value for one of the fields I have on screen when I execute the custom transaction.
    I am doing that in PBO as follows. But the default value is not set for Date field.
    PROCESS BEFORE OUTPUT.
    MODULE PBO_OUT.
    MODULE STATUS_5000.
    *&      Module  STATUS_5000  OUTPUT
          text
    MODULE STATUS_5000 OUTPUT.
      SET PF-STATUS 'NON_SAP_DOCUMENT'.
      SET TITLEBAR '001'.
    ENDMODULE.                 " STATUS_5000  OUTPUT
    *&      Module  PBO_OUT  OUTPUT
          text
    MODULE PBO_OUT OUTPUT.
      ERDAT = SY-DATUM.
    ENDMODULE.                 " PBO_OUT  OUTPUT
    Please help.
    Thanks.
    Regards,
    Rajesh.

    Works Now...

  • Pre-Configure QT 7 Installation for only specific file types

    Is there an 'ini' or similar configuration file or command line option set I can use to pre-configure QT7 to only associate with specific file types?
    I want to leave the associations for Media Player intact and have QT handle only MOV and other Apple-specific file types.

    Basic answer. No.
    You set file associations after the install of QuickTime.
    Most of it's adjustments and options are found in its Control Panel. Here you can set associations for MIME types that control the browser plug-in.
    Each user can set their own values.

  • GRC AC 10 - Change default value for field in access request

    Hi everybody
    in Access request,  Is it possible to change the defaut value in the fied "request for" ?
    thanks
    Aurélien

    Hi Aurélien,
    Yes we can make it default, please go to EUP and there is a field Request for. please check the snapshot.
    Thanks and Regards
    Ankit sharma

  • Setting Default values for field using custom.pll

    Hi All,
    I have an rquirement to set the default values on Meterial Tranasction screen for some condition
    I tried it in both ways via Form Personalization and using custom.pll
    i m using the following code in custom.pll
    form_name      varchar2(30):= name_in('system.current_form');
    block_name varchar2(30):= name_in('system.cursor_block');
    trx_type           varchar2(30);
    subinv                varchar2(30);
    begin
    if form_name='WIPTXMAT' and block_name ='MTL_TRX_LINE' then
    if event_name ='WHEN-VALIDATE-RECORD' then
         trx_type:=name_in('WIPTXMAT.TRANSACTION_TYPE');
    if trx_type ='WIP Return' THEN
         copy(10,'MTL_TRX_LINE.TRANSACTION_QUANTITY');
              copy(10,'MTL_TRX_LINE.NUMBER_OF_LOTS_ENTERED');
              sinv:=trim(name_in('MTL_TRX_LINE.SUBINVENTORY_CODE'));
              if sinv is null then
                   copy(subinv,'MTL_TRX_LINE.SUBINVENTORY_CODE');
                   copy(fr_locator,'MTL_TRX_LINE.LOCATOR');
                   FND_MESSAGE.SET_STRING(sinv);
                   FND_MESSAGE.SHOW;
              end if;
         end if;
    end if;
    end if;
    end event;
    Problem is that default values are getting set but not for all rows . if there are 4 records then values are set for only first 2 rows and if there are 2 rows then defaults are set for 1st row only.
    Same behaviour happens when i do it via form personalization
    i couldn't understand the behaviour of WHILE-VALIDATE-RECORD event..
    Please provide some suggestion on it. its really urgent.
    Thanks in Advance
    Renu

    Works Now...

  • Define "default" value for field in ME51N

    Hello experts,
    I have the following requirment:
    1) Export AUFNR to memory and execute(call transaction) me51n
    2) On inserting new service lines to the item, I must import the field value and automatically set the aufnr.
    My question is how should I try to do this. I've tried BADI ME_PROCESS_REQ_CUST but I think there isn't any method that meets this requirement. Another question, is this even possible?
    Thank you and Regards
    David Pereira

    Hello,
    Yes I will probably try that route. I found an exit which seemed to be perfect EXIT_SAPLMLSK_001, but for some reason it doesn't stop on my break-point. The enhancement is activated, so i don't know why it doesn't stop.
    Thanks and regards
    David

  • How to set the default values for fields

    Hi all,
    How to show the default values without changing the existing code in the CO for the seeded page.
    I have requirement like one drown box in that three values are there. On page load the item is empty , but i have to show first value as default value. Is this possible through personalization..
    Can any body have idea pls give some suggession.
    Thanks
    Uma

    Considering you don't want to go for controller extension..
    A way is to use java script in personalization.
    Simply create a RawTextBean using personalization and add the java code to change the properties.
    Java script plan:
    Get the handle of the items to change (like here drop down)
    selectTags=document.getElementsByTagName('select') --gives list of all the select tags in the page
    get ID of the select tag whose value you want to change (loop throug selectTags array).
    or get it directly by getElementsByName method or getElementsByID mETHOD.
    Say its handle is changeItemID.
    changeItemID.selectedIndex=2
    Overview of script
    <SCRIPT type="text/javascript">function _checkLoad(eventXX){
    --yOUR CODE FOR GETTING handle Of the select item whose value is to be changed,goes here...
    changeItemID.selectedIndex=2
    }</SCRIPT>

  • Configure a default platform for mobile native extensions.

    Been playing around with native extensions on mobile devices starting with the tutorial at http://www.adobe.com/devnet/air/articles/developing-native-extensions-air.html. Things are working great when I deploy it to my Android device, but I am no longer able to  test it on the simulator on my dev desktop box.  I am having problems figuring out how to set up a default platform which should be called in the case that I am running the application on something other than a true Android device (so either my workstation or an iOS device.)  Has someone figured out how to set up a default platform that can handle methods that are currently unimplemented for other platforms, or will no be supported?

    Hi Pāvils Jurjāns,
    If you are developing Flash Lite for S60 devices, such as the
    E65, then you can package your application into a .sis file, which
    will install the Flash Lite application and a launcher icon to any
    folder you specify on the device.
    There are a couple of Flash Lite .sis builder applications
    available to purchase online, there is also a tutorial of how to do
    it yourself on the Adobe Mobile and Devices Developer Center.
    I terms of how serious is Flash Lite in developing device
    applications, it depends on what you want to achieve. We have found
    it very capable for most applications we need to develop. Sure,
    there are some things it cannot do, but then that can also be said
    of J2ME.
    Regards

  • ORAData Implementation for  a custom collection class

    Hi All,
    I have a problem for ORAData Implementation. Following shows the objects how to represent this in Java Class so that it can pass to Stored procedure.
    CREATE TYPE NODE_OBJ AS OBJECT
    NODE_ID NUMBER,
    FR_ID NUMBER(10),
    PARTITION_DATE DATE);
    CREATE TYPE NODE_SET IS TABLE OF NODE;
    Thanking u in advance
    Regards
    geet

    I have made a mistake in my previous question it should be
    CREATE TYPE NODE_OBJ AS OBJECT
    NODE_ID NUMBER,
    FR_ID NUMBER(10),
    PARTITION_DATE DATE);
    CREATE TYPE NODE_SET IS TABLE OF NODE_OBJ;
    Regards
    Geet

  • What are configuration steps in implementation for make to order?

    please give the steps for normal production also.

    Hi,
    Below is the requested info:
    Make-to-Order (MTO) Production
    Purpose
    The planning strategies explained in this section are designed for the production of a material for a specific individual sales order. In other words, you do not want to produce finished products until you receive a sales order. This means that make-to-order strategies always support a very close customer-vendor relationship, because your sales orders are closely linked to production.
    The same relationship exists between the sales order and production that exists in a make-to-order environment. Make-to-order is also used in the following environments.
    Production using variant configuration
    Assemble-to-order
    Prerequisites
    Choose a make-to-order strategy, if:
    The materials are segregated. In other words, they are uniquely assigned to specific sales orders.
    Costs must be tracked at sales order level and not on material level.
    Make-to-order strategies should always be combined with lot-size key EX (lot-for-lot. Rounding values should not be used. If you maintain rounding values, they have no effect due to the make-to-order properties of these strategies.
    Process Flow:
    There are extensive options that enable you to procure components especially for specific sales order items.
    You may, however, want to use a different planning strategy to procure components without sales orders. This allows you to keep your replenishment lead time to a minimum. You can do this by:
    Planning on the basis of the finished product (see Planning Without Final Assembly (50) or Planning with a Planning Material (60))
    Planning at component level (see Strategies for Planning Components)
    Using consumption-based or Kanban-controlled components
    Customer stock can exist on any BOM level. See Stockkeeping at Different BOM Levels for more information.
    Because production is closely linked to sales orders, this results in a customer section in the stock/requirements list.
    Unplanned goods receipts (such as returns) cannot, as a rule, be used for other sales orders, even if they are in working order, unless they are adapted to meet a customer's needs.
    In the basic make-to-order strategy, Make-to-Order Production (20), no specific product structures are required. This means that it does not matter if the material has a BOM or not. The material can be produced in-house, or it can be procured externally. No planning is involved in this strategy.
    Planning Without Final Assembly (50) and Planning with a Planning Material (60) do require a specific product structure (i.e. a BOM, which means materials are always produced in-house). These planning strategies assume that you want to plan procurement (production or purchasing) of your components by planning the finished products. This means that you need to have a fairly stable demand for your finished products. If, however, you can plan more easily at component level than at finished product level, see Strategies for Planning Components.
    Configuration Settings:
    Create material master by maintaining general item category group- 0001(make to order)
    Availability check - 02
    Transportation Group - 0001
    go to va01 and raise sales order
    item category:TAk
    Schedule line category : cp
    Requirement type KE
    Requirement class 040
    Check TOR and avalability check
    special stock : E
    VOV7
    of TAK
    billing relivence : A
    Pricing :X
    go to mb1c
    maintain stock with a special stock indicator E
    mavement type 61
    Special stock E
    specify sales order number line item number and saveit
    go to VL01N main data
    Go to VF01
    save it
    Thanks
    Ram

  • Setting default value for fields

    Hi
    I am facing an issue when setting the default value of an item
    setAttributeName("ID")
    It is working when ID value is with char
    if the ID value is number
    Iam not able to set the default value it is giveing error setAttributeName("ID") at this line
    can any body suggest on this
    Regards
    Krishna

    hi
    in this case u can convert your number value to string ,like this
    String sNum= num.toString();
    thanx
    Pratap

  • Value put in the maintenace view for field of DOC type gets divided by 100

    Hi all,
    We have a product table ZPROD_T which contains one quantity column (QUANT) of the data type DOC. We have also created a view and a maintenance view for this table.
    The problem is that when we add new values to the table using the maintenance view, the value that we add to the QUANT field gets devided by houndred. E.g. if we put in 4 in the QUANT field (type DOC), the value that we later see in the table is 0,04!
    How do we go about to solve this problem and get the correct value in the table? Should we change the maintenance view somehow or change the data type in the QUANT field from DOC to something else?
    All help is greatly appriciated!
    BR,
    Armin

    Yes, that would be an option, but I was kinda hoping there was another way to solve this problem. Namely, when we would like to have ability to have decimal values in that field, e.g. if we have quantity in sqr meters or meters. Also if we change data type to QUAN than we need to put values in the "Currency/Quantity fields" in the table ZPROD_T, and at the time we are not sure about what unit of measure we are gonna have!
    Is it possible to keep DOC data type and still get the correct values in the table?
    /Armin

Maybe you are looking for