Merge branch 'umlSvg'

This commit is contained in:
JohnHake 2020-06-16 19:50:29 -07:00
commit ed5f7a340f
22 changed files with 351 additions and 18 deletions

15
buildUML/README.md Normal file
View File

@ -0,0 +1,15 @@
# Working with PlantUML
These are temporary instructions, pending a move of more [diagrams and utilities](https://github.com/JetBrains/intellij-community/tree/master/platform/docs) from the IntelliJ Platform codebase.
* If you are unfamiliar with PlantUML, review the [quick start](https://plantuml.com/starting) instructions.
* Install [Graphviz](https://plantuml.com/graphviz-dot) on your machine.
* Get and install the [PlantUML Integration plugin](https://plugins.jetbrains.com/plugin/7017-plantuml-integration) for IntelliJ IDEA:
* Set the `GRAPHVIZ_DOT` system or environment property to point to the directory containing the Graphviz executable on your machine.
For example, `export GRAPHVIZ_DOT="/usr/local/Cellar/graphviz/2.42.3/bin/dot"`
* In the PlantUML plugin Settings (**Preferences/Settings \| Other Settings \| PlantUML**) set:
* The "Additional 'plantuml.include.path'" to be the absolute path to the directory containing the `jb-plantuml-theme.puml` file on your machine.
For example, `/<path to sdk root>/buildUML` or, if you have the IntelliJ-Community source code, `/<path to intellij-community root>/platform/docs/`.
* The "PlantUML config" to `!include jb-plantuml-theme.puml`
When a *.puml file is open in the IDE editor, the PlantUML Integration plugin will show a preview.
To save a diagram in SVG format, change the file extension from the default PNG to SVG when saving the diagram from the preview window.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -1,5 +1,4 @@
@startuml
!include ../../buildUML/jb-plantuml-theme.puml
hide empty members
hide circle
top to bottom direction

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="217px" preserveAspectRatio="none" style="width:281px;height:217px;" version="1.1" viewBox="0 0 281 217" width="281px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ieo8q2h74ejp" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[62ac8497b13c043b65381b6f7663a459]
class MessageBus--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="MessageBus" style="stroke: #383838; stroke-width: 1.5;" width="89" x="93" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="96" y="26.5352">MessageBus</text><!--MD5=[5ec082c23ec24c6da48a0a09ba33c2f9]
class MessageBusConnection--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="MessageBusConnection" style="stroke: #383838; stroke-width: 1.5;" width="168" x="53.5" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="162" x="56.5" y="112.5352">MessageBusConnection</text><!--MD5=[8877a16d0f905795619db580f65f8005]
class DH--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="DH" style="stroke: #383838; stroke-width: 1.5;" width="113" x="6" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="9" y="198.5352">Default Handler</text><!--MD5=[6248ca3ba3593139a1835033a2c878c3]
class TH--><rect fill="#F8F8F8" filter="url(#f1ieo8q2h74ejp)" height="26.4883" id="TH" style="stroke: #383838; stroke-width: 1.5;" width="116" x="154.5" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="157.5" y="198.5352">(Topic-Handler)</text><!--MD5=[2f9b0f036ad36751351f32062502d1bf]
reverse link MessageBus to MessageBusConnection--><path d="M137.5,47.42 C137.5,62.87 137.5,81.89 137.5,93.99 " fill="none" id="MessageBus&lt;-MessageBusConnection" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="137.5,34.04,133.5,40.04,137.5,46.04,141.5,40.04,137.5,34.04" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="9" x="126.6438" y="56.2542">1</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="129.0563" y="82.8585">*</text><!--MD5=[694b0ba889badc6ddf35d27abf73e2bf]
reverse link MessageBusConnection to DH--><path d="M117.74,130.13 C103.49,146.09 84.8,167.02 73.23,179.99 " fill="none" id="MessageBusConnection&lt;-DH" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="126.75,120.04,119.7705,121.853,118.7596,128.9929,125.7391,127.1799,126.75,120.04" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="26" x="46.2936" y="168.8585">0..1</text><!--MD5=[a5132fa3e16fbe2ae7d5791cc22442e3]
reverse link MessageBusConnection to TH--><path d="M157.26,130.13 C171.51,146.09 190.2,167.02 201.77,179.99 " fill="none" id="MessageBusConnection&lt;-TH" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="148.25,120.04,149.2609,127.1799,156.2404,128.9929,155.2295,121.853,148.25,120.04" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="188.9001" y="168.8585">*</text><!--MD5=[b58aa49172ce2323d0ee656e8e74ed8a]
@startuml
skinparam monochrome true
skinparam shadowing true
skinparam DefaultFontName Roboto
skinparam DefaultMonospacedFontName "Roboto Mono"
skinparam DefaultFontSize 14
skinparam DefaultTextAlignment center
skinparam NoteTextAlignment left
skinparam ActivityBorderThickness 1
skinparam PartitionBorderThickness 1.5
hide empty members
hide circle
top to bottom direction
class MessageBus
class MessageBusConnection
class "Default Handler" as DH
class "(Topic-Handler)" as TH
MessageBus "1" o- - "*" MessageBusConnection
MessageBusConnection o- - "0..1" DH
MessageBusConnection *- - "*" TH
@enduml
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.6+8-b765.40
Operating System: Mac OS X
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

View File

@ -1,10 +1,8 @@
@startuml
!include ../../buildUML/jb-plantuml-theme.puml
hide empty members
hide circle
top to bottom direction
' Define the objects in the diagram
class "bus" as B

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="217px" preserveAspectRatio="none" style="width:272px;height:217px;" version="1.1" viewBox="0 0 272 217" width="272px" zoomAndPan="magnify"><defs><filter height="300%" id="flxjwaxnzvwzg" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[69c451c751c414e37549b782190fef46]
class B--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="B" style="stroke: #383838; stroke-width: 1.5;" width="31" x="117.5" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="25" x="120.5" y="26.5352">bus</text><!--MD5=[926f502e143d9ea62a9e3ce25d7b4f6f]
class C1--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="C1" style="stroke: #383838; stroke-width: 1.5;" width="91" x="20.5" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="23.5" y="112.5352">connection1</text><!--MD5=[7a6ae922897b32380e18008d17b1b0ef]
class C2--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="C2" style="stroke: #383838; stroke-width: 1.5;" width="91" x="155.5" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="158.5" y="112.5352">connection2</text><!--MD5=[ff7477c05a4730a20b075d2da276f30b]
class TH1--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="TH1" style="stroke: #383838; stroke-width: 1.5;" width="110" x="6" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="9" y="198.5352">topic-handler1</text><!--MD5=[4c45aca55c8e2764fd8117a16b309977]
class TH2--><rect fill="#F8F8F8" filter="url(#flxjwaxnzvwzg)" height="26.4883" id="TH2" style="stroke: #383838; stroke-width: 1.5;" width="110" x="151" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="154" y="198.5352">topic-handler2</text><!--MD5=[5abb68ef7a7f90cc1b51845dea6e069f]
reverse link B to C1--><path d="M114.98,44.59 C102.3,60.49 85.82,81.15 75.58,93.99 " fill="none" id="B&lt;-C1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="123.4,34.04,116.5299,36.2311,115.9101,43.4156,122.7802,41.2244,123.4,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[0ee95caecf4a1a8ef3cc171bfc43413c]
reverse link B to C2--><path d="M151.29,44.59 C164.16,60.49 180.88,81.15 191.28,93.99 " fill="none" id="B&lt;-C2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="142.74,34.04,143.4042,41.2205,150.2877,43.3691,149.6236,36.1886,142.74,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[5d46ac34b92e80d9aff51a38fec452c6]
reverse link C1 to TH1--><path d="M64.49,133.42 C63.57,148.87 62.43,167.89 61.72,179.99 " fill="none" id="C1&lt;-TH1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="65.28,120.04,60.9309,125.792,64.5676,132.0188,68.9167,126.2669,65.28,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[451bd3fd46f9c7411704c3f16b961f36]
reverse link C2 to TH2--><path d="M202.51,133.42 C203.43,148.87 204.57,167.89 205.28,179.99 " fill="none" id="C2&lt;-TH2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="201.72,120.04,198.0833,126.2669,202.4324,132.0188,206.0691,125.792,201.72,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[02e4f7af3af7a3cc615eb74f50574e98]
@startuml
skinparam monochrome true
skinparam shadowing true
skinparam DefaultFontName Roboto
skinparam DefaultMonospacedFontName "Roboto Mono"
skinparam DefaultFontSize 14
skinparam DefaultTextAlignment center
skinparam NoteTextAlignment left
skinparam ActivityBorderThickness 1
skinparam PartitionBorderThickness 1.5
hide empty members
hide circle
top to bottom direction
class "bus" as B
class "connection1" as C1
class "connection2" as C2
class "topic-handler1" as TH1
class "topic-handler2" as TH2
B *- - C1
B *- - C2
C1 *- - TH1
C2 *- - TH2
@enduml
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.6+8-b765.40
Operating System: Mac OS X
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,10 +1,8 @@
@startuml
!include ../../buildUML/jb-plantuml-theme.puml
hide empty members
hide circle
top to bottom direction
' Define the objects in the diagram
class "application bus" as AB
class "project bus" as PB
@ -27,5 +25,4 @@ C1 *-- T1H1
C2 *-- T1H2
C3 *-- T1H3
@enduml

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="303px" preserveAspectRatio="none" style="width:423px;height:303px;" version="1.1" viewBox="0 0 423 303" width="423px" zoomAndPan="magnify"><defs><filter height="300%" id="f115d3lj2jz7rn" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[cd07344a80c53f6735430047176be71f]
class AB--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="AB" style="stroke: #383838; stroke-width: 1.5;" width="111" x="222" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="105" x="225" y="26.5352">application bus</text><!--MD5=[562978db86ac36b29d57db113b203393]
class PB--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="PB" style="stroke: #383838; stroke-width: 1.5;" width="83" x="171" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="77" x="174" y="112.5352">project bus</text><!--MD5=[926f502e143d9ea62a9e3ce25d7b4f6f]
class C1--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="C1" style="stroke: #383838; stroke-width: 1.5;" width="91" x="298" y="94"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="301" y="112.5352">connection1</text><!--MD5=[7a6ae922897b32380e18008d17b1b0ef]
class C2--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="C2" style="stroke: #383838; stroke-width: 1.5;" width="91" x="34" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="37" y="198.5352">connection2</text><!--MD5=[bea21b96b087d2a6cd694f21a9e60e60]
class C3--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="C3" style="stroke: #383838; stroke-width: 1.5;" width="91" x="167" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="170" y="198.5352">connection3</text><!--MD5=[3119829b56730b205615da85fbee2fd5]
class T1H1--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="T1H1" style="stroke: #383838; stroke-width: 1.5;" width="119" x="293" y="180"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="296" y="198.5352">topic1-handler1</text><!--MD5=[cbe9cf75be102b01d481a458d073720d]
class T1H2--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="T1H2" style="stroke: #383838; stroke-width: 1.5;" width="119" x="6" y="266"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="9" y="284.5352">topic1-handler2</text><!--MD5=[6d68aa1aef529b2011d6536b7dc28f2e]
class T1H3--><rect fill="#F8F8F8" filter="url(#f115d3lj2jz7rn)" height="26.4883" id="T1H3" style="stroke: #383838; stroke-width: 1.5;" width="119" x="160" y="266"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="163" y="284.5352">topic1-handler3</text><!--MD5=[b34b903977778f6e15b67d5d61f7d5e9]
reverse link AB to PB--><path d="M260.02,44.59 C247.72,60.49 231.73,81.15 221.8,93.99 " fill="none" id="AB&lt;-PB" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="268.19,34.04,261.3549,36.3381,260.8474,43.5314,267.6825,41.2332,268.19,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[adeab773214358b4ec5fc8a9ab419ebc]
reverse link AB to C1--><path d="M295.25,44.59 C307.74,60.49 323.97,81.15 334.06,93.99 " fill="none" id="AB&lt;-C1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="286.96,34.04,287.5181,41.2295,294.3692,43.4795,293.8111,36.29,286.96,34.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[02ae765cdd6f37931dacef091dd941fa]
reverse link PB to C2--><path d="M182.45,126.98 C156.71,143.24 120.43,166.15 98.52,179.99 " fill="none" id="PB&lt;-C2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="193.44,120.04,186.231,119.8641,183.296,126.4509,190.505,126.6268,193.44,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[ef9f97f6182d99c2a922b717bc2d5146]
reverse link PB to C3--><path d="M212.5,133.42 C212.5,148.87 212.5,167.89 212.5,179.99 " fill="none" id="PB&lt;-C3" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="212.5,120.04,208.5,126.04,212.5,132.04,216.5,126.04,212.5,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[450b28281f7b85415e09b5c7f2cd02c5]
reverse link C1 to T1H1--><path d="M346.22,133.42 C347.88,148.87 349.92,167.89 351.21,179.99 " fill="none" id="C1&lt;-T1H1" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="344.79,120.04,341.4522,126.4321,346.0689,131.9717,349.4067,125.5795,344.79,120.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[ee8db070aa383ed8f24504308525533d]
reverse link C2 to T1H2--><path d="M75.34,218.94 C72.75,234.48 69.54,253.77 67.5,265.99 " fill="none" id="C2&lt;-T1H2" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="77.49,206.04,72.5552,211.2981,75.5108,217.8757,80.4456,212.6176,77.49,206.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[7e297d0e187f42122b737afea7d4ddd4]
reverse link C3 to T1H3--><path d="M214.62,219.42 C215.91,234.87 217.49,253.89 218.5,265.99 " fill="none" id="C3&lt;-T1H3" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="213.5,206.04,210.015,212.353,214.502,217.9981,217.987,211.685,213.5,206.04" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[891360ff0616a82d54b0a01a14f4fe6a]
@startuml
skinparam monochrome true
skinparam shadowing true
skinparam DefaultFontName Roboto
skinparam DefaultMonospacedFontName "Roboto Mono"
skinparam DefaultFontSize 14
skinparam DefaultTextAlignment center
skinparam NoteTextAlignment left
skinparam ActivityBorderThickness 1
skinparam PartitionBorderThickness 1.5
hide empty members
hide circle
top to bottom direction
class "application bus" as AB
class "project bus" as PB
class "connection1" as C1
class "connection2" as C2
class "connection3" as C3
class "topic1-handler1" as T1H1
class "topic1-handler2" as T1H2
class "topic1-handler3" as T1H3
AB o- - PB
AB *- - C1
PB *- - C2
PB *- - C3
C1 *- - T1H1
C2 *- - T1H2
C3 *- - T1H3
@enduml
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.6+8-b765.40
Operating System: Mac OS X
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,5 +1,4 @@
@startuml
!include ../../buildUML/jb-plantuml-theme.puml
left to right direction
' Define the activity

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="121px" preserveAspectRatio="none" style="width:712px;height:121px;" version="1.1" viewBox="0 0 712 121" width="712px" zoomAndPan="magnify"><defs><filter height="300%" id="f1qiawlhfa818j" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="16" cy="59" fill="#000000" filter="url(#f1qiawlhfa818j)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="52.9766" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="114" x="66" y="32.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="79.5" y="56.0352">Get message</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="76" y="72.5234">bus reference</text><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="69.4648" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="133" x="220" y="24.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="80" x="246.5" y="48.0352">Ask the bus</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="235.5" y="64.5234">for a particular</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="230" y="81.0117">topic's publisher</text><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="69.4648" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="95" x="393" y="24.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="71" x="405" y="48.0352">Call target</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="403" y="64.5234">method on</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="65" x="408" y="81.0117">publisher</text><rect fill="#F8F8F8" filter="url(#f1qiawlhfa818j)" height="102.4414" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="113" x="528" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="73" x="548" y="31.5352">Messaging</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="56" x="556.5" y="48.0234">calls the</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="538" y="64.5117">same method</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="63" x="553" y="81">on target</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="60" x="554.5" y="97.4883">handlers</text><ellipse cx="691" cy="59" fill="none" filter="url(#f1qiawlhfa818j)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="691.5" cy="59.5" fill="#000000" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><!--MD5=[db7bc576abd41ebbc81687471622818c]
link start to Get message\nbus reference--><path d="M26.32,59 C34.54,59 47.3,59 60.86,59 " fill="none" id="start-&gt;Get message\nbus reference" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="65.88,59,56.88,55,60.88,59,56.88,63,65.88,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[97ec6985a6323c4c4cd3376c8b0065a9]
link Get message\nbus reference to Ask the bus\nfor a particular\ntopic's publisher--><path d="M180.03,59 C191.17,59 203.01,59 214.57,59 " fill="none" id="Get message\nbus reference-&gt;Ask the bus\nfor a particular\ntopic's publisher" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="219.86,59,210.86,55,214.86,59,210.86,63,219.86,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[3cc530e465bc010462a36a11e15e380c]
link Ask the bus\nfor a particular\ntopic's publisher to Call target\nmethod on\npublisher--><path d="M353.29,59 C364.84,59 376.71,59 387.8,59 " fill="none" id="Ask the bus\nfor a particular\ntopic's publisher-&gt;Call target\nmethod on\npublisher" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="392.84,59,383.84,55,387.84,59,383.84,63,392.84,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[540c37973707ace5e2cda49c4a5db4fe]
link Call target\nmethod on\npublisher to Messaging\ncalls the\nsame method\non target\nhandlers--><path d="M488.39,59 C499.32,59 511.11,59 522.55,59 " fill="none" id="Call target\nmethod on\npublisher-&gt;Messaging\ncalls the\nsame method\non target\nhandlers" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="527.78,59,518.78,55,522.78,59,518.78,63,527.78,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[ddd16144f23f8b64b933762bd4135676]
link Messaging\ncalls the\nsame method\non target\nhandlers to end--><path d="M641.12,59 C653.87,59 666.36,59 675.52,59 " fill="none" id="Messaging\ncalls the\nsame method\non target\nhandlers-&gt;end" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="680.77,59,671.7815,54.9743,675.77,58.9857,671.7586,62.9743,680.77,59" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[1b1780b41fbe3be593bebb2036e3d7ef]
@startuml
skinparam monochrome true
skinparam shadowing true
skinparam DefaultFontName Roboto
skinparam DefaultMonospacedFontName "Roboto Mono"
skinparam DefaultFontSize 14
skinparam DefaultTextAlignment center
skinparam NoteTextAlignment left
skinparam ActivityBorderThickness 1
skinparam PartitionBorderThickness 1.5
left to right direction
(*) - -> "Get message\nbus reference"
- -> "Ask the bus\nfor a particular\ntopic's publisher"
- -> "Call target\nmethod on\npublisher"
- -> "Messaging\ncalls the\nsame method\non target\nhandlers"
- -> (*)
@enduml
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.6+8-b765.40
Operating System: Mac OS X
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,5 +1,4 @@
@startuml
!include ../../buildUML/jb-plantuml-theme.puml
hide empty members
hide circle
left to right direction

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="49px" preserveAspectRatio="none" style="width:418px;height:49px;" version="1.1" viewBox="0 0 418 49" width="418px" zoomAndPan="magnify"><defs><filter height="300%" id="f332uld9n4kk6" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[cd07344a80c53f6735430047176be71f]
class AB--><rect fill="#F8F8F8" filter="url(#f332uld9n4kk6)" height="26.4883" id="AB" style="stroke: #383838; stroke-width: 1.5;" width="111" x="6" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="105" x="9" y="26.5352">application bus</text><!--MD5=[562978db86ac36b29d57db113b203393]
class PB--><rect fill="#F8F8F8" filter="url(#f332uld9n4kk6)" height="26.4883" id="PB" style="stroke: #383838; stroke-width: 1.5;" width="83" x="177" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="77" x="180" y="26.5352">project bus</text><!--MD5=[2916ee572578080aeed684cfcd51fe32]
class MB--><rect fill="#F8F8F8" filter="url(#f332uld9n4kk6)" height="26.4883" id="MB" style="stroke: #383838; stroke-width: 1.5;" width="87" x="320" y="8"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="323" y="26.5352">module bus</text><!--MD5=[b34b903977778f6e15b67d5d61f7d5e9]
reverse link AB to PB--><path d="M130.32,21 C146.24,21 162.7,21 176.98,21 " fill="none" id="AB&lt;-PB" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="117.15,21,123.15,25,129.15,21,123.15,17,117.15,21" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="161.9608" y="35.9602">*</text><!--MD5=[d4275642ac8e9423a6422f9e799928f6]
reverse link PB to MB--><path d="M273.24,21 C288.62,21 305.18,21 319.81,21 " fill="none" id="PB&lt;-MB" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="260.1,21,266.1,25,272.1,21,266.1,17,260.1,21" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="7" x="304.9942" y="35.8602">*</text><!--MD5=[8417eed2b647e8dd5b66ac41dafce44e]
@startuml
skinparam monochrome true
skinparam shadowing true
skinparam DefaultFontName Roboto
skinparam DefaultMonospacedFontName "Roboto Mono"
skinparam DefaultFontSize 14
skinparam DefaultTextAlignment center
skinparam NoteTextAlignment left
skinparam ActivityBorderThickness 1
skinparam PartitionBorderThickness 1.5
hide empty members
hide circle
left to right direction
class "application bus" as AB
class "project bus" as PB
class "module bus" as MB
AB o- - "*" PB
PB o- - "*" MB
@enduml
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.6+8-b765.40
Operating System: Mac OS X
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,5 +1,4 @@
@startuml
!include ../../buildUML/jb-plantuml-theme.puml
left to right direction
' Define the activity
@ -11,5 +10,4 @@ else
--> [have connection] "Subscribe"
endif
--> (*)
@enduml

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="109px" preserveAspectRatio="none" style="width:897px;height:109px;" version="1.1" viewBox="0 0 897 109" width="897px" zoomAndPan="magnify"><defs><filter height="300%" id="fdln4uiboadgg" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="16" cy="75" fill="#000000" filter="url(#fdln4uiboadgg)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#F8F8F8" filter="url(#fdln4uiboadgg)" points="79,63,91,75,79,87,67,75,79,63" style="stroke: #383838; stroke-width: 1.5;"/><rect fill="#F8F8F8" filter="url(#fdln4uiboadgg)" height="52.9766" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="114" x="284" y="8.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="297.5" y="32.0352">Get message</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="294" y="48.5234">bus reference</text><rect fill="#F8F8F8" filter="url(#fdln4uiboadgg)" height="52.9766" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="145" x="552" y="8.5"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="125" x="562" y="32.0352">Create connection</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="69" x="590" y="48.5234">to the bus</text><rect fill="#F8F8F8" filter="url(#fdln4uiboadgg)" height="36.4883" rx="12.5" ry="12.5" style="stroke: #383838; stroke-width: 1.5;" width="87" x="738" y="62"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="748" y="85.5352">Subscribe</text><ellipse cx="876" cy="80" fill="none" filter="url(#fdln4uiboadgg)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="876.5" cy="80.5" fill="#000000" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><!--MD5=[15135c0701b46fe61dd2d2e8eac44cb3]
link start to #118--><path d="M26,75 C35.34,75 50.16,75 61.59,75 " fill="none" id="start-&gt;#118" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="66.89,75,57.89,71,61.89,75,57.89,79,66.89,75" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="0" x="58.9531" y="93.1725"/><!--MD5=[e601120d78014dd199bf06f550140f6f]
link #118 to Get message\nbus reference--><path d="M89.56,73.53 C119.73,68.89 214.66,54.28 278.58,44.45 " fill="none" id="#118-&gt;Get message\nbus reference" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="283.9,43.63,274.3981,41.0388,278.9576,44.3871,275.6094,48.9466,283.9,43.63" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="112" y="43.5352">don't have connection</text><!--MD5=[e6e995dc7ca7c46e7a5add9ba0a5c4d7]
link Get message\nbus reference to Create connection\nto the bus--><path d="M398.29,35 C440.86,35 499.79,35 546.69,35 " fill="none" id="Get message\nbus reference-&gt;Create connection\nto the bus" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="551.77,35,542.77,31,546.77,35,542.77,39,551.77,35" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[10d386b9872602d0e8aed9cde3a7a12f]
link Create connection\nto the bus to Subscribe--><path d="M697.1,55.79 C709.32,59.33 721.73,62.94 733.11,66.24 " fill="none" id="Create connection\nto the bus-&gt;Subscribe" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="737.93,67.64,730.3926,61.3007,733.1262,66.2532,728.1737,68.9868,737.93,67.64" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[3902186ca2a054370c6e1ae1830913a3]
link #118 to Subscribe--><path d="M91,75.08 C164.73,75.6 588.33,78.63 732.48,79.66 " fill="none" id="#118-&gt;Subscribe" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="737.9,79.7,728.9346,75.623,732.9002,79.6571,728.866,83.6227,737.9,79.7" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="419" y="73.5352">have connection</text><!--MD5=[66353aef4f4573c09dd245c4b2d80a44]
link Subscribe to end--><path d="M825.23,80 C837.89,80 850.91,80 860.45,80 " fill="none" id="Subscribe-&gt;end" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="865.64,80,856.64,76,860.64,80,856.64,84,865.64,80" style="stroke: #383838; stroke-width: 1.0;"/><!--MD5=[7fad79b176e06d19fc86b2d1ba2ebbd0]
@startuml
skinparam monochrome true
skinparam shadowing true
skinparam DefaultFontName Roboto
skinparam DefaultMonospacedFontName "Roboto Mono"
skinparam DefaultFontSize 14
skinparam DefaultTextAlignment center
skinparam NoteTextAlignment left
skinparam ActivityBorderThickness 1
skinparam PartitionBorderThickness 1.5
left to right direction
(*) - -> if "" then
- -> [don't have connection] "Get message\nbus reference"
- -> "Create connection\nto the bus"
- -> "Subscribe"
else
- -> [have connection] "Subscribe"
endif
- -> (*)
@enduml
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.6+8-b765.40
Operating System: Mac OS X
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -1,5 +1,4 @@
@startuml
!include ../../buildUML/jb-plantuml-theme.puml
skinparam classAttributeIconSize 0
hide empty fields
hide empty methods

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="106px" preserveAspectRatio="none" style="width:441px;height:106px;" version="1.1" viewBox="0 0 441 106" width="441px" zoomAndPan="magnify"><defs><filter height="300%" id="f1a5f7qxp0anyk" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[1d7f89d46fe5890de77e49145f8259d3]
class Topic--><rect fill="#F8F8F8" filter="url(#f1a5f7qxp0anyk)" height="70.9766" id="Topic" style="stroke: #383838; stroke-width: 1.5;" width="244" x="6" y="16"/><ellipse cx="20" cy="31" fill="#C2C2C2" rx="10" ry="10" style="stroke: #383838; stroke-width: 1.0;"/><path d="M22.3896,35.7061 Q21.9111,35.9521 21.3848,36.0752 Q20.8584,36.1982 20.2773,36.1982 Q18.2129,36.1982 17.126,34.8379 Q16.0391,33.4775 16.0391,30.9072 Q16.0391,28.3301 17.126,26.9697 Q18.2129,25.6094 20.2773,25.6094 Q20.8584,25.6094 21.3916,25.7324 Q21.9248,25.8555 22.3896,26.1016 L22.3896,28.3438 Q21.8701,27.8652 21.3813,27.6431 Q20.8926,27.4209 20.373,27.4209 Q19.2656,27.4209 18.7017,28.2993 Q18.1377,29.1777 18.1377,30.9072 Q18.1377,32.6299 18.7017,33.5083 Q19.2656,34.3867 20.373,34.3867 Q20.8926,34.3867 21.3813,34.1646 Q21.8701,33.9424 22.3896,33.4639 Z "/><a href="https://github.com/JetBrains/intellij-community/blob/master/platform/extensions/src/com/intellij/util/messages/Topic.java" target="_top" title="com.intellij.util.messages.Topic" xlink:actuate="onRequest" xlink:href="https://github.com/JetBrains/intellij-community/blob/master/platform/extensions/src/com/intellij/util/messages/Topic.java" xlink:show="new" xlink:title="com.intellij.util.messages.Topic" xlink:type="simple"><text fill="#1C1C1C" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="214" x="33" y="36.291">com.intellij.util.messages.Topic</text></a><line style="stroke: #383838; stroke-width: 1.5;" x1="7" x2="249" y1="46" y2="46"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="12" y="63.5352">+displayName()</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="12" y="80.0234">+broadcastDirection()</text><!--MD5=[8eaccf46e44cd9185ecd868a6bcfa3ae]
class ListenerClass--><rect fill="#F8F8F8" filter="url(#f1a5f7qxp0anyk)" height="87.4648" id="ListenerClass" style="stroke: #383838; stroke-width: 1.5;" width="120" x="310" y="8"/><ellipse cx="324" cy="23" fill="#C2C2C2" rx="10" ry="10" style="stroke: #383838; stroke-width: 1.0;"/><path d="M326.3896,27.7061 Q325.9111,27.9521 325.3848,28.0752 Q324.8584,28.1982 324.2773,28.1982 Q322.2129,28.1982 321.126,26.8379 Q320.0391,25.4775 320.0391,22.9072 Q320.0391,20.3301 321.126,18.9697 Q322.2129,17.6094 324.2773,17.6094 Q324.8584,17.6094 325.3916,17.7324 Q325.9248,17.8555 326.3896,18.1016 L326.3896,20.3438 Q325.8701,19.8652 325.3813,19.6431 Q324.8926,19.4209 324.373,19.4209 Q323.2656,19.4209 322.7017,20.2993 Q322.1377,21.1777 322.1377,22.9072 Q322.1377,24.6299 322.7017,25.5083 Q323.2656,26.3867 324.373,26.3867 Q324.8926,26.3867 325.3813,26.1646 Q325.8701,25.9424 326.3896,25.4639 Z "/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="90" x="337" y="28.291">ListenerClass</text><line style="stroke: #383838; stroke-width: 1.5;" x1="311" x2="429" y1="38" y2="38"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="316" y="55.5352">+method1()</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="12" x="316" y="72.0234">...</text><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="316" y="88.5117">+methodN()</text><!--MD5=[ac22afb7b8a06c286e18092d44f495e3]
link Topic to ListenerClass--><path d="M262.05,51.5 C262.05,51.5 286.04,51.5 296.75,51.5 " fill="none" id="Topic-ListenerClass" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="309.97,51.5,300.97,47.5,304.97,51.5,300.97,55.5,309.97,51.5" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="304.97" x2="296.97" y1="51.5" y2="51.5"/><polygon fill="#FFFFFF" points="250.05,51.5,256.05,55.5,262.05,51.5,256.05,47.5,250.05,51.5" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="Roboto" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="9" x="288.8617" y="66.0116">1</text><!--MD5=[9eb62a90896ab149e6c4251c7f353082]
@startuml
skinparam monochrome true
skinparam shadowing true
skinparam DefaultFontName Roboto
skinparam DefaultMonospacedFontName "Roboto Mono"
skinparam DefaultFontSize 14
skinparam DefaultTextAlignment center
skinparam NoteTextAlignment left
skinparam ActivityBorderThickness 1
skinparam PartitionBorderThickness 1.5
skinparam classAttributeIconSize 0
hide empty fields
hide empty methods
left to right direction
class "[[https://github.com/JetBrains/intellij-community/blob/master/platform/extensions/src/com/intellij/util/messages/Topic.java{com.intellij.util.messages.Topic} com.intellij.util.messages.Topic]]" as Topic {
+displayName()
+broadcastDirection()
}
class ListenerClass {
+method1()
{method} ...
+methodN()
}
Topic o- -> "1 " ListenerClass
@enduml
PlantUML version 1.2020.09(Sun May 10 03:51:06 PDT 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.6+8-b765.40
Operating System: Mac OS X
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -21,7 +21,7 @@ Here are the main components of the messaging API.
This class serves as an endpoint at the messaging infrastructure. I.e. clients are allowed to subscribe to the topic within particular bus and to send messages to particular topic within particular bus.
![Topic](img/topic.png)
![Topic](img/topic.svg)
* *display name* just a human-readable name used for logging/monitoring purposes;
* *broadcast direction* will be explained in details at Broadcasting. Default value is *TO\_CHILDREN*;
@ -38,7 +38,7 @@ Is the core of the messaging system. Is used at the following scenarios:
Manages all subscriptions for particular client within particular bus.
![Connection](img/connection.png)
![Connection](img/connection.svg)
* keeps number of *topic handler* mappings (callbacks to invoke when message for the target topic is received)
*Note*: not more than one handler per-topic within the same connection is allowed;
@ -68,7 +68,7 @@ public interface ChangeActionNotifier {
*Subscribing*
![Subscribing](img/subscribe.png)
![Subscribing](img/subscribe.svg)
> **NOTE** If targeting 2019.3 or later, use [declarative registration](/basics/plugin_structure/plugin_listeners.md) if possible.
@ -90,7 +90,7 @@ public void init(MessageBus bus) {
*Publishing*
![Publishing](img/publish.png)
![Publishing](img/publish.svg)
```java
public void doChange(Context context) {
@ -123,13 +123,13 @@ So, it's possible to subscribe to them in order to receive information about the
Message buses can be organised into hierarchies. Moreover, the *IntelliJ Platform* has them already:
![Standard hierarchy](img/standard-hierarchy.png)
![Standard hierarchy](img/standard_hierarchy.svg)
That allows to notify subscribers registered in one message bus on messages sent to another message bus.
*Example:*
![Parent-child broadcast](img/parent-child-broadcast.png)
![Parent-child broadcast](img/parent_child_broadcast.svg)
Here we have a simple hierarchy (*application bus* is a parent of *project bus*) with three subscribers for the same topic.
@ -166,7 +166,7 @@ The IntelliJ Platform's Messaging infrastructure guarantees that all messages se
Suppose we have the following configuration:
![Nested messages](img/nested-config.png)
![Nested messages](img/nested_config.svg)
Let's see what happens if someone sends a message to the target topic: