Setting the default workspace JDK as project JDK
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/private/luca.frosini/infrastructure-tests@179127 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
9b265df104
commit
cc9523d413
|
@ -22,7 +22,7 @@
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
|
1
.project
1
.project
|
@ -3,6 +3,7 @@
|
||||||
<name>infrastructure-tests</name>
|
<name>infrastructure-tests</name>
|
||||||
<comment></comment>
|
<comment></comment>
|
||||||
<projects>
|
<projects>
|
||||||
|
<project>resource-registry-context-client</project>
|
||||||
</projects>
|
</projects>
|
||||||
<buildSpec>
|
<buildSpec>
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
|
|
|
@ -1,5 +1,2 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
|
||||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
org.eclipse.jdt.core.compiler.source=1.8
|
|
||||||
|
|
111
pom.xml
111
pom.xml
|
@ -1,17 +1,19 @@
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
<modelVersion>4.0.0</modelVersion>
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
<parent>
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<groupId>org.gcube.tools</groupId>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>maven-parent</artifactId>
|
<parent>
|
||||||
<version>1.0.0</version>
|
<groupId>org.gcube.tools</groupId>
|
||||||
</parent>
|
<artifactId>maven-parent</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<artifactId>infrastructure-tests</artifactId>
|
<artifactId>infrastructure-tests</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
<name>Infrastructure Tests</name>
|
<name>Infrastructure Tests</name>
|
||||||
<description>Tests involving infrastructure interaction</description>
|
<description>Tests involving infrastructure interaction</description>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<distroDirectory>${project.basedir}/distro</distroDirectory>
|
<distroDirectory>${project.basedir}/distro</distroDirectory>
|
||||||
</properties>
|
</properties>
|
||||||
|
@ -49,13 +51,17 @@
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.common</groupId>
|
<groupId>org.gcube.common</groupId>
|
||||||
<artifactId>context-enumeration</artifactId>
|
<artifactId>context-enumeration</artifactId>
|
||||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-math3</artifactId>
|
||||||
|
<version>3.6.1</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.common</groupId>
|
<groupId>org.gcube.common</groupId>
|
||||||
<artifactId>authorization-client</artifactId>
|
<artifactId>authorization-client</artifactId>
|
||||||
|
@ -79,26 +85,12 @@
|
||||||
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--
|
<!-- <dependency> <groupId>org.gcube.data.publishing</groupId> <artifactId>document-store-lib-couchdb</artifactId>
|
||||||
<dependency>
|
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version> <scope>test</scope> </dependency>
|
||||||
<groupId>org.gcube.data.publishing</groupId>
|
<dependency> <groupId>org.gcube.common</groupId> <artifactId>couchdb-connector</artifactId>
|
||||||
<artifactId>document-store-lib-couchdb</artifactId>
|
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version> <scope>test</scope> </dependency>
|
||||||
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
<dependency> <groupId>org.gcube.data.publishing</groupId> <artifactId>document-store-lib-mongodb</artifactId>
|
||||||
<scope>test</scope>
|
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version> <scope>test</scope> </dependency> -->
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.common</groupId>
|
|
||||||
<artifactId>couchdb-connector</artifactId>
|
|
||||||
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.data.publishing</groupId>
|
|
||||||
<artifactId>document-store-lib-mongodb</artifactId>
|
|
||||||
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
-->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.data.publishing</groupId>
|
<groupId>org.gcube.data.publishing</groupId>
|
||||||
<artifactId>document-store-lib-accounting-service</artifactId>
|
<artifactId>document-store-lib-accounting-service</artifactId>
|
||||||
|
@ -108,7 +100,29 @@
|
||||||
|
|
||||||
<!-- END Document Store Lib -->
|
<!-- END Document Store Lib -->
|
||||||
|
|
||||||
<!-- Home Library dependencies MUST be removed when the storagehub add missing features -->
|
<dependency>
|
||||||
|
<groupId>org.gcube.information-system</groupId>
|
||||||
|
<artifactId>resource-registry-context-client</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.information-system</groupId>
|
||||||
|
<artifactId>resource-registry-schema-client</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.information-system</groupId>
|
||||||
|
<artifactId>resource-registry-publisher</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.information-system</groupId>
|
||||||
|
<artifactId>resource-registry-context-client</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Home Library dependencies MUST be removed when the storagehub add
|
||||||
|
missing features -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.common</groupId>
|
<groupId>org.gcube.common</groupId>
|
||||||
<artifactId>home-library-jcr</artifactId>
|
<artifactId>home-library-jcr</artifactId>
|
||||||
|
@ -119,7 +133,7 @@
|
||||||
<artifactId>home-library</artifactId>
|
<artifactId>home-library</artifactId>
|
||||||
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
|
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- END of Home Library dependencies -->
|
<!-- END of Home Library dependencies -->
|
||||||
|
|
||||||
<!-- Accounting Libraries -->
|
<!-- Accounting Libraries -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -134,17 +148,11 @@
|
||||||
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--
|
<!-- <dependency> <groupId>org.gcube.accounting</groupId> <artifactId>accounting-analytics-persistence-couchdb</artifactId>
|
||||||
|
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version> <scope>test</scope> </dependency> -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.accounting</groupId>
|
<groupId>org.gcube.accounting</groupId>
|
||||||
<artifactId>accounting-analytics-persistence-couchdb</artifactId>
|
<artifactId>accounting-analytics-persistence-couchbase</artifactId>
|
||||||
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
-->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.accounting</groupId>
|
|
||||||
<artifactId>accounting-analytics-persistence-couchbase</artifactId>
|
|
||||||
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
@ -161,7 +169,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.vremanagement</groupId>
|
<groupId>org.gcube.vremanagement</groupId>
|
||||||
<artifactId>smart-executor-client</artifactId>
|
<artifactId>smart-executor-client</artifactId>
|
||||||
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
|
<version>1.6.0-SNAPSHOT</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
@ -173,7 +181,7 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.accounting</groupId>
|
<groupId>org.gcube.accounting</groupId>
|
||||||
<artifactId>accounting-aggregator-se-plugin</artifactId>
|
<artifactId>accounting-aggregator-se-plugin</artifactId>
|
||||||
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
@ -191,13 +199,8 @@
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!--
|
<!-- <dependency> <groupId>org.gcube.information-system</groupId> <artifactId>resource-registry</artifactId>
|
||||||
<dependency>
|
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version> <scope>test</scope> </dependency -->
|
||||||
<groupId>org.gcube.information-system</groupId>
|
|
||||||
<artifactId>resource-registry</artifactId>
|
|
||||||
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency -->
|
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -32,13 +32,18 @@ public class ContextAuthorizationTest extends ContextTest {
|
||||||
@Test
|
@Test
|
||||||
public void generateApplicationToken() throws Exception {
|
public void generateApplicationToken() throws Exception {
|
||||||
ContextTest.setContextByName("/d4science.research-infrastructures.eu");
|
ContextTest.setContextByName("/d4science.research-infrastructures.eu");
|
||||||
|
//ContextTest.setContextByName("/pred4s");
|
||||||
|
// ContextTest.setContextByName("/gcube");
|
||||||
|
|
||||||
|
String context = "/d4science.research-infrastructures.eu/ParthenosVO/PARTHENOS_Registry";
|
||||||
|
//String context = "/pred4s/preprod/preVRE";
|
||||||
|
// String context = "/gcube/devNext/NextNext";
|
||||||
|
|
||||||
String context = "/d4science.research-infrastructures.eu";
|
|
||||||
UserInfo userInfo = new UserInfo("luca.frosini",new ArrayList<>());
|
UserInfo userInfo = new UserInfo("luca.frosini",new ArrayList<>());
|
||||||
String userToken = authorizationService().generateUserToken(userInfo, context);
|
String userToken = authorizationService().generateUserToken(userInfo, context);
|
||||||
SecurityTokenProvider.instance.set(userToken);
|
SecurityTokenProvider.instance.set(userToken);
|
||||||
|
|
||||||
String applicationName = "nagios.check";
|
String applicationName = "gCat";
|
||||||
String generatedToken = authorizationService().generateExternalServiceToken(applicationName);
|
String generatedToken = authorizationService().generateExternalServiceToken(applicationName);
|
||||||
|
|
||||||
logger.trace("Application Token for application {} in Context {} is {}", applicationName,
|
logger.trace("Application Token for application {} in Context {} is {}", applicationName,
|
||||||
|
@ -48,9 +53,11 @@ public class ContextAuthorizationTest extends ContextTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void generateHostToken() throws Exception {
|
public void generateHostToken() throws Exception {
|
||||||
String currentContext = ContextUtility.getCurrentContext();
|
ContextTest.setContextByName("/d4science.research-infrastructures.eu");
|
||||||
String host = "pc-frosini.isti.cnr.it";
|
String currentContext = "/d4science.research-infrastructures.eu/ParthenosVO/PARTHENOS_Registry"; //ContextUtility.getCurrentContext();
|
||||||
int port = 8080;
|
|
||||||
|
String host = "gcat.d4science.org";
|
||||||
|
int port = 80;
|
||||||
|
|
||||||
ContainerInfo containerInfo = new ContainerInfo(host, port);
|
ContainerInfo containerInfo = new ContainerInfo(host, port);
|
||||||
String tokenNode = authorizationService().requestActivation(containerInfo, currentContext);
|
String tokenNode = authorizationService().requestActivation(containerInfo, currentContext);
|
||||||
|
|
|
@ -9,6 +9,7 @@ import org.gcube.common.authorization.library.provider.ClientInfo;
|
||||||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
import org.gcube.common.authorization.library.utils.Caller;
|
import org.gcube.common.authorization.library.utils.Caller;
|
||||||
import org.gcube.common.scope.api.ScopeProvider;
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
|
import org.junit.Test;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -78,4 +79,9 @@ public class ContextUtility {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testToken() throws Exception {
|
||||||
|
ContextUtility.setContext("853c52cb-293e-4c76-b9f3-b36583e190d9-843339462");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,150 @@
|
||||||
|
package org.gcube.informationsystem.deliverable65;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
|
import org.gcube.informationsystem.model.impl.entities.ContextImpl;
|
||||||
|
import org.gcube.informationsystem.model.impl.properties.PropagationConstraintImpl;
|
||||||
|
import org.gcube.informationsystem.model.impl.relations.IsIdentifiedByImpl;
|
||||||
|
import org.gcube.informationsystem.model.reference.entities.Context;
|
||||||
|
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||||
|
import org.gcube.informationsystem.model.reference.entities.Resource;
|
||||||
|
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint;
|
||||||
|
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint.AddConstraint;
|
||||||
|
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint.RemoveConstraint;
|
||||||
|
import org.gcube.informationsystem.model.reference.relations.IsIdentifiedBy;
|
||||||
|
import org.gcube.informationsystem.resourceregistry.context.ResourceRegistryContextClient;
|
||||||
|
import org.gcube.informationsystem.resourceregistry.context.ResourceRegistryContextClientFactory;
|
||||||
|
import org.gcube.informationsystem.resourceregistry.publisher.ResourceRegistryPublisher;
|
||||||
|
import org.gcube.informationsystem.resourceregistry.publisher.ResourceRegistryPublisherFactory;
|
||||||
|
import org.gcube.informationsystem.resourceregistry.schema.ResourceRegistrySchemaClient;
|
||||||
|
import org.gcube.informationsystem.resourceregistry.schema.ResourceRegistrySchemaClientFactory;
|
||||||
|
import org.gcube.resourcemanagement.model.impl.entities.facets.CPUFacetImpl;
|
||||||
|
import org.gcube.resourcemanagement.model.impl.entities.facets.NetworkingFacetImpl;
|
||||||
|
import org.gcube.resourcemanagement.model.impl.entities.resources.HostingNodeImpl;
|
||||||
|
import org.gcube.resourcemanagement.model.impl.relations.isrelatedto.ActivatesImpl;
|
||||||
|
import org.gcube.resourcemanagement.model.impl.relations.isrelatedto.HostsImpl;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.entities.facets.CPUFacet;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactFacet;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.entities.facets.NetworkingFacet;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.entities.resources.Actor;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.entities.resources.EService;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.entities.resources.HostingNode;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.properties.AccessPolicy;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.relations.consistsof.HasContact;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Activates;
|
||||||
|
import org.gcube.resourcemanagement.model.reference.relations.isrelatedto.Hosts;
|
||||||
|
|
||||||
|
public class CodeExamplesDeliverablesD65 {
|
||||||
|
|
||||||
|
public void contextClientExamples() throws Exception {
|
||||||
|
SecurityTokenProvider.instance.set("Your-Token-Here");
|
||||||
|
ResourceRegistryContextClient resourceRegistryContextClient = ResourceRegistryContextClientFactory.create();
|
||||||
|
|
||||||
|
Context parthenosInfrastructure = new ContextImpl("ParthenosInfrastructure");
|
||||||
|
resourceRegistryContextClient.create(parthenosInfrastructure);
|
||||||
|
|
||||||
|
Context parthenosVO = new ContextImpl("ParthenosVO");
|
||||||
|
parthenosVO.setParent(parthenosInfrastructure);
|
||||||
|
resourceRegistryContextClient.create(parthenosVO);
|
||||||
|
|
||||||
|
resourceRegistryContextClient.read("30f6254c-c87a-451e-bc0f-7cfcbd94a84a");
|
||||||
|
|
||||||
|
// resourceRegistryContextClient.exists("30f6254c-c87a-451e-bc0f-7cfcbd94a84a");
|
||||||
|
|
||||||
|
|
||||||
|
parthenosVO.setName("ParthenosCommunity");
|
||||||
|
Context parthenosCommunity = resourceRegistryContextClient.update(parthenosVO);
|
||||||
|
|
||||||
|
parthenosCommunity.setParent((Context) null);
|
||||||
|
resourceRegistryContextClient.update(parthenosCommunity);
|
||||||
|
|
||||||
|
|
||||||
|
resourceRegistryContextClient.delete(parthenosCommunity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void schemaClientExamples() throws Exception {
|
||||||
|
SecurityTokenProvider.instance.set("Your-Token-Here");
|
||||||
|
ResourceRegistrySchemaClient resourceRegistrySchemaClient = ResourceRegistrySchemaClientFactory.create();
|
||||||
|
|
||||||
|
resourceRegistrySchemaClient.create(Actor.class);
|
||||||
|
|
||||||
|
resourceRegistrySchemaClient.create(ContactFacet.class);
|
||||||
|
|
||||||
|
resourceRegistrySchemaClient.create(Hosts.class);
|
||||||
|
|
||||||
|
resourceRegistrySchemaClient.create(HasContact.class);
|
||||||
|
|
||||||
|
resourceRegistrySchemaClient.create(AccessPolicy.class);
|
||||||
|
|
||||||
|
resourceRegistrySchemaClient.read("Actor", true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void instancesExamples() throws Exception {
|
||||||
|
SecurityTokenProvider.instance.set("Your-Token-Here");
|
||||||
|
ResourceRegistryPublisher resourceRegistryPublisher = ResourceRegistryPublisherFactory.create();
|
||||||
|
|
||||||
|
CPUFacet cpuFacet = new CPUFacetImpl();
|
||||||
|
cpuFacet.setClockSpeed("1 GHz");
|
||||||
|
cpuFacet.setModel("Opteron");
|
||||||
|
cpuFacet.setVendor("AMD");
|
||||||
|
|
||||||
|
CPUFacet createdCpuFacet = resourceRegistryPublisher.create(cpuFacet);
|
||||||
|
UUID uuid = createdCpuFacet.getHeader().getUUID(); // 69f0b376-38d2-4a85-bc63-37f9fa323f82
|
||||||
|
|
||||||
|
createdCpuFacet.setClockSpeed("2 GHz");
|
||||||
|
CPUFacet updatedCpuFacet = resourceRegistryPublisher.update(createdCpuFacet);
|
||||||
|
|
||||||
|
boolean deleted = resourceRegistryPublisher.delete(createdCpuFacet);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void instancesExamples2() throws Exception {
|
||||||
|
SecurityTokenProvider.instance.set("Your-Token-Here");
|
||||||
|
ResourceRegistryPublisher resourceRegistryPublisher = ResourceRegistryPublisherFactory.create();
|
||||||
|
|
||||||
|
EService eService = null;
|
||||||
|
|
||||||
|
NetworkingFacet networkingFacet = new NetworkingFacetImpl();
|
||||||
|
networkingFacet.setIPAddress("146.48.87.183");
|
||||||
|
networkingFacet.setHostName("pc-frosini.isti.cnr.it");
|
||||||
|
networkingFacet.setDomainName("isti.cnr.it");
|
||||||
|
networkingFacet.setMask("255.255.248.0");
|
||||||
|
networkingFacet.setBroadcastAddress("146.48.87.255");
|
||||||
|
|
||||||
|
networkingFacet = resourceRegistryPublisher.createFacet(networkingFacet);
|
||||||
|
|
||||||
|
HostingNode hostingNode = new HostingNodeImpl();
|
||||||
|
|
||||||
|
CPUFacet cpuFacet = new CPUFacetImpl();
|
||||||
|
cpuFacet.setClockSpeed("2 GHz");
|
||||||
|
cpuFacet.setModel("Opteron");
|
||||||
|
cpuFacet.setVendor("AMD");
|
||||||
|
hostingNode.addFacet(cpuFacet);
|
||||||
|
|
||||||
|
IsIdentifiedByImpl<Resource,Facet> isIdentifiedBy = new IsIdentifiedByImpl<Resource, Facet>(hostingNode, networkingFacet, null);
|
||||||
|
hostingNode.addFacet(isIdentifiedBy);
|
||||||
|
|
||||||
|
PropagationConstraint propagationConstraint = new PropagationConstraintImpl();
|
||||||
|
propagationConstraint.setRemoveConstraint(RemoveConstraint.cascade);
|
||||||
|
propagationConstraint.setAddConstraint(AddConstraint.unpropagate);
|
||||||
|
|
||||||
|
Activates<HostingNode, EService> hosts = new ActivatesImpl<HostingNode, EService>(hostingNode, eService, propagationConstraint);
|
||||||
|
hostingNode.attachResource(hosts);
|
||||||
|
|
||||||
|
hostingNode = resourceRegistryPublisher.createResource(hostingNode);
|
||||||
|
|
||||||
|
|
||||||
|
/* update */
|
||||||
|
|
||||||
|
networkingFacet = (NetworkingFacet) hostingNode.getIdentificationFacets().get(0);
|
||||||
|
networkingFacet.setAdditionalProperty("username", "luca.frosini");
|
||||||
|
cpuFacet = hostingNode.getFacets(CPUFacet.class).get(0);
|
||||||
|
cpuFacet.setClockSpeed("1 GHz");
|
||||||
|
|
||||||
|
hostingNode = resourceRegistryPublisher.updateResource(hostingNode);
|
||||||
|
|
||||||
|
boolean deleted = resourceRegistryPublisher.deleteResource(hostingNode);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,106 @@
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosInfrastructure",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "2705dd32-c857-444b-818a-3ec69e339e5d"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosInfrastructure",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "2705dd32-c857-444b-818a-3ec69e339e5d",
|
||||||
|
"creator": "luca.frosini",
|
||||||
|
"modifiedBy": "luca.frosini",
|
||||||
|
"creationTime": "2017-03-1711:47:55",
|
||||||
|
"lastUpdateTime": "2017-03-17 11:47:55"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosVO",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "30f6254c-c87a-451e-bc0f-7cfcbd94a84a" },
|
||||||
|
"parent" : "2705dd32-c857-444b-818a-3ec69e339e5d"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosVO",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "30f6254c-c87a-451e-bc0f-7cfcbd94a84a",
|
||||||
|
"creator": "luca.frosini",
|
||||||
|
"modifiedBy": "luca.frosini",
|
||||||
|
"creationTime": "2017-03-17 11:47:56",
|
||||||
|
"lastUpdateTime": "2017-03-17 11:47:56"
|
||||||
|
},
|
||||||
|
"parent" : "2705dd32-c857-444b-818a-3ec69e339e5d"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosVO",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "30f6254c-c87a-451e-bc0f-7cfcbd94a84a",
|
||||||
|
"creator": "luca.frosini",
|
||||||
|
"modifiedBy": "luca.frosini",
|
||||||
|
"creationTime": "2017-03-17 11:47:56",
|
||||||
|
"lastUpdateTime": "2017-03-17 11:47:56"
|
||||||
|
},
|
||||||
|
"parent" : "2705dd32-c857-444b-818a-3ec69e339e5d"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosCommunity",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "30f6254c-c87a-451e-bc0f-7cfcbd94a84a"
|
||||||
|
},
|
||||||
|
"parent" : "2705dd32-c857-444b-818a-3ec69e339e5d"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosCommunity",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "30f6254c-c87a-451e-bc0f-7cfcbd94a84a",
|
||||||
|
"creator": "luca.frosini",
|
||||||
|
"modifiedBy": "luca.frosini",
|
||||||
|
"creationTime": "2017-03-17 11:47:56",
|
||||||
|
"lastUpdateTime": "2017-03-17 11:57:36"
|
||||||
|
},
|
||||||
|
"parent" : "2705dd32-c857-444b-818a-3ec69e339e5d"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosCommunity",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "30f6254c-c87a-451e-bc0f-7cfcbd94a84a"
|
||||||
|
},
|
||||||
|
"parent" : null
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "Context",
|
||||||
|
"name": "ParthenosCommunity",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "30f6254c-c87a-451e-bc0f-7cfcbd94a84a",
|
||||||
|
"creator": "luca.frosini",
|
||||||
|
"modifiedBy": "luca.frosini",
|
||||||
|
"creationTime": "2017-03-17 11:47:56",
|
||||||
|
"lastUpdateTime": "2017-03-17 11:58:21"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,252 @@
|
||||||
|
{
|
||||||
|
"@class": "CPUFacet",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "69f0b376-38d2-4a85-bc63-37f9fa323f82"
|
||||||
|
},
|
||||||
|
"model": "Opteron",
|
||||||
|
"vendor": "AMD",
|
||||||
|
"clockSpeed": "1 GHz"
|
||||||
|
}{
|
||||||
|
"@class": "CPUFacet",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "69f0b376-38d2-4a85-bc63-37f9fa323f82",
|
||||||
|
"creator": "luca.frosini",
|
||||||
|
"modifiedBy": "luca.frosini",
|
||||||
|
"creationTime": "2016-10-05 11:16:24",
|
||||||
|
"lastUpdateTime": "2016-10-05 11:16:24"
|
||||||
|
},
|
||||||
|
"model": "Opteron",
|
||||||
|
"vendor": "AMD",
|
||||||
|
"clockSpeed": "1 GHz"
|
||||||
|
}{
|
||||||
|
"@class": "CPUFacet",
|
||||||
|
"header": {
|
||||||
|
"uuid": "69f0b376-38d2-4a85-bc63-37f9fa323f82"
|
||||||
|
},
|
||||||
|
/* only the UUID is checked and must be the same of the UUID provided in the URL*/
|
||||||
|
"model": "Opteron",
|
||||||
|
"vendor": "AMD",
|
||||||
|
"clockSpeed": "2 GHz"
|
||||||
|
}{
|
||||||
|
"@class": "CPUFacet",
|
||||||
|
"header": {
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "69f0b376-38d2-4a85-bc63-37f9fa323f82",
|
||||||
|
"creator": "luca.frosini",
|
||||||
|
"modifiedBy": "luca.frosini",
|
||||||
|
"creationTime": "2016-10-05 11:16:24",
|
||||||
|
"lastUpdateTime": "2016-10-05 11:18:33"
|
||||||
|
},
|
||||||
|
"model": "Opteron",
|
||||||
|
"vendor": "AMD",
|
||||||
|
"clockSpeed": "2 GHz"
|
||||||
|
}{
|
||||||
|
"@class": "HostingNode",
|
||||||
|
"header": {
|
||||||
|
"uuid": "670eeabf-76c7-493f-a449-4e6e139a2e84",
|
||||||
|
...
|
||||||
|
}"consistsOf": [
|
||||||
|
{
|
||||||
|
"@class": "ConsistsOf",
|
||||||
|
"target": {
|
||||||
|
"@class": "CPUFacet",
|
||||||
|
"model": "Opteron",
|
||||||
|
"vendor": "AMD",
|
||||||
|
"clockSpeed": "3 GHz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@class": "IsIdentifiedBy",
|
||||||
|
"target": {
|
||||||
|
"@class": "NetworkingFacet",
|
||||||
|
"ipAddress": "146.48.87.183",
|
||||||
|
"hostName": "pc-frosini.isti.cnr.it",
|
||||||
|
"domainName": "isti.cnr.it",
|
||||||
|
"mask": "255.255.248.0",
|
||||||
|
"broadcastAddress": "146.48.87.255"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"isRelatedTo": [
|
||||||
|
{
|
||||||
|
"@class": "Hosts",
|
||||||
|
"propagationConstraint": {
|
||||||
|
"add": "unpropagate",
|
||||||
|
"remove": "cascade"
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": " EService",
|
||||||
|
"header": {
|
||||||
|
"uuid": "9bff49c8-c0a7-45de-827c-accb71defbd3"
|
||||||
|
} /* The EService was already created, so the UUID is enough to attach it by using Hosts relation */
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}{
|
||||||
|
"@class": "HostingNode",
|
||||||
|
"header": {
|
||||||
|
"uuid": "670eeabf-76c7-493f-a449-4e6e139a2e84",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"consistsOf": [
|
||||||
|
{
|
||||||
|
"@class": "ConsistsOf",
|
||||||
|
"header": {
|
||||||
|
"uuid": "9d0b1b2b-ac4e-40a9-8dea-bec90076e0ca",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": "CPUFacet",
|
||||||
|
"header": {
|
||||||
|
"uuid": "1daef6a8-5ca4-4700-844b-2a2d784e17b0",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"model": "Opteron",
|
||||||
|
"vendor": "AMD",
|
||||||
|
"clockSpeed": "1 GHz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@class": "IsIdentifiedBy",
|
||||||
|
"header": {
|
||||||
|
"uuid": "02a7072c-4f72-4568-945b-9ddccc881e9f",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": "NetworkingFacet",
|
||||||
|
"header": {
|
||||||
|
"uuid": "59617b01-5856-4d8e-b85c-590a42039933",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"ipAddress": "146.48.87.183",
|
||||||
|
"hostName": "pc-frosini.isti.cnr.it",
|
||||||
|
"domainName": "isti.cnr.it",
|
||||||
|
"mask": "255.255.248.0",
|
||||||
|
"broadcastAddress": "146.48.87.255"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"isRelatedTo": [
|
||||||
|
{
|
||||||
|
"@class": "Hosts",
|
||||||
|
"header": {
|
||||||
|
"uuid": "47494ad0-e606-4630-9def-4c607761ae14",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"propagationConstraint": {
|
||||||
|
"add": "unpropagate",
|
||||||
|
"remove": "cascade"
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": "EService",
|
||||||
|
"header": {
|
||||||
|
"uuid": "9bff49c8-c0a7-45de-827c-accb71defbd3",
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}{
|
||||||
|
"@class": "HostingNode",
|
||||||
|
"header": {
|
||||||
|
"uuid": "670eeabf-76c7-493f-a449-4e6e139a2e84",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"consistsOf": [
|
||||||
|
{
|
||||||
|
"@class": "ConsistsOf",
|
||||||
|
"header": {
|
||||||
|
"uuid": "9d0b1b2b-ac4e-40a9-8dea-bec90076e0ca",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": "CPUFacet",
|
||||||
|
"header": {
|
||||||
|
"uuid": "1daef6a8-5ca4-4700-844b-2a2d784e17b0",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"model": "Opteron",
|
||||||
|
"vendor": "AMD",
|
||||||
|
/* Updated the following property */
|
||||||
|
"clockSpeed": "1 GHz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@class": "IsIdentifiedBy",
|
||||||
|
"header": {
|
||||||
|
"uuid": "02a7072c-4f72-4568-945b-9ddccc881e9f",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": "NetworkingFacet",
|
||||||
|
"header": {
|
||||||
|
"uuid": "59617b01-5856-4d8e-b85c-590a42039933",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"ipAddress": "146.48.87.183",
|
||||||
|
"hostName": "pc-frosini.isti.cnr.it",
|
||||||
|
"domainName": "isti.cnr.it",
|
||||||
|
"mask": "255.255.248.0",
|
||||||
|
"broadcastAddress": "146.48.87.255",
|
||||||
|
/* Added the following property */
|
||||||
|
"username": "luca.frosini"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "IsIdentifiedBy",
|
||||||
|
"header": {
|
||||||
|
"uuid": "02a7072c-4f72-4568-945b-9ddccc881e9f",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"@class": "HostingNode",
|
||||||
|
// The HostingNode must be already created. The header with UUID is enough.
|
||||||
|
"header": {
|
||||||
|
"uuid": "670eeabf-76c7-493f-a449-4e6e139a2e84"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": "NetworkingFacet",
|
||||||
|
/* The NetworkingFacet already exists, so the UUID is enough to attach it by using IsIdentifiedBy relation */
|
||||||
|
"header": {
|
||||||
|
"uuid": "59617b01-5856-4d8e-b85c-590a42039933"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"@class": "IsIdentifiedBy",
|
||||||
|
"header": {
|
||||||
|
"uuid": "02a7072c-4f72-4568-945b-9ddccc881e9f",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"propagationConstraint": {
|
||||||
|
"add": "propagate",
|
||||||
|
"remove": "cascadeWhenOrphan"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"@class": "HostingNode",
|
||||||
|
"header": {
|
||||||
|
"uuid": "670eeabf-76c7-493f-a449-4e6e139a2e84"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"@class": "NetworkingFacet",
|
||||||
|
"header": {
|
||||||
|
"uuid": "59617b01-5856-4d8e-b85c-590a42039933",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"ipAddress": "146.48.87.183",
|
||||||
|
"hostName": "pc-frosini.isti.cnr.it",
|
||||||
|
"domainName": "isti.cnr.it",
|
||||||
|
"mask": "255.255.248.0",
|
||||||
|
"broadcastAddress": "146.48.87.255"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,118 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"@class": "EService",
|
||||||
|
"header": {
|
||||||
|
"uuid": "0717b450-a698-11e2-900a-a46c6ff57f05",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"consistsOf": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
"isRelatedTo": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
},
|
||||||
|
...,
|
||||||
|
{
|
||||||
|
"@class": "EService",
|
||||||
|
"header": {
|
||||||
|
"uuid": "3b6061f9-e2ab-4c01-b3b2-48b470a5b8a",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"consistsOf": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
"isRelatedTo": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"@class": "RunningPlugin",
|
||||||
|
"header": {
|
||||||
|
"uuid": "66d69dab-203e-45ff-b49e-a8fa4126a392",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
,
|
||||||
|
"consistsOf": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
"isRelatedTo": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
},
|
||||||
|
...,
|
||||||
|
{
|
||||||
|
"@class": "EService",
|
||||||
|
"header": {
|
||||||
|
"uuid": "0717b450-a698-11e2-900a-a46c6ff57f05",
|
||||||
|
...
|
||||||
|
},
|
||||||
|
,
|
||||||
|
"consistsOf": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
"isRelatedTo": [
|
||||||
|
...
|
||||||
|
],
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"result": [
|
||||||
|
{
|
||||||
|
"@type": "d",
|
||||||
|
"@rid": "#99:5",
|
||||||
|
"@version": 12,
|
||||||
|
"@class": "SoftwareFacet",
|
||||||
|
"header": {
|
||||||
|
"@type": "d",
|
||||||
|
"@version": 0,
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "6b724a7c-9f51-4a4e-8e8e-1636ca2e9d29",
|
||||||
|
"creator": "VREManagement:WhnManager:pc-frosini.isti.cnr.it_8080",
|
||||||
|
"creationTime": "2017-10-05 16:09:02.618 +0200",
|
||||||
|
"lastUpdateTime": "2017-10-05 17:23:44.191 +0200",
|
||||||
|
"@fieldTypes": "creationTime=t,lastUpdateTime=t"
|
||||||
|
},
|
||||||
|
"name": "WhnManager",
|
||||||
|
"description": "Web Hosting Node Service",
|
||||||
|
"optional": false,
|
||||||
|
"version": "2.0.0-SNAPSHOT",
|
||||||
|
"group": "VREManagement",
|
||||||
|
"in_IsIdentifiedBy": [
|
||||||
|
"#168:5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "d",
|
||||||
|
"@rid": "#99:6",
|
||||||
|
"@version": 5,
|
||||||
|
"@class": "SoftwareFacet",
|
||||||
|
"header": {
|
||||||
|
"@type": "d",
|
||||||
|
"@version": 0,
|
||||||
|
"@class": "Header",
|
||||||
|
"uuid": "bc98eec4-4365-49fd-83b3-2cacaf17f8bf",
|
||||||
|
"creator": "VREManagement:SmartExecutor:pc-frosini.isti.cnr.it_8080",
|
||||||
|
"creationTime": "2017-10-05 17:22:06.351 +0200",
|
||||||
|
"lastUpdateTime": "2017-10-05 17:23:44.206 +0200",
|
||||||
|
"@fieldTypes": "creationTime=t,lastUpdateTime=t"
|
||||||
|
},
|
||||||
|
"name": "SmartExecutor",
|
||||||
|
"description": "Smart Executor Service",
|
||||||
|
"optional": false,
|
||||||
|
"version": "1.7.0-SNAPSHOT",
|
||||||
|
"group": "VREManagement",
|
||||||
|
"in_IsIdentifiedBy": [
|
||||||
|
"#168:6"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"notification": "Query executed in 0.147 sec. Returned 2 record(s)"
|
||||||
|
}
|
|
@ -0,0 +1,104 @@
|
||||||
|
{
|
||||||
|
"name": "Actor",
|
||||||
|
"description": "Any entity (human or machine) playing an active role.",
|
||||||
|
"abstractType": true,
|
||||||
|
"superclasses": ["Resource"],
|
||||||
|
"facets": [
|
||||||
|
/*...*/
|
||||||
|
],
|
||||||
|
"resources": [
|
||||||
|
/*...*/
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "ContactFacet",
|
||||||
|
"description": "This facet is expected to capture contact information",
|
||||||
|
"abstractType": false,
|
||||||
|
"superclasses":["Facet"],
|
||||||
|
"properties":[
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"description": "First Name",
|
||||||
|
"mandatory": true,
|
||||||
|
"readonly": false,
|
||||||
|
"notnull": true,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"regexpr": null,
|
||||||
|
"linkedType": null,
|
||||||
|
"linkedClass": null,
|
||||||
|
"type": 7 /* String*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "eMail",
|
||||||
|
"description": "A restricted range of RFC 822 compliant email address. ... ",
|
||||||
|
"mandatory": true,
|
||||||
|
"readonly": false,
|
||||||
|
"notnull": true,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"regexpr":"^[a-z0-9._%+-]{1,128}@[a-z0-9.-]{1,128}$",
|
||||||
|
"linkedType": null,
|
||||||
|
"linkedClass": null,
|
||||||
|
"type":7 /* String */
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "Hosts",
|
||||||
|
"description": "…",
|
||||||
|
"abstractType": false,
|
||||||
|
"superclasses": ["IsRelatedTo"],
|
||||||
|
"properties": null,
|
||||||
|
"source": "Site",
|
||||||
|
"target": "Service"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "HasContact",
|
||||||
|
"description": "…",
|
||||||
|
"abstractType": false,
|
||||||
|
"superclasses": ["ConsistsOf"],
|
||||||
|
"properties": null,
|
||||||
|
"source": "Resource",
|
||||||
|
"target": "ContactFacet"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "AccessPolicy",
|
||||||
|
"description": "",
|
||||||
|
"abstractType": false,
|
||||||
|
"superclasses": ["Embedded"],
|
||||||
|
"properties":[
|
||||||
|
{
|
||||||
|
"name": "policy",
|
||||||
|
"description": "",
|
||||||
|
"mandatory": false,
|
||||||
|
"readonly": false,
|
||||||
|
"notnull": false,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"regexpr": null,
|
||||||
|
"linkedType": null,
|
||||||
|
"linkedClass": "ValueSchema",
|
||||||
|
"type": 9 /* Embedded */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "note",
|
||||||
|
"description": "",
|
||||||
|
"mandatory": false,
|
||||||
|
"readonly": false,
|
||||||
|
"notnull": false,
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"regexpr": null,
|
||||||
|
"linkedType": null,
|
||||||
|
"linkedClass": null,
|
||||||
|
"type":7 /* String */
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -81,6 +81,25 @@ public class ContextStatistic {
|
||||||
List<R> instances = client.submit(query);
|
List<R> instances = client.submit(query);
|
||||||
for(R r : instances) {
|
for(R r : instances) {
|
||||||
ResourceInfo<R> resourceInfo = new ResourceInfo<R>(r);
|
ResourceInfo<R> resourceInfo = new ResourceInfo<R>(r);
|
||||||
|
if(r instanceof HostingNode) {
|
||||||
|
HostingNode hn = (HostingNode) r;
|
||||||
|
if(hn.profile().description().status().compareTo("certified")!=0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Calendar now = Calendar.getInstance();
|
||||||
|
now.add(Calendar.DAY_OF_MONTH, -1);
|
||||||
|
if(hn.profile().description().lastUpdate().before(now)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(r instanceof GCoreEndpoint) {
|
||||||
|
GCoreEndpoint gce = (GCoreEndpoint) r;
|
||||||
|
if(gce.profile().deploymentData().status().compareTo("ready")!=0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
resources.add(resourceInfo);
|
resources.add(resourceInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -100,8 +119,8 @@ public class ContextStatistic {
|
||||||
if(resourceMap == null) {
|
if(resourceMap == null) {
|
||||||
resourceMap = new HashMap<>();
|
resourceMap = new HashMap<>();
|
||||||
List<Class<? extends Resource>> classes = new ArrayList<>();
|
List<Class<? extends Resource>> classes = new ArrayList<>();
|
||||||
classes.add(GCoreEndpoint.class);
|
|
||||||
classes.add(HostingNode.class);
|
classes.add(HostingNode.class);
|
||||||
|
classes.add(GCoreEndpoint.class);
|
||||||
classes.add(ServiceEndpoint.class);
|
classes.add(ServiceEndpoint.class);
|
||||||
classes.add(GenericResource.class);
|
classes.add(GenericResource.class);
|
||||||
classes.add(Software.class);
|
classes.add(Software.class);
|
||||||
|
|
|
@ -88,7 +88,6 @@ public class StatisticsGenerator {
|
||||||
stringBuffer.append("Standard Deviation");
|
stringBuffer.append("Standard Deviation");
|
||||||
stringBuffer.append(",");
|
stringBuffer.append(",");
|
||||||
stringBuffer.append("Geometric Mean");
|
stringBuffer.append("Geometric Mean");
|
||||||
stringBuffer.append(",");
|
|
||||||
printLineToFile(stringBuffer.toString(), statisticsFile);
|
printLineToFile(stringBuffer.toString(), statisticsFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
|
||||||
<logger name="org.gcube.phd" level="TRACE" />
|
<logger name="org.gcube" level="TRACE" />
|
||||||
|
|
||||||
<root level="WARN">
|
<root level="WARN">
|
||||||
<appender-ref ref="STDOUT" />
|
<appender-ref ref="STDOUT" />
|
||||||
|
|
Loading…
Reference in New Issue