in java-example-extension/src/main/java/example/ExtensionMain.java [13:45]
public static void main(String[] args) {
// Register the extension for "INVOKE" and "SHUTDOWN" events
final String extension = ExtensionClient.registerExtension();
System.out.println("Extension registration complete, extensionID: " + extension);
while (true) {
try {
String response = ExtensionClient.getNext(extension);
if (response != null && !response.isEmpty()) {
JsonObject eventJsonObject = new Gson().fromJson(response, JsonObject.class);
JsonElement eventTypeElement = eventJsonObject.get("eventType");
// Depending upon event type perform corresponding actions
if (eventTypeElement != null) {
final String eventType = eventTypeElement.getAsString();
switch (eventTypeElement.getAsString()) {
case "INVOKE":
handleInvoke(response);
break;
case "SHUTDOWN":
handleShutDown();
break;
default:
System.err.println("Invalid event type received " + eventType);
}
}
}
} catch (Exception e) {
System.out.println("Error while processing extension -" + e.getMessage());
e.printStackTrace();
}
}
}