Skip to content

Commit c2a7b90

Browse files
author
NooBxGockeL
committed
Work on iluwatar#190: urm/puml updates
* added pumlid where it was missing and possible * removed pumlid where it generated a bad image * regenerated some incorrect puml's * added 'left to right direction' puml prefix to some diagrams to improve the automatic layouting
1 parent 175e9f5 commit c2a7b90

File tree

19 files changed

+73
-62
lines changed

19 files changed

+73
-62
lines changed

Diff for: event-asynchronous/README.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ tags:
1212

1313
## Intent
1414
The Event-based Asynchronous Pattern makes available the advantages of multithreaded applications while hiding many
15-
of the complex issues inherent in multithreaded design. Using a class that supports this pattern can allow you to:-
16-
(1) Perform time-consuming tasks, such as downloads and database operations, "in the background," without interrupting your application.
17-
(2) Execute multiple operations simultaneously, receiving notifications when each completes.
18-
(3) Wait for resources to become available without stopping ("hanging") your application.
19-
(4) Communicate with pending asynchronous operations using the familiar events-and-delegates model.
15+
of the complex issues inherent in multithreaded design. Using a class that supports this pattern can allow you to:
16+
17+
1. Perform time-consuming tasks, such as downloads and database operations, "in the background," without interrupting your application.
18+
2. Execute multiple operations simultaneously, receiving notifications when each completes.
19+
3. Wait for resources to become available without stopping ("hanging") your application.
20+
4. Communicate with pending asynchronous operations using the familiar events-and-delegates model.
2021

2122
![alt text](./etc/event-asynchronous.png "Event-based Asynchronous")
2223

Diff for: guarded-suspension/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: pattern
33
title: Guarded Suspension
44
folder: guarded-suspension
55
permalink: /patterns/guarded-suspension/
6+
pumlid: ROux3W8n30LxJW47IDnJxLLCOcMD4YVoXxq-eQTwev56UeSvgiVejmTBwL4fjDzFzsLF0CKhD_OpNc6aPOgJU2vp0FUuSAVmnW-cIiPDqa9tKZ4OQ1kW1MgbcYniaHXF0VBoH-VGaTVlnK5Iztu1
67
categories: Concurrency
78
tags:
89
- Java

Diff for: guarded-suspension/etc/guarded-suspension.urm.puml

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
@startuml
22
package com.iluwatar.guarded.suspension {
3+
class App {
4+
+ App()
5+
+ main(args : String[]) {static}
6+
}
37
class GuardedQueue {
48
- LOGGER : Logger {static}
59
- sourceList : Queue<Integer>

Diff for: hexagonal/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ title: Hexagonal Architecture
44
folder: hexagonal
55
permalink: /patterns/hexagonal/
66
pumlid: HSTB4W8X30N0g-W1XkozpPD90LO8L3wEnzUTk-xxq2fvSfhSUiJs1v7XAcr4psSwMrqQh57gcZGaBmICNdZZEDb7qsCZWasT9lm7wln1MmeXZlfVIPjbvvGl
7+
pumlformat: svg
78
categories: Architectural
89
tags:
910
- Java

Diff for: intercepting-filter/etc/intercepting-filter.urm.puml

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@startuml
2+
left to right direction
23
package com.iluwatar.intercepting.filter {
34
abstract class AbstractFilter {
45
- next : Filter
@@ -79,10 +80,10 @@ AbstractFilter --> "-next" Filter
7980
DListener --+ Target
8081
FilterChain --> "-chain" Filter
8182
FilterManager --> "-filterChain" FilterChain
82-
AbstractFilter ..|> Filter
83-
AddressFilter --|> AbstractFilter
84-
ContactFilter --|> AbstractFilter
85-
DepositFilter --|> AbstractFilter
86-
NameFilter --|> AbstractFilter
87-
OrderFilter --|> AbstractFilter
88-
@enduml
83+
AbstractFilter ..|> Filter
84+
AddressFilter --|> AbstractFilter
85+
ContactFilter --|> AbstractFilter
86+
DepositFilter --|> AbstractFilter
87+
NameFilter --|> AbstractFilter
88+
OrderFilter --|> AbstractFilter
89+
@enduml

Diff for: interpreter/etc/interpreter.urm.puml

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@startuml
2+
left to right direction
23
package com.iluwatar.interpreter {
34
class App {
45
- LOGGER : Logger {static}
@@ -44,8 +45,8 @@ package com.iluwatar.interpreter {
4445
MultiplyExpression --> "-leftExpression" Expression
4546
MinusExpression --> "-leftExpression" Expression
4647
PlusExpression --> "-leftExpression" Expression
47-
MinusExpression --|> Expression
48-
MultiplyExpression --|> Expression
49-
NumberExpression --|> Expression
50-
PlusExpression --|> Expression
51-
@enduml
48+
MinusExpression --|> Expression
49+
MultiplyExpression --|> Expression
50+
NumberExpression --|> Expression
51+
PlusExpression --|> Expression
52+
@enduml

Diff for: layers/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ title: Layers
44
folder: layers
55
permalink: /patterns/layers/
66
pumlid: BSR13OCm30NGLSe0n7UsCS62L8w9x6yGszD3t-bDpQhc9kdwEO0H2v7pNVQ68zSCyNeQn53gsQbftWns-lB5yoRHTfi70-8Mr3b-8UL7F4XG_otflOpi-W80
7+
pumlformat: svg
78
categories: Architectural
89
tags:
910
- Java

Diff for: message-channel/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ layout: pattern
33
title: Message Channel
44
folder: message-channel
55
permalink: /patterns/message-channel/
6-
pumlid: NSZB3SCm203GLTe1RExTXX1akm9YyMdMRy-zFRtdCf8wkLmUCtF72y3nxcFbhAE2dIvBjknqAIof6nCTtlZ1TdAiOMrZ9hi5ACOFe1o1WnjDD6C1Jlg_NgvzbyeN
76
categories: Integration
8-
tags:
7+
tags:
98
- Java
109
- EIP
1110
- Apache Camel™
@@ -24,4 +23,4 @@ Use the Message Channel pattern when
2423

2524
## Real world examples
2625

27-
* [akka-camel](http://doc.akka.io/docs/akka/snapshot/scala/camel.html)
26+
* [akka-camel](http://doc.akka.io/docs/akka/snapshot/scala/camel.html)

Diff for: naked-objects/README.md

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ layout: pattern
33
title: Naked Objects
44
folder: naked-objects
55
permalink: /patterns/naked-objects/
6-
pumlid: LSX15i8W30N0g-W187jlaq9igH1uoO_r-BfrDs_kJKkFAc7zTW3B7qJ6LzuRZjZ2nSfKY2ANEQZrk1XiTFARKnLlkwR5W9Ww3VOVIFabDStjb08dGVcVz6mVX4aE6td5w5y0
76
categories: Architectural
87
tags:
98
- Java

Diff for: object-mother/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ layout: pattern
33
title: Object Mother
44
folder: object-mother
55
permalink: /patterns/object-mother/
6-
pumlid:
6+
pumlid: LOr13iCW30JlVKNx0E3UKxxYW9KGWK7sklb-wR6dtLbfj9k15DxRurKbDo_isfudCEsTaj8TZuhJTpVMF0GiY7dqL9lVjDHqqOT2OQk7X4a0grZgPAkaiL-S4Vh0kOYH_vVeskFyVMyiPUKN
77
categories: Creational
88
tags:
99
- Java
@@ -28,4 +28,4 @@ Use the Object Mother pattern when
2828

2929
* [c2wiki - Object Mother](http://c2.com/cgi/wiki?ObjectMother)
3030

31-
* [Nat Pryce - Test Data Builders: an alternative to the Object Mother pattern](http://www.natpryce.com/articles/000714.html)
31+
* [Nat Pryce - Test Data Builders: an alternative to the Object Mother pattern](http://www.natpryce.com/articles/000714.html)

Diff for: observer/etc/observer.urm.puml

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@startuml
2+
left to right direction
23
package com.iluwatar.observer {
34
class App {
45
- LOGGER : Logger {static}
@@ -71,10 +72,10 @@ package com.iluwatar.observer.generic {
7172
Weather --> "-currentWeather" WeatherType
7273
GWeather --> "-currentWeather" WeatherType
7374
Weather --> "-observers" WeatherObserver
74-
Hobbits ..|> WeatherObserver
75-
Orcs ..|> WeatherObserver
76-
GHobbits ..|> Race
77-
GOrcs ..|> Race
78-
GWeather --|> Observable
79-
Race --|> Observer
80-
@enduml
75+
Hobbits ..|> WeatherObserver
76+
Orcs ..|> WeatherObserver
77+
GHobbits ..|> Race
78+
GOrcs ..|> Race
79+
GWeather --|> Observable
80+
Race --|> Observer
81+
@enduml

Diff for: page-object/README.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ layout: pattern
33
title: Page Object
44
folder: page-object
55
permalink: /patterns/page-object/
6-
pumlid: JSV14OGW30NGLjO28FVj9iOCua1Wme-sxnxtzjvMJLeS6ju-9p3NbyZvoQNYZ3sMkWo36hACJhN5ms2dYszEXwvQB4q6r6rHv_K3JIwQndwfW1Jo_npUyupUNW00
76
categories: Testing
87
tags:
98
- Java
@@ -12,7 +11,7 @@ tags:
1211

1312
## Intent
1413

15-
Page Object encapsulates the UI, hiding the underlying UI widgetry of an application (commonly a web application) and providing an application-specific API to allow the manipulation of UI components required for tests. In doing so, it allows the test class itself to focus on the test logic instead.
14+
Page Object encapsulates the UI, hiding the underlying UI widgetry of an application (commonly a web application) and providing an application-specific API to allow the manipulation of UI components required for tests. In doing so, it allows the test class itself to focus on the test logic instead.
1615

1716

1817
![alt text](./etc/page-object.png "Page Object")
@@ -22,11 +21,10 @@ Page Object encapsulates the UI, hiding the underlying UI widgetry of an applica
2221

2322
Use the Page Object pattern when
2423

25-
* You are writing automated tests for your web application and you want to separate the UI manipulation required for the tests from the actual test logic.
24+
* You are writing automated tests for your web application and you want to separate the UI manipulation required for the tests from the actual test logic.
2625
* Make your tests less brittle, and more readable and robust
2726

2827
## Credits
2928

3029
* [Martin Fowler - PageObject](http://martinfowler.com/bliki/PageObject.html)
3130
* [Selenium - Page Objects](https://github.com/SeleniumHQ/selenium/wiki/PageObjects)
32-

Diff for: promise/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: pattern
33
title: Promise
44
folder: promise
55
permalink: /patterns/promise/
6+
pumlid: DOqv4i8m301xNW4FYDLJvIl2rYHYBDcZWtmVKr3jDZkxUw15IhyzM6lFHcdzVaPCVm8ONkNWEFELJbQ71ccKEWIuvuKhXJT-S6laVEWsCO9C7GHz2KmRmav0KVzUqgJCtsydROjV
67
categories: Concurrency
78
tags:
89
- Java

Diff for: promise/etc/promise.urm.puml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@startuml
2+
left to right direction
23
package com.iluwatar.promise {
34
class App {
45
- DEFAULT_URL : String {static}
@@ -70,9 +71,9 @@ package com.iluwatar.promise {
7071
+ lowestFrequencyChar(charFrequency : Map<Character, Integer>) : Character {static}
7172
}
7273
}
73-
TransformAction --> "-src" Promise
7474
TransformAction --+ Promise
75+
TransformAction --> "-src" Promise
7576
ConsumeAction --+ Promise
7677
ConsumeAction --> "-src" Promise
7778
Promise --|> PromiseSupport
78-
@enduml
79+
@enduml

Diff for: publish-subscribe/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ layout: pattern
33
title: Publish Subscribe
44
folder: publish-subscribe
55
permalink: /patterns/publish-subscribe/
6-
pumlid: PSZB3SCm203GLTe1RExT1XCKKs5YyMdMR--zFRsd66aTNAwFcRdZ1U1uzrDorgXWfykIBJjT2qJhnaI7Dtwm7HnoMjkOoMu12-C7s3LKOhQe4UGo63ZfVtlvwhkMVW40
76
categories: Integration
8-
tags:
7+
tags:
98
- Java
109
- EIP
1110
- Apache Camel™

Diff for: queue-load-leveling/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ layout: pattern
33
title: Queue based load leveling
44
folder: queue-load-leveling
55
permalink: /patterns/queue-load-leveling/
6-
pumlid:
6+
pumlid: ROux3W8n30LxJW47IDnJxLLCOcM376VnP_VwX9xgZKOQwMtcg1w3RuykXQDIADztzyEU08fNRjttU8MHbYbEuhdC0PtZmfN26qzCbQmtIGUwauh1G5i0dw2Wn1DhOZg9kpGWB_zy3Xtv-FtOIEhQBm00
77
categories: Other
88
tags:
99
- Java
@@ -34,4 +34,4 @@ for both the task and the service.
3434

3535
## Credits
3636

37-
* [Microsoft Cloud Design Patterns: Queue-Based Load Leveling Pattern](https://msdn.microsoft.com/en-us/library/dn589783.aspx)
37+
* [Microsoft Cloud Design Patterns: Queue-Based Load Leveling Pattern](https://msdn.microsoft.com/en-us/library/dn589783.aspx)

Diff for: reactor/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ title: Reactor
44
folder: reactor
55
permalink: /patterns/reactor/
66
pumlid: DSR14OGm20NGLjO23FVj1f7Hx2Ga0nzjVxtuJc-f9YrtJM-V4vZn9NA-or5nvfQXBiEWXYAZKsrvCzZfnnUlkqOzR9qCg5jGvtX2hYmOJWfvNz9xcTdR7m00
7+
pumlformat: svg
78
categories: Concurrency
8-
tags:
9+
tags:
910
- Java
1011
- Difficulty-Expert
1112
- I/O

Diff for: reactor/etc/reactor.urm.puml

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@startuml
2+
left to right direction
23
package com.iluwatar.reactor.framework {
34
abstract class AbstractNioChannel {
45
- channel : SelectableChannel
@@ -147,9 +148,9 @@ App --> "-channels" AbstractNioChannel
147148
DatagramPacket ..+ NioDatagramChannel
148149
App --> "-dispatcher" Dispatcher
149150
ChangeKeyOpsCommand --+ NioReactor
150-
LoggingHandler ..|> ChannelHandler
151-
NioDatagramChannel --|> AbstractNioChannel
152-
NioServerSocketChannel --|> AbstractNioChannel
153-
SameThreadDispatcher ..|> Dispatcher
154-
ThreadPoolDispatcher ..|> Dispatcher
155-
@enduml
151+
LoggingHandler ..|> ChannelHandler
152+
NioDatagramChannel --|> AbstractNioChannel
153+
NioServerSocketChannel --|> AbstractNioChannel
154+
SameThreadDispatcher ..|> Dispatcher
155+
ThreadPoolDispatcher ..|> Dispatcher
156+
@enduml

Diff for: service-layer/etc/service-layer.urm.puml

+16-15
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@startuml
2+
left to right direction
23
package com.iluwatar.servicelayer.hibernate {
34
class HibernateUtil {
45
- LOGGER : Logger {static}
@@ -143,18 +144,18 @@ MagicServiceImpl --> "-spellbookDao" SpellbookDao
143144
MagicServiceImpl --> "-spellDao" SpellDao
144145
Spellbook --> "-spells" Spell
145146
Spellbook --> "-wizards" Wizard
146-
DaoBaseImpl ..|> Dao
147-
MagicServiceImpl ..|> MagicService
148-
Spell --|> BaseEntity
149-
SpellDao --|> Dao
150-
SpellDaoImpl ..|> SpellDao
151-
SpellDaoImpl --|> DaoBaseImpl
152-
Spellbook --|> BaseEntity
153-
SpellbookDao --|> Dao
154-
SpellbookDaoImpl ..|> SpellbookDao
155-
SpellbookDaoImpl --|> DaoBaseImpl
156-
Wizard --|> BaseEntity
157-
WizardDao --|> Dao
158-
WizardDaoImpl ..|> WizardDao
159-
WizardDaoImpl --|> DaoBaseImpl
160-
@enduml
147+
DaoBaseImpl ..|> Dao
148+
MagicServiceImpl ..|> MagicService
149+
Spell --|> BaseEntity
150+
SpellDao --|> Dao
151+
SpellDaoImpl ..|> SpellDao
152+
SpellDaoImpl --|> DaoBaseImpl
153+
Spellbook --|> BaseEntity
154+
SpellbookDao --|> Dao
155+
SpellbookDaoImpl ..|> SpellbookDao
156+
SpellbookDaoImpl --|> DaoBaseImpl
157+
Wizard --|> BaseEntity
158+
WizardDao --|> Dao
159+
WizardDaoImpl ..|> WizardDao
160+
WizardDaoImpl --|> DaoBaseImpl
161+
@enduml

0 commit comments

Comments
 (0)