You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2015/05/31 23:23:24 UTC
[13/13] airavata git commit: Removing Error Details from
ExperimentSummary object and improving the searchExperiments method
Removing Error Details from ExperimentSummary object and improving the searchExperiments method
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/7bc175fe
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/7bc175fe
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/7bc175fe
Branch: refs/heads/master
Commit: 7bc175fe3ca3e727d2930d6894d4ea0216c680ff
Parents: 7e67ca0
Author: Supun Nakandala <sc...@apache.org>
Authored: Mon Jun 1 02:51:15 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Mon Jun 1 02:51:15 2015 +0530
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 26 +-
.../java/org/apache/airavata/api/Airavata.java | 69 +-
.../main/resources/lib/airavata/Airavata.cpp | 906 ++++++++++---------
.../src/main/resources/lib/airavata/Airavata.h | 16 +-
.../lib/airavata/Airavata_server.skeleton.cpp | 2 +-
.../lib/airavata/experimentModel_types.cpp | 56 +-
.../lib/airavata/experimentModel_types.h | 30 +-
.../resources/lib/Airavata/API/Airavata.php | 12 +-
.../Model/Workspace/Experiment/Types.php | 65 +-
.../lib/apache/airavata/api/Airavata.py | 12 +-
.../model/workspace/experiment/ttypes.py | 49 +-
.../workspace/experiment/ExperimentSummary.java | 163 +---
.../airavataAPI.thrift | 4 +-
.../experimentModel.thrift | 10 +-
.../registry/jpa/model/ErrorDetail.java | 6 +-
.../registry/jpa/model/Experiment.java | 4 +-
.../persistance/registry/jpa/model/Status.java | 8 +-
.../resources/ExperimentSummaryResource.java | 9 -
.../registry/jpa/resources/Utils.java | 22 -
.../registry/jpa/resources/WorkerResource.java | 19 +-
.../jpa/utils/ThriftDataModelConversion.java | 4 -
21 files changed, 657 insertions(+), 835 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/7bc175fe/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 f34b361..de3590f 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
@@ -936,14 +936,15 @@ public class AiravataServerHandler implements Airavata.Iface {
* @param userName
* Username of the requested user
* @param filters
- * map of multiple filter criteria. keys has to be camel case field values eg. experimentName
+ * map of multiple filter criteria.
* @param limit
* Amount of results to be fetched
* @param offset
* The starting point of the results to be fetched
*/
@Override
- public List<ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<String, String> filters, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+ public List<ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<ExperimentSearchFields, String> filters, int limit, int offset)
+ throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
if (!validateString(userName)){
logger.error("Username cannot be empty. Please provide a valid user..");
AiravataSystemException exception = new AiravataSystemException();
@@ -965,7 +966,26 @@ public class AiravataServerHandler implements Airavata.Iface {
}
List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
registry = RegistryFactory.getRegistry(gatewayId);
- List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters, limit,
+ Map<String, String> regFilters = new HashMap();
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
+ for(Map.Entry<ExperimentSearchFields, String> entry : filters.entrySet())
+ {
+ if(entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_NAME)){
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME, entry.getValue());
+ }else if(entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_DESC)){
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC, entry.getValue());
+ }else if(entry.getKey().equals(ExperimentSearchFields.APPLICATION_ID)){
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID, entry.getValue());
+ }else if(entry.getKey().equals(ExperimentSearchFields.STATUS)){
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS, entry.getValue());
+ }else if(entry.getKey().equals(ExperimentSearchFields.FROM_DATE)){
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, entry.getValue());
+ }else if(entry.getKey().equals(ExperimentSearchFields.TO_DATE)){
+ regFilters.put(Constants.FieldConstants.ExperimentConstants.TO_DATE, entry.getValue());
+ }
+ }
+ List<Object> results = registry.search(RegistryModelType.EXPERIMENT, regFilters, limit,
offset, Constants.FieldConstants.ExperimentConstants.CREATION_TIME, ResultOrderType.DESC);
for (Object object : results) {
summaries.add((ExperimentSummary) object);
http://git-wip-us.apache.org/repos/asf/airavata/blob/7bc175fe/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index f5cf666..7ffa368 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -467,7 +467,7 @@ import org.slf4j.LoggerFactory;
* @param userName
* Username of the requested user
* @param filters
- * map of multiple filter criteria. keys has to be camel case field values eg. experimentName
+ * map of multiple filter criteria.
* @param limit
* Amount of results to be fetched
* @param offset
@@ -479,7 +479,7 @@ import org.slf4j.LoggerFactory;
* @param limit
* @param offset
*/
- public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+ public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
/**
* Get all Experiments within a Project
@@ -1875,7 +1875,7 @@ import org.slf4j.LoggerFactory;
public void searchExperimentsByCreationTimeWithPagination(String gatewayId, String userName, long fromTime, long toTime, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
- public void searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+ public void searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
public void getAllExperimentsInProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -3104,13 +3104,13 @@ import org.slf4j.LoggerFactory;
throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperimentsByCreationTimeWithPagination failed: unknown result");
}
- public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+ public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
{
send_searchExperiments(gatewayId, userName, filters, limit, offset);
return recv_searchExperiments();
}
- public void send_searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset) throws org.apache.thrift.TException
+ public void send_searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.thrift.TException
{
searchExperiments_args args = new searchExperiments_args();
args.setGatewayId(gatewayId);
@@ -7403,7 +7403,7 @@ import org.slf4j.LoggerFactory;
}
}
- public void searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ public void searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
checkReady();
searchExperiments_call method_call = new searchExperiments_call(gatewayId, userName, filters, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
this.___currentMethod = method_call;
@@ -7413,10 +7413,10 @@ import org.slf4j.LoggerFactory;
public static class searchExperiments_call extends org.apache.thrift.async.TAsyncMethodCall {
private String gatewayId;
private String userName;
- private Map<String,String> filters;
+ private Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters;
private int limit;
private int offset;
- public searchExperiments_call(String gatewayId, String userName, Map<String,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+ public searchExperiments_call(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
super(client, protocolFactory, transport, resultHandler, false);
this.gatewayId = gatewayId;
this.userName = userName;
@@ -59273,7 +59273,7 @@ import org.slf4j.LoggerFactory;
public String gatewayId; // required
public String userName; // required
- public Map<String,String> filters; // required
+ public Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters; // required
public int limit; // required
public int offset; // required
@@ -59360,7 +59360,7 @@ import org.slf4j.LoggerFactory;
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.FILTERS, new org.apache.thrift.meta_data.FieldMetaData("filters", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP,
- new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING),
+ new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.workspace.experiment.ExperimentSearchFields.class),
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.REQUIRED,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
@@ -59376,7 +59376,7 @@ import org.slf4j.LoggerFactory;
public searchExperiments_args(
String gatewayId,
String userName,
- Map<String,String> filters,
+ Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters,
int limit,
int offset)
{
@@ -59402,7 +59402,18 @@ import org.slf4j.LoggerFactory;
this.userName = other.userName;
}
if (other.isSetFilters()) {
- Map<String,String> __this__filters = new HashMap<String,String>(other.filters);
+ Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> __this__filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>(other.filters.size());
+ for (Map.Entry<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields, String> other_element : other.filters.entrySet()) {
+
+ org.apache.airavata.model.workspace.experiment.ExperimentSearchFields other_element_key = other_element.getKey();
+ String other_element_value = other_element.getValue();
+
+ org.apache.airavata.model.workspace.experiment.ExperimentSearchFields __this__filters_copy_key = other_element_key;
+
+ String __this__filters_copy_value = other_element_value;
+
+ __this__filters.put(__this__filters_copy_key, __this__filters_copy_value);
+ }
this.filters = __this__filters;
}
this.limit = other.limit;
@@ -59476,18 +59487,18 @@ import org.slf4j.LoggerFactory;
return (this.filters == null) ? 0 : this.filters.size();
}
- public void putToFilters(String key, String val) {
+ public void putToFilters(org.apache.airavata.model.workspace.experiment.ExperimentSearchFields key, String val) {
if (this.filters == null) {
- this.filters = new HashMap<String,String>();
+ this.filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>();
}
this.filters.put(key, val);
}
- public Map<String,String> getFilters() {
+ public Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> getFilters() {
return this.filters;
}
- public searchExperiments_args setFilters(Map<String,String> filters) {
+ public searchExperiments_args setFilters(Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters) {
this.filters = filters;
return this;
}
@@ -59575,7 +59586,7 @@ import org.slf4j.LoggerFactory;
if (value == null) {
unsetFilters();
} else {
- setFilters((Map<String,String>)value);
+ setFilters((Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>)value);
}
break;
@@ -59888,12 +59899,12 @@ import org.slf4j.LoggerFactory;
if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
{
org.apache.thrift.protocol.TMap _map146 = iprot.readMapBegin();
- struct.filters = new HashMap<String,String>(2*_map146.size);
+ struct.filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>(2*_map146.size);
for (int _i147 = 0; _i147 < _map146.size; ++_i147)
{
- String _key148;
+ org.apache.airavata.model.workspace.experiment.ExperimentSearchFields _key148;
String _val149;
- _key148 = iprot.readString();
+ _key148 = org.apache.airavata.model.workspace.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
_val149 = iprot.readString();
struct.filters.put(_key148, _val149);
}
@@ -59954,10 +59965,10 @@ import org.slf4j.LoggerFactory;
if (struct.filters != null) {
oprot.writeFieldBegin(FILTERS_FIELD_DESC);
{
- oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.filters.size()));
- for (Map.Entry<String, String> _iter150 : struct.filters.entrySet())
+ oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, struct.filters.size()));
+ for (Map.Entry<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields, String> _iter150 : struct.filters.entrySet())
{
- oprot.writeString(_iter150.getKey());
+ oprot.writeI32(_iter150.getKey().getValue());
oprot.writeString(_iter150.getValue());
}
oprot.writeMapEnd();
@@ -59999,9 +60010,9 @@ import org.slf4j.LoggerFactory;
if (struct.isSetFilters()) {
{
oprot.writeI32(struct.filters.size());
- for (Map.Entry<String, String> _iter151 : struct.filters.entrySet())
+ for (Map.Entry<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields, String> _iter151 : struct.filters.entrySet())
{
- oprot.writeString(_iter151.getKey());
+ oprot.writeI32(_iter151.getKey().getValue());
oprot.writeString(_iter151.getValue());
}
}
@@ -60022,13 +60033,13 @@ import org.slf4j.LoggerFactory;
BitSet incoming = iprot.readBitSet(1);
if (incoming.get(0)) {
{
- org.apache.thrift.protocol.TMap _map152 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
- struct.filters = new HashMap<String,String>(2*_map152.size);
+ org.apache.thrift.protocol.TMap _map152 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+ struct.filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>(2*_map152.size);
for (int _i153 = 0; _i153 < _map152.size; ++_i153)
{
- String _key154;
+ org.apache.airavata.model.workspace.experiment.ExperimentSearchFields _key154;
String _val155;
- _key154 = iprot.readString();
+ _key154 = org.apache.airavata.model.workspace.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
_val155 = iprot.readString();
struct.filters.put(_key154, _val155);
}