******************** *** **************************************** JPA **************************************** *** ********************============== Creation with no overlap ==============--- Create : T1[3-3]=V1No overlap for [val1] ? colision = []--- Create : T1[10-12]=V2No overlap for [val2] ? colision = []ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12============== Creation overlap with same type ==============---Overlap with : T1[10-12]=V2ON START impossible [val3:9-12], colision = [T1[10-12]=V2]ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12---Overlap with : T1[10-12]=V2ON END impossible [val3:12-13], colision = [T1[10-12]=V2]---Overlap with : T1[10-12]=V2OUTTER impossible [val3:9-13], colision = [T1[10-12]=V2]---Overlap with : T1[10-12]=V2INNER impossible [val3:11], colision = [T1[10-12]=V2]ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12--- Create : T1[23-24]=V3No overlap for [val3] ? colision = []--- Create : T1[45-50]=V4No overlap for [val4] ? colision = []ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12 T1 V3 23 24 T1 V4 45 50============== Creation overlap with another type =============---Overlap with : T1[10-12]=V2ON START impossible with [val2:10-12], for [val4:9-11], colision = [T1[10-12]=V2]ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12 T1 V3 23 24 T1 V4 45 50---Overlap with : T1[10-12]=V2ON END impossible with [val2:10-12], for [val5:11-14], colision = [T1[10-12]=V2]ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12 T1 V3 23 24 T1 V4 45 50--- Create : T2[22-26]=V6OUTTER possible with [val3:23-24], for [val6:22-26], colision = []ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12 T2 V6 22 26 T1 V3 23 24 T1 V4 45 50--- Create : T2[47-47]=V7INNER possible with [val4:45-50], for [val7:47], colision = []ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V2 10 12 T2 V6 22 26 T1 V3 23 24 T1 V4 45 50 T2 V7 47 47============== Updating ==============Annot BEFORE UPDATING : 0---Overlap with : T1[23-24]=V3============== Deleting ==============--- Create : T2[17-19]=V8creating [val8] ? overlap colision = []Annot BEFORE DELETING : T2[17-19]=V8Annot AFTER DELETING : 0******************** *** **************************************** CQP **************************************** *** ********************T1 : 2 T1[3-3]=V1 T1[10-12]=V2T2 : 3 T2[2-5]=V5 T2[11-11]=V4 T2[24-29]=V3============== Get overlapping of annotations for a type ==============[[2, 2], [4, 4], [3, 3], [2, 3], [3, 4], [2, 5]]Overlaps for T1_name at [2, 2] ? []Overlaps for T1_name at [4, 4] ? []Overlaps for T1_name at [3, 3] ? [T1[3-3]=V1]Overlaps for T1_name at [2, 3] ? [T1[3-3]=V1]Overlaps for T1_name at [3, 4] ? [T1[3-3]=V1]Overlaps for T1_name at [2, 5] ? [T1[3-3]=V1]Overlaps for T2_name at [2, 2] ? [T2[2-5]=V5]Overlaps for T2_name at [4, 4] ? [T2[2-5]=V5]Overlaps for T2_name at [3, 3] ? [T2[2-5]=V5]Overlaps for T2_name at [2, 3] ? [T2[2-5]=V5]Overlaps for T2_name at [3, 4] ? [T2[2-5]=V5]Overlaps for T2_name at [2, 5] ? [T2[2-5]=V5]============== Get overlapping of annotations for a type ==============[[9, 9], [13, 13], [11, 11], [10, 11], [11, 12], [9, 10], [9, 11], [12, 14], [9, 10], [9, 13]]Overlaps for T1_name at [9, 9] ? []Overlaps for T1_name at [13, 13] ? []Overlaps for T1_name at [11, 11] ? [T1[10-12]=V2]Overlaps for T1_name at [10, 11] ? [T1[10-12]=V2]Overlaps for T1_name at [11, 12] ? [T1[10-12]=V2]Overlaps for T1_name at [9, 10] ? [T1[10-12]=V2]Overlaps for T1_name at [9, 11] ? [T1[10-12]=V2]Overlaps for T1_name at [12, 14] ? [T1[10-12]=V2]Overlaps for T1_name at [9, 10] ? [T1[10-12]=V2]Overlaps for T1_name at [9, 13] ? [T1[10-12]=V2]Overlaps for T2_name at [9, 9] ? []Overlaps for T2_name at [13, 13] ? []Overlaps for T2_name at [11, 11] ? [T2[11-11]=V4]Overlaps for T2_name at [10, 11] ? [T2[11-11]=V4]Overlaps for T2_name at [11, 12] ? [T2[11-11]=V4]Overlaps for T2_name at [9, 10] ? []Overlaps for T2_name at [9, 11] ? [T2[11-11]=V4]Overlaps for T2_name at [12, 14] ? []Overlaps for T2_name at [9, 10] ? []Overlaps for T2_name at [9, 13] ? [T2[11-11]=V4]============== Get ALL overlapping annotations of annotations ==============[[2, 2], [4, 4], [3, 3], [2, 3], [3, 4], [2, 5]]Overlaps at [2, 2] ? [T2[2-5]=V5]Overlaps at [4, 4] ? [T2[2-5]=V5]Overlaps at [3, 3] ? [T2[2-5]=V5, T1[3-3]=V1]Overlaps at [2, 3] ? [T2[2-5]=V5, T1[3-3]=V1]Overlaps at [3, 4] ? [T2[2-5]=V5, T1[3-3]=V1]Overlaps at [2, 5] ? [T2[2-5]=V5, T1[3-3]=V1]============== Get ALL overlapping annotations of annotations==============[[9, 9], [13, 13], [11, 11], [10, 11], [11, 12], [9, 10], [9, 11], [12, 14], [9, 10], [9, 13]]Overlaps at [9, 9] ? []Overlaps at [13, 13] ? []Overlaps at [11, 11] ? [T2[11-11]=V4, T1[10-12]=V2]Overlaps at [10, 11] ? [T2[11-11]=V4, T1[10-12]=V2]Overlaps at [11, 12] ? [T2[11-11]=V4, T1[10-12]=V2]Overlaps at [9, 10] ? [T1[10-12]=V2]Overlaps at [9, 11] ? [T2[11-11]=V4, T1[10-12]=V2]Overlaps at [12, 14] ? [T1[10-12]=V2]Overlaps at [9, 10] ? [T1[10-12]=V2]Overlaps at [9, 13] ? [T2[11-11]=V4, T1[10-12]=V2]******************** *** **************************************** ALL **************************************** *** ********************============== Create&Update ====================== No overlap, diff types ========Test T1=V1(V1) at [<3, 3>]--- Create : T1[3-3]=V1--> no overlap for T1=V1(V1) at [<3, 3>] ? colision = {}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3Test T1=V1(V1) at [<10, 12>]--- Create : T1[10-12]=V1--> no overlap for T1=V1(V1) at [<10, 12>] ? colision = {}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12======== Creation overlap with same type ========Test T1=V1(V1) at [<9, 10>]--> ON START impossible for T1=V1(V1) at [<9, 10>] ? colision = {<9, 10>=[T1[10-12]=V2]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12Test T1=V1(V1) at [<12, 13>]--> ON END impossible for T1=V1(V1) at [<12, 13>] ? colision = {<12, 13>=[T1[10-12]=V2]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12Test T1=V1(V1) at [<9, 13>]--> OUTTER impossible for T1=V1(V1) at [<9, 13>] ? colision = {<9, 13>=[T1[10-12]=V2]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12Test T1=V1(V1) at [<11, 11>]--> INNER impossible for T1=V1(V1) at [<11, 11>] ? colision = {<11, 11>=[T1[10-12]=V2]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12======== No overlap, diff types, pls words ========Test T1=V1(V1) at [<23, 24>]--> overlap for T1=V1(V1) at [<23, 24>] ? colision = {<23, 24>=[T2[24-29]=V3]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12Test T1=V1(V1) at [<45, 50>]--- Create : T1[45-50]=V1--> no overlap for T1=V1(V1) at [<45, 50>] ? colision = {}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12 T1 V1 45 50======== Creation overlap with another type ========Test T2=V5(V5) at [<9, 11>]--> ON START impossible for T2=V5(V5) at [<9, 11>] ? colision = {<9, 11>=[T2[11-11]=V4, T1[10-12]=V2]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12 T1 V1 45 50Test T2=V5(V5) at [<11, 14>]--> ON END impossible for T2=V5(V5) at [<11, 14>] ? colision = {<11, 14>=[T2[11-11]=V4, T1[10-12]=V2]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12 T1 V1 45 50Test T2=V5(V5) at [<22, 26>]--> OUTTER possible for T2=V5(V5) at [<22, 26>] ? colision = {<22, 26>=[T2[24-29]=V3]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12 T1 V1 45 50Test T2=V5(V5) at [<47, 47>]--- Create : T2[47-47]=V5--> INNER possible for T2=V5(V5) at [<47, 47>] ? colision = {}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12 T1 V1 45 50 T2 V5 47 47======== Updating values ========Test T1=V2(V2) at [<47, 47>]---Overlap with : T1[45-50]=V1--> REPLACE TEMP for T1=V2(V2) at [<47, 47>] ? colision = {<47, 47>=[T1[45-50]=V1]}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V1 3 3 T1 V1 10 12 T1 V1 45 50 T2 V5 47 47Test T1=V2(V2) at [<3, 3>]--- Update annot : T1[3-3]=V1 ----- --> REPLACE CQP for T1=V2(V2) at [<3, 3>] ? colision = {}ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V2 3 3 T1 V1 10 12 T1 V1 45 50 T2 V5 47 47============== Deleting ==============DELETE TEMPT2_name at [<7, 7>]ID Type Val startPos startEnd Text ---------------------------------------------------- T1 V2 3 3 T1 V1 10 12 T1 V1 45 50 T2 V5 47 47DELETE CQPT1_name at [<3, 3>]struct for positions 3-3 -> 0-0--- Update annot : T1[3-3]=V2 ----- ID Type Val startPos startEnd Text ---------------------------------------------------- T1 #del 3 3 T1 V1 10 12 T1 V1 45 50 T2 V5 47 47============== CLean all ==============Terminé: 923 ms
(from redmine: written on 2015/12/02 by Matthieu Decorde)