Skip to content

Commit

Permalink
Merge pull request #102 from code-akki/latest-redis
Browse files Browse the repository at this point in the history
Latest Data Service using Redis Cache
  • Loading branch information
swaminathanvasanth authored Mar 31, 2021
2 parents b69b75b + 72b6bd2 commit d62c997
Show file tree
Hide file tree
Showing 25 changed files with 1,134 additions and 226 deletions.
18 changes: 16 additions & 2 deletions configs/config-dev.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@
"host": "server",
"modules": [
{
"id": "iudx.resource.server.database.DatabaseVerticle",
"id": "iudx.resource.server.database.archives.DatabaseVerticle",
"verticleInstances": 2,
"databaseIP": "",
"databasePort": 123,
"dbUser": "",
"dbPassword": "",
"timeLimit": "test,2020-10-22T00:00:00Z,30"
"resourceServerId":"",
"timeLimit": "",
"redisHost": "",
"redisPort": 1234,
"redisUser": "",
"redisPassword": "",
"attributeList": ""
},
{
"id": "iudx.resource.server.authenticator.AuthenticationVerticle",
Expand Down Expand Up @@ -82,6 +88,14 @@
"catServerHost": "",
"catServerPort": ""

},
{
"id": "iudx.resource.server.database.latest.LatestVerticle",
"redisHost": "",
"redisPort": 1234,
"redisUser": "",
"redisPassword": "",
"attributeList": {"itms-info": "some-attr"}
}
]
}
67 changes: 37 additions & 30 deletions configs/config-test.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,33 @@
"host": "server",
"modules": [
{
"id": "iudx.resource.server.database.DatabaseVerticle",
"id": "iudx.resource.server.database.archives.DatabaseVerticle",
"verticleInstances": 2,
"databaseIP": "",
"databasePort": 123,
"databasePort": 12345,
"dbUser": "",
"dbPassword": "",
"resourceServerId":"",
"timeLimit": "test,2020-10-22T00:00:00Z,30",
"timeLimit": "",

"testIdOpen":"",
"testIdSecure":"",
"temporalStartDate":"2020-10-18T20:45:00+05:30",
"temporalEndDate":"2020-10-19T20:45:00+05:30"


"temporalStartDate":"",
"temporalEndDate":""
},
{
"id": "iudx.resource.server.authenticator.AuthenticationVerticle",
"verticleInstances": 2,
"keystore": "configs/keystore.jks",
"keystore": "",
"keystorePassword": "",
"authServerHost": "",
"testAuthToken": "",
"testExpiredAuthToken": "",
"testResourceID": "",
"catServerHost": "",
"catServerPort": "",
"serverMode": "production",
"resourceServerId":"[[datakaveri.org/27e503da0bdda6efae3a52b3ef423c1f9005657a/rs.iudx.org.in]]"
"serverMode": "",
"resourceServerId":""
},
{
"id": "iudx.resource.server.databroker.DataBrokerVerticle",
Expand All @@ -44,18 +42,18 @@
"dataBrokerUserName": "",
"dataBrokerPassword": "",
"dataBrokerManagementPort": "",
"connectionTimeout": "6000",
"requestedHeartbeat": "60",
"handshakeTimeout": "6000",
"requestedChannelMax": "5",
"networkRecoveryInterval": "500",
"automaticRecoveryEnabled": "true",
"connectionTimeout": "",
"requestedHeartbeat": "",
"handshakeTimeout": "",
"requestedChannelMax": "",
"networkRecoveryInterval": "",
"automaticRecoveryEnabled": "",
"callbackDatabaseIP": "",
"callbackDatabasePort": "",
"callbackDatabaseName": "",
"callbackDatabaseUserName": "",
"callbackDatabasePassword": "",
"callbackpoolSize": "25",
"callbackpoolSize": "",

"testResourceGroup":"",
"testResourceServer":"",
Expand All @@ -71,24 +69,24 @@
"dataBrokerUserName": "",
"dataBrokerPassword": "",
"dataBrokerManagementPort": "",
"connectionTimeout": "6000",
"requestedHeartbeat": "60",
"handshakeTimeout": "6000",
"requestedChannelMax": "5",
"networkRecoveryInterval": "500",
"automaticRecoveryEnabled": "true",
"connectionTimeout": "",
"requestedHeartbeat": "",
"handshakeTimeout": "",
"requestedChannelMax": "",
"networkRecoveryInterval": "",
"automaticRecoveryEnabled": "",
"callbackDatabaseIP": "",
"callbackDatabasePort": "",
"callbackDatabaseName": "",
"callbackDatabaseUserName": "",
"callbackDatabasePassword": "",
"callbackpoolSize": "25"
"callbackpoolSize": ""
},
{
"id": "iudx.resource.server.apiserver.ApiServerVerticle",
"ssl": true,
"production": true,
"keystore": "configs/keystore.jks",
"keystore": "",
"keystorePassword": "",
"rsAdmin": "",
"verticleInstances": 2,
Expand All @@ -101,11 +99,20 @@
"lineCoords":"",
"temporalTime":"",
"temporalEndTime":"",
"qparamGreaterThan":"speed>30",
"qparamLessThan":"speed<500",
"qparamGreaterEquals":"speed>=30",
"qparamLessEquals":"speed<=50"
"qparamGreaterThan":"",
"qparamLessThan":"",
"qparamGreaterEquals":"",
"qparamLessEquals":""

},
{
"id": "iudx.resource.server.database.latest.LatestVerticle",
"verticleInstances": 2,
"redisHost": "",
"redisPort": 12345,
"redisUser": "",
"redisPassword": "",
"attributeList": {"key":"value"}
}
]
}
}
Binary file modified docs/rs_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,18 @@
<artifactId>jts2geojson</artifactId>
<version>0.14.1</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>io.vertx</groupId>-->
<!-- <artifactId>vertx-redis-client</artifactId>-->
<!-- <version>3.9.0</version>-->
<!-- </dependency>-->

<dependency>
<groupId>com.redislabs</groupId>
<artifactId>jrejson</artifactId>
<version>1.3.0</version>
</dependency>

</dependencies>


Expand Down Expand Up @@ -303,6 +315,9 @@
<configuration>
<source>11</source>
<target>11</target>
<annotationProcessors>
<annotationProcessor>io.vertx.codegen.CodeGenProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
</plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@
import iudx.resource.server.apiserver.validation.ValidationFailureHandler;
import iudx.resource.server.apiserver.validation.HTTPRequestValidatiorsHandlersFactory;
import iudx.resource.server.authenticator.AuthenticationService;
import iudx.resource.server.database.DatabaseService;
import iudx.resource.server.database.archives.DatabaseService;
import iudx.resource.server.database.latest.LatestDataService;
import iudx.resource.server.databroker.DataBrokerService;


Expand Down Expand Up @@ -78,6 +79,7 @@ public class ApiServerVerticle extends AbstractVerticle {
private static final String DATABASE_SERVICE_ADDRESS = "iudx.rs.database.service";
private static final String AUTH_SERVICE_ADDRESS = "iudx.rs.authentication.service";
private static final String BROKER_SERVICE_ADDRESS = "iudx.rs.broker.service";
private static final String LATEST_SEARCH_ADDRESS = "iudx.rs.latest.service";

private HttpServer server;
private Router router;
Expand All @@ -93,6 +95,8 @@ public class ApiServerVerticle extends AbstractVerticle {
private DataBrokerService databroker;
private AuthenticationService authenticator;
private Validator validator;

private LatestDataService latestDataService;

/**
* This method is used to start the Verticle. It deploys a verticle in a cluster, reads the
Expand Down Expand Up @@ -276,6 +280,7 @@ public void start() throws Exception {

databroker = DataBrokerService.createProxy(vertx, BROKER_SERVICE_ADDRESS);

latestDataService = LatestDataService.createProxy(vertx, LATEST_SEARCH_ADDRESS);

managementApi = new ManagementApiImpl();
subsService = new SubscriptionService();
Expand Down Expand Up @@ -319,7 +324,7 @@ private void handleLatestEntitiesQuery(RoutingContext routingContext) {
filtersFuture.onComplete(filtersHandler -> {
if (filtersHandler.succeeded()) {
json.put("applicableFilters", filtersHandler.result());
executeSearchQuery(json, response);
executeLatestSearchQuery(json, response);
} else {
LOGGER.error("catalogue item/group doesn't have filters.");
handleResponse(response, ResponseType.BadRequestData,
Expand Down Expand Up @@ -475,6 +480,19 @@ private void executeSearchQuery(JsonObject json, HttpServerResponse response) {
});
}

private void executeLatestSearchQuery(JsonObject json, HttpServerResponse response) {
latestDataService.getLatestData(json, handler -> {
if (handler.succeeded()) {
LOGGER.info("Latest data search succeeded");
handleSuccessResponse(response, ResponseType.Ok.getCode(),handler.result().toString());
} else {
LOGGER.error("Fail: Search Fail");
processBackendResponse(response, handler.cause().getMessage());
}
});
}


/**
* This method is used to handler all temporal NGSI-LD queries for endpoint
* /ngsi-ld/v1/temporal/**.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import io.vertx.core.json.JsonObject;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import iudx.resource.server.database.DatabaseService;
import iudx.resource.server.database.archives.DatabaseService;
import iudx.resource.server.databroker.DataBrokerService;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import iudx.resource.server.apiserver.util.Constants;
import iudx.resource.server.database.DatabaseService;
import iudx.resource.server.database.archives.DatabaseService;
import iudx.resource.server.databroker.DataBrokerService;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.apache.logging.log4j.Logger;
import iudx.resource.server.apiserver.response.ResponseType;
import iudx.resource.server.apiserver.util.Constants;
import iudx.resource.server.database.DatabaseService;
import iudx.resource.server.database.archives.DatabaseService;
import iudx.resource.server.databroker.DataBrokerService;

/**
Expand Down
Loading

0 comments on commit d62c997

Please sign in to comment.