Skip to content

Commit f7cabf0

Browse files
committed
Add BONE_LOCATION and CLUSTER_LOCATION enums; implement location handling in CommandLogics
1 parent 6c34627 commit f7cabf0

13 files changed

Lines changed: 274 additions & 20 deletions

File tree

src/main/java/io/nodelink/server/NodeLink.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package io.nodelink.server;
22

3-
import io.nodelink.server.app.node.api.NodeStarter;
3+
import io.nodelink.server.app.node.NodeStarter;
44
import io.nodelink.server.log.Logger;
55
import io.nodelink.server.update.Updater;
6+
import io.nodelink.server.utils.StoreData;
67

78
import java.io.File;
89

@@ -57,5 +58,9 @@ public NodeStarter getNodeStarter() {
5758
return NodeStarter.getNodeStarterSingleton();
5859
}
5960

61+
public StoreData getStoreData() {
62+
return StoreData.getStoreDataSingleton();
63+
}
64+
6065
}
6166

src/main/java/io/nodelink/server/NodeLinkHelper.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,12 @@ private void drawStaticInterface(Terminal terminal) {
174174
terminal.writer().println(GREEN + " ● Status: " + RESET + YELLOW + PRODUCT + RESET);
175175
terminal.writer().println(GREEN + " ● Version: " + RESET + Version.VERSION);
176176

177+
// if ((boolean) NodeLink.getInstance().getStoreData().get(NodeLink.getInstance().getStoreData().WHICH_TYPE)) {
178+
// terminal.writer().println(GREEN + " ● Region: " + RESET + "Cluster");
179+
// } else {
180+
// terminal.writer().println(GREEN + " ● LOCATION: " + RESET + "Bone");
181+
// }
182+
177183
int currentLine = logoHeight + 4;
178184
for (int i = currentLine; i < RESERVED_ROWS - 1; i++) {
179185
terminal.writer().println("");
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package io.nodelink.server.app.cluster;
2+
3+
import io.javalin.Javalin;
4+
import io.nodelink.server.NodeLink;
5+
import io.nodelink.server.app.config.RouteHandler;
6+
import org.slf4j.LoggerFactory;
7+
import ch.qos.logback.classic.Level;
8+
import ch.qos.logback.classic.LoggerContext;
9+
import reactor.core.publisher.Mono;
10+
import reactor.core.scheduler.Schedulers;
11+
12+
public class ClusterStarter {
13+
14+
private static final ClusterStarter INSTANCE = new ClusterStarter();
15+
private Javalin app;
16+
17+
static {
18+
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
19+
loggerContext.getLogger("io.javalin").setLevel(Level.OFF);
20+
loggerContext.getLogger("org.eclipse.jetty").setLevel(Level.OFF);
21+
loggerContext.getLogger("reactor").setLevel(Level.OFF);
22+
}
23+
24+
public void startServer() {
25+
Mono.fromRunnable(() -> {
26+
app = Javalin.create(config -> {
27+
config.showJavalinBanner = false;
28+
config.router.contextPath = "/cluster";
29+
}).start(8080);
30+
31+
RouteHandler.registerAllRoutes(app, "io.nodelink.server.app.node.api.routes");
32+
33+
NodeLink.getInstance().getLogger().SUCCESS("Node API Server started");
34+
})
35+
.subscribeOn(Schedulers.boundedElastic())
36+
.subscribe();
37+
}
38+
39+
public Javalin getApp() {
40+
return app;
41+
}
42+
43+
public static ClusterStarter getNodeStarterSingleton() {
44+
return INSTANCE;
45+
}
46+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.nodelink.server.app.cluster.api.routes.v1.definition;
2+
3+
import io.javalin.http.Context;
4+
import io.javalin.http.HandlerType;
5+
import io.nodelink.server.app.config.RouteDefinition;
6+
import io.nodelink.server.app.node.api.routes.v1.handler.ExampleHandler;
7+
8+
public class ExampleDef implements RouteDefinition {
9+
10+
@Override
11+
public HandlerType method() { return HandlerType.GET; }
12+
13+
@Override
14+
public String path() { return "/status"; }
15+
16+
@Override
17+
public boolean enabled() { return true; }
18+
19+
@Override
20+
public void handle(Context ctx) {
21+
new ExampleHandler().handle(ctx);
22+
}
23+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.nodelink.server.app.cluster.api.routes.v1.handler;
2+
3+
import io.javalin.http.Context;
4+
import io.nodelink.server.app.config.ApiHandler;
5+
6+
import java.util.Map;
7+
8+
public class ExampleHandler implements ApiHandler {
9+
@Override
10+
public void handle(Context ctx) {
11+
ctx.json(Map.of("status", "Operational..."));
12+
}
13+
}

src/main/java/io/nodelink/server/app/cluster/enums/DE_EU.java

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package io.nodelink.server.app.data;
2+
3+
public enum BONE_LOCATION {
4+
5+
///
6+
7+
EUROPE_WEST("west.eu.bone"),
8+
EUROPE_EAST("east.eu.bone"),
9+
EUROPE_NORTH("north.eu.bone"),
10+
EUROPE_SOUTH("south.eu.bone"),
11+
12+
///
13+
14+
NORTH_AMERICA_WEST("west.na.bone"),
15+
NORTH_AMERICA_EAST("east.na.bone"),
16+
NORTH_AMERICA_NORTH("north.na.bone"),
17+
NORTH_AMERICA_SOUTH("south.na.bone"),
18+
19+
LATAM_AMERICA("latam.la.bone"),
20+
21+
///
22+
23+
ASIA_EAST("east.asia.bone"),
24+
ASIA_SOUTH("south.asia.bone"),
25+
ASIA_NORTH("north.asia.bone"),
26+
ASIA_WEST("west.asia.bone"),
27+
28+
OCEANIA("oceania.bone"),
29+
30+
///
31+
32+
MIDDLE_EAST("me.bone"),
33+
AFRICA_NORTH("north.africa.bone"),
34+
AFRICA_SOUTH("south.africa.bone"),
35+
36+
///
37+
38+
;
39+
40+
private final String locationBone;
41+
42+
BONE_LOCATION(String locationBone) {
43+
this.locationBone = locationBone;
44+
}
45+
46+
public String getLocation() {
47+
return this.locationBone;
48+
}
49+
50+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package io.nodelink.server.app.data;
2+
3+
public enum CLUSTER_LOCATION {
4+
5+
NBG_DE_EU_CLUSTER("nbg.de.eu.cluster"),
6+
;
7+
8+
///
9+
10+
private final String locationCluster;
11+
12+
CLUSTER_LOCATION(String locationCluster) {
13+
this.locationCluster = locationCluster;
14+
}
15+
16+
public String getLocation() {
17+
return this.locationCluster;
18+
}
19+
20+
}

src/main/java/io/nodelink/server/app/node/api/NodeStarter.java renamed to src/main/java/io/nodelink/server/app/node/NodeStarter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.nodelink.server.app.node.api;
1+
package io.nodelink.server.app.node;
22

33
import io.javalin.Javalin;
44
import io.nodelink.server.NodeLink;

src/main/java/io/nodelink/server/app/node/enums/DE_EU.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)