diff --git a/src/main/java/org/gcube/spatial/data/sdi/plugins/MetadataPlugin.java b/src/main/java/org/gcube/spatial/data/sdi/plugins/MetadataPlugin.java index f195392..2513f99 100644 --- a/src/main/java/org/gcube/spatial/data/sdi/plugins/MetadataPlugin.java +++ b/src/main/java/org/gcube/spatial/data/sdi/plugins/MetadataPlugin.java @@ -14,7 +14,7 @@ import org.gcube.spatial.data.sdi.model.ServiceConstants; import org.gcube.spatial.data.sdi.proxies.DefaultMetadata; import org.w3c.dom.Node; -public class MetadataPlugin extends AbstractPlugin{ +public class MetadataPlugin extends SDIAbstractPlugin{ public MetadataPlugin() { super("sdi-service/gcube/service"); diff --git a/src/main/java/org/gcube/spatial/data/sdi/plugins/AbstractPlugin.java b/src/main/java/org/gcube/spatial/data/sdi/plugins/SDIAbstractPlugin.java similarity index 90% rename from src/main/java/org/gcube/spatial/data/sdi/plugins/AbstractPlugin.java rename to src/main/java/org/gcube/spatial/data/sdi/plugins/SDIAbstractPlugin.java index 16b3935..16a3b52 100644 --- a/src/main/java/org/gcube/spatial/data/sdi/plugins/AbstractPlugin.java +++ b/src/main/java/org/gcube/spatial/data/sdi/plugins/SDIAbstractPlugin.java @@ -8,13 +8,13 @@ import org.gcube.common.clients.Plugin; import org.gcube.spatial.data.sdi.interfaces.Metadata; import org.gcube.spatial.data.sdi.model.ServiceConstants; -public abstract class AbstractPlugin implements Plugin{ +public abstract class SDIAbstractPlugin implements Plugin{ private static final MetadataPlugin metadata_plugin=new MetadataPlugin(); - public static ProxyBuilder manager() { + public static ProxyBuilder metadata() { return new ProxyBuilderImpl(metadata_plugin); } @@ -39,7 +39,7 @@ public abstract class AbstractPlugin implements Plugin{ public final String name; - public AbstractPlugin(String name) { + public SDIAbstractPlugin(String name) { this.name = name; } diff --git a/src/test/java/org/gcube/spatial/data/sdi/MetadataTests.java b/src/test/java/org/gcube/spatial/data/sdi/MetadataTests.java new file mode 100644 index 0000000..3d34156 --- /dev/null +++ b/src/test/java/org/gcube/spatial/data/sdi/MetadataTests.java @@ -0,0 +1,16 @@ +package org.gcube.spatial.data.sdi; + +import org.gcube.spatial.data.sdi.interfaces.*; +import org.gcube.spatial.data.sdi.plugins.SDIAbstractPlugin; +import org.junit.Test; + +public class MetadataTests { + + @Test + public void getAvailableTemplatesTest(){ + TokenSetter.set("/gcube/devsec/devVRE"); + Metadata meta=SDIAbstractPlugin.metadata().build(); + System.out.println(meta.getAvailableTemplates()); + } + +} diff --git a/src/test/java/org/gcube/spatial/data/sdi/TokenSetter.java b/src/test/java/org/gcube/spatial/data/sdi/TokenSetter.java new file mode 100644 index 0000000..a6bdb1b --- /dev/null +++ b/src/test/java/org/gcube/spatial/data/sdi/TokenSetter.java @@ -0,0 +1,38 @@ +package org.gcube.spatial.data.sdi; + +import java.util.Properties; + +import org.gcube.common.authorization.library.provider.SecurityTokenProvider; +import org.gcube.common.scope.api.ScopeProvider; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class TokenSetter { + + + + private static Properties props=new Properties(); + + static{ + try { + props.load(TokenSetter.class.getResourceAsStream("/tokens.properties")); + } catch (Exception e) { + throw new RuntimeException("YOU NEED TO SET TOKEN FILE IN CONFIGURATION"); + } + } + + + public static void set(String scope){ + try{ + if(!props.containsKey(scope)) throw new RuntimeException("No token found for scope : "+scope); + SecurityTokenProvider.instance.set(props.getProperty(scope)); + }catch(Throwable e){ + log.warn("Unable to set token for scope "+scope,e); + } + ScopeProvider.instance.set(scope); + } + + + +} \ No newline at end of file