You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/03/25 22:22:32 UTC
[09/55] [abbrv] airavata git commit: adding replica catalog related
API methods
adding replica catalog related API methods
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/6c5645d3
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/6c5645d3
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/6c5645d3
Branch: refs/heads/master
Commit: 6c5645d3aad93e9b5185b950984c9fb5f9c278d2
Parents: d54afbd
Author: scnakandala <su...@gmail.com>
Authored: Tue Mar 22 16:46:12 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue Mar 22 16:46:12 2016 -0400
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 60 +
.../java/org/apache/airavata/api/Airavata.java | 40530 +++++++++--------
.../main/resources/lib/airavata/Airavata.cpp | 7297 +--
.../src/main/resources/lib/airavata/Airavata.h | 640 +-
.../lib/airavata/Airavata_server.skeleton.cpp | 50 +-
.../airavata/compute_resource_model_types.cpp | 50 +-
.../lib/airavata/compute_resource_model_types.h | 18 +-
.../resources/lib/Airavata/API/Airavata.php | 11050 +++--
.../Model/AppCatalog/ComputeResource/Types.php | 44 +-
.../lib/apache/airavata/api/Airavata-remote | 21 +
.../lib/apache/airavata/api/Airavata.py | 6107 +--
.../model/appcatalog/computeresource/ttypes.py | 34 +-
.../client/samples/DataCatalogSample.java | 73 +
.../computeresource/LOCALSubmission.java | 207 +-
.../core/data/catalog/impl/DataCatalogImpl.java | 16 +-
.../airavata/data/catalog/DataCatalogTest.java | 146 +-
.../airavata/registry/cpi/DataCatalog.java | 1 +
.../airavata-apis/airavata_api.thrift | 23 +
18 files changed, 37389 insertions(+), 28978 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/6c5645d3/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index ed892c0..40877de 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -49,6 +49,8 @@ import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.model.commons.airavata_commonsConstants;
import org.apache.airavata.model.data.movement.DMType;
import org.apache.airavata.model.data.movement.*;
+import org.apache.airavata.model.data.product.DataProductModel;
+import org.apache.airavata.model.data.product.DataReplicaLocationModel;
import org.apache.airavata.model.error.*;
import org.apache.airavata.model.experiment.*;
import org.apache.airavata.model.job.JobModel;
@@ -86,6 +88,7 @@ public class AiravataServerHandler implements Airavata.Iface {
private ExperimentCatalog experimentCatalog;
private AppCatalog appCatalog;
private Publisher publisher;
+ private DataCatalog dataCatalog;
private WorkflowCatalog workflowCatalog;
private CredentialStoreService.Client csClient;
@@ -4291,6 +4294,63 @@ public class AiravataServerHandler implements Airavata.Iface {
return workflowCatalog;
}
+ /**
+ * DataCatalog Related Methods
+ * @return
+ * @throws TException
+ * @throws ApplicationSettingsException
+ */
+ @Override
+ @SecurityCheck
+ public String registerDataProduct(AuthzToken authzToken, DataProductModel dataProductModel) throws InvalidRequestException,
+ AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+ try {
+ dataCatalog = RegistryFactory.getDataCatalog();
+ String productUrl = dataCatalog.registerDataProduct(dataProductModel);
+ return productUrl;
+ } catch (Exception e) {
+ String msg = "Error in registering the data resource"+dataProductModel.getProductName()+".";
+ logger.error(msg, e);
+ AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
+ exception.setMessage(msg+" More info : " + e.getMessage());
+ throw exception;
+ }
+ }
+
+ @Override
+ @SecurityCheck
+ public DataProductModel getDataProduct(AuthzToken authzToken, String productUri) throws InvalidRequestException,
+ AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+ try {
+ dataCatalog = RegistryFactory.getDataCatalog();
+ DataProductModel dataProductModel = dataCatalog.getDataProduct(productUri);
+ return dataProductModel;
+ } catch (Exception e) {
+ String msg = "Error in retreiving the data product "+productUri+".";
+ logger.error(msg, e);
+ AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
+ exception.setMessage(msg+" More info : " + e.getMessage());
+ throw exception;
+ }
+ }
+
+ @Override
+ @SecurityCheck
+ public String registerReplicaLocation(AuthzToken authzToken, DataReplicaLocationModel replicaLocationModel) throws InvalidRequestException,
+ AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+ try {
+ dataCatalog = RegistryFactory.getDataCatalog();
+ String replicaId = dataCatalog.registerReplicaLocation(replicaLocationModel);
+ return replicaId;
+ } catch (Exception e) {
+ String msg = "Error in retreiving the data product "+replicaLocationModel.getReplicaName()+".";
+ logger.error(msg, e);
+ AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
+ exception.setMessage(msg+" More info : " + e.getMessage());
+ throw exception;
+ }
+ }
+
private CredentialStoreService.Client getCredentialStoreServiceClient() throws TException, ApplicationSettingsException {
final int serverPort = Integer.parseInt(ServerSettings.getCredentialStoreServerPort());
final String serverHost = ServerSettings.getCredentialStoreServerHost();