Skip to content

Commit 5ef831a

Browse files
committed
Update diagram with in-memory storage
Signed-off-by: Arthit Suriyawongkul <[email protected]>
1 parent 7110367 commit 5ef831a

File tree

2 files changed

+38
-22
lines changed

2 files changed

+38
-22
lines changed

spdx_java_lib_family.plantuml

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,43 +13,50 @@ left to right direction
1313
' Use "package" to group related components and improve readability.
1414
' This does not imply actual Java package structure.
1515
package "SPDX Java libraries" {
16-
package "Core libraries" {
17-
component "<b>java-spdx-library</b>\n(core library & helpers)" as lib #LightGreen
18-
component "spdx-java-core\n(core utilities)" as core #LightYellow
19-
interface "IModelStore\n(storage service provider interface)" as storeSPI #LightYellow
16+
package "Core libraries" as core_pkg {
17+
component "<b><size:20>java-spdx-library</size></b>\nCore library & helpers" as lib #LightSalmon
18+
component "<b><size:20>spdx-java-core</size></b>\nCore utilities" as core #LightYellow
19+
component "<b><size:20>org.spdx.storage.IModelStore</size></b>\nStorage service provider interface" as storeSPI #LightBlue
20+
component "<b><size:20>org.spdx.storage.simple.InMemSpdxStore</size></b>\nSimple in-memory store" as inmem #LightBlue
2021
}
2122

22-
package "Models" {
23-
component "spdx-java-model-2_X\n(SPDX 2 model)" as model2
24-
component "spdx-java-model-3_0\n(SPDX 3 model)" as model3
23+
package "Models" as model_pkg {
24+
component "<b><size:20>spdx-java-model-2_X</size></b>\nSPDX 2 model" as model2 #LightGreen
25+
component "<b><size:20>spdx-java-model-3_0</size></b>\nSPDX 3 model" as model3 #LightGreen
2526
}
2627

27-
package "Storage implementations" {
28-
component "spdx-java-tagvalue-store\n(Tag-Value store)" as tagvalue
29-
component "spdx-java-rdf-store\n(RDF store)" as rdf
30-
component "spdx-java-spreadsheet-store\n(XLS spreadsheet store)" as sheet
31-
component "spdx-java-jackson-store\n(JSON / YAML / XML store)" as jackson
32-
component "spdx-java-v3jsonld-store\n(v3 JSON-LD store)" as v3jsonld
28+
package "Storage implementations" as store_pkg {
29+
component "<b><size:20>spdx-java-tagvalue-store</size></b>\nTag-Value store" as tagvalue #LightBlue
30+
component "<b><size:20>spdx-java-rdf-store</size></b>\nRDF store" as rdf #LightBlue
31+
component "<b><size:20>spdx-java-spreadsheet-store</size></b>\nXLS spreadsheet store" as sheet #LightBlue
32+
component "<b><size:20>spdx-java-jackson-store</size></b>\nJSON / XML / YAML store" as jackson #LightBlue
33+
component "<b><size:20>spdx-java-v3jsonld-store</size></b>\nSPDX 3 JSON-LD store" as v3jsonld #LightBlue
3334
}
3435

35-
package "Tooling" {
36-
component "spdx-model-to-java\n(code generator for SPDX 3 model)" as genmodel3
37-
component "tools-java\n(command-line tools)" as tools
38-
component "spdx-maven-plugin\n(Maven integration)" as maven
36+
package "Tooling" as tooling_pkg {
37+
component "<b><size:20>spdx-maven-plugin</size></b>\nMaven integration" as maven
38+
component "<b><size:20>spdx-model-to-java</size></b>\nJava code generator for SPDX 3 model" as genmodel3
3939
}
4040

41-
package "Specifications" {
42-
component "SPDX 3 specification Turtle file" as spdx3turtle
41+
package "Specifications" as spec_pkg {
42+
component "<i><size:20>spdx-model.ttl</size></i>\nSPDX 3 specification RDF 1.1 Turtle file" as spdx3turtle
43+
}
44+
45+
package "User-facing applications" as app_pkg {
46+
component "<b><size:20>tools-java</size></b>\nCommand-line tools" as tools
47+
component "<i><size:20>spdx-online-tools</size></i>\nWeb-based tools" as online
4348
}
4449
}
4550

46-
' Core relationships
51+
' Core libraries and models
4752
lib --> core : depends on
4853
lib --> model2 : depends on
4954
lib --> model3 : depends on
5055

5156
' Storage SPI and implementations
5257
core --> storeSPI : contains
58+
lib --> inmem : contains
59+
inmem ..|> storeSPI : implements
5360
jackson ..|> storeSPI : implements
5461
rdf ..|> storeSPI : implements
5562
sheet ..|> storeSPI : implements
@@ -58,8 +65,17 @@ v3jsonld ..|> storeSPI : implements
5865

5966
' Tooling
6067
maven --> lib : depends on
61-
tools --> lib : depends on
6268
genmodel3 --> model3 : generates
63-
genmodel3 --> spdx3turtle : depends on
69+
genmodel3 -left-> spdx3turtle : has data file
70+
71+
' User-facing applications
72+
tools --> lib : depends on
73+
online --> tools : depends on
74+
75+
' Layout hints
76+
spec_pkg -[hidden]-> tooling_pkg
77+
store_pkg -[hidden]-> core_pkg
78+
inmem -[hidden]-> store_pkg
79+
model_pkg -[hidden]-> core_pkg
6480

6581
@enduml

spdx_java_lib_family.png

193 KB
Loading

0 commit comments

Comments
 (0)