UCD Cache TTL
This commit is contained in:
parent
c44a8c851f
commit
66fcdfd72a
|
@ -85,7 +85,6 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
|
|||
// Check UseCaseDescriptor ID
|
||||
log.info("Loading useCaseDescriptor ID {} ",profileId);
|
||||
if(profileId==null) throw new InvalidParameterException("UseCaseDescriptor ID cannot be null");
|
||||
Map<String, UseCaseDescriptor> profiles=ImplementationProvider.get().getProvidedObjectByClass(ProfileMap.class);
|
||||
useCaseDescriptor = ImplementationProvider.get().getProvidedObjectByClass(UCDManagerI.class).getById(profileId);
|
||||
if(useCaseDescriptor == null )
|
||||
throw new WebApplicationException("UseCaseDescriptor " + profileId + " not registered", Response.Status.NOT_FOUND);
|
||||
|
|
|
@ -15,12 +15,26 @@ import org.gcube.application.geoportal.service.model.internal.faults.Registratio
|
|||
|
||||
import javax.ws.rs.WebApplicationException;
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.time.Duration;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.time.temporal.TemporalAmount;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import static java.lang.Thread.sleep;
|
||||
|
||||
/**
|
||||
* Provider of UCDManagerI (this)
|
||||
*
|
||||
* - nb on get should check / trigger cache refresh TTL
|
||||
* - uses UCDMongoManager for storing
|
||||
* - profile live map engine is discovered
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
public class UCDManager extends AbstractScopedMap<UCDManagerI> implements UCDManagerI {
|
||||
|
||||
|
@ -28,6 +42,7 @@ public class UCDManager extends AbstractScopedMap<UCDManagerI> implements UCDMan
|
|||
|
||||
public UCDManager() {
|
||||
super("UCD MANAGER");
|
||||
setTTL(Duration.of(1, ChronoUnit.MINUTES));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,30 @@
|
|||
package org.gcube.application.cms.notifications;
|
||||
|
||||
public class NotificationsPlugin {
|
||||
import org.gcube.application.cms.plugins.implementations.AbstractPlugin;
|
||||
import org.gcube.application.geoportal.common.model.plugins.PluginDescriptor;
|
||||
|
||||
public class NotificationsPlugin extends AbstractPlugin {
|
||||
|
||||
|
||||
@Override
|
||||
public PluginDescriptor getDescriptor() {
|
||||
/*
|
||||
Should basically perform something like
|
||||
curl --location --request POST 'https://api.dev.d4science.org/social-networking-library-ws/rest/2/notifications/catalogue' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSSklZNEpoNF9qdDdvNmREY0NlUDFfS1l0akcxVExXVW9oMkQ2Tzk1bFNBIn0.eyJleHAiOjE2NTEyMzY2MzgsImlhdCI6MTY1MTIzNjMzOCwiYXV0aF90aW1lIjoxNjUxMjM2MzM0LCJqdGkiOiI5OGE5NjliMy04N2EzLTRiZWYtOWQ1Yi0yYTUwMmM5YWNmZTEiLCJpc3MiOiJodHRwczovL2FjY291bnRzLmRldi5kNHNjaWVuY2Uub3JnL2F1dGgvcmVhbG1zL2Q0c2NpZW5jZSIsImF1ZCI6IiUyRmdjdWJlJTJGZGV2c2VjJTJGZGV2VlJFIiwic3ViIjoiNmE4MmY1ODctYzgwZS00OWUzLTg4YzYtYzExN2U5ZDhkM2Y3IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoibmV4dC5kNHNjaWVuY2Uub3JnIiwic2Vzc2lvbl9zdGF0ZSI6IjA2NzQ2ZDNkLTExNjYtNGVjMC1hZWZmLTBiY2Q2YTEzMTI0MiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiLyoiXSwicmVzb3VyY2VfYWNjZXNzIjp7ImNvbmR1Y3Rvci1zZXJ2ZXIiOnsicm9sZXMiOlsiY29uZHVjdG9yLW1hbmFnZXIiXX0sIiUyRmdjdWJlJTJGZGV2c2VjJTJGZGV2VlJFIjp7InJvbGVzIjpbIkRhdGEtTWFuYWdlciIsIlZSRS1NYW5hZ2VyIiwiTWVtYmVyIl19fSwiYXV0aG9yaXphdGlvbiI6eyJwZXJtaXNzaW9ucyI6W3sicnNpZCI6IjU3Mjg1NTEwLTM5MzktNGRlNy04ZmMxLWUzYTlkM2NjZTI4MSIsInJzbmFtZSI6IkRlZmF1bHQgUmVzb3VyY2UifV19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6Ik1hc3NpbWlsaWFuIEFzc2FudGUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJtYXNzaW1pbGlhbm8uYXNzYW50ZSIsImdpdmVuX25hbWUiOiJNYXNzaW1pbGlhbiIsImxvY2FsZSI6ImVuIiwiZmFtaWx5X25hbWUiOiJBc3NhbnRlIiwiZW1haWwiOiJtYXNzaW1pbGlhbm8uYXNzYW50ZUBpc3RpLmNuci5pdCJ9.b7TBRgsW0__3kl2H_ljcL7fSI9I1QaIqQq0Y7S90bWHtkRvmPkPyzWuGq9hhyN1kRg52Ue_3tEEDEkGgtceBEoZ0RAbpppkum7AJvjX6tKHF79k7wpnbxl7ED65VZFk0EazfC2w_n0WvPHQsb67zdwFeZk97G0pbjsVxYUBrhmnEMtXNzmAWaC0cc_-DriE5BBn3DjuWnaxXDxp3DB74YZoJmYR9HYN94c7Y0IV1XZxGFXLZ8V7UTfcJrGqulhF7HU79jd8hccZniam3NEfTZV-knJ4uEnupRHfMLBhnn1MGzxYFPN1xPIPgwiLSvRef7lK2sjI_bi6GAcT0sg5zwA' \
|
||||
--data-raw ' {
|
||||
"idsToNotify" : ["leonardo.candela", "luca.frosini"],
|
||||
"itemId" : "Conversational search dataset with labels",
|
||||
"notifyText" : "published the test item '\''Conversational search dataset with labels'\''",
|
||||
"itemURL" : "https://data.d4science.org/ctlg/ResourceCatalogue/conversational_dataset_with_labels",
|
||||
"idsAsGroup" : false,
|
||||
"type" : "ITEM_PUBLISHED"
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
"_id": "SDI-Indexer-Plugin",
|
||||
"_type": "Indexer",
|
||||
"_configuration": {
|
||||
"coordinatesPath" :[{"x" : "$.GE.GEC.GECX", "y" : "$.GE.GEC.GECY"}],
|
||||
"coordinatesPath" :[{"x" : "$._theDocument.GE.GEC.GECX", "y" : "$._theDocument.GE.GEC.GECY"}],
|
||||
"explicitFieldMapping": [],
|
||||
"additionalLayers": [
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue