aws / aws-swf-flow-library
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
  • 11% duplication:
    • 11,159 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,313 duplicated lines
  • 101 duplicates
system11% (1,313 lines)
Duplication per Extension
java11% (1,313 lines)
Duplication per Component (primary)
flow18% (366 lines)
flow/worker8% (347 lines)
flow/spring31% (208 lines)
flow/core10% (118 lines)
flow/generic11% (94 lines)
flow/junit10% (74 lines)
flow/aspectj24% (46 lines)
flow/interceptors9% (38 lines)
flow/pojo2% (22 lines)
flow/common0% (0 lines)
flow/annotations0% (0 lines)

Duplication Between Components (50+ lines)

G flow flow flow/spring flow/spring flow--flow/spring 337

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 101 duplicates...
Size#FoldersFilesLinesCode
64 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...ces/simpleworkflow/flow
ActivityWorker.java
WorkflowWorker.java
156:261 (38%)
78:195 (38%)
view
43 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...pleworkflow/flow/spring
ActivityWorker.java
SpringWorkflowWorker.java
161:231 (25%)
115:185 (22%)
view
43 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...pleworkflow/flow/spring
WorkflowWorker.java
SpringWorkflowWorker.java
83:164 (25%)
115:185 (22%)
view
24 x 2 src/main/java/com/amazon...impleworkflow/flow/core
src/main/java/com/amazon...impleworkflow/flow/core
ExternalTaskContext.java
TaskContext.java
175:215 (16%)
99:139 (27%)
view
22 x 2 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
ActivityDecisionStateMachine.java
TimerDecisionStateMachine.java
47:74 (44%)
56:83 (37%)
view
22 x 2 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
LambdaFunctionDecisionStateMachine.java
TimerDecisionStateMachine.java
42:69 (53%)
56:83 (37%)
view
22 x 2 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
ActivityDecisionStateMachine.java
LambdaFunctionDecisionStateMachine.java
47:74 (44%)
42:69 (53%)
view
22 x 2 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
ActivityTaskPoller.java
DecisionTaskPoller.java
263:293 (9%)
291:321 (13%)
view
19 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...pleworkflow/flow/spring
ActivityWorker.java
SpringWorkflowWorker.java
231:261 (11%)
195:225 (9%)
view
19 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...pleworkflow/flow/spring
WorkflowWorker.java
SpringWorkflowWorker.java
164:195 (11%)
195:225 (9%)
view
17 x 2 src/main/java/com/amazon...pleworkflow/flow/spring
src/main/java/com/amazon...pleworkflow/flow/spring
SpringActivityWorker.java
SpringWorkflowWorker.java
300:330 (10%)
334:364 (8%)
view
15 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...ces/simpleworkflow/flow
ActivityWorker.java
WorkflowWorker.java
286:308 (8%)
225:247 (8%)
view
13 x 2 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
DecisionStateMachineBase.java
SignalDecisionStateMachine.java
58:73 (10%)
56:71 (14%)
view
13 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...ces/simpleworkflow/flow
DynamicActivitiesClientImpl.java
DynamicWorkflowClientImpl.java
142:163 (13%)
210:231 (8%)
view
13 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...pleworkflow/flow/spring
ActivityWorker.java
SpringActivityWorker.java
291:311 (7%)
205:225 (7%)
view
13 x 2 src/main/java/com/amazon...mpleworkflow/flow/junit
src/main/java/com/amazon...kflow/flow/junit/spring
WorkflowTest.java
SpringWorkflowTest.java
57:75 (20%)
57:75 (18%)
view
13 x 2 src/main/java/com/amazon...impleworkflow/flow/core
src/main/java/com/amazon...impleworkflow/flow/core
AndPromise.java
OrPromise.java
71:91 (31%)
63:83 (36%)
view
12 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...pleworkflow/flow/spring
WorkflowWorker.java
SpringActivityWorker.java
230:247 (7%)
205:222 (7%)
view
12 x 2 src/main/java/com/amazon...ces/simpleworkflow/flow
src/main/java/com/amazon...pleworkflow/flow/spring
WorkflowWorker.java
SpringWorkflowWorker.java
230:247 (7%)
225:242 (6%)
view
12 x 2 src/main/java/com/amazon...leworkflow/flow/aspectj
src/main/java/com/amazon...leworkflow/flow/aspectj
ExponentialRetryAspect.java
ExponentialRetryWithJitterAspect.java
49:65 (18%)
43:59 (23%)
view
Duplicated Units
The list of top 11 duplicated units.
See data for all 11 unit duplicates...
Size#FoldersFilesLinesCode
15 x 2 src/main/java/com/amazon...impleworkflow/flow/pojo
src/main/java/com/amazon...impleworkflow/flow/pojo
POJOWorkflowDefinitionFactoryFactory....
POJOActivityImplementationFactory.java
357:374 
388:405 
view
10 x 3 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
ActivityDecisionStateMachine.java
TimerDecisionStateMachine.java
LambdaFunctionDecisionStateMachine.java
53:63 
62:72 
48:58 
view
10 x 3 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
ActivityDecisionStateMachine.java
TimerDecisionStateMachine.java
LambdaFunctionDecisionStateMachine.java
66:76 
75:85 
61:71 
view
10 x 2 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
DecisionTaskPoller.java
ActivityTaskPoller.java
252:262 
251:261 
view
9 x 3 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
SuspendableSemaphore.java
DecisionTaskPoller.java
ActivityTaskPoller.java
73:82 
303:312 
275:284 
view
9 x 2 src/main/java/com/amazon...kflow/flow/junit/spring
src/main/java/com/amazon...mpleworkflow/flow/junit
SpringWorkflowTest.java
WorkflowTest.java
61:70 
61:70 
view
8 x 3 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
SuspendableSemaphore.java
DecisionTaskPoller.java
ActivityTaskPoller.java
63:71 
292:300 
264:272 
view
8 x 3 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
SuspendableSemaphore.java
DecisionTaskPoller.java
ActivityTaskPoller.java
84:92 
315:323 
287:295 
view
8 x 2 src/main/java/com/amazon...pleworkflow/flow/worker
src/main/java/com/amazon...pleworkflow/flow/worker
DecisionStateMachineBase.java
SignalDecisionStateMachine.java
59:67 
57:65 
view
8 x 2 src/main/java/com/amazon...leworkflow/flow/aspectj
src/main/java/com/amazon...leworkflow/flow/aspectj
ExponentialRetryWithJitterAspect.java
ExponentialRetryAspect.java
92:101 
120:128 
view
7 x 2 src/main/java/com/amazon...pleworkflow/flow/spring
src/main/java/com/amazon...pleworkflow/flow/spring
SpringWorkflowWorker.java
SpringActivityWorker.java
317:324 
263:270 
view