Skip to content

Commit 0e76704

Browse files
committed
Merge branch 'master' into develop
2 parents 3f1382c + a2b8885 commit 0e76704

File tree

309 files changed

+2342
-322
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

309 files changed

+2342
-322
lines changed

CHANGELOG.md

Lines changed: 58 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,61 @@ This file lists modifications introduced by each version.
44

55
## [Unreleased]
66

7+
* Empty
8+
9+
## [1.2.0] - 2020/02/12
10+
11+
### ClockManager class modifications
12+
13+
**Bug fixes in ClockManager:**
14+
15+
[[issue 86]][issue: #86]
16+
17+
* The modification of the `ClockManager`'s internal time value (the one actually used by the `Topology`) now coincides
18+
with the ticking of the `Clock`
19+
20+
Now, the clock is first incremented and then the `Scheduler` is called.
21+
It was previously swapped, resulting in some user interactions happening before the call to the `Scheduler` (and thus
22+
the `MessageEngine` and all `Node.onClock()`).
23+
Everything is now properly synchronized.
24+
25+
**Symbol modification in ClockManager**
26+
27+
* `ClockManager.currentTime()` now returns an `int` instead of an `Integer`
28+
29+
This value could never be `null`. The return value being an object was a remnant of previous versions.
30+
31+
[issue: #86]: https://github.com/jbotsim/JBotSim/issues/86
32+
733
### MessageEngine modifications
834

935
[[issue 85]][issue: #85] [[issue 83]][issue: #83]
1036

1137
Some changes have been applied in an effort to simplify, clarify and speed-up the *message engine* system.
1238

1339
* `MessageEngine` is now an interface
14-
* A `reset()` method has been added.
15-
* It does not handle delays anymore.
40+
* A `reset()` method has been added
41+
* It does not handle delays anymore
1642

1743

18-
* The former `MessageEngine` has been renamed to `DefaultMessageEngine`.
44+
* The former `MessageEngine` has been renamed to `DefaultMessageEngine`
1945

2046
`io.jbotsim.core.MessageEngine` -> `io.jbotsim.core.DefaultMessageEngine`
2147

2248
* It does not handle delays (see `DelayMessageEngine`)
2349
* It speeds-up former check on link existence
2450

25-
* A specific `DelayMessageEngine` has been re-created in `jbotsim-core`/`io.jbotsim.core`.
51+
* A specific `DelayMessageEngine` has been re-created in `jbotsim-core`/`io.jbotsim.core`
2652

27-
* It handles instantaneous delays better than the former `MessageEngine` used to.
28-
* It also handles general delays better than the former `MessageEngine` used to.
29-
* A new `DelayMessageEngine.disableLinksContinuityChecks()` method has been added.
53+
* It handles instantaneous delays better than the former `MessageEngine` used to
54+
* It also handles general delays better than the former `MessageEngine` used to
55+
* A new `DelayMessageEngine.disableLinksContinuityChecks()` method has been added
3056

3157
This method prevents the system from checking the existence of the link each step while it is delayed.
3258
The check still remains at the end of the sending round and before the delivery round.
3359
This speeds message processing up when you send a lot of delayed messages in a static environment.
3460
* `AsyncMessageEngine` and `RandomMessageEngine` implementations have been modified to benefit from the new
35-
`DelayMessageEngine` capabilities.
61+
`DelayMessageEngine` capabilities
3662

3763
* `RandomMessageEngine` has been renamed into `RandomDelayMessageEngine`
3864

@@ -46,6 +72,15 @@ If you used to inherit from `MessageEngine`, you have several options:
4672
* inherit from `DelayMessageEngine` (has delay feature)
4773
* actually implement the `MessageEngine` interface
4874

75+
### Topology class modifications
76+
77+
**Bug fixes in Topology:**
78+
79+
* `Topology.restart()` and `Topology.clearMessages()` now properly remove delayed messages [[issue 83]][issue: #83]
80+
81+
This is delegated to the new `MessageEngine.reset()` method.
82+
83+
[issue: #83]: https://github.com/jbotsim/JBotSim/issues/83
4984

5085
### Node class modifications
5186

@@ -66,49 +101,6 @@ If you used to inherit from `MessageEngine`, you have several options:
66101

67102
[issue: #85]: https://github.com/jbotsim/JBotSim/issues/85
68103

69-
### ClockManager class modifications
70-
71-
**Bug fixes in ClockManager:**
72-
73-
[[issue 86]][issue: #86]
74-
75-
* The modification of the `ClockManager`'s internal time value (the one actually used by the `Topology`) now coincides
76-
with the ticking of the `Clock`.
77-
78-
Now, the clock is first incremented and then the `Scheduler` is called.
79-
It was previously swapped, resulting in some user interactions happening before the call to the `Scheduler` (and thus
80-
the `MessageEngine` and all `Node.onClock()`).
81-
Everything is now properly synchronized.
82-
83-
**Symbol modification in ClockManager**
84-
85-
* `ClockManager.currentTime()` now returns an `int` instead of an `Integer`
86-
87-
This value could never be `null`. The return value being an object was a remnant of previous versions.
88-
89-
[issue: #86]: https://github.com/jbotsim/JBotSim/issues/86
90-
91-
### New icon in the jbotsim-icons module
92-
93-
`jbotsim-icons`/`io.jbotsim.ui.icons`
94-
95-
* A fully transparent new icon has been added [[issue 84]][issue: #84]
96-
* `jbotsim-icons`/`io/jbotsim/ui/icons/transparent.png`
97-
98-
As usual, it's path can be accessed using the corresponding constant `Icons.TRANSPARENT`.
99-
100-
[issue: #84]: https://github.com/jbotsim/JBotSim/issues/84
101-
102-
### Topology class modifications
103-
104-
**Bug fixes in Topology:**
105-
106-
* `Topology.restart()` and `Topology.clearMessages()` now properly remove delayed messages [[issue 83]][issue: #83]
107-
108-
This is delegated to the new `MessageEngine.reset()` method.
109-
110-
[issue: #83]: https://github.com/jbotsim/JBotSim/issues/83
111-
112104
### TikzTopologySerializer class modifications
113105

114106
[[issue 80]][issue: #80]
@@ -120,7 +112,7 @@ If you used to inherit from `MessageEngine`, you have several options:
120112
Directed links are properly exported (using `"->"` option).
121113
This supposes that `Topology.getOrientation()` returns `DIRECTED`.
122114
* TikZ colors are now better supported
123-
* The previous *scale* parameter is now a proper scale factor.
115+
* The previous *scale* parameter is now a proper scale factor
124116

125117
Its previous default value was `50`. It is now `1/50.`, resulting in the same default value.
126118

@@ -144,6 +136,17 @@ If you used to inherit from `MessageEngine`, you have several options:
144136

145137
[issue: #80]: https://github.com/jbotsim/JBotSim/issues/80
146138

139+
### New icon in the jbotsim-icons module
140+
141+
`jbotsim-icons`/`io.jbotsim.ui.icons`
142+
143+
* A fully transparent new icon has been added [[issue 84]][issue: #84]
144+
* `jbotsim-icons`/`io/jbotsim/ui/icons/transparent.png`
145+
146+
As usual, it's path can be accessed using the corresponding constant `Icons.TRANSPARENT`.
147+
148+
[issue: #84]: https://github.com/jbotsim/JBotSim/issues/84
149+
147150
### JNode class modifications
148151

149152
[[issue 77]][issue: #77]
@@ -152,7 +155,7 @@ If you used to inherit from `MessageEngine`, you have several options:
152155

153156
* The wired `Link` created between two nodes using the Swing UI (start a right click on the first and drag to the second
154157
before releasing the button) now takes `Topology.getOrientation()` into account instead of always creating undirected
155-
links.
158+
links
156159

157160
[issue: #77]: https://github.com/jbotsim/JBotSim/issues/77
158161

@@ -957,7 +960,8 @@ have executed their onStart() method before that, you may simply call start()
957960
on your topology immediately followed by a call to pause().
958961
(Eventually we will provide an atomic call to this effect.)
959962

960-
[Unreleased]: https://github.com/jbotsim/JBotSim/compare/v1.1.1...develop
963+
[Unreleased]: https://github.com/jbotsim/JBotSim/compare/v1.2.0...develop
964+
[1.2.0]: https://github.com/jbotsim/JBotSim/compare/v1.1.1...v1.2.0
961965
[1.1.1]: https://github.com/jbotsim/JBotSim/compare/v1.1.0...v1.1.1
962966
[1.1.0]: https://github.com/jbotsim/JBotSim/compare/v1.0.0...v1.1.0
963967
[1.0.0]: https://github.com/jbotsim/JBotSim/compare/v1.0.0-beta03...v1.0.0

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
[![Build Status](https://travis-ci.org/jbotsim/JBotSim.svg?branch=master)][travis-jbotsim]
3-
[![Maven Central](https://img.shields.io/badge/maven%20central-1.1.1-informational.svg)][mavencentral-jbotsim-latest]
3+
[![Maven Central](https://img.shields.io/badge/maven%20central-1.2.0-informational.svg)][mavencentral-jbotsim-latest]
44
[![License](https://img.shields.io/badge/license-LGPL%20≥%203.0-informational.svg)][lgpl3]
55

66

@@ -58,7 +58,7 @@ artifact will best suit your project's needs):
5858
* choose `From Maven ...`.
5959

6060
* In the "Download Library from Maven Repository" popup:
61-
* provide the following dependence `io.jbotsim:jbotsim-all:1.1.1`
61+
* provide the following dependence `io.jbotsim:jbotsim-all:1.2.0`
6262
* make sure to tick `JavaDocs`
6363
* Hit `OK`.
6464
* Confirm that you want to add it to your (only) module.
@@ -98,7 +98,7 @@ examples.
9898
## Current version
9999

100100

101-
The latest public version is [`1.1.1`][mavencentral-jbotsim-latest].
101+
The latest public version is [`1.2.0`][mavencentral-jbotsim-latest].
102102
Please see the [CHANGELOG.md](CHANGELOG.md) for previous versions modifications.
103103

104104

@@ -127,7 +127,7 @@ If your build system uses *Gradle*, you will want to add something like this to
127127

128128
```
129129
dependencies {
130-
implementation "io.jbotsim:jbotsim-all:1.1.1"
130+
implementation "io.jbotsim:jbotsim-all:1.2.0"
131131
}
132132
```
133133

@@ -140,15 +140,15 @@ If your build system uses *Maven*, you will want to add something like this to y
140140
<dependency>
141141
<groupId>io.jbotsim</groupId>
142142
<artifactId>jbotsim-all</artifactId>
143-
<version>1.1.1</version>
143+
<version>1.2.0</version>
144144
</dependency>
145145
```
146146

147147
### Using IntelliJ IDEA
148148

149149
If you use a _Java Project_ in _IntelliJ IDEA_, add the following dependency (as explained [here](#declaring-the-dependency)):
150150
```
151-
io.jbotsim:jbotsim-all:1.1.1
151+
io.jbotsim:jbotsim-all:1.2.0
152152
```
153153

154154

@@ -178,7 +178,7 @@ The JBotSim project will gladly welcome help. If you consider contributing, plea
178178

179179
## License
180180

181-
(C) Copyright 2008-2019, by [Arnaud Casteigts and the JBotSim contributors](CONTRIBUTORS.md). All rights reserved.
181+
(C) Copyright 2008-2020, by [Arnaud Casteigts and the JBotSim contributors](CONTRIBUTORS.md). All rights reserved.
182182

183183

184184
JBotSim is published under license [LGPL 3.0 or later][lgpl3].
@@ -206,7 +206,7 @@ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys DFA48EDB1EDEBA6F
206206

207207
[travis-jbotsim]: https://travis-ci.org/jbotsim/JBotSim
208208
[github-jbotsim]: https://github.com/jbotsim/JBotSim
209-
[mavencentral-jbotsim-latest]: https://search.maven.org/search?q=g:io.jbotsim%20AND%20v:1.1.1
209+
[mavencentral-jbotsim-latest]: https://search.maven.org/search?q=g:io.jbotsim%20AND%20v:1.2.0
210210
[mavencentral-jbotsim]: https://search.maven.org/search?q=g:io.jbotsim
211211
[github-jbotsim-issues]: https://github.com/jbotsim/JBotSim/issues
212212
[lgpl3]: http://www.gnu.org/licenses/lgpl-3.0.html

apps/examples/CreateUserProject.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ Any JBotSim classes, source code and documentation will automatically be downloa
118118
* choose `From Maven ...`.
119119

120120
* In the "Download Library from Maven Repository" popup:
121-
* provide the following dependency: `io.jbotsim:jbotsim-all:1.1.1`
121+
* provide the following dependency: `io.jbotsim:jbotsim-all:1.2.0`
122122
* make sure to tick `JavaDocs`
123123
* Hit `OK`.
124124
* Confirm that you want to add it to your (only) module.
@@ -141,7 +141,7 @@ Simply add the following line to your `build.gradle`:
141141

142142
```
143143
dependencies {
144-
implementation "io.jbotsim:jbotsim-all:1.1.1"
144+
implementation "io.jbotsim:jbotsim-all:1.2.0"
145145
}
146146
```
147147

@@ -201,7 +201,7 @@ dependencies {
201201

202202
```
203203
dependencies {
204-
compile files('mylibs/jbotsim-full-1.1.1.jar')
204+
compile files('mylibs/jbotsim-full-1.2.0.jar')
205205
}
206206
```
207207

apps/examples/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ artifact suits your needs).
3030
So our `build.gradle` will simply declare the dependency as follows:
3131
```
3232
dependencies {
33-
implementation "io.jbotsim:jbotsim-ui-swing:1.1.1"
33+
implementation "io.jbotsim:jbotsim-ui-swing:1.2.0"
3434
}
3535
```
3636
Gradle and Maven will take care of retrieving any required dependencies.

apps/examples/src/main/java/examples/JBackgroundPainterHD.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2008 - 2019, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
2+
* Copyright 2008 - 2020, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
33
*
44
*
55
* This file is part of JBotSim.

apps/examples/src/main/java/examples/JLinkPainterHD.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2008 - 2019, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
2+
* Copyright 2008 - 2020, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
33
*
44
*
55
* This file is part of JBotSim.

apps/examples/src/main/java/examples/VideoHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2008 - 2019, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
2+
* Copyright 2008 - 2020, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
33
*
44
*
55
* This file is part of JBotSim.

apps/examples/src/main/java/examples/basic/basic/BasicNode.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
/*
2+
* Copyright 2008 - 2020, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
3+
*
4+
*
5+
* This file is part of JBotSim.
6+
*
7+
* JBotSim is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU Lesser General Public License as published by
9+
* the Free Software Foundation, either version 3 of the License, or
10+
* (at your option) any later version.
11+
*
12+
* JBotSim is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU Lesser General Public License for more details.
16+
*
17+
* You should have received a copy of the GNU Lesser General Public License
18+
* along with JBotSim. If not, see <https://www.gnu.org/licenses/>.
19+
*
20+
*/
21+
122
package examples.basic.basic;
223

324
import io.jbotsim.core.Message;

apps/examples/src/main/java/examples/basic/broadcasting/BroadcastingNode.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
/*
2+
* Copyright 2008 - 2020, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
3+
*
4+
*
5+
* This file is part of JBotSim.
6+
*
7+
* JBotSim is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU Lesser General Public License as published by
9+
* the Free Software Foundation, either version 3 of the License, or
10+
* (at your option) any later version.
11+
*
12+
* JBotSim is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU Lesser General Public License for more details.
16+
*
17+
* You should have received a copy of the GNU Lesser General Public License
18+
* along with JBotSim. If not, see <https://www.gnu.org/licenses/>.
19+
*
20+
*/
21+
122
package examples.basic.broadcasting;
223

324
import io.jbotsim.core.Color;

apps/examples/src/main/java/examples/basic/broadcasting/Main.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
/*
2+
* Copyright 2008 - 2020, Arnaud Casteigts and the JBotSim contributors <contact@jbotsim.io>
3+
*
4+
*
5+
* This file is part of JBotSim.
6+
*
7+
* JBotSim is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU Lesser General Public License as published by
9+
* the Free Software Foundation, either version 3 of the License, or
10+
* (at your option) any later version.
11+
*
12+
* JBotSim is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU Lesser General Public License for more details.
16+
*
17+
* You should have received a copy of the GNU Lesser General Public License
18+
* along with JBotSim. If not, see <https://www.gnu.org/licenses/>.
19+
*
20+
*/
21+
122
package examples.basic.broadcasting;
223

324
import io.jbotsim.core.Topology;

0 commit comments

Comments
 (0)