opensearch-project / security
Duplication

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

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 15% duplication:
    • 24,640 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,709 duplicated lines
  • 328 duplicates
system15% (3,709 lines)
Duplication per Extension
java14% (3,435 lines)
yml22% (274 lines)
Duplication per Component (primary)
src/main/java/org/opensearch/security/securityconf53% (1,841 lines)
src/main/java/com/amazon/dlic/auth20% (733 lines)
src/main/java/org/opensearch/security/dlic7% (169 lines)
src/main/java/org/opensearch/security/configuration7% (157 lines)
legacy/securityconfig_v632% (131 lines)
securityconfig30% (125 lines)
src/main/java/org/opensearch/security/auditlog5% (124 lines)
src/main/java/org/opensearch/security/ssl3% (93 lines)
src/main/java/org/opensearch/security/rest34% (89 lines)
src/main/java/org/opensearch/security7% (61 lines)
src/main/java/org/opensearch/security/privileges6% (44 lines)
src/main/java/org/opensearch/security/compliance8% (40 lines)
src/main/java/org/opensearch/security/transport4% (20 lines)
src/main/resources/static_config4% (18 lines)
src/main/java/org/opensearch/security/http6% (18 lines)
src/main/java/org/opensearch/security/user7% (15 lines)
src/main/java/org/opensearch/security/support1% (14 lines)
src/main/java/org/opensearch/security/resolver2% (9 lines)
src/main/java/org/opensearch/security/tools<1% (8 lines)
src/main/java/com/amazon/dlic/util0% (0 lines)
src/main/java/org/opensearch/security/setting0% (0 lines)
src/main/java/org/opensearch/security/action0% (0 lines)
src/main/java/org/opensearch/security/filter0% (0 lines)
src/main/java/org/opensearch/security/util0% (0 lines)
src/main/java/org/opensearch/security/httpclient0% (0 lines)
src/main/java/org/opensearch/security/auth0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G legacy/securityconfig_v6 legacy/securityconfig_v6 securityconfig securityconfig legacy/securityconfig_v6--securityconfig 222 src/main/java/org/opensearch/security/configuration src/main/java/org/opensearch/security/configuration src/main/java/org/opensearch/security/securityconf src/main/java/org/opensearch/security/securityconf src/main/java/org/opensearch/security/configuration--src/main/java/org/opensearch/security/securityconf 117 src/main/java/org/opensearch/security/user src/main/java/org/opensearch/security/user src/main/java/org/opensearch/security/securityconf--src/main/java/org/opensearch/security/user 90 src/main/java/org/opensearch/security/rest src/main/java/org/opensearch/security/rest src/main/java/org/opensearch/security/ssl src/main/java/org/opensearch/security/ssl src/main/java/org/opensearch/security/rest--src/main/java/org/opensearch/security/ssl 116 src/main/java/org/opensearch/security/auditlog src/main/java/org/opensearch/security/auditlog src/main/java/org/opensearch/security/auditlog--src/main/java/org/opensearch/security/securityconf 104 src/main/java/org/opensearch/security/resolver src/main/java/org/opensearch/security/resolver src/main/java/org/opensearch/security/resolver--src/main/java/org/opensearch/security/securityconf 90 src/main/java/org/opensearch/security/dlic src/main/java/org/opensearch/security/dlic src/main/java/org/opensearch/security/dlic--src/main/java/org/opensearch/security/rest 64

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 328 duplicates...
Size#FoldersFilesLinesCode
138 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
266:483 (19%)
252:470 (21%)
view
67 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV6.java
DynamicConfigModelV7.java
267:377 (28%)
266:376 (28%)
view
61 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
848:936 (8%)
783:936 (9%)
view
56 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV6.java
DynamicConfigModelV7.java
86:160 (23%)
86:160 (23%)
view
34 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
1050:1103 (4%)
1014:1067 (5%)
view
30 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
696:727 (4%)
692:723 (4%)
view
29 x 2 src/main/java/com/amazon/dlic/auth/ldap/backend
src/main/java/com/amazon/dlic/auth/ldap2
LDAPAuthorizationBackend.java
LDAPAuthorizationBackend2.java
891:945 (4%)
351:405 (9%)
view
29 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV6.java
DynamicConfigModelV7.java
381:425 (12%)
380:424 (12%)
view
29 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
742:784 (4%)
738:780 (4%)
view
28 x 2 src/main/java/com/amazon/dlic/auth/ldap/backend
src/main/java/com/amazon/dlic/auth/ldap2
LDAPAuthorizationBackend.java
LDAPAuthorizationBackend2.java
1059:1110 (4%)
506:557 (9%)
view
26 x 2 src/main/java/org/opense...ty/securityconf/impl/v6
src/main/java/org/opense...ty/securityconf/impl/v7
ConfigV6.java
ConfigV7.java
267:310 (15%)
394:439 (10%)
view
26 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV6.java
DynamicConfigModelV7.java
222:262 (10%)
222:262 (11%)
view
25 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
586:612 (3%)
586:612 (3%)
view
25 x 2 src/main/java/org/opense...ty/securityconf/impl/v6
src/main/java/org/opense...ty/securityconf/impl/v7
ConfigV6.java
ConfigV7.java
103:141 (14%)
154:194 (10%)
view
25 x 2 src/main/java/com/amazon/dlic/auth/ldap/backend
src/main/java/com/amazon/dlic/auth/ldap2
LDAPAuthorizationBackend.java
LDAPAuthorizationBackend2.java
847:888 (3%)
307:348 (8%)
view
24 x 2 src/main/java/com/amazon/dlic/auth/ldap/backend
src/main/java/com/amazon/dlic/auth/ldap2
LDAPAuthorizationBackend.java
LDAPAuthorizationBackend2.java
787:835 (3%)
251:299 (7%)
view
24 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV6.java
DynamicConfigModelV7.java
182:216 (10%)
182:217 (10%)
view
22 x 2 legacy/securityconfig_v6
securityconfig
config.yml
config.yml
142:171 (18%)
152:181 (17%)
view
22 x 2 legacy/securityconfig_v6
securityconfig
config.yml
config.yml
172:214 (18%)
183:225 (17%)
view
20 x 2 src/main/java/com/amazon/dlic/auth/ldap/backend
src/main/java/com/amazon/dlic/auth/ldap2
LDAPAuthenticationBackend.java
LDAPAuthenticationBackend2.java
117:153 (13%)
151:187 (14%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 21 unit duplicates...
Size#FoldersFilesLinesCode
40 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV7.java
DynamicConfigModelV6.java
374:428 
375:429 
view
25 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
746:773 
742:769 
view
16 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
882:898 
882:898 
view
14 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
326:340 
312:326 
view
14 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
906:922 
906:922 
view
12 x 2 src/main/java/com/amazon/dlic/auth/http/kerberos
src/main/java/com/amazon/dlic/auth/http/jwt
HTTPSpnegoAuthenticator.java
HTTPJwtAuthenticator.java
169:184 
118:133 
view
10 x 2 src/main/java/com/amazon/dlic/auth/ldap/backend
src/main/java/com/amazon/dlic/auth/ldap2
LDAPAuthorizationBackend.java
LDAPAuthorizationBackend2.java
1076:1089 
523:536 
view
9 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
470:479 
457:466 
view
8 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
354:362 
341:349 
view
8 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV7.java
DynamicConfigModelV6.java
344:352 
345:353 
view
7 x 2 src/main/java/org/opense.../security/ssl/transport
src/main/java/org/opense.../security/ssl/transport
SecuritySSLNettyTransport.java
SecuritySSLNettyTransport.java
137:146 
167:176 
view
7 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
460:467 
447:454 
view
7 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
924:931 
924:931 
view
7 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV7.java
DynamicConfigModelV6.java
85:92 
85:92 
view
6 x 2 src/main/java/org/opense.../security/dlic/rest/api
src/main/java/org/opense.../security/dlic/rest/api
NodesDnApiAction.java
WhitelistApiAction.java
93:99 
107:113 
view
6 x 2 src/main/java/org/opense.../security/dlic/rest/api
src/main/java/org/opense.../security/dlic/rest/api
AuthTokenProcessorAction.java
InternalUsersApiAction.java
52:58 
71:77 
view
6 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
ConfigModelV6.java
ConfigModelV7.java
873:879 
873:879 
view
6 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV7.java
DynamicConfigModelV6.java
354:363 
355:364 
view
6 x 2 src/main/java/org/opensearch/security/securityconf
src/main/java/org/opensearch/security/securityconf
DynamicConfigModelV7.java
DynamicConfigModelV6.java
365:372 
366:373 
view
6 x 2 src/main/java/org/opense...ty/securityconf/impl/v6
src/main/java/org/opense...ty/securityconf/impl/v7
ConfigV6.java
ConfigV7.java
145:151 
209:215 
view