From 73ca36949f96f6a3b9d49b60eb90cf6218d4414b Mon Sep 17 00:00:00 2001 From: Fabio Sinibaldi Date: Wed, 24 Mar 2021 17:38:52 +0100 Subject: [PATCH] Validation management (default false) --- .../gcube/usecases/ws/thredds/Constants.java | 2 ++ .../impl/threads/SynchronizationThread.java | 6 +++- .../model/SynchFolderConfiguration.java | 2 +- .../usecases/ws/thredds/SetValidate.java | 36 +++++++++++++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/gcube/usecases/ws/thredds/SetValidate.java diff --git a/src/main/java/org/gcube/usecases/ws/thredds/Constants.java b/src/main/java/org/gcube/usecases/ws/thredds/Constants.java index 6e5df5e..20823ea 100644 --- a/src/main/java/org/gcube/usecases/ws/thredds/Constants.java +++ b/src/main/java/org/gcube/usecases/ws/thredds/Constants.java @@ -21,6 +21,8 @@ public class Constants { public static final String SIS_PLUGIN_ID="SIS/GEOTK"; + public static final String SIS_PLUGIN_VALIDATE_PARAMETER="VALIDATE"; + public static class WorkspaceProperties{ // Folder diff --git a/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/threads/SynchronizationThread.java b/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/threads/SynchronizationThread.java index d79f756..196591f 100644 --- a/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/threads/SynchronizationThread.java +++ b/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/threads/SynchronizationThread.java @@ -104,7 +104,11 @@ public class SynchronizationThread implements Runnable { Set invocations=null; if(metadataItem==null) { log.debug("Metadata not found, asking SIS/GEOTK for generation.."); - invocations=Collections.singleton(new PluginInvocation(Constants.SIS_PLUGIN_ID)); + PluginInvocation inv=new PluginInvocation(Constants.SIS_PLUGIN_ID); + inv.setParameters(Collections.singletonMap(Constants.SIS_PLUGIN_VALIDATE_PARAMETER, synchConfig.getValidateMetadata()+"")); + invocations=Collections.singleton(inv); + + } log.info("Transferring to {} with invocations {} ",toSetDestination,invocations); diff --git a/src/main/java/org/gcube/usecases/ws/thredds/model/SynchFolderConfiguration.java b/src/main/java/org/gcube/usecases/ws/thredds/model/SynchFolderConfiguration.java index 6c2c671..9033be4 100644 --- a/src/main/java/org/gcube/usecases/ws/thredds/model/SynchFolderConfiguration.java +++ b/src/main/java/org/gcube/usecases/ws/thredds/model/SynchFolderConfiguration.java @@ -26,7 +26,7 @@ public class SynchFolderConfiguration { private String remotePersistence="thredds"; @NonNull - private Boolean validateMetadata=true; + private Boolean validateMetadata=false; @NonNull private String rootFolderId; diff --git a/src/test/java/org/gcube/usecases/ws/thredds/SetValidate.java b/src/test/java/org/gcube/usecases/ws/thredds/SetValidate.java new file mode 100644 index 0000000..dc4d51a --- /dev/null +++ b/src/test/java/org/gcube/usecases/ws/thredds/SetValidate.java @@ -0,0 +1,36 @@ +package org.gcube.usecases.ws.thredds; + +import java.util.Map; + +import org.gcube.common.storagehub.client.dsl.FolderContainer; +import org.gcube.common.storagehub.model.Metadata; +import org.gcube.common.storagehub.model.exceptions.StorageHubException; +import org.gcube.usecases.ws.thredds.engine.impl.WorkspaceFolderManager; +import org.gcube.usecases.ws.thredds.faults.WorkspaceInteractionException; + +public class SetValidate { + + public static void main(String[] args) throws WorkspaceInteractionException, StorageHubException { + String itemId="e4a0f901-5d8e-4b44-a947-4105d9b04a55"; + String context="/pred4s/preprod/preVRE"; + Boolean toSetValidate=false; + + + + TokenSetter.set(context); + + WorkspaceFolderManager mng=new WorkspaceFolderManager(itemId); + + FolderContainer folder=mng.getTheFolder(); + Metadata meta=folder.get().getMetadata(); + Map map=meta.getMap(); + + map.put(Constants.WorkspaceProperties.VALIDATE_METADATA,toSetValidate+""); + + + meta.setMap(map); + folder.setMetadata(meta); + System.out.println("DONE"); + } + +}