Work on #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
This commit is contained in:
NooBxGockeL 2017-03-25 22:07:10 +01:00
parent 175e9f58c1
commit c2a7b902a9
19 changed files with 73 additions and 62 deletions

View File

@ -12,11 +12,12 @@ tags:
## Intent
The Event-based Asynchronous Pattern makes available the advantages of multithreaded applications while hiding many
of the complex issues inherent in multithreaded design. Using a class that supports this pattern can allow you to:-
(1) Perform time-consuming tasks, such as downloads and database operations, "in the background," without interrupting your application.
(2) Execute multiple operations simultaneously, receiving notifications when each completes.
(3) Wait for resources to become available without stopping ("hanging") your application.
(4) Communicate with pending asynchronous operations using the familiar events-and-delegates model.
of the complex issues inherent in multithreaded design. Using a class that supports this pattern can allow you to:
1. Perform time-consuming tasks, such as downloads and database operations, "in the background," without interrupting your application.
2. Execute multiple operations simultaneously, receiving notifications when each completes.
3. Wait for resources to become available without stopping ("hanging") your application.
4. Communicate with pending asynchronous operations using the familiar events-and-delegates model.
![alt text](./etc/event-asynchronous.png "Event-based Asynchronous")

View File

@ -3,6 +3,7 @@ layout: pattern
title: Guarded Suspension
folder: guarded-suspension
permalink: /patterns/guarded-suspension/
pumlid: ROux3W8n30LxJW47IDnJxLLCOcMD4YVoXxq-eQTwev56UeSvgiVejmTBwL4fjDzFzsLF0CKhD_OpNc6aPOgJU2vp0FUuSAVmnW-cIiPDqa9tKZ4OQ1kW1MgbcYniaHXF0VBoH-VGaTVlnK5Iztu1
categories: Concurrency
tags:
- Java

View File

@ -1,5 +1,9 @@
@startuml
package com.iluwatar.guarded.suspension {
class App {
+ App()
+ main(args : String[]) {static}
}
class GuardedQueue {
- LOGGER : Logger {static}
- sourceList : Queue<Integer>

View File

@ -4,6 +4,7 @@ title: Hexagonal Architecture
folder: hexagonal
permalink: /patterns/hexagonal/
pumlid: HSTB4W8X30N0g-W1XkozpPD90LO8L3wEnzUTk-xxq2fvSfhSUiJs1v7XAcr4psSwMrqQh57gcZGaBmICNdZZEDb7qsCZWasT9lm7wln1MmeXZlfVIPjbvvGl
pumlformat: svg
categories: Architectural
tags:
- Java

View File

@ -1,4 +1,5 @@
@startuml
left to right direction
package com.iluwatar.intercepting.filter {
abstract class AbstractFilter {
- next : Filter
@ -79,10 +80,10 @@ AbstractFilter --> "-next" Filter
DListener --+ Target
FilterChain --> "-chain" Filter
FilterManager --> "-filterChain" FilterChain
AbstractFilter ..|> Filter
AddressFilter --|> AbstractFilter
ContactFilter --|> AbstractFilter
DepositFilter --|> AbstractFilter
NameFilter --|> AbstractFilter
OrderFilter --|> AbstractFilter
@enduml
AbstractFilter ..|> Filter
AddressFilter --|> AbstractFilter
ContactFilter --|> AbstractFilter
DepositFilter --|> AbstractFilter
NameFilter --|> AbstractFilter
OrderFilter --|> AbstractFilter
@enduml

View File

@ -1,4 +1,5 @@
@startuml
left to right direction
package com.iluwatar.interpreter {
class App {
- LOGGER : Logger {static}
@ -44,8 +45,8 @@ package com.iluwatar.interpreter {
MultiplyExpression --> "-leftExpression" Expression
MinusExpression --> "-leftExpression" Expression
PlusExpression --> "-leftExpression" Expression
MinusExpression --|> Expression
MultiplyExpression --|> Expression
NumberExpression --|> Expression
PlusExpression --|> Expression
@enduml
MinusExpression --|> Expression
MultiplyExpression --|> Expression
NumberExpression --|> Expression
PlusExpression --|> Expression
@enduml

View File

@ -4,6 +4,7 @@ title: Layers
folder: layers
permalink: /patterns/layers/
pumlid: BSR13OCm30NGLSe0n7UsCS62L8w9x6yGszD3t-bDpQhc9kdwEO0H2v7pNVQ68zSCyNeQn53gsQbftWns-lB5yoRHTfi70-8Mr3b-8UL7F4XG_otflOpi-W80
pumlformat: svg
categories: Architectural
tags:
- Java

View File

@ -3,9 +3,8 @@ layout: pattern
title: Message Channel
folder: message-channel
permalink: /patterns/message-channel/
pumlid: NSZB3SCm203GLTe1RExTXX1akm9YyMdMRy-zFRtdCf8wkLmUCtF72y3nxcFbhAE2dIvBjknqAIof6nCTtlZ1TdAiOMrZ9hi5ACOFe1o1WnjDD6C1Jlg_NgvzbyeN
categories: Integration
tags:
tags:
- Java
- EIP
- Apache Camel™
@ -24,4 +23,4 @@ Use the Message Channel pattern when
## Real world examples
* [akka-camel](http://doc.akka.io/docs/akka/snapshot/scala/camel.html)
* [akka-camel](http://doc.akka.io/docs/akka/snapshot/scala/camel.html)

View File

@ -3,7 +3,6 @@ layout: pattern
title: Naked Objects
folder: naked-objects
permalink: /patterns/naked-objects/
pumlid: LSX15i8W30N0g-W187jlaq9igH1uoO_r-BfrDs_kJKkFAc7zTW3B7qJ6LzuRZjZ2nSfKY2ANEQZrk1XiTFARKnLlkwR5W9Ww3VOVIFabDStjb08dGVcVz6mVX4aE6td5w5y0
categories: Architectural
tags:
- Java

View File

@ -3,7 +3,7 @@ layout: pattern
title: Object Mother
folder: object-mother
permalink: /patterns/object-mother/
pumlid:
pumlid: LOr13iCW30JlVKNx0E3UKxxYW9KGWK7sklb-wR6dtLbfj9k15DxRurKbDo_isfudCEsTaj8TZuhJTpVMF0GiY7dqL9lVjDHqqOT2OQk7X4a0grZgPAkaiL-S4Vh0kOYH_vVeskFyVMyiPUKN
categories: Creational
tags:
- Java
@ -28,4 +28,4 @@ Use the Object Mother pattern when
* [c2wiki - Object Mother](http://c2.com/cgi/wiki?ObjectMother)
* [Nat Pryce - Test Data Builders: an alternative to the Object Mother pattern](http://www.natpryce.com/articles/000714.html)
* [Nat Pryce - Test Data Builders: an alternative to the Object Mother pattern](http://www.natpryce.com/articles/000714.html)

View File

@ -1,4 +1,5 @@
@startuml
left to right direction
package com.iluwatar.observer {
class App {
- LOGGER : Logger {static}
@ -71,10 +72,10 @@ package com.iluwatar.observer.generic {
Weather --> "-currentWeather" WeatherType
GWeather --> "-currentWeather" WeatherType
Weather --> "-observers" WeatherObserver
Hobbits ..|> WeatherObserver
Orcs ..|> WeatherObserver
GHobbits ..|> Race
GOrcs ..|> Race
GWeather --|> Observable
Race --|> Observer
@enduml
Hobbits ..|> WeatherObserver
Orcs ..|> WeatherObserver
GHobbits ..|> Race
GOrcs ..|> Race
GWeather --|> Observable
Race --|> Observer
@enduml

View File

@ -3,7 +3,6 @@ layout: pattern
title: Page Object
folder: page-object
permalink: /patterns/page-object/
pumlid: JSV14OGW30NGLjO28FVj9iOCua1Wme-sxnxtzjvMJLeS6ju-9p3NbyZvoQNYZ3sMkWo36hACJhN5ms2dYszEXwvQB4q6r6rHv_K3JIwQndwfW1Jo_npUyupUNW00
categories: Testing
tags:
- Java
@ -12,7 +11,7 @@ tags:
## Intent
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.
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.
![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
Use the Page Object pattern when
* 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.
* 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.
* Make your tests less brittle, and more readable and robust
## Credits
* [Martin Fowler - PageObject](http://martinfowler.com/bliki/PageObject.html)
* [Selenium - Page Objects](https://github.com/SeleniumHQ/selenium/wiki/PageObjects)

View File

@ -3,6 +3,7 @@ layout: pattern
title: Promise
folder: promise
permalink: /patterns/promise/
pumlid: DOqv4i8m301xNW4FYDLJvIl2rYHYBDcZWtmVKr3jDZkxUw15IhyzM6lFHcdzVaPCVm8ONkNWEFELJbQ71ccKEWIuvuKhXJT-S6laVEWsCO9C7GHz2KmRmav0KVzUqgJCtsydROjV
categories: Concurrency
tags:
- Java

View File

@ -1,4 +1,5 @@
@startuml
left to right direction
package com.iluwatar.promise {
class App {
- DEFAULT_URL : String {static}
@ -70,9 +71,9 @@ package com.iluwatar.promise {
+ lowestFrequencyChar(charFrequency : Map<Character, Integer>) : Character {static}
}
}
TransformAction --> "-src" Promise
TransformAction --+ Promise
TransformAction --> "-src" Promise
ConsumeAction --+ Promise
ConsumeAction --> "-src" Promise
Promise --|> PromiseSupport
@enduml
@enduml

View File

@ -3,9 +3,8 @@ layout: pattern
title: Publish Subscribe
folder: publish-subscribe
permalink: /patterns/publish-subscribe/
pumlid: PSZB3SCm203GLTe1RExT1XCKKs5YyMdMR--zFRsd66aTNAwFcRdZ1U1uzrDorgXWfykIBJjT2qJhnaI7Dtwm7HnoMjkOoMu12-C7s3LKOhQe4UGo63ZfVtlvwhkMVW40
categories: Integration
tags:
tags:
- Java
- EIP
- Apache Camel™

View File

@ -3,7 +3,7 @@ layout: pattern
title: Queue based load leveling
folder: queue-load-leveling
permalink: /patterns/queue-load-leveling/
pumlid:
pumlid: ROux3W8n30LxJW47IDnJxLLCOcM376VnP_VwX9xgZKOQwMtcg1w3RuykXQDIADztzyEU08fNRjttU8MHbYbEuhdC0PtZmfN26qzCbQmtIGUwauh1G5i0dw2Wn1DhOZg9kpGWB_zy3Xtv-FtOIEhQBm00
categories: Other
tags:
- Java
@ -34,4 +34,4 @@ for both the task and the service.
## Credits
* [Microsoft Cloud Design Patterns: Queue-Based Load Leveling Pattern](https://msdn.microsoft.com/en-us/library/dn589783.aspx)
* [Microsoft Cloud Design Patterns: Queue-Based Load Leveling Pattern](https://msdn.microsoft.com/en-us/library/dn589783.aspx)

View File

@ -4,8 +4,9 @@ title: Reactor
folder: reactor
permalink: /patterns/reactor/
pumlid: DSR14OGm20NGLjO23FVj1f7Hx2Ga0nzjVxtuJc-f9YrtJM-V4vZn9NA-or5nvfQXBiEWXYAZKsrvCzZfnnUlkqOzR9qCg5jGvtX2hYmOJWfvNz9xcTdR7m00
pumlformat: svg
categories: Concurrency
tags:
tags:
- Java
- Difficulty-Expert
- I/O

View File

@ -1,4 +1,5 @@
@startuml
left to right direction
package com.iluwatar.reactor.framework {
abstract class AbstractNioChannel {
- channel : SelectableChannel
@ -147,9 +148,9 @@ App --> "-channels" AbstractNioChannel
DatagramPacket ..+ NioDatagramChannel
App --> "-dispatcher" Dispatcher
ChangeKeyOpsCommand --+ NioReactor
LoggingHandler ..|> ChannelHandler
NioDatagramChannel --|> AbstractNioChannel
NioServerSocketChannel --|> AbstractNioChannel
SameThreadDispatcher ..|> Dispatcher
ThreadPoolDispatcher ..|> Dispatcher
@enduml
LoggingHandler ..|> ChannelHandler
NioDatagramChannel --|> AbstractNioChannel
NioServerSocketChannel --|> AbstractNioChannel
SameThreadDispatcher ..|> Dispatcher
ThreadPoolDispatcher ..|> Dispatcher
@enduml

View File

@ -1,4 +1,5 @@
@startuml
left to right direction
package com.iluwatar.servicelayer.hibernate {
class HibernateUtil {
- LOGGER : Logger {static}
@ -143,18 +144,18 @@ MagicServiceImpl --> "-spellbookDao" SpellbookDao
MagicServiceImpl --> "-spellDao" SpellDao
Spellbook --> "-spells" Spell
Spellbook --> "-wizards" Wizard
DaoBaseImpl ..|> Dao
MagicServiceImpl ..|> MagicService
Spell --|> BaseEntity
SpellDao --|> Dao
SpellDaoImpl ..|> SpellDao
SpellDaoImpl --|> DaoBaseImpl
Spellbook --|> BaseEntity
SpellbookDao --|> Dao
SpellbookDaoImpl ..|> SpellbookDao
SpellbookDaoImpl --|> DaoBaseImpl
Wizard --|> BaseEntity
WizardDao --|> Dao
WizardDaoImpl ..|> WizardDao
WizardDaoImpl --|> DaoBaseImpl
@enduml
DaoBaseImpl ..|> Dao
MagicServiceImpl ..|> MagicService
Spell --|> BaseEntity
SpellDao --|> Dao
SpellDaoImpl ..|> SpellDao
SpellDaoImpl --|> DaoBaseImpl
Spellbook --|> BaseEntity
SpellbookDao --|> Dao
SpellbookDaoImpl ..|> SpellbookDao
SpellbookDaoImpl --|> DaoBaseImpl
Wizard --|> BaseEntity
WizardDao --|> Dao
WizardDaoImpl ..|> WizardDao
WizardDaoImpl --|> DaoBaseImpl
@enduml