Skip to content

Commit

Permalink
refactor: Migrate to new dev-ui. (#158)
Browse files Browse the repository at this point in the history
Closes #156.
  • Loading branch information
michael-simons authored Apr 17, 2023
1 parent 80ed981 commit 6ab2bbd
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class Neo4jDevServicesProcessor {
private static final Logger log = Logger.getLogger("io.quarkus.neo4j.deployment");

private static final String NEO4J_URI = "quarkus.neo4j.uri";
private static final String NEO4J_BROWSER_URL = "quarkus.neo4j.browser-url";
static final String NEO4J_BROWSER_URL = "quarkus.neo4j.browser-url";
private static final String NEO4J_USER_PROP = "quarkus.neo4j.authentication.username";
private static final String NEO4J_PASSWORD_PROP = "quarkus.neo4j.authentication.password";

Expand Down Expand Up @@ -203,7 +203,7 @@ private static final class Neo4jDevServiceConfig {
final OptionalInt fixedHttpPort;

Neo4jDevServiceConfig(DevServicesBuildTimeConfig devServicesConfig) {
this.devServicesEnabled = devServicesConfig.enabled.orElse(true);
this.devServicesEnabled = enabled(devServicesConfig);
this.imageName = devServicesConfig.imageName;
this.additionalEnv = new HashMap<>(devServicesConfig.additionalEnv);
this.fixedBoltPort = devServicesConfig.boltPort;
Expand Down Expand Up @@ -231,4 +231,14 @@ public int hashCode() {
return Objects.hash(devServicesEnabled, imageName, additionalEnv, fixedBoltPort, fixedHttpPort);
}
}

/**
* A helper method to encapsulate the {@code Optional<Boolean>} to {code boolean} mapping of that config flag.
*
* @param devServicesConfig The configuration of dev services for neo4j
* @return {@literal true} if Neo4j dev services are enabled or not
*/
static boolean enabled(DevServicesBuildTimeConfig devServicesConfig) {
return Optional.ofNullable(devServicesConfig).flatMap(cfg -> cfg.enabled).orElse(true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package io.quarkus.neo4j.deployment;

import java.util.List;

import io.quarkus.deployment.IsDevelopment;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.DevServicesResultBuildItem;
import io.quarkus.devui.spi.page.CardPageBuildItem;
import io.quarkus.devui.spi.page.Page;

class Neo4jDevUiConsoleProcessor {

@BuildStep(onlyIf = IsDevelopment.class)
CardPageBuildItem create(
List<DevServicesResultBuildItem> runningDevServices,
Neo4jBuildTimeConfig neo4jBuildTimeConfig) {

var cardPageBuildItem = new CardPageBuildItem();
if (Neo4jDevServicesProcessor.enabled(neo4jBuildTimeConfig.devservices)) {

// Find the appropriate config
for (DevServicesResultBuildItem runningDevService : runningDevServices) {
if (runningDevService.getConfig().containsKey(Neo4jDevServicesProcessor.NEO4J_BROWSER_URL)) {
cardPageBuildItem.addPage(Page.externalPageBuilder("Neo4J Browser")
.icon("font-awesome-solid:diagram-project")
.url(runningDevService.getConfig().get(Neo4jDevServicesProcessor.NEO4J_BROWSER_URL))
.doNotEmbed());
break;
}
}
}

return cardPageBuildItem;
}
}

0 comments on commit 6ab2bbd

Please sign in to comment.