diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..146ab09
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/projectlombok_lombok.xml b/.idea/libraries/projectlombok_lombok.xml
new file mode 100644
index 0000000..924b96b
--- /dev/null
+++ b/.idea/libraries/projectlombok_lombok.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ProtegeToAASMini.iml b/ProtegeToAASMini.iml
index 199b122..deb8228 100644
--- a/ProtegeToAASMini.iml
+++ b/ProtegeToAASMini.iml
@@ -19,5 +19,6 @@
+
\ No newline at end of file
diff --git a/src/Main.java b/src/Main.java
index 48f7571..f542808 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -1,6 +1,7 @@
import AASMini.AASMini;
import ProtegeGX.ProtegeGX;
import Web.WebServer;
+import org.pmw.tinylog.Logger;
public class Main {
private static AASMini aas;
@@ -21,12 +22,26 @@ public class Main {
System.out.println("Protege to AAS Mini Connector");
protegeGX = new ProtegeGX();
+ protegeGX.setOnCardRead(data -> {
+ Logger.info(data);
+ if (aas!=null && aas.IsConnected()){
+ // send something to AAS
+ }
+ });
aas = new AASMini(aasIP, aasPort);
aas.Connect();
web = new WebServer();
web.Start(webPort);
+ web.setAasAPI(data -> {
+ Logger.info(data);
+ // Do something with AAS
+ });
+ web.setProtegeGXAPI(data -> {
+ Logger.info(data);
+ // Do something with ProtegeGX
+ });
}
private static void GetArguments(String[] args){
diff --git a/src/ProtegeGX/ProtegeData.java b/src/ProtegeGX/ProtegeData.java
new file mode 100644
index 0000000..e8e2025
--- /dev/null
+++ b/src/ProtegeGX/ProtegeData.java
@@ -0,0 +1,12 @@
+package ProtegeGX;
+
+public class ProtegeData {
+ public String ReaderID;
+ public String CardID;
+ public String Description;
+
+ @Override
+ public String toString(){
+ return "ReaderID = " + ReaderID + ", CardID = " + CardID + ", Description = " + Description;
+ }
+}
diff --git a/src/ProtegeGX/ProtegeGX.java b/src/ProtegeGX/ProtegeGX.java
index ca3f437..5bc80fb 100644
--- a/src/ProtegeGX/ProtegeGX.java
+++ b/src/ProtegeGX/ProtegeGX.java
@@ -1,6 +1,17 @@
package ProtegeGX;
+import lombok.Setter;
+
+import java.util.function.Consumer;
+
+@SuppressWarnings("unused")
public class ProtegeGX {
+ @Setter private Consumer onCardRead;
+
+ private void updateCardRead(ProtegeData data){
+ if (onCardRead!=null) onCardRead.accept(data);
+ }
+
public ProtegeGX(){
System.out.println("ProtegeGX Constructor");
//TODO belum ada codingan, tunggu apache cxf jar nya
diff --git a/src/Web/WebServer.java b/src/Web/WebServer.java
index 5f65b23..9a47437 100644
--- a/src/Web/WebServer.java
+++ b/src/Web/WebServer.java
@@ -1,10 +1,25 @@
package Web;
import io.javalin.Javalin;
+import lombok.Setter;
+import java.util.function.Consumer;
+
+import static io.javalin.apibuilder.ApiBuilder.get;
import static io.javalin.apibuilder.ApiBuilder.path;
+@SuppressWarnings("unused")
public class WebServer {
+ @Setter private Consumer aasAPI;
+ @Setter private Consumer protegeGXAPI;
+
+ private void updateAASAPI(String data){
+ if (aasAPI!=null) aasAPI.accept(data);
+ }
+
+ private void updateProtegeGXAPI(String data){
+ if (protegeGXAPI!=null) protegeGXAPI.accept(data);
+ }
Javalin app;
public WebServer(){
@@ -15,10 +30,12 @@ public class WebServer {
// API for AAS Mini
path("aasmini", ()->{
//TODO implement API for AAS Mini
+ get(ctx -> ctx.result("AAS Mini API"));
});
// API for ProtegeGX
path("protegegx", ()->{
//TODO implement API for ProtegeGX
+ get(ctx -> ctx.result("ProtegeGX API"));
});
});
});