Skip to content

Commit c61c056

Browse files
committed
fix(ui): display the right version
close #861 #844
1 parent ab23675 commit c61c056

File tree

4 files changed

+35
-10
lines changed

4 files changed

+35
-10
lines changed

client/src/containers/SideBar/Sidebar.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ class Sidebar extends Component {
230230
enableConnect
231231
} = this.state;
232232
const roles = this.state.roles || {};
233-
const tag = 'Snapshot';
233+
const tag = sessionStorage.getItem('version');
234234
const { listConnects, listClusters } = this.setClustersAndConnects();
235235
return (
236236
<SideNav

client/src/utils/Routes.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class Routes extends Root {
7979
_setAuths(response) {
8080
if (response.status === 200) {
8181
sessionStorage.setItem('auths', JSON.stringify(response.data));
82+
sessionStorage.setItem('version', response.data.version);
8283
}
8384
}
8485

src/main/java/org/akhq/controllers/AkhqController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import lombok.NoArgsConstructor;
1919
import org.akhq.configs.*;
2020
import org.akhq.modules.HasAnyPermission;
21+
import org.akhq.utils.VersionProvider;
2122

2223
import javax.inject.Inject;
2324
import java.util.ArrayList;
@@ -45,6 +46,8 @@ public class AkhqController extends AbstractController {
4546
@Nullable
4647
private HeaderAuth headerAuth;
4748

49+
@Inject
50+
private VersionProvider versionProvider;
4851

4952
@HasAnyPermission()
5053
@Get("api/cluster")
@@ -90,6 +93,7 @@ public AuthDefinition auths() {
9093
authDefinition.loginEnabled = false;
9194
}
9295
}
96+
authDefinition.version = versionProvider.getVersion();
9397

9498
return authDefinition;
9599
}
@@ -176,6 +180,7 @@ public static class AuthDefinition {
176180
private boolean loginEnabled;
177181
private boolean formEnabled;
178182
private List<OidcAuth> oidcAuths;
183+
private String version;
179184
}
180185

181186
@AllArgsConstructor

src/main/java/org/akhq/utils/VersionProvider.java

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,45 @@
99
import javax.inject.Inject;
1010
import javax.inject.Singleton;
1111
import java.util.Objects;
12+
import java.util.Optional;
13+
import java.util.stream.Stream;
1214

1315
@Singleton
1416
public class VersionProvider {
15-
1617
@Getter
17-
private String tag = "Snapshot";
18+
private String version = "Snapshot";
1819

1920
@Inject
2021
Environment environment;
2122

2223
@PostConstruct
2324
public void start() {
24-
new PropertiesPropertySourceLoader()
25-
.load("classpath:git", environment)
26-
.ifPresent(properties -> setTag(properties.get("git.tags")));
25+
this.version = Stream
26+
.concat(
27+
new PropertiesPropertySourceLoader()
28+
.load("classpath:gradle", environment)
29+
.stream()
30+
.flatMap(properties -> Stream.of(properties.get("version"))),
31+
new PropertiesPropertySourceLoader()
32+
.load("classpath:git", environment)
33+
.stream()
34+
.flatMap(properties -> Stream
35+
.of(
36+
properties.get("git.tags"),
37+
properties.get("git.branch")
38+
)
39+
)
40+
)
41+
.map(this::getVersion)
42+
.filter(Optional::isPresent)
43+
.map(Optional::get)
44+
.findFirst()
45+
.orElse(this.version);
2746
}
2847

29-
private void setTag(Object value) {
30-
String candidate = Objects.toString(value, null);
31-
this.tag = StringUtils.isNotEmpty(candidate) ? candidate : this.tag;
32-
}
48+
private Optional<String> getVersion(Object object) {
49+
String candidate = Objects.toString(object, null);
3350

51+
return StringUtils.isNotEmpty(candidate) ? Optional.of(candidate) : Optional.empty();
52+
}
3453
}

0 commit comments

Comments
 (0)