apache / jackrabbit-oak
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
Learn more...
Duplication Overall
system7% (14,702 lines)
dependency graphs: 2D graph | 3D graph | 3D graph (with duplicates)...
Duplication per Extension
java7% (14,049 lines)
xml26% (338 lines)
jsp11% (189 lines)
js5% (54 lines)
css17% (42 lines)
pl31% (18 lines)
groovy1% (12 lines)
Duplication per Component (primary)
oak-core7% (2,881 lines)
oak-segment-tar9% (1,877 lines)
oak-benchmarks16% (1,229 lines)
oak-store-document4% (1,180 lines)
oak-lucene8% (967 lines)
oak-jcr6% (657 lines)
oak-run5% (647 lines)
oak-search9% (551 lines)
oak-upgrade10% (400 lines)
oak-store-spi6% (376 lines)
oak-examples11% (357 lines)
oak-benchmarks-lucene18% (345 lines)
oak-blob-plugins5% (318 lines)
oak-run-elastic43% (285 lines)
oak-blob-cloud21% (254 lines)
oak-run-commons3% (248 lines)
oak-segment-azure14% (232 lines)
oak-segment-aws19% (229 lines)
oak-security-spi4% (225 lines)
oak-blob-cloud-azure19% (211 lines)
oak-exercise24% (208 lines)
oak-benchmarks-elastic46% (179 lines)
oak-solr-core5% (133 lines)
oak-blob8% (104 lines)
oak-query-spi8% (103 lines)
oak-search-elastic2% (90 lines)
oak-authorization-cug6% (80 lines)
oak-authorization-principalbased3% (62 lines)
oak-segment-remote6% (58 lines)
oak-doc17% (42 lines)
oak-commons1% (40 lines)
oak-store-composite1% (35 lines)
oak-api4% (33 lines)
ROOT31% (18 lines)
oak-core-spi<1% (14 lines)
oak-jackrabbit-api1% (14 lines)
oak-auth-ldap<1% (12 lines)
oak-benchmarks-solr10% (8 lines)
oak-http0% (0 lines)
oak-it-osgi0% (0 lines)
oak-search-mt0% (0 lines)
oak-doc-railroad-macro0% (0 lines)
oak-pojosr0% (0 lines)

Duplication Between Components (50+ lines)

G oak-lucene oak-lucene oak-search oak-search oak-lucene--oak-search 712 oak-solr-core oak-solr-core oak-lucene--oak-solr-core 72 oak-search-elastic oak-search-elastic oak-lucene--oak-search-elastic 68 oak-segment-aws oak-segment-aws oak-segment-azure oak-segment-azure oak-segment-aws--oak-segment-azure 422 oak-segment-tar oak-segment-tar oak-segment-aws--oak-segment-tar 64 oak-segment-azure--oak-segment-tar 68 oak-blob-cloud-azure oak-blob-cloud-azure oak-blob-cloud oak-blob-cloud oak-blob-cloud-azure--oak-blob-cloud 390 oak-run-elastic oak-run-elastic oak-run oak-run oak-run-elastic--oak-run 280 oak-run--oak-segment-tar 102 oak-benchmarks-lucene oak-benchmarks-lucene oak-benchmarks oak-benchmarks oak-benchmarks-lucene--oak-benchmarks 213 oak-core oak-core oak-benchmarks--oak-core 75 oak-core--oak-lucene 71 oak-core--oak-search 84 oak-store-spi oak-store-spi oak-core--oak-store-spi 170 oak-exercise oak-exercise oak-core--oak-exercise 59 oak-security-spi oak-security-spi oak-core--oak-security-spi 95 oak-jcr oak-jcr oak-core--oak-jcr 86 oak-core--oak-search-elastic 50 oak-exercise--oak-security-spi 140 oak-authorization-cug oak-authorization-cug oak-authorization-cug--oak-exercise 134 oak-authorization-cug--oak-security-spi 50 oak-authorization-principalbased oak-authorization-principalbased oak-authorization-cug--oak-authorization-principalbased 64 oak-blob-plugins oak-blob-plugins oak-blob oak-blob oak-blob-plugins--oak-blob 121 oak-store-document oak-store-document oak-blob-plugins--oak-store-document 100 oak-upgrade oak-upgrade oak-segment-tar--oak-upgrade 117 oak-segment-remote oak-segment-remote oak-segment-remote--oak-segment-tar 108 oak-store-document--oak-store-spi 86 oak-authorization-principalbased--oak-core 85 oak-run-commons oak-run-commons oak-run-commons--oak-run 66 oak-run-commons--oak-segment-tar 69 oak-run-commons--oak-store-document 56 oak-benchmarks-elastic oak-benchmarks-elastic oak-benchmarks-elastic--oak-benchmarks-lucene 62

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 50 longest duplicates.
See data for all 1,305 duplicates...
Size#FoldersFilesLinesCode
167 x 2 oak-segment-tar/src/main.../jackrabbit/oak/segment
oak-segment-tar/src/main.../jackrabbit/oak/segment
98:289 (40%)
96:287 (43%)
view
74 x 2 oak-search/src/main/java...ugins/index/search/util
oak-search/src/main/java...ugins/index/search/util
48:143 (98%)
70:165 (87%)
view
49 x 2 oak-blob-plugins/src/mai...rabbit/oak/plugins/blob
oak-blob/src/main/java/o...bbit/oak/spi/blob/stats
37:109 (32%)
36:108 (57%)
view
45 x 2 oak-segment-tar/src/main...gment/file/tar/binaries
oak-segment-tar/src/main...gment/file/tar/binaries
37:105 (60%)
37:105 (59%)
view
37 x 2 oak-examples/standalone/...main/resources/remoting
oak-examples/webapp/src/main/webapp/WEB-INF
1:177 (100%)
1:175 (100%)
view
35 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
116:160 (40%)
107:154 (40%)
view
32 x 2 oak-blob-cloud-azure/src...cloud/azure/blobstorage
oak-blob-cloud/src/main/...abbit/oak/blob/cloud/s3
1004:1051 (3%)
911:959 (3%)
view
31 x 2 oak-segment-aws/src/main...it/oak/segment/aws/tool
oak-segment-azure/src/ma.../oak/segment/azure/tool
146:187 (16%)
151:192 (17%)
view
30 x 2 oak-lucene/src/main/reso...ak/plugins/index/lucene
oak-search/src/main/reso...index/search/spi/editor
1:56 (100%)
1:56 (100%)
view
29 x 2 oak-segment-tar/src/main.../jackrabbit/oak/segment
oak-segment-tar/src/main.../jackrabbit/oak/segment
448:494 (7%)
377:423 (7%)
view
28 x 2 oak-lucene/src/main/java...ugins/index/lucene/util
oak-search/src/main/java...ugins/index/search/util
31:70 (96%)
42:81 (100%)
view
28 x 2 oak-store-document/src/m...it/oak/plugins/document
oak-store-document/src/m...it/oak/plugins/document
2841:2878 (1%)
2963:3000 (1%)
view
28 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
71:111 (54%)
62:102 (60%)
view
27 x 2 oak-core/src/main/java/o...he/jackrabbit/oak/query
oak-core/src/main/java/o...krabbit/oak/query/xpath
1263:1291 (2%)
1074:1102 (2%)
view
26 x 2 oak-segment-tar/src/main.../jackrabbit/oak/segment
oak-segment-tar/src/main.../jackrabbit/oak/segment
598:641 (6%)
547:590 (6%)
view
26 x 2 oak-blob-cloud-azure/src...cloud/azure/blobstorage
oak-blob-cloud/src/main/...abbit/oak/blob/cloud/s3
908:941 (2%)
833:866 (3%)
view
26 x 2 oak-segment-tar/src/main...gment/file/tar/binaries
oak-segment-tar/src/main...gment/file/tar/binaries
109:148 (35%)
111:150 (34%)
view
25 x 2 oak-lucene/src/main/java...ugins/index/lucene/util
oak-search/src/main/java...ugins/index/search/util
609:640 (6%)
635:666 (6%)
view
24 x 2 oak-core/src/main/java/o...abbit/oak/plugins/index
oak-core/src/main/java/o.../plugins/index/property
167:204 (22%)
134:171 (29%)
view
24 x 2 oak-lucene/src/main/java...ak/plugins/index/lucene
oak-lucene/src/main/java...ugins/index/lucene/util
59:96 (68%)
54:91 (61%)
view
23 x 2 oak-run-commons/src/main...dexer/document/flatfile
oak-run-commons/src/main...dexer/document/flatfile
207:239 (16%)
276:308 (13%)
view
23 x 2 oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
80:108 (28%)
77:105 (29%)
view
23 x 2 oak-core/src/main/java/o...he/jackrabbit/oak/query
oak-core/src/main/java/o...krabbit/oak/query/xpath
1179:1210 (2%)
995:1026 (2%)
view
23 x 2 oak-core/src/main/java/o...ugins/index/counter/jmx
oak-core/src/main/java/o...ugins/index/counter/jmx
190:219 (16%)
189:218 (19%)
view
23 x 2 oak-core/src/main/java/o...ugins/index/counter/jmx
oak-core/src/main/java/o...ugins/index/counter/jmx
104:139 (16%)
91:126 (19%)
view
22 x 2 oak-core/src/main/java/o.../plugins/index/progress
oak-store-spi/src/main/j...ckrabbit/oak/spi/commit
67:102 (35%)
69:104 (43%)
view
22 x 2 oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
137:167 (27%)
128:158 (28%)
view
22 x 2 oak-core/src/main/java/o...bit/oak/plugins/version
oak-core/src/main/java/o...bit/oak/plugins/version
61:94 (62%)
55:88 (66%)
view
22 x 2 oak-core/src/main/java/o...he/jackrabbit/oak/query
oak-core/src/main/java/o...krabbit/oak/query/xpath
1340:1368 (2%)
1133:1161 (2%)
view
22 x 2 oak-segment-aws/src/main...it/oak/segment/aws/tool
oak-segment-azure/src/ma.../oak/segment/azure/tool
72:152 (26%)
98:184 (13%)
view
21 x 2 oak-segment-tar/src/main.../segment/file/tar/index
oak-segment-tar/src/main.../segment/file/tar/index
72:101 (41%)
72:101 (41%)
view
21 x 2 oak-segment-tar/src/main.../jackrabbit/oak/segment
oak-segment-tar/src/main.../jackrabbit/oak/segment
311:334 (5%)
291:314 (5%)
view
21 x 2 oak-blob-plugins/src/mai...rabbit/oak/plugins/blob
oak-store-document/src/m...ocument/persistentCache
704:734 (5%)
318:348 (6%)
view
20 x 2 oak-segment-tar/src/main.../jackrabbit/oak/segment
oak-segment-tar/src/main.../jackrabbit/oak/segment
533:564 (4%)
482:513 (5%)
view
20 x 2 oak-exercise/src/main/ja...ation/models/predefined
oak-exercise/src/main/ja...ization/models/readonly
74:103 (36%)
192:221 (11%)
view
20 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
109:136 (22%)
109:137 (23%)
view
20 x 2 oak-store-document/src/m...ak/plugins/document/rdb
oak-store-document/src/m...ak/plugins/document/rdb
98:118 (4%)
793:813 (1%)
view
20 x 2 oak-core/src/main/java/o...k/plugins/index/counter
oak-core/src/main/java/o...k/plugins/index/counter
247:278 (10%)
147:178 (15%)
view
19 x 2 oak-lucene/src/main/java...ak/plugins/index/lucene
oak-search/src/main/java...ak/plugins/index/search
27:72 (100%)
27:72 (100%)
view
19 x 2 oak-core/src/main/java/o...he/jackrabbit/oak/query
oak-core/src/main/java/o...he/jackrabbit/oak/query
569:588 (1%)
616:635 (1%)
view
19 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
64:89 (51%)
73:100 (43%)
view
19 x 2 oak-store-document/src/m.../plugins/document/mongo
oak-store-document/src/m...ak/plugins/document/rdb
160:187 (12%)
447:475 (4%)
view
19 x 2 oak-store-document/src/m...it/oak/plugins/document
oak-store-spi/src/main/j...che/jackrabbit/oak/json
236:255 (13%)
168:187 (14%)
view
19 x 2 oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
56:85 (33%)
56:85 (33%)
view
19 x 2 oak-segment-tar/src/main.../segment/file/tar/index
oak-segment-tar/src/main.../segment/file/tar/index
31:61 (67%)
31:61 (67%)
view
18 x 2 oak-authorization-cug/sr.../authorization/cug/impl
oak-security-spi/src/mai...uthorization/permission
40:67 (85%)
118:145 (20%)
view
18 x 2 oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
87:118 (32%)
87:118 (32%)
view
18 x 2 oak-core/src/main/java/o...he/jackrabbit/oak/query
oak-core/src/main/java/o...krabbit/oak/query/xpath
1090:1111 (1%)
928:949 (1%)
view
18 x 2 oak-benchmarks/src/main/...benchmark/authorization
oak-benchmarks/src/main/...benchmark/authorization
118:138 (17%)
113:133 (24%)
view
18 x 2 oak-jcr/src/main/java/or...krabbit/oak/jcr/session
oak-jcr/src/main/java/or...krabbit/oak/jcr/session
1434:1457 (1%)
1479:1503 (1%)
view
Duplicated Units
The list of top 50 duplicated units.
See data for all 62 unit duplicates...
Size#FoldersFilesLinesCode
33 x 2 oak-segment-azure/src/ma.../oak/segment/azure/tool
oak-segment-aws/src/main...it/oak/segment/aws/tool
151:188 
146:183 
view
26 x 2 oak-search/src/main/java...ugins/index/search/util
oak-search/src/main/java...ugins/index/search/util
84:111 
62:89 
view
25 x 2 oak-segment-tar/src/main...gment/file/tar/binaries
oak-segment-tar/src/main...gment/file/tar/binaries
60:92 
60:92 
view
25 x 2 oak-search/src/main/java...ugins/index/search/util
oak-search/src/main/java...ugins/index/search/util
120:146 
98:124 
view
21 x 2 oak-lucene/src/main/java...ugins/index/lucene/util
oak-search/src/main/java...ugins/index/search/util
44:71 
55:82 
view
18 x 2 oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
127:146 
136:155 
view
17 x 2 oak-blob-plugins/src/mai.../plugins/blob/datastore
oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
414:434 
50:70 
view
16 x 3 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
117:134 
117:135 
108:128 
view
15 x 2 oak-segment-tar/src/main...gment/file/tar/binaries
oak-segment-tar/src/main...gment/file/tar/binaries
39:58 
39:58 
view
15 x 2 oak-core/src/main/java/o...ugins/index/counter/jmx
oak-core/src/main/java/o...ugins/index/counter/jmx
101:120 
88:107 
view
15 x 2 oak-search/src/main/java...ugins/index/search/util
oak-search/src/main/java...ugins/index/search/util
148:166 
126:144 
view
14 x 2 oak-segment-tar/src/main...rabbit/oak/segment/tool
oak-run/src/main/java/or...ache/jackrabbit/oak/run
108:123 
123:138 
view
13 x 4 oak-benchmarks-solr/src/...ache/jackrabbit/oak/run
oak-benchmarks/src/main/...ache/jackrabbit/oak/run
oak-benchmarks-lucene/sr...ache/jackrabbit/oak/run
oak-benchmarks-elastic/s...ache/jackrabbit/oak/run
36:55 
37:55 
38:57 
36:55 
view
13 x 2 oak-core/src/main/java/o...ugins/index/counter/jmx
oak-core/src/main/java/o...ugins/index/counter/jmx
190:204 
189:203 
view
13 x 2 oak-search/src/main/java...ak/plugins/index/search
oak-solr-core/src/main/j...lugins/index/solr/query
54:71 
53:70 
view
13 x 3 oak-run/src/main/java/or...ckrabbit/oak/threadDump
oak-run/src/main/java/or...ckrabbit/oak/threadDump
oak-run/src/main/java/or...ckrabbit/oak/threadDump
122:136 
35:49 
37:51 
view
12 x 3 oak-segment-tar/src/main...rabbit/oak/segment/file
oak-run-commons/src/main...dexer/document/flatfile
oak-run-commons/src/main...dexer/document/flatfile
107:122 
225:240 
294:309 
view
12 x 3 oak-segment-tar/src/main...rabbit/oak/segment/file
oak-run-commons/src/main...dexer/document/flatfile
oak-run-commons/src/main...dexer/document/flatfile
158:171 
209:222 
278:291 
view
12 x 2 oak-run-elastic/src/main...ache/jackrabbit/oak/run
oak-run/src/main/java/or...ache/jackrabbit/oak/run
37:55 
32:50 
view
12 x 2 oak-core/src/main/java/o...krabbit/oak/query/xpath
oak-core/src/main/java/o...he/jackrabbit/oak/query
1201:1214 
1425:1438 
view
11 x 2 oak-lucene/src/main/java...ak/plugins/index/lucene
oak-lucene/src/main/java...ak/plugins/index/lucene
870:885 
1380:1395 
view
11 x 2 oak-lucene/src/main/java...ugins/index/lucene/util
oak-search/src/main/java...ugins/index/search/util
154:166 
166:178 
view
11 x 2 oak-core/src/main/java/o...k/plugins/index/counter
oak-core/src/main/java/o...k/plugins/index/counter
111:123 
60:72 
view
11 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
71:83 
80:94 
view
11 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
73:85 
82:94 
view
10 x 2 oak-jackrabbit-api/src/m...ty/authentication/token
oak-security-spi/src/mai...hentication/credentials
69:84 
55:70 
view
10 x 2 oak-blob-cloud/src/main/...abbit/oak/blob/cloud/s3
oak-blob-cloud-azure/src...cloud/azure/blobstorage
759:772 
817:829 
view
10 x 2 oak-upgrade/src/main/jav...krabbit/oak/upgrade/cli
oak-run-commons/src/main...krabbit/oak/index/async
45:56 
92:103 
view
10 x 2 oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
oak-upgrade/src/main/jav...it/oak/upgrade/cli/blob
59:71 
60:74 
view
10 x 2 oak-core/src/main/java/o...index/property/strategy
oak-core/src/main/java/o...index/property/strategy
72:83 
115:126 
view
9 x 2 oak-lucene/src/main/java...ugins/index/lucene/util
oak-search/src/main/java...ugins/index/search/util
85:95 
82:92 
view
9 x 2 oak-store-document/src/m...it/oak/plugins/document
oak-store-document/src/m...it/oak/plugins/document
128:138 
299:309 
view
9 x 2 oak-core/src/main/java/o...ugins/index/counter/jmx
oak-core/src/main/java/o...ugins/index/counter/jmx
65:75 
60:70 
view
9 x 2 oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
83:95 
97:109 
view
9 x 4 oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
128:138 
142:152 
127:137 
131:141 
view
9 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/.../oak/scalability/suites
572:582 
413:423 
view
9 x 2 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
49:59 
46:56 
view
9 x 4 oak-benchmarks-lucene/sr...ackrabbit/oak/benchmark
oak-benchmarks-lucene/sr...ackrabbit/oak/benchmark
oak-benchmarks-lucene/sr...ackrabbit/oak/benchmark
oak-benchmarks-lucene/sr...ackrabbit/oak/benchmark
83:93 
78:88 
66:76 
70:80 
view
9 x 2 oak-benchmarks-lucene/sr...ility/benchmarks/search
oak-benchmarks-lucene/sr...ility/benchmarks/search
40:52 
37:49 
view
8 x 2 oak-lucene/src/main/java...ugins/index/lucene/util
oak-search/src/main/java...ugins/index/search/util
359:368 
375:384 
view
8 x 2 oak-segment-tar/src/main.../jackrabbit/oak/segment
oak-upgrade/src/main/jav.../jackrabbit/oak/upgrade
232:241 
206:215 
view
8 x 2 oak-segment-tar/src/main.../jackrabbit/oak/segment
oak-segment-tar/src/main...istence/persistentcache
299:308 
70:79 
view
8 x 2 oak-run-elastic/src/main...he/jackrabbit/oak/index
oak-run/src/main/java/or...he/jackrabbit/oak/index
263:273 
369:379 
view
8 x 3 oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
125:135 
187:197 
144:154 
view
8 x 2 oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
84:94 
84:94 
view
8 x 2 oak-run/src/main/java/or...ache/jackrabbit/oak/run
oak-run-commons/src/main.../jackrabbit/oak/run/cli
374:383 
154:163 
view
7 x 3 oak-blob-plugins/src/mai.../plugins/blob/datastore
oak-blob/src/main/java/o...abbit/oak/spi/blob/osgi
oak-blob/src/main/java/o...abbit/oak/spi/blob/osgi
139:149 
77:87 
141:151 
view
7 x 2 oak-segment-tar/src/main.../segment/file/tar/index
oak-segment-remote/src/m...bbit/oak/segment/remote
35:43 
37:45 
view
7 x 2 oak-core/src/main/java/o...ackrabbit/oak/query/ast
oak-core/src/main/java/o...ackrabbit/oak/query/ast
53:61 
53:61 
view
7 x 3 oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
oak-benchmarks/src/main/...ackrabbit/oak/benchmark
95:104 
88:97 
97:106 
view