aws-samples / k8s-rbac-iam-java-operator
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
  • 62% duplication:
    • 1,948 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,214 duplicated lines
  • 47 duplicates
system62% (1,214 lines)
Duplication per Extension
java70% (1,182 lines)
yaml11% (32 lines)
Duplication per Component (primary)
java-operator/src/main/java/com/amazonwebservices/blogs/containers/sigv4100% (254 lines)
lambda-client/src/main/java/com/amazonwebservices/blogs/containers/sigv4100% (254 lines)
java-operator/src/main/java/com/amazonwebservices/blogs/containers/kubernetes47% (213 lines)
lambda-client/src/main/java/com/amazonwebservices/blogs/containers/kubernetes91% (213 lines)
java-operator/src/main/java/io/kubernetes/client/util100% (95 lines)
lambda-client/src/main/java/io/kubernetes/client/util100% (95 lines)
ROOT11% (32 lines)
java-operator/src/main/java/com/amazonwebservices/blogs/containers/config37% (29 lines)
lambda-client/src/main/java/com/amazonwebservices/blogs/containers/config100% (29 lines)
java-operator/src/main/java/com/amazonwebservices/blogs/containers/handler0% (0 lines)
java-operator/src/main/java/com/amazonwebservices/blogs/containers0% (0 lines)
lambda-client/src/main/java/com/amazonwebservices/blogs/containers0% (0 lines)

Duplication Between Components (50+ lines)

G java-operator/src/main/java/com/amazonwebservices/blogs/containers/sigv4 java-operator/src/main/java/com/amazonwebservices/blogs/containers/sigv4 lambda-client/src/main/java/com/amazonwebservices/blogs/containers/sigv4 lambda-client/src/main/java/com/amazonwebservices/blogs/containers/sigv4 java-operator/src/main/java/com/amazonwebservices/blogs/containers/sigv4--lambda-client/src/main/java/com/amazonwebservices/blogs/containers/sigv4 508 java-operator/src/main/java/com/amazonwebservices/blogs/containers/kubernetes java-operator/src/main/java/com/amazonwebservices/blogs/containers/kubernetes lambda-client/src/main/java/com/amazonwebservices/blogs/containers/kubernetes lambda-client/src/main/java/com/amazonwebservices/blogs/containers/kubernetes java-operator/src/main/java/com/amazonwebservices/blogs/containers/kubernetes--lambda-client/src/main/java/com/amazonwebservices/blogs/containers/kubernetes 426 java-operator/src/main/java/io/kubernetes/client/util java-operator/src/main/java/io/kubernetes/client/util lambda-client/src/main/java/io/kubernetes/client/util lambda-client/src/main/java/io/kubernetes/client/util java-operator/src/main/java/io/kubernetes/client/util--lambda-client/src/main/java/io/kubernetes/client/util 190 java-operator/src/main/java/com/amazonwebservices/blogs/containers/config java-operator/src/main/java/com/amazonwebservices/blogs/containers/config lambda-client/src/main/java/com/amazonwebservices/blogs/containers/config lambda-client/src/main/java/com/amazonwebservices/blogs/containers/config java-operator/src/main/java/com/amazonwebservices/blogs/containers/config--lambda-client/src/main/java/com/amazonwebservices/blogs/containers/config 58

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 47 duplicates...
Size#FoldersFilesLinesCode
118 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
25:245 (100%)
25:245 (100%)
view
87 x 2 java-operator/src/main/j.../kubernetes/client/util
lambda-client/src/main/j.../kubernetes/client/util
CustomAuthentication.java
CustomAuthentication.java
37:153 (100%)
35:151 (100%)
view
86 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectList.java
IamUserGroupCustomObjectList.java
12:141 (100%)
12:142 (100%)
view
81 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObject.java
10:130 (100%)
10:130 (100%)
view
62 x 2 java-operator/src/main/j...s/containers/sigv4/util
lambda-client/src/main/j...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
19:106 (100%)
20:107 (100%)
view
53 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerForAuthorizationHeader.java
AWS4SignerForAuthorizationHeader.java
16:117 (100%)
18:119 (100%)
view
21 x 2 java-operator/src/main/j...s/containers/sigv4/util
lambda-client/src/main/j...s/containers/sigv4/util
BinaryUtils.java
BinaryUtils.java
8:51 (100%)
8:51 (100%)
view
17 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectSpec.java
IamUserGroupCustomObjectSpec.java
56:86 (26%)
64:94 (25%)
view
16 x 2 java-operator/src/main/j...blogs/containers/config
lambda-client/src/main/j...blogs/containers/config
AWSConfig.java
AWSConfig.java
3:27 (100%)
3:27 (100%)
view
15 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectSpec.java
IamUserGroupCustomObjectSpec.java
12:34 (23%)
11:33 (22%)
view
14 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectSpec.java
IamUserGroupCustomObjectSpec.java
97:115 (21%)
102:120 (21%)
view
13 x 2 java-operator/src/main/j...blogs/containers/config
lambda-client/src/main/j...blogs/containers/config
EKSConfig.java
EKSConfig.java
3:22 (100%)
3:22 (100%)
view
10 x 2 java-operator/src/main/j...ainers/kubernetes/model
java-operator/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObjectList.java
46:59 (12%)
71:84 (11%)
view
10 x 2 lambda-client/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObjectList.java
29:42 (12%)
31:44 (11%)
view
10 x 2 lambda-client/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObjectList.java
46:59 (12%)
71:84 (11%)
view
10 x 2 ROOT
ROOT
rbac-developers.yaml
rbac-developers.yaml
7:16 (15%)
42:51 (15%)
view
10 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObjectList.java
29:42 (12%)
31:44 (11%)
view
10 x 2 java-operator/src/main/j...ainers/kubernetes/model
java-operator/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObjectList.java
29:42 (12%)
31:44 (11%)
view
10 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectList.java
IamUserGroupCustomObject.java
31:44 (11%)
29:42 (12%)
view
10 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectList.java
IamUserGroupCustomObject.java
71:84 (11%)
46:59 (12%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 21 unit duplicates...
Size#FoldersFilesLinesCode
52 x 2 java-operator/src/main/j.../kubernetes/client/util
lambda-client/src/main/j.../kubernetes/client/util
CustomAuthentication.java
CustomAuthentication.java
86:154 
84:152 
view
49 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerForAuthorizationHeader.java
AWS4SignerForAuthorizationHeader.java
47:118 
49:120 
view
30 x 2 java-operator/src/main/j.../kubernetes/client/util
lambda-client/src/main/j.../kubernetes/client/util
CustomAuthentication.java
CustomAuthentication.java
50:84 
48:82 
view
24 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
172:200 
172:200 
view
24 x 2 java-operator/src/main/j...s/containers/sigv4/util
lambda-client/src/main/j...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
44:70 
45:71 
view
20 x 2 java-operator/src/main/j...s/containers/sigv4/util
lambda-client/src/main/j...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
72:94 
73:95 
view
16 x 2 java-operator/src/main/j...s/containers/sigv4/util
lambda-client/src/main/j...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
26:42 
27:43 
view
14 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
123:137 
123:137 
view
14 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
142:157 
142:157 
view
13 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
96:116 
96:116 
view
12 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectList.java
IamUserGroupCustomObjectList.java
103:115 
104:116 
view
12 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObject.java
92:104 
92:104 
view
12 x 2 java-operator/src/main/j...s/containers/sigv4/util
lambda-client/src/main/j...s/containers/sigv4/util
BinaryUtils.java
BinaryUtils.java
18:32 
18:32 
view
11 x 2 java-operator/src/main/j...s/containers/sigv4/util
lambda-client/src/main/j...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
96:107 
97:108 
view
10 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
60:71 
60:71 
view
10 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
78:90 
78:90 
view
9 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectList.java
IamUserGroupCustomObjectList.java
123:132 
124:133 
view
9 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObject.java
IamUserGroupCustomObject.java
112:121 
112:121 
view
8 x 2 java-operator/src/main/j...ainers/kubernetes/model
lambda-client/src/main/j...ainers/kubernetes/model
IamUserGroupCustomObjectSpec.java
IamUserGroupCustomObjectSpec.java
101:109 
106:114 
view
7 x 2 java-operator/src/main/j.../blogs/containers/sigv4
lambda-client/src/main/j.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
202:209 
202:209 
view