apache / struts-examples
Components

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Component Sizes (Lines of Code)
The "primary" logical decomposition has 47 components.
  • 559 files, 17,544 LOC (100.0% vs. main code).
  • "themes-override" is biggest, containing 22.35% of LOC.
  • "basic-struts" is smallest, containing 0.3% of LOC.


themes-override3921 LOC (22%) 82 files
mailreader22607 LOC (14%) 17 files
rest-angular965 LOC (5%) 20 files
crud662 LOC (3%) 18 files
shiro-basic440 LOC (2%) 12 files
exclude-parameters386 LOC (2%) 14 files
preparable-interface376 LOC (2%) 14 files
exception-handling364 LOC (2%) 15 files
debugging-struts361 LOC (2%) 16 files
form-xml-validation361 LOC (2%) 13 files
control-tags358 LOC (2%) 12 files
tiles357 LOC (2%) 23 files
themes328 LOC (1%) 13 files
type-conversion314 LOC (1%) 12 files
bean-validation308 LOC (1%) 12 files
spring-struts302 LOC (1%) 12 files
wildcard-method-selection295 LOC (1%) 9 files
unknown-handler288 LOC (1%) 14 files
form-tags286 LOC (1%) 11 files
message-resource280 LOC (1%) 11 files
form-processing270 LOC (1%) 11 files
form-validation262 LOC (1%) 12 files
blank250 LOC (1%) 17 files
annotations230 LOC (1%) 12 files
text-provider207 LOC (1%) 9 files
jasperreports193 LOC (1%) 8 files
interceptors184 LOC (1%) 8 files
sitemesh3180 LOC (1%) 12 files
unit-testing178 LOC (1%) 8 files
src172 LOC (<1%) 1 file
http-session165 LOC (<1%) 7 files
helloworld153 LOC (<1%) 10 files
validation-messages144 LOC (<1%) 10 files
json140 LOC (<1%) 6 files
coding-actions137 LOC (<1%) 7 files
wildcard-regex129 LOC (<1%) 10 files
using-tags116 LOC (<1%) 7 files
file-upload115 LOC (<1%) 6 files
message-store114 LOC (<1%) 8 files
jfreechart112 LOC (<1%) 6 files
dynamic-href99 LOC (<1%) 6 files
restful2actionmapper99 LOC (<1%) 6 files
action-chaining91 LOC (<1%) 6 files
json-customize71 LOC (<1%) 4 files
expression-cache67 LOC (<1%) 4 files
quarkus54 LOC (<1%) 4 files
basic-struts53 LOC (<1%) 4 files
Component Commits
Components ordered by number of commits
Total Commits per Component
All commits, some commits may include files from multiple components.
using-tags20 commits (1%)
helloworld20 commits (1%)
themes18 commits (1%)
coding-actions18 commits (1%)
unknown-handler17 commits (1%)
form-processing17 commits (1%)
crud16 commits (1%)
form-xml-validation16 commits (1%)
type-conversion15 commits (1%)
annotations14 commits (1%)
interceptors14 commits (1%)
jasperreports14 commits (1%)
http-session14 commits (1%)
form-validation13 commits (1%)
exception-handling13 commits (1%)
blank12 commits (<1%)
tiles12 commits (<1%)
rest-angular12 commits (<1%)
unit-testing12 commits (<1%)
message-resource12 commits (<1%)
shiro-basic11 commits (<1%)
text-provider11 commits (<1%)
message-store11 commits (<1%)
wildcard-method-selection11 commits (<1%)
control-tags10 commits (<1%)
themes-override10 commits (<1%)
form-tags10 commits (<1%)
debugging-struts10 commits (<1%)
exclude-parameters10 commits (<1%)
spring-struts10 commits (<1%)
bean-validation9 commits (<1%)
preparable-interface9 commits (<1%)
wildcard-regex9 commits (<1%)
restful2actionmapper8 commits (<1%)
basic-struts8 commits (<1%)
file-upload7 commits (<1%)
json7 commits (<1%)
action-chaining7 commits (<1%)
src6 commits (<1%)
json-customize6 commits (<1%)
quarkus5 commits (<1%)
mailreader25 commits (<1%)
dynamic-href5 commits (<1%)
validation-messages5 commits (<1%)
sitemesh34 commits (<1%)
jfreechart3 commits (<1%)
expression-cache3 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013
sitemesh3
32
exception-handling
16
8
2
24
message-resource
16
8
2
13
debugging-struts
15
8
2
10
themes
16
6
2
3
18
unit-testing
10
10
10
form-validation
11
8
2
14
unknown-handler
18
4
1
6
15
form-processing
12
6
23
8
9
spring-struts
12
6
14
annotations
5
12
17
9
type-conversion
7
10
2
18
9
text-provider
16
3
18
wildcard-method-selection
10
6
1
2
11
interceptors
6
7
1
2
3
7
jasperreports
3
10
4
16
control-tags
6
6
10
14
helloworld
4
8
14
9
3
7
preparable-interface
6
6
16
exclude-parameters
6
6
16
http-session
6
6
2
2
9
mailreader2
10
17
form-xml-validation
4
6
2
10
1
15
bean-validation
10
14
coding-actions
4
6
11
9
shiro-basic
8
29
message-store
8
6
14
validation-messages
8
10
form-tags
4
4
10
1
13
wildcard-regex
8
8
10
file-upload
6
2
6
blank
6
6
1
37
using-tags
6
16
9
crud
6
27
40
rest-angular
6
1
14
2
24
dynamic-href
6
6
themes-override
6
138
84
restful2actionmapper
6
4
5
action-chaining
6
10
quarkus
4
4
jfreechart
4
6
tiles
4
7
4
25
json
4
8
json-customize
4
8
basic-struts
4
7
expression-cache
2
4
src
1
4
1


Dependencies between components in same commits (past 180 days)
The number on the lines shows the number of shared commits.
See detailed temporal dependencies report...

G form-processing form-processing form-processing--form-processing 4 exception-handling exception-handling exception-handling--exception-handling 4 form-validation form-validation form-validation--form-validation 4 exclude-parameters exclude-parameters form-validation--exclude-parameters 4 message-resource message-resource message-resource--form-validation 3 message-resource--message-resource 4 message-resource--exclude-parameters 3 form-xml-validation form-xml-validation message-resource--form-xml-validation 3 http-session http-session message-resource--http-session 3 interceptors interceptors message-resource--interceptors 3 exclude-parameters--exclude-parameters 4 spring-struts spring-struts spring-struts--form-processing 3 spring-struts--spring-struts 4 spring-struts--form-xml-validation 3 spring-struts--interceptors 3 themes themes themes--form-processing 3 themes--message-resource 3 themes--themes 4 form-tags form-tags themes--form-tags 3 preparable-interface preparable-interface themes--preparable-interface 3 themes--http-session 3 coding-actions coding-actions coding-actions--coding-actions 4 form-tags--form-processing 3 form-tags--form-tags 4 preparable-interface--form-processing 3 preparable-interface--form-validation 3 preparable-interface--message-resource 3 preparable-interface--preparable-interface 4 preparable-interface--http-session 3 form-xml-validation--form-processing 3 form-xml-validation--exclude-parameters 3 form-xml-validation--form-tags 3 form-xml-validation--form-xml-validation 4 http-session--form-validation 3 http-session--exclude-parameters 3 http-session--form-xml-validation 3 http-session--http-session 4 wildcard-method-selection wildcard-method-selection wildcard-method-selection--form-processing 3 wildcard-method-selection--message-resource 3 wildcard-method-selection--themes 3 wildcard-method-selection--wildcard-method-selection 4 helloworld helloworld helloworld--helloworld 4 unit-testing unit-testing unit-testing--unit-testing 4 interceptors--form-processing 3 interceptors--form-validation 3 interceptors--exclude-parameters 3 interceptors--form-xml-validation 3 interceptors--interceptors 4 debugging-struts debugging-struts debugging-struts--debugging-struts 3 type-conversion type-conversion type-conversion--type-conversion 3


2025-05-07 15:40