Repository: airavata Updated Branches: refs/heads/master 6572a8214 -> 1837eea8c
fixing some date issues Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/1837eea8 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/1837eea8 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/1837eea8 Branch: refs/heads/master Commit: 1837eea8cd2a0c2114b45ee463f0d56540a3f88d Parents: 6572a82 Author: scnakandala <[email protected]> Authored: Wed Dec 16 22:30:40 2015 -0500 Committer: scnakandala <[email protected]> Committed: Wed Dec 16 22:30:40 2015 -0500 ---------------------------------------------------------------------- .../client/samples/DataManagerSample.java | 68 ++++++++++++++++++++ .../data/manager/core/DataManagerImpl.java | 4 +- .../core/data/catalog/impl/DataCatalogImpl.java | 18 +++++- .../utils/ThriftDataModelConversion.java | 16 +++-- .../airavata/data/catalog/DataCatalogTest.java | 32 ++++----- .../airavata/registry/cpi/DataCatalog.java | 4 +- 6 files changed, 114 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/1837eea8/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java new file mode 100644 index 0000000..44e20cf --- /dev/null +++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java @@ -0,0 +1,68 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.client.samples; + +import org.apache.airavata.api.Airavata; +import org.apache.airavata.api.client.AiravataClientFactory; +import org.apache.airavata.model.data.resource.DataReplicaLocationModel; +import org.apache.airavata.model.data.resource.DataResourceModel; +import org.apache.airavata.model.data.resource.DataResourceType; +import org.apache.airavata.model.security.AuthzToken; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class DataManagerSample { + private final static Logger logger = LoggerFactory.getLogger(DataManagerSample.class); + + public static final String THRIFT_SERVER_HOST = "gw77.iu.xsede.org"; + public static final int THRIFT_SERVER_PORT = 8930; + private static final String USER_NAME = "master"; + private static final String DEFAULT_GATEWAY = "default"; + private static final String STORAGE_RESOURCE_ID = ""; + private static final AuthzToken authzToken = new AuthzToken("empty-token"); + private static Airavata.Client client; + + public static void main(String[] args) { + try { + client = AiravataClientFactory.createAiravataClient(THRIFT_SERVER_HOST, THRIFT_SERVER_PORT); + System.out.println(client.getAPIVersion(authzToken)); + + DataResourceModel dataResourceModel = new DataResourceModel(); + dataResourceModel.setGatewayId(DEFAULT_GATEWAY); + dataResourceModel.setOwnerName(USER_NAME); + dataResourceModel.setResourceName("test-1"); + dataResourceModel.setDataResourceType(DataResourceType.FILE); + + DataReplicaLocationModel replicaLocationModel = new DataReplicaLocationModel(); + replicaLocationModel.setStorageResourceId(STORAGE_RESOURCE_ID); + replicaLocationModel.setFileAbsolutePath("/var/www/portal/"); + + dataResourceModel.addToReplicaLocations(replicaLocationModel); + + String resourceId = client.registerDataResource(authzToken, dataResourceModel); + System.out.println(resourceId); + + } catch (Exception e) { + logger.error("Error while connecting with server", e.getMessage()); + e.printStackTrace(); + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/1837eea8/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java ---------------------------------------------------------------------- diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java index 4b79af1..c2d9686 100644 --- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java +++ b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java @@ -86,7 +86,7 @@ public class DataManagerImpl implements DataManager { @Override public String registerResource(DataResourceModel dataResourceModel) throws DataManagerException { try { - String resourceId = dataCatalog.publishResource(dataResourceModel); + String resourceId = dataCatalog.registerResource(dataResourceModel); return resourceId; } catch (DataCatalogException e) { logger.error(e.getMessage(), e); @@ -153,7 +153,7 @@ public class DataManagerImpl implements DataManager { @Override public String registerReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataManagerException { try { - String replicaId = dataCatalog.publishReplicaLocation(dataReplicaLocationModel); + String replicaId = dataCatalog.registerReplicaLocation(dataReplicaLocationModel); return replicaId; } catch (DataCatalogException e) { logger.error(e.getMessage(), e); http://git-wip-us.apache.org/repos/asf/airavata/blob/1837eea8/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java index b6a9bfb..0957709 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java @@ -41,14 +41,23 @@ public class DataCatalogImpl implements DataCatalog { private final static Logger logger = LoggerFactory.getLogger(DataCatalogImpl.class); + private final static long DEFAULT_REPLICA_VALID_TIME = 1000 * 60 * 60 * 24 * 365 + 10; + @Override - public String publishResource(DataResourceModel resourceModel) throws DataCatalogException { + public String registerResource(DataResourceModel resourceModel) throws DataCatalogException { String resourceId = UUID.randomUUID().toString(); resourceModel.setResourceId(resourceId); + long currentTime = System.currentTimeMillis(); + resourceModel.setCreationTime(currentTime); + resourceModel.setLastModifiedTime(currentTime); if(resourceModel.getReplicaLocations() != null){ resourceModel.getReplicaLocations().stream().forEach(r-> { r.setResourceId(resourceId); r.setReplicaId(UUID.randomUUID().toString()); + r.setCreationTime(currentTime); + r.setLastModifiedTime(currentTime); + if(r.getValidUntilTime() <= 0) + r.setValidUntilTime(currentTime + DEFAULT_REPLICA_VALID_TIME); }); } resourceModel.setCreationTime(System.currentTimeMillis()); @@ -150,9 +159,14 @@ public class DataCatalogImpl implements DataCatalog { } @Override - public String publishReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataCatalogException { + public String registerReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataCatalogException { String replicaId = UUID.randomUUID().toString(); dataReplicaLocationModel.setReplicaId(replicaId); + long currentTime = System.currentTimeMillis(); + dataReplicaLocationModel.setCreationTime(currentTime); + dataReplicaLocationModel.setLastModifiedTime(currentTime); + if(dataReplicaLocationModel.getValidUntilTime() <= 0) + dataReplicaLocationModel.setValidUntilTime(currentTime + DEFAULT_REPLICA_VALID_TIME); dataReplicaLocationModel.setCreationTime(System.currentTimeMillis()); dataReplicaLocationModel.setLastModifiedTime(System.currentTimeMillis()); DataReplicaLocation replicaLocation = ThriftDataModelConversion.getDataReplicaLocation(dataReplicaLocationModel); http://git-wip-us.apache.org/repos/asf/airavata/blob/1837eea8/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java index 22d67e8..3ea4dad 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java @@ -21,7 +21,6 @@ package org.apache.airavata.registry.core.data.catalog.utils; -import org.apache.airavata.model.data.movement.DataMovementProtocol; import org.apache.airavata.model.data.resource.*; import org.apache.airavata.registry.core.data.catalog.model.DataReplicaLocation; import org.apache.airavata.registry.core.data.catalog.model.DataReplicaMetaData; @@ -93,8 +92,10 @@ public class ThriftDataModelConversion { dataResource.setResourceDescription(dataResourceModel.getResourceDescription()); dataResource.setOwnerName(dataResourceModel.getOwnerName()); dataResource.setResourceSize(dataResourceModel.getResourceSize()); - dataResource.setCreationTime(new Timestamp(dataResourceModel.getCreationTime())); - dataResource.setLastModifiedTime(new Timestamp(dataResourceModel.getLastModifiedTime())); + if(dataResourceModel.getCreationTime() > 0) + dataResource.setCreationTime(new Timestamp(dataResourceModel.getCreationTime())); + if(dataResourceModel.getLastModifiedTime() > 0) + dataResource.setLastModifiedTime(new Timestamp(dataResourceModel.getLastModifiedTime())); ArrayList<DataResourceMetaData> dataResourceMetaData = new ArrayList<>(); if(dataResourceModel.getResourceMetadata() != null) { dataResourceModel.getResourceMetadata().keySet().stream().forEach(k -> { @@ -164,9 +165,12 @@ public class ThriftDataModelConversion { dataReplicaLocation.setReplicaDescription(dataReplicaLocationModel.getReplicaDescription()); dataReplicaLocation.setStorageResourceId(dataReplicaLocationModel.getStorageResourceId()); dataReplicaLocation.setFileAbsolutePath(dataReplicaLocationModel.getFileAbsolutePath()); - dataReplicaLocation.setValidUntilTime(new Timestamp(dataReplicaLocationModel.getValidUntilTime())); - dataReplicaLocation.setCreationTime(new Timestamp(dataReplicaLocationModel.getCreationTime())); - dataReplicaLocation.setLastModifiedTime(new Timestamp(dataReplicaLocationModel.getLastModifiedTime())); + if(dataReplicaLocationModel.getCreationTime() > 0) + dataReplicaLocation.setValidUntilTime(new Timestamp(dataReplicaLocationModel.getValidUntilTime())); + if(dataReplicaLocationModel.getLastModifiedTime() > 0) + dataReplicaLocation.setCreationTime(new Timestamp(dataReplicaLocationModel.getCreationTime())); + if(dataReplicaLocationModel.getValidUntilTime() > 0) + dataReplicaLocation.setLastModifiedTime(new Timestamp(dataReplicaLocationModel.getLastModifiedTime())); if(dataReplicaLocationModel.getReplicaLocationCategory() != null) dataReplicaLocation.setReplicaLocationCategory(dataReplicaLocationModel.getReplicaLocationCategory().toString()); if(dataReplicaLocationModel.getReplicaPersistentType() != null) http://git-wip-us.apache.org/repos/asf/airavata/blob/1837eea8/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java index 1c3d52f..b8cc159 100644 --- a/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java +++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java @@ -75,7 +75,7 @@ public class DataCatalogTest { @Test public void testPublishDataResource(){ try { - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); org.junit.Assert.assertNotNull(resourceId); } catch (DataCatalogException e) { e.printStackTrace(); @@ -88,7 +88,7 @@ public class DataCatalogTest { try { boolean result = datacatalog.removeResource("234234234"); Assert.assertFalse(result); - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); Assert.assertNotNull(resourceId); result = datacatalog.removeResource(resourceId); Assert.assertTrue(result); @@ -104,14 +104,14 @@ public class DataCatalogTest { public void testGetDataResource(){ try { dataResourceModel.setDataResourceType(DataResourceType.COLLECTION); - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); Assert.assertNotNull(resourceId); DataResourceModel persistedCopy = datacatalog.getResource(resourceId); Assert.assertNotNull(persistedCopy); dataResourceModel.setParentResourceId(resourceId); dataResourceModel.setDataResourceType(DataResourceType.FILE); - datacatalog.publishResource(dataResourceModel); - datacatalog.publishResource(dataResourceModel); + datacatalog.registerResource(dataResourceModel); + datacatalog.registerResource(dataResourceModel); persistedCopy = datacatalog.getResource(resourceId); Assert.assertTrue(persistedCopy.getChildResources().size()==2); } catch (DataCatalogException e) { @@ -126,7 +126,7 @@ public class DataCatalogTest { dataResourceModel.setResourceId(UUID.randomUUID().toString()); boolean result = datacatalog.updateResource(dataResourceModel); Assert.assertFalse(result); - datacatalog.publishResource(dataResourceModel); + datacatalog.registerResource(dataResourceModel); dataResourceModel.setResourceName("updated-name"); datacatalog.updateResource(dataResourceModel); dataResourceModel = datacatalog.getResource(dataResourceModel.getResourceId()); @@ -145,9 +145,9 @@ public class DataCatalogTest { @Test public void testPublishReplicaLocation(){ try { - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); replicaLocationModel.setResourceId(resourceId); - String replicaId = datacatalog.publishReplicaLocation(replicaLocationModel); + String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel); Assert.assertNotNull(replicaId);; } catch (DataCatalogException e) { e.printStackTrace(); @@ -158,9 +158,9 @@ public class DataCatalogTest { @Test public void testRemoveReplicaLocation(){ try { - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); replicaLocationModel.setResourceId(resourceId); - String replicaId = datacatalog.publishReplicaLocation(replicaLocationModel); + String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel); boolean result = datacatalog.removeReplicaLocation(replicaId); Assert.assertTrue(result); result = datacatalog.removeReplicaLocation(replicaLocationModel.getReplicaId()); @@ -174,9 +174,9 @@ public class DataCatalogTest { @Test public void testGetReplicaLocation(){ try { - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); replicaLocationModel.setResourceId(resourceId); - String replicaId = datacatalog.publishReplicaLocation(replicaLocationModel); + String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel); DataReplicaLocationModel persistedCopy = datacatalog.getReplicaLocation(replicaId); Assert.assertNotNull(persistedCopy); } catch (DataCatalogException e) { @@ -188,9 +188,9 @@ public class DataCatalogTest { @Test public void testUpdateReplicaLocation(){ try { - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); replicaLocationModel.setResourceId(resourceId); - String replicaId = datacatalog.publishReplicaLocation(replicaLocationModel); + String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel); DataReplicaLocationModel persistedCopy = datacatalog.getReplicaLocation(replicaId); persistedCopy.setReplicaDescription("updated-description"); datacatalog.updateReplicaLocation(persistedCopy); @@ -206,9 +206,9 @@ public class DataCatalogTest { @Test public void testGetAllReplicaLocations(){ try { - String resourceId = datacatalog.publishResource(dataResourceModel); + String resourceId = datacatalog.registerResource(dataResourceModel); replicaLocationModel.setResourceId(resourceId); - datacatalog.publishReplicaLocation(replicaLocationModel); + datacatalog.registerReplicaLocation(replicaLocationModel); List<DataReplicaLocationModel> replicaLocationModelList = datacatalog.getAllReplicaLocations(resourceId); Assert.assertNotNull(replicaLocationModelList.get(0).getReplicaId()); } catch (DataCatalogException e) { http://git-wip-us.apache.org/repos/asf/airavata/blob/1837eea8/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java index bc468d6..a2e1c9a 100644 --- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java +++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java @@ -25,7 +25,7 @@ import java.util.List; public interface DataCatalog { - String publishResource(DataResourceModel resource) throws DataCatalogException; + String registerResource(DataResourceModel resource) throws DataCatalogException; boolean removeResource(String resourceId) throws DataCatalogException; @@ -33,7 +33,7 @@ public interface DataCatalog { DataResourceModel getResource(String resourceId) throws DataCatalogException; - String publishReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataCatalogException; + String registerReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataCatalogException; boolean removeReplicaLocation(String replicaId) throws DataCatalogException;
