diff --git a/pom.xml b/pom.xml
index f3876c4e..a64bdd21 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,7 +60,7 @@
io.github.oneteme.traceapi
traceapi-core
- 0.0.15-SNAPSHOT
+ 0.0.16-SNAPSHOT
io.github.oneteme
diff --git a/src/main/java/org/usf/trace/api/server/ApiController.java b/src/main/java/org/usf/trace/api/server/ApiController.java
deleted file mode 100644
index 7ad8dc75..00000000
--- a/src/main/java/org/usf/trace/api/server/ApiController.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.usf.trace.api.server;
-
-import static java.util.Objects.isNull;
-import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
-import static org.springframework.http.ResponseEntity.accepted;
-import static org.usf.trace.api.server.Utils.requireSingle;
-import static org.usf.traceapi.core.RemoteTraceSender.INCOMING_ENDPOINT;
-import static org.usf.traceapi.core.RemoteTraceSender.MAIN_ENDPOINT;
-import static org.usf.traceapi.core.RemoteTraceSender.TRACE_ENDPOINT;
-
-import java.time.Instant;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.usf.traceapi.core.ApplicationInfo;
-import org.usf.traceapi.core.IncomingRequest;
-import org.usf.traceapi.core.MainRequest;
-import org.usf.traceapi.core.OutcomingRequest;
-import org.usf.traceapi.core.Session;
-
-import lombok.RequiredArgsConstructor;
-
-@CrossOrigin
-@RestController
-@RequestMapping(value = TRACE_ENDPOINT, produces = APPLICATION_JSON_VALUE)
-@RequiredArgsConstructor
-public class ApiController {
-
- private final RequestDao dao;
- private final SessionQueueService queueService;
-
- @PutMapping(INCOMING_ENDPOINT)
- public ResponseEntity saveRequest(@RequestBody IncomingRequest req) {
- return appendRequest(req);
- }
-
- @PutMapping(MAIN_ENDPOINT)
- public ResponseEntity saveRequest(HttpServletRequest hsr, @RequestBody MainRequest req) {
- if(isNull(req.getApplication())) { //set IP address for WABAPP trace
- req.setApplication(new ApplicationInfo(null, null, hsr.getRemoteAddr(), null, null, null));
- }
- else if(isNull(req.getApplication().getAddress())) {
- req.setApplication(req.getApplication().withAddress(hsr.getRemoteAddr()));
- }
- return appendRequest(req);
- }
-
- private ResponseEntity appendRequest(Session session){
- queueService.add(session);
- return accepted().build();
- }
-
- @GetMapping(INCOMING_ENDPOINT)
- public List getIncomingRequestByCriteria(
- @RequestParam(defaultValue = "true", name = "lazy") boolean lazy,
- @RequestParam(required = false, name = "id") String[] id,
- @RequestParam(required = false, name = "name") String[] name,
- @RequestParam(required = false, name = "env") String[] env,
- @RequestParam(required = false, name = "port") String[] port,
- @RequestParam(required = false, name = "start") Instant start,
- @RequestParam(required = false, name = "end") Instant end ){ // without tree
- FilterCriteria fc = new FilterCriteria(id,null,name,env,port,null,start,end);
- System.out.println(fc.toString());
- return dao.getIncomingRequestByCriteria(lazy,fc);
- }
-
- @GetMapping("incoming/request/{id}")
- public IncomingRequest getIncomingRequestById(@PathVariable String id) { // without tree
- return requireSingle(dao.getIncomingRequestById(true, id));
- }
-
- @GetMapping(MAIN_ENDPOINT)
- public List getMainRequestByCriteria(
- @RequestParam(defaultValue = "true", name = "lazy") boolean lazy,
- @RequestParam(required = false, name = "id") String[] id,
- @RequestParam(required = false, name = "env") String[] env,
- @RequestParam(required = false, name = "launchmode") String[] launchMode,
- @RequestParam(required = false, name = "start") Instant start,
- @RequestParam(required = false, name = "end") Instant end ) {
-
- FilterCriteria fc = new FilterCriteria(null,id,null,env,null,launchMode,start,end);
- return dao.getMainRequestByCriteria(lazy,fc);
- }
-
- @GetMapping("main/request/{id}")
- public MainRequest getMainRequestById(@PathVariable String id) { // without tree
- return requireSingle(dao.getMainRequestById(true, id));
- }
-
- @GetMapping("incoming/request/{id}/out")
- public OutcomingRequest getOutcomingRequestById(@PathVariable String id) {
- return dao.getOutcomingRequestById(id);
- }
-
- @GetMapping("incoming/request/{id}/tree") //LATER
- public IncomingRequest getIncomingRequestTreeById(@PathVariable String id) {
- return requireSingle(dao.getIncomingRequestById(true, id)); //change query
- }
-
-}
-
-
diff --git a/src/main/java/org/usf/trace/api/server/Exchange.java b/src/main/java/org/usf/trace/api/server/Exchange.java
index dfe22388..99ea5f71 100644
--- a/src/main/java/org/usf/trace/api/server/Exchange.java
+++ b/src/main/java/org/usf/trace/api/server/Exchange.java
@@ -1,7 +1,8 @@
package org.usf.trace.api.server;
-import org.usf.traceapi.core.IncomingRequest;
-import org.usf.traceapi.core.OutcomingRequest;
+import lombok.Setter;
+import org.usf.traceapi.core.ApiSession;
+import org.usf.traceapi.core.ApiRequest;
import lombok.Getter;
@@ -11,12 +12,9 @@
*
*/
@Getter
-public final class Exchange extends OutcomingRequest {
+@Setter
+public final class Exchange extends ApiRequest {
- private IncomingRequest remoteTrace;
-
- public Exchange(String id) {
- super(id);
- }
+ private ApiSession remoteTrace;
}
diff --git a/src/main/java/org/usf/trace/api/server/FilterCriteria.java b/src/main/java/org/usf/trace/api/server/FilterCriteria.java
index fcb53de8..2e9af163 100644
--- a/src/main/java/org/usf/trace/api/server/FilterCriteria.java
+++ b/src/main/java/org/usf/trace/api/server/FilterCriteria.java
@@ -21,9 +21,7 @@
@AllArgsConstructor
public class FilterCriteria {
- private final String[] idIncoming; //
-
- private final String[] idMain;
+ private final String[] idSession; //
private final String[] name;
private final String[] env;
private final String[] port;
@@ -33,8 +31,7 @@ public class FilterCriteria {
private final Instant end;
- public String toSql(Filters idIncomingColname,
- Filters idMainColname,
+ public String toSql(Filters idSession,
Filters nameColname,
Filters envColname,
Filters portColname,
@@ -45,8 +42,7 @@ public String toSql(Filters idIncomingColname,
Collection argTypes) {
var sql = " WHERE 1 = 1";
- sql += toSql(idIncomingColname,args,argTypes,getIdIncoming());
- sql += toSql(idMainColname,args,argTypes,getIdMain());
+ sql += toSql(idSession,args,argTypes,getIdSession());
sql += toSql(nameColname,args,argTypes,getName());
sql += toSql(envColname,args,argTypes,getEnv());
sql += toSql(portColname,args,argTypes,getPort());
@@ -70,7 +66,7 @@ String toSql(Filters colname, Collection