Comparing and grouping Array Values

Hello, I am relatively new to LabVIEW. I am currently analysing areas of individual particles using particle analyses. I am then outputting the results into a 1D array and sorting the array in ascending order. The size of the array changes depending on the image being analysed. What I want to do is search the array and group values which are similar and within a tolerance of say +/- 0.2. The number of groups need to be able to change automatically depending on the image being analysed.  Is there an easy way of doing this task? Help would be greatly appreciated.  
Rob

Hi Mike,
Thank you for your reply.
How can I sort the values into the correct group? I have attached my code.
Many Thanks
Rob
Attachments:
labVIEW Pic.doc ‏84 KB

Similar Messages

  • Adding Millisecond to timestamp and group the value.

    Dear All,
    i wanted to add 1000Millisecond to timestamp and group all the data which contains in that 1000 Millisecond interval.
    For EG:
    Input:
    GPS_TIME                            
    2013-04-25 21:03:34.873000
    2013-04-25 21:03:35.210000
    2013-04-25 21:03:35.700000
    2013-04-25 21:03:35.903000
    2013-04-25 21:03:36.233000
    2013-04-25 21:03:36.233000
    2013-04-25 21:03:36.680000
    2013-04-25 21:03:36.680000
    2013-04-25 21:03:36.933000
    Output:
    If we add 1000Millisecond to 1st GPS_TIME, the time would be  2013-04-25 21:03:35.873000. SO i need to give unique number to rows falls between  2013-04-25 21:03:34.873000  and   2013-04-25 21:03:35.873000 and then add  1000 millisecond to 2013-04-25 21:03:35.903000 and so on like below.
    GPS_TIME                           GROUP_ Number
    2013-04-25 21:03:34.873000      1
    2013-04-25 21:03:35.210000      1
    2013-04-25 21:03:35.700000       1
    2013-04-25 21:03:35.903000      2
    2013-04-25 21:03:36.233000      2
    2013-04-25 21:03:36.233000      2
    2013-04-25 21:03:36.680000      2
    2013-04-25 21:03:36.680000     2
    2013-04-25 21:03:36.933000     3
    Can you please help me out to do this.
    Thanks All

    with
    gps_time as
    (select to_timestamp('2013-04-25 21:03:34.873000','yyyy-mm-dd hh24:mi:ss.ff') gps_timestamp from dual union all                  
    select to_timestamp('2013-04-25 21:03:35.210000','yyyy-mm-dd hh24:mi:ss.ff') from dual union all
    select to_timestamp('2013-04-25 21:03:35.700000','yyyy-mm-dd hh24:mi:ss.ff') from dual union all
    select to_timestamp('2013-04-25 21:03:35.903000','yyyy-mm-dd hh24:mi:ss.ff') from dual union all
    select to_timestamp('2013-04-25 21:03:36.233000','yyyy-mm-dd hh24:mi:ss.ff') from dual union all
    select to_timestamp('2013-04-25 21:03:36.233000','yyyy-mm-dd hh24:mi:ss.ff') from dual union all
    select to_timestamp('2013-04-25 21:03:36.680000','yyyy-mm-dd hh24:mi:ss.ff') from dual union all
    select to_timestamp('2013-04-25 21:03:36.680000','yyyy-mm-dd hh24:mi:ss.ff') from dual union all
    select to_timestamp('2013-04-25 21:03:36.933000','yyyy-mm-dd hh24:mi:ss.ff') from dual
    select gps_timestamp,dense_rank() over (order by grp) group_number
      from (select gps_timestamp,trunc(sum(diff) over (order by gps_timestamp)) grp
              from (select gps_timestamp,
                           extract(second from (gps_timestamp - lag(gps_timestamp,1,gps_timestamp) over (order by gps_timestamp)) day to second) diff
                      from gps_time
    GPS_TIMESTAMP
    GROUP_NUMBER
    25-APR-13 09.03.34.873000000 PM
    1
    25-APR-13 09.03.35.210000000 PM
    1
    25-APR-13 09.03.35.700000000 PM
    1
    25-APR-13 09.03.35.903000000 PM
    2
    25-APR-13 09.03.36.233000000 PM
    2
    25-APR-13 09.03.36.233000000 PM
    2
    25-APR-13 09.03.36.680000000 PM
    2
    25-APR-13 09.03.36.680000000 PM
    2
    25-APR-13 09.03.36.933000000 PM
    3
    Regards
    Etbin

  • User and group field values not propagating in Sharepoint 2013 variation

    Hi,
    I have a issue, we have a User and group field in my Content type and this content type is attach to Pages library.
    I created one Page in source variation site and fill User and Group field with two user one is domain user and another is sharepoint\system account user.
    After variation work and page propagate to target variation , there is only sharepoint\system account and no domain user in user and group field.
    *****The main issue is domain user are not propagating in target variation site's fields.
    Thanks,
    dinesh

    can any one hep me on this

  • Compare and search array

    Hallo
    I have to compare a input data and the ideal data. so far i have understood how to do comparision but the problem create when ideal array have same element with different respective value , similarly input dat are appears to be also same but while doing search in final output array  in 3 column looks different than as it should be.
    hope you understand my problem
    thanking you
    BR
    kalu
    Solved!
    Go to Solution.
    Attachments:
    array%20(modified)[1].vi ‏17 KB

    Hi Kalu,
    Check the attached VI. Let me know if it helps.
    Regards,
    Nitz
    (Give Kudos to Good Answers, Mark it as a Solution if your Problem is Solved)
    Attachments:
    array (modified)[1].vi ‏17 KB

  • How to compare group level value

    Hi all,
    I have prepared a very simple report like :
    Group A:                60(maximum of this group A)
    a1                          40
    a2                          60
    a3                          20
    Group B:                      53
    b1                                46
    b2                               47
    b3                               53
    GroupC:                  89
    c1                              89
    c2                                87
    c3                               76
    now i want to display the max value between (group B and group A )+  (value of group C) in a cell.
    Thanks in advance

    Hi,
    I think you will need to create a variable that excludes items in group C.
    v_GroupC_excluded.
    =if([Group]="C";-9999;[value])
    then create a second variable with report contexts
    v_MaxValue
    =MAX([v_GroupC_excluded] In Report)
    This can then be added to value when the group is C.
    I have not been able to test this as I am currently reinstalling, but it should work. Let me know how you get on.
    Regards
    Alan

  • Compare a string and a binary value

    Hi!
    I would like to compare two passwords encoded into two different's LDAP directory.
    For these two directories, I have not the same libraries, so that the encoded value of the first password returned is a String, and the second one is a binary.
    Could you tell me if it is possible to compare them?
    Thanks a lot!
    Best regards

    Hi dwg,
    in LDAP directories, there is no encryption. There is
    hash coding.
    The same method of hashcoding is used in the two
    directories, but we do not have (and we cannot)
    decode the data.
    We only have to compare the two hashcoded values.
    About the "binary", you are right. It is a byte
    array.
    How about this function:
    equals (<string parameter>, new String(<array
    parameter>, "UTF8"))
    do you think it is OK?
    Thanks for your help!So you have a hashcode from one directory, and a plaintext String from the other? In that case you have to hash the plain String and then compare the two hashes. You can't turn a hash back into a String, which you seemed to point out when you said "but we do not have (and we cannot) decode the data."

  • Associative Array, Drp-DwnList and Accesing "SubArray" Values ?

    Based on the users selection on a drop-down box, I need to be able to access different elements associated with that selection (elements of a subArray, so to speak)
    I am not certain how to go about creating arrays in LiveCycle. I've tried a number of things including:
    putting the array name in the "variables tab" of the Form Properties, with a value of [] -- that doesn't seen to be the way to go, so I removed it
    using rounded brackets ( instead of square [
    declaring the arrays differently using var codeDetail = new Array(array,Values,Here);
    putting the code in a fragment--not sure how to reference the values,
    I have the following code residing in the "Exit" event for the drop-down box:
    var codeDetail = [];   //an associative array
    codeDetail["99999"] = ["None",null,null,null,null,null,null,null];
    codeDetail["78400"] = ["Trampoline",40,45,50,60,10,20,40];
    codeDetail["78020"] = ["Horse(s)",10,12,15,20,5,10, 20];
    codeDetail["78401"] = ["Horse Boarding (each)",19,23,28,39,17,24,48];
    codeDetail["78010"] = ["Watercraft - Outboard over 50 HP (each)",13,18,20,24,17,24,48];
    codeDetail["78011"] = ["Watercraft - Inboard or I/O over 50 HP (each)",30,35,40,50,17,24,48];
    codeDetail["78050"] = ["Recreational Vehicle: ATV (each)",40,51,61,84,9,11,22];
    codeDetail["78053"] = ["Recreational Vehicle: Snowmobiles (each)",36,46,55,76,9,11,22];
    codeDetail["78052"] = ["Recreational Vehicle: Golf Carts (each)",29,37,44,61,9,11,22];
    codeDetail["73000"] = ["Personal Injury",14,19,22,31,null,null,null];
    codeDetail["78030"] = ["Office, School or Studio",10,11,13,19,9,17,34];
    codeDetail["78060"] = ["Retail Sales",36,46,56,77,3,4,8];
    codeDetail["78061"] = ["Incidental Business Pursuits",36,46,56,77,3,4,8];
    codeDetail["78070"] = ["Additional Insured: Premises Only",8,10,12,17,null,null,null];
    codeDetail["78090"] = ["Additional Insured - Personal Libility",31,40,50,69,9,17,34];
    codeDetail["78040"] = ["Seasonal Residence Occupied by Insured",10,11,13,19,3,4,8];
    codeDetail["78041"] = ["Rented to Others: One Family",23,28,34,47,9,17,34];
    codeDetail["78042"] = ["Rented to Others: Two Family",29,35,43,61,11,23,45];
    codeDetail["78043"] = ["Rented to Others: Three Family",43,55,66,90,17,33,60];
    codeDetail["78044"] = ["Rented to Others: Four Family",67,83,100,139,24,50,80];
    codeDetail["76000"] = ["Waterbed Liability",10,12,13,19,null,null,null];
    codeDetail["78300"] = ["Non-Owned and Hired Auto Liability",56,69,80,92,17,24,48];
    itemChosen = [];  //a subArray
    var i = this.rawValue
    itemChosen = [codeDetail[i]];    //  values based on user's selection
    The goal is to now be able to use the itemChosen values and simply refer to them:
    this.rawValue = itemChosen[i]   or   this.rawValue = itemChosen[someField.rawValue]
    So if this drop-down box has a rawValue = "78400" then itemChosen[2] would have a value of 45 (see above).
    Am I anywhere close?
    Also, a couple of other questions:
    When using a variable.value or a field.rawValue as the index value for itemChosen[i]
    do you include "" or .value or .rawValue in the index brackets?
    Do you ever use .value when referencing an array as in: itemChosen[i].value
    How do I make sure arrays and variables created like this are global, or not? I tried with and without the "var" declaration
    Thanks much!
    Stephen

    I've just been playing with a similar thing.
    My code is based on a sample from WindJack Solutions, which is available here:
    http://www.acrobatusers.com/tutorials/2007/js_list_combo_livecycle
    Check this thread for a good sample from Bruce, he took my code and jacked it up considerably.
    http://forums.adobe.com/message/2203834#2203834
    If you google "multi dimensional javascript arrays" you'll find quite a bit of info too.

  • Call tcode from alv report and passing  group of values

    hi all .
    i want to call tcode from alv report and passing an internal table or group of values to a selection option of that t code ? how
    ex. passing group of GL to fbl3n and display the detials of all .
    thank you

    Dear,
    You have done a small mistake
    --> rspar_line-option = 'EQ'.
         rspar_line-HIGH = PDATE-HIGH.
    u r passing "high" value and in "option u r passing "EQ" so how it will work!!!
    So if u r passing only 1 date or more dates like 01.01.2010 , 15.02.2010 , 10.03.2010 then pass
    rspar_line-selname = 'SO_BUDAT'.
    rspar_line-kind = 'S'.
    rspar_line-sign = 'I'.
    rspar_line-option = 'EQ'.
    rspar_line-LOW = PDATE-HIGH.
    APPEND rspar_line TO rspar_tab.
    or if u r passing low & high date means in range like 01.01.2010 to 30.01.2010, then pass
    rspar_line-selname = 'SO_BUDAT'.
    rspar_line-kind = 'S'.
    rspar_line-sign = 'I'.
    rspar_line-option = 'BT''.
    rspar_line-LOW = PDATE-LOW.
    rspar_line-HIGH = PDATE-HIGH.
    APPEND rspar_line TO rspar_tab.
    try above code , hope it helps...
    i think u cannot use "call transaction using bdcdata" in ur case bcoz as u said in ur 1st post u want to display the details of all but still if u want to use then u should pass all parameters in  loop.
    PROGRAM
    DYNPRO
    DYNBEGIN
    FNAM
    FVAL
    ex:-
    LOOP AT GT_TEMP INTO GS_TEMP.
    CLEAR bdcdata_wa.
    bdcdata_PROGRAM = 'SAPXXXX'.
    bdcdata_DYNPRO = '1000'.
    bdcdata_DYNBEGIN = 'X'.
    bdcdata_wa-fnam = '''.
    bdcdata_wa-fval = ''.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_PROGRAM = ''.
    bdcdata_DYNPRO = ''.
    bdcdata_DYNBEGIN = ''.
    bdcdata_wa-fnam = 'SD_SAKNR'.
    bdcdata_wa-fval = GS_TEMP-GLACCOUNT.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_PROGRAM = ''.
    bdcdata_DYNPRO = ''.
    bdcdata_DYNBEGIN = ''.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = 'XXX'.
    APPEND bdcdata_wa TO bdcdata_tab.
    ENDLOOP.
    try above code if u r using call transaction...
    Edited by: mihir6666 on Jul 9, 2011 3:10 PM
    Edited by: mihir6666 on Jul 9, 2011 3:11 PM
    Edited by: mihir6666 on Jul 9, 2011 3:13 PM

  • How to Create and External Hierarchy and group values of IO in node

    Good morning
    BI 7:
    Please give me guidance on the following?
    I need to either to restrict a characteristic in a query to more than 800 values OR exclude values where it contains the pattern 'Z7' and 'Z8'. There are thousands of values which contains the pattern and they are not listed in such a way that I can exclude them as a value range, thus I would have to include all the values I want into the restriction, which is more than 800. An error displays when I check the query:
    ""In the structural component Warranty Damage Code, characteristic ZWR_DMGC is restricted to 838 values. This number is very large and will probably meet with technical limitations""
    The proposed solution is:
    ""Create an external hierarchy for characteristic ZWR_DMGC and group the 838 values in a hierarchy node. You can then work with the node instead of the 838 individual values.
    Alternatively, you can define a corresponding navigation attribute for ZWR_DMGC""
    I know where to create the hierarchy, but I am confused how to only include the values of the applicable IO where pattern contains 'Z7' and 'Z8'.......??
    The following are some of the steps proposed in a related thread, but I am loosing it at step 7.
    5. Confirm your entries. The Maintain Hierarchy screen appears. You can define the structure of a hierarchy here. ok
    6. To create a hierarchy node, you first need to choose an insertion mode: Insert as First Child or Insert As Next Neighbor (see Hierarchy Editing Functions). I selected first child
    7. Choose the type of node you want to create: Text Node, Characteristic Node, <Hierarchy Basic Characteristic Node> or Interval (see Hierarchy Nodes) *this is where I am lost, which should I select to list values with pattern ' *Z7' and ' Z8' in a node or two
    8. Repeat this procedure until the hierarchy structure has been set. For more information, see Modeling Nodes and Leaves.
    A hierarchy can contain 50,000-100,000 leaves at most. If your hierarchy is larger, you should insert a level that is used as a navigation attribute or preferably as a separate characteristic in the dimension table.
    9. You can use Level Maintenance and Hierarchy Attributes to set how the hierarchy is to be displayed and processed in reporting (see Level Maintenance and Hierarchy Attributes).
    10. Save the hierarchy.
    Your assistance will be appreciated.

    Hierarchy not used in this case. Could not fnd an answer.

  • Compare a column with the another table coulmn(which contains the sequence) and get the value which has higher sequence

    Hi All,
    I have 2 tables 
    table1: col1 sequenceid, col2 code
    table2:col1 studentID , col2 code, col3 joindate
    in table 1 i have values as 
    1 Q
    2 W
    3 E
    4 R
    5 T
    6 Y
    Table2:
    A1 Q 
    1-04-2015
    A1 W
    2-04-2015
    A3 Q 
    1-04-2015
    A2 Q 
    1-04-2015
    A3 W
    2-04-2015
    A2 W
    2-04-2015
    A2  E
    2-04-2015
    A3  E
    2-04-2015
    A1  E
    2-04-2015
    A2  R
    2-04-2015
    Now i want ouput as 
    A3 E
    A2 R
    A1 E
    I want to group the values in table2 based on studentid order by the sequence in the table1 and get the latest which is having higher sequence (Note: the date field cannot be used to order the values)

    from @table2 a inner join @table1 b on a.col2=b.col2 collate database_default)
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Two questions:  how do Skype and iChat compare for group video?  quality, reliability, cost, etc are important.  2) Is my MobileMe ID what I need to use in the window in making an iChat buddy?  It only says AIM above the window, online tutorial differs.

    Two questions:  1) How do Skype and iChat compare for group video?  Quality, reliability, cost, etc are important.  2) Is my MobileMe ID what I need to input in the window in making an iChat buddy?  It only says AIM above the window, online tutorial differs, saying MobileMe, AIM, GoogleTalk (Jabber) all work. Thnx

    Hi,
    IChat uses better Video Compression than Skype does.
    On a top flight Mac you can send a 640 X 480 pixel frame up to 30 frames a sec.
    Skype can't match this.
    iChat in Video is Peer to Peer. (you can actually Log out of the Buddy list)
    Skype seems to borrow something from everyone's bandwidth to make connections.
    What do you mean by Business account Tracking ?
    iChat Adds (or can add) the First Name, Last Name of your Buddies and create an Address Book Entry
    Whether you mark those cards connected with a  company is up to you.
    (I have heard of issues with earlier version of iChat and the Address Book that "saw" the Company Name as the part of the Name and linking several Screen Names to the one name
    Audio on a Mac using Skype tend to be the same as the streaming needs are less.
    However you have to rely on any PCs audio abilities from PCs which may not be to the same standard.
    Mac to PCs in iChat and AIM can be difficult though.  (It should work but it rarely as simple as Plug and go)
    Skype may suit your needs better on ocassions.
    9:11 PM      Thursday; May 5, 2011
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"
     G4/1GhzDual MDD (Leopard 10.5.8)
     MacBookPro 2Gb( 10.6.7)
    , Mac OS X (10.6.7),
    "Limit the Logs to the Bits above Binary Images."  No, Seriously

  • Display "group name" values and their average formulas (calculation of average age) on a single line or row

    <p>I have four groupings, Domain, Area, Priority (3rd level of grrouoping) and then Problem ID. Priority group could have values such as &#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;4&#39; and &#39;5&#39; with corresponding "average" age formula on these group level. values.</p><p>Example:  1         Avg Age= 30</p><p>               2         Avg Age= 45</p><p>               3         Avg Age= 69</p><p>Reguirement:  Display group name values and their corresponding average formula on a single line/row.</p><p>Sample Solution:   Priority 1 = 30, Priority 2 = 45, Priority 3 = 69 </p><p> ***solution above should be displayed/concatenated on one line.</p><p>Your help is greatly appreciated, thank you in advance.</p>

    So right now - your report looks like this
    GroupHeader 1
       GroupHeader 2
           Priority 1 = 50         (actual display of Group 3)
           Priority 2 = 75         (actual display of Group 3)
           Priority 3 = 45         (actual display of Group 3)
           Priority 4 = 9          (actual display of Group 3)
           Priority 5 = 8          (actual display of Group 3)
    And you want to change that so that it displays horizontally.
    If there will only ever be 5 priorities, I think I would cheat the system a bit.  Create a formula that runs at the group 3 level and dumps the values into 5 separate variables (formula below).
    Then create 5 separate display formulas and put them in Group Footer 2 (if you already have a GF2 - then create a second one and move it above your current GF2).  Suppress the G3 section and you should be close to what you are after (unless you also have detail sections, then we'll need to revisit).
    This could also be accomplished with a multi-column subreport at the G2 or G3 level if you need more flexibility.
    formula *******
    numbervar priority1;
    numbervar priority2;
    numbervar priority3;
    numbervar priority4;
    numbervar priority5;
    if {DB.Priority} = 1 then priority1:= {@avgGroupPriorityAvgAge}
    else if {DB.Priority} = 2 then priority2:= {@avgGroupPriorityAvgAge}
    else if {DB.Priority} = 3 then priority3:= {@avgGroupPriorityAvgAge}
    else if {DB.Priority} = 4 then priority4:= {@avgGroupPriorityAvgAge}
    else if {DB.Priority} = 5 then priority5:= {@avgGroupPriorityAvgAge}

  • Realized exchange rate difference in local and group currency

    Hi Friends,
    For a company code with local currency as Euro and group currency as USD, the setting in TR code OB22 for group currency is: Translation taking first local currency as a basis. When the open items are cleared, SAP posts difference in local currency and group currency. Sometimes, document currency is also group currency i.e. USD. The realized exchange difference is posted in Euro but it is not converted from Euro to group currency. Instead, system just calculates difference in group currency by comparing the value in group currency at the time of original transaction and when the transaction is cleared. Does anyone have dealt with such requirement and is there a way to be able to translate realized exchange differences from local to group currency?
    Thanks and regards,
    Pinky

    >Sometimes, document currency is also group currency i.e. USD.
    Can you explain, it's because of your settings or because of SAP?

  • New files and folders on a Linux client mounting a Windows 2012 Server for NFS share do not inherit Owner and Group when SetGID bit set

    Problem statement
    When I mount a Windows NFS service file share using UUUA and set the Owner and Group, and set the SetGID bit on the parent folder in a hierarchy. New Files and folders inside and underneath the parent folder do not inherit the Owner and Group permissions
    of the parent.
    I am given to understand from this Microsoft KnowledgeBase article (http://support.microsoft.com/kb/951716/en-gb) the problem is due to the Windows implmentation of NFS Services not supporting the Solaris SystemV or BSD grpid "Semantics"
    However the article says the same functionality can acheived by using ACE Inheritance in conjunction with changing the Registry setting for "KeepInheritance" to enable Inheritance propagation of the Permissions by the Windows NFS Services.
    1. The Precise location of the "KeepInheritance" DWORD key appears to have "moved" in  Windows Server 2012 from a Services path to a Software path, is this documented somewhere? And after enabling it, (or creating it in the previous
    location) the feature seems non-functional. Is there a method to file a Bug with Microsoft for this Feature?
    2. All of the references on demonstrating how to set an ACE to achieve the same result "currently" either lead to broken links on Microsoft technical websites, or are not explicit they are vague or circumreferential. There are no plain Examples.
    Can an Example be provided?
    3. Is UUUA compatible with the method of setting ACE to acheive this result, or must the Linux client mount be "Mapped" using an Authentication source. And could that be with the new Flat File passwd and group files in c:\windows\system32\drivers\etc
    and is there an Example available.
    Scenario:
    Windows Server 2012 Standard
    File Server (Role)
    +- Server for NFS (Role) << -- installed
    General --
    Folder path: F:\Shares\raid-6-array
    Remote path: fs4:/raid-6-array
    Protocol: NFS
    Authentication --
    No server authentication
    +- No server authentication (AUTH_SYS)
    ++- Enable unmapped user access
    +++- Allow unmapped user access by UID/GID
    Share Permissions --
    Name: linux_nfs_client.host.edu
    Permissions: Read/Write
    Root Access: Allowed
    Encoding: ANSI
    NTFS Permissions --
    Type: Allow
    Principal: BUILTIN\Administrators
    Access: Full Control
    Applies to: This folder only
    Type: Allow
    Principal: NT AUTHORITY\SYSTEM
    Access: Full Control
    Applies to: This folder only
    -- John Willis, Facebook: John-Willis, Skype: john.willis7416

    I'm making some "major" progress on this problem.
    1. Apparently the "semantics" issue to honor SGID or grpid in NFS on the server side or the client side has been debated for some time. It also existed as of 2009 between Solaris nfs server and Linux nfs clients. The Linux community defaulted to declaring
    it a "Server" side issue to avoid "Race" conditions between simultaneous access users and the local file system daemons. The client would have to "check" for the SGID and reformulate its CREATE request to specify the Secondary group it would have to "notice"
    by which time it could have changed on the server. SUN declined to fix it.. even though there were reports it did not behave the same between nfs3 vs nfs4 daemons.. which might be because nfs4 servers have local ACL or ACE entries to process.. and a new local/nfs
    "inheritance" scheme to worry about honoring.. that could place it in conflict with remote access.. and push the responsibility "outwards" to the nfs client.. introducing a race condition, necessitating "locking" semantics.
    This article covers that discovery and no resolution - http://thr3ads.net/zfs-discuss/2009/10/569334-CR6894234-improved-sgid-directory-compatibility-with-non-Solaris-NFS-clients
    2. A much Older Microsoft Knowledge Based article had explicit examples of using Windows ACEs and Inheritance to "mitigate" the issue.. basically the nfs client "cannot" update an ACE to make it "Inheritable" [-but-] a Windows side Admin or Windows User
    [-can-] update or promote an existing ACE to "Inheritable"
    Here are the pertinent statements -
    "In Windows Services for UNIX 2.3, you can use the KeepInheritance registry value to set inheritable ACEs and to make sure that these ACEs apply to newly created files and folders on NFS shares."
    "Note About the Permissions That Are Set by NFS Clients
    The KeepInheritance option only applies ACEs that have inheritance enabled. Any permissions that are set by an NFS client will
    only apply to that file or folder, so the resulting ACEs created by an NFS client will
    not have inheritance set."
    "So
    If you want a folder's permissions to be inherited to new subfolders and files, you must set its permissions from the Windows NFS server because the permissions that are set by NFS clients only apply to the folder itself."
    http://support.microsoft.com/default.aspx?scid=kb;en-us;321049
    3. I have set up a Windows 2008r2 NFS server and mounted it with a Redhat Enteprise Linux 5 release 10 x86_64 server [Oct 31, 2013] and so far this does appear to be the case.
    4. In order to mount and then switch user to a non-root user to create subdirectories and files, I had to mount the NFS share (after enabling Anonymous AUTH_SYS mapping) this is not a good thing, but it was because I have been using UUUA - Unmapped Unix
    User Access Mapping, which makes no attempt to "map" a Unix UID/GID set by the NFS client to a Windows User account.
    To verify the Inheritance of additional ACEs on new subdirectories and files created by a non-root Unix user, on the Windows NFS server I used the right click properties, security tab context menu, then Advanced to list all the ACEs and looked at the far
    Column reflecting if it applied to [This folder only, or This folder and Subdirectories, or This folder and subdirectories and files]
    5. All new Subdirectories and files createdby the non-root user had a [Non-Inheritance] ACE created for them.
    6. I turned a [Non-Inheritance] ACE into an [Inheritance] ACE by selecting it then clicking [Edit] and using the Drop down to select [This folder, subdirs and files] then I went back to the NFS client and created more subdirs and files. Then back to the
    Windows NFS server and checked the new subdirs and folders and they did Inherit the Windows NFS server ACE! - However the UID/GID of the subdirs and folders remained unchanged, they did not reflect the new "Effective" ownership or group membership.
    7. I "believe" because I was using UUUA and working "behind" the UID/GID presentation layer for the NFS client, it did not update that presentation layer. It might do that "if" I were using a Mapping mechanism and mapped UID/GID to Windows User SIDs and
    Group SIDs. Windows 2008r2 no longer has a "simple" Mapping server, it does not accept flat text files and requires a Schema extension to Active Directory just to MAP a windows account to a UID/GID.. a lot of overhead. Windows Server 2012 accepts flat text
    files like /etc/passwd and /etc/group to perform this function and is next on my list of things to see if that will update the UID/GID based on the Windows ACE entries. Since the Local ACE take precedence "over" Inherited ACEs there could be a problem. The
    Inheritance appears to be intended [only] to retain Administrative rights over user created subdirs and files by adding an additional ACE at the time of creation.
    8. I did verify from the NFS client side in Linux that "Even though" the UID/GID seem to reflect the local non-root user should not have the ability to traverse or create new files, the "phantom" NFS Server ACEs are in place and do permit the function..
    reconciling the "view" with "reality" appears problematic, unless the User Mapping will update "effective" rights and ownership in the "view"
    -- John Willis, Facebook: John-Willis, Skype: john.willis7416

  • Passing array values to methods & Classes

    Hi,
    I have written the following two classes, I want to pass the value from one class - insersortest to the other class what kind of return statement do I do ? I am not sure what does this Comparable object do in this program ? I am trying the program (algorithm specfieid) from one of the Data Structure book.
    import java.io.*;
    import java.lang.*;
    public class Insersortest
    public static void main(String args[]) throws IOException
    Insersort ghl = new Insersort();
              Comparable a[] = {1, 3, 5, 9, 1};          
                   System.out.println("Detecting duplicates"+ ghl.insertA(a));               
    -=-=-=-
    class Insersort
    public static int insertA( Comparable [ ] a )
    for( int p = 1; p < a.length; p++ )
    Comparable tmp = a[ p ];
    int j = p;
    for( ; j > 0 && tmp.compareTo( a[ j - 1 ] ) < 0; j-- )
    a[ j ] = a[ j - 1 ];
    a[ j ] = tmp;
    Could somebody provide their view please.
    PK

    You return arrays just like any object:
    public Object[] getArray()Comparable is an interface. Any object that implements Comparable (and can therefore be stored in a Comparable's reference) is guarenteed to have a compareTo method.
    Does that help?

Maybe you are looking for

  • Replication of Sales contract from CRM to R/3

    Hi Experts, I have a requirement of replicating the created sales contract in CRM to the R/3 system through Middleware in 2007. In the standard way replication of R/3 contract to CRM is only possible. Here the BDOC used in BUS_TRANSACTION_MESSAGE and

  • Unable to convert imported document to WSDL

    Hi all, we're excperienced with a problem during the creation of an external definition with this WSDL file: <?xml version="1.0" encoding="utf-8" ?> - <!--             Generated by WSDLDefinitionsParser      --> - <wsdl:definitions xmlns:wsdl="http:/

  • MII 12.1.8 not connected to ECC 6

    Hi, I have already configured successfully another instance of MII/4.6C (only idoc listener) and now I'm trying to link an instance of MII 12.1.8 (NW SP5) with an ECC 6. I cannot even read BAPI list from SAP JCO Interface action inside a MII Transact

  • SAP Web As Java Hangs after few days using it

    Hi everybody,    I have some applications on an Enterprise Portal running in a Java Web As 6.40. Recently, the following problem has appeared: After a day or two of normal use, the portal starts to reject all the connections that are established to i

  • Inconsistent cache even though SXI_CACHE says cache contents are uptodate

    Hi all, The status of SXI_CACHE says contents are up-to-date, but the cache is still inconsistent. For example, I cant see the  sender agreement, sender communication channels, but I am able to see the reciever agreement, etc. All the configuration o