http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputParsedEvent.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputParsedEvent.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputParsedEvent.java new file mode 100644 index 0000000..c841b3a --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputParsedEvent.java @@ -0,0 +1,573 @@ +/** + * Autogenerated by Thrift Compiler (0.9.1) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.datacat.models.Messaging; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ExperimentOutputParsedEvent implements org.apache.thrift.TBase<ExperimentOutputParsedEvent, ExperimentOutputParsedEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentOutputParsedEvent> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentOutputParsedEvent"); + + private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentId", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField DOCUMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("documentID", org.apache.thrift.protocol.TType.STRING, (short)2); + private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)3); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ExperimentOutputParsedEventStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ExperimentOutputParsedEventTupleSchemeFactory()); + } + + public String experimentId; // required + public String documentID; // required + public String status; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + EXPERIMENT_ID((short)1, "experimentId"), + DOCUMENT_ID((short)2, "documentID"), + STATUS((short)3, "status"); + + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // EXPERIMENT_ID + return EXPERIMENT_ID; + case 2: // DOCUMENT_ID + return DOCUMENT_ID; + case 3: // STATUS + return STATUS; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.DOCUMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("documentID", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExperimentOutputParsedEvent.class, metaDataMap); + } + + public ExperimentOutputParsedEvent() { + } + + public ExperimentOutputParsedEvent( + String experimentId, + String documentID, + String status) + { + this(); + this.experimentId = experimentId; + this.documentID = documentID; + this.status = status; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public ExperimentOutputParsedEvent(ExperimentOutputParsedEvent other) { + if (other.isSetExperimentId()) { + this.experimentId = other.experimentId; + } + if (other.isSetDocumentID()) { + this.documentID = other.documentID; + } + if (other.isSetStatus()) { + this.status = other.status; + } + } + + public ExperimentOutputParsedEvent deepCopy() { + return new ExperimentOutputParsedEvent(this); + } + + @Override + public void clear() { + this.experimentId = null; + this.documentID = null; + this.status = null; + } + + public String getExperimentId() { + return this.experimentId; + } + + public ExperimentOutputParsedEvent setExperimentId(String experimentId) { + this.experimentId = experimentId; + return this; + } + + public void unsetExperimentId() { + this.experimentId = null; + } + + /** Returns true if field experimentId is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentId() { + return this.experimentId != null; + } + + public void setExperimentIdIsSet(boolean value) { + if (!value) { + this.experimentId = null; + } + } + + public String getDocumentID() { + return this.documentID; + } + + public ExperimentOutputParsedEvent setDocumentID(String documentID) { + this.documentID = documentID; + return this; + } + + public void unsetDocumentID() { + this.documentID = null; + } + + /** Returns true if field documentID is set (has been assigned a value) and false otherwise */ + public boolean isSetDocumentID() { + return this.documentID != null; + } + + public void setDocumentIDIsSet(boolean value) { + if (!value) { + this.documentID = null; + } + } + + public String getStatus() { + return this.status; + } + + public ExperimentOutputParsedEvent setStatus(String status) { + this.status = status; + return this; + } + + public void unsetStatus() { + this.status = null; + } + + /** Returns true if field status is set (has been assigned a value) and false otherwise */ + public boolean isSetStatus() { + return this.status != null; + } + + public void setStatusIsSet(boolean value) { + if (!value) { + this.status = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case EXPERIMENT_ID: + if (value == null) { + unsetExperimentId(); + } else { + setExperimentId((String)value); + } + break; + + case DOCUMENT_ID: + if (value == null) { + unsetDocumentID(); + } else { + setDocumentID((String)value); + } + break; + + case STATUS: + if (value == null) { + unsetStatus(); + } else { + setStatus((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case EXPERIMENT_ID: + return getExperimentId(); + + case DOCUMENT_ID: + return getDocumentID(); + + case STATUS: + return getStatus(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case EXPERIMENT_ID: + return isSetExperimentId(); + case DOCUMENT_ID: + return isSetDocumentID(); + case STATUS: + return isSetStatus(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof ExperimentOutputParsedEvent) + return this.equals((ExperimentOutputParsedEvent)that); + return false; + } + + public boolean equals(ExperimentOutputParsedEvent that) { + if (that == null) + return false; + + boolean this_present_experimentId = true && this.isSetExperimentId(); + boolean that_present_experimentId = true && that.isSetExperimentId(); + if (this_present_experimentId || that_present_experimentId) { + if (!(this_present_experimentId && that_present_experimentId)) + return false; + if (!this.experimentId.equals(that.experimentId)) + return false; + } + + boolean this_present_documentID = true && this.isSetDocumentID(); + boolean that_present_documentID = true && that.isSetDocumentID(); + if (this_present_documentID || that_present_documentID) { + if (!(this_present_documentID && that_present_documentID)) + return false; + if (!this.documentID.equals(that.documentID)) + return false; + } + + boolean this_present_status = true && this.isSetStatus(); + boolean that_present_status = true && that.isSetStatus(); + if (this_present_status || that_present_status) { + if (!(this_present_status && that_present_status)) + return false; + if (!this.status.equals(that.status)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(ExperimentOutputParsedEvent other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentId, other.experimentId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetDocumentID()).compareTo(other.isSetDocumentID()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDocumentID()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.documentID, other.documentID); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetStatus()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, other.status); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("ExperimentOutputParsedEvent("); + boolean first = true; + + sb.append("experimentId:"); + if (this.experimentId == null) { + sb.append("null"); + } else { + sb.append(this.experimentId); + } + first = false; + if (!first) sb.append(", "); + sb.append("documentID:"); + if (this.documentID == null) { + sb.append("null"); + } else { + sb.append(this.documentID); + } + first = false; + if (!first) sb.append(", "); + sb.append("status:"); + if (this.status == null) { + sb.append("null"); + } else { + sb.append(this.status); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (experimentId == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentId' was not present! Struct: " + toString()); + } + if (documentID == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'documentID' was not present! Struct: " + toString()); + } + if (status == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'status' was not present! Struct: " + toString()); + } + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class ExperimentOutputParsedEventStandardSchemeFactory implements SchemeFactory { + public ExperimentOutputParsedEventStandardScheme getScheme() { + return new ExperimentOutputParsedEventStandardScheme(); + } + } + + private static class ExperimentOutputParsedEventStandardScheme extends StandardScheme<ExperimentOutputParsedEvent> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentOutputParsedEvent struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // EXPERIMENT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.experimentId = iprot.readString(); + struct.setExperimentIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // DOCUMENT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.documentID = iprot.readString(); + struct.setDocumentIDIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // STATUS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.status = iprot.readString(); + struct.setStatusIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentOutputParsedEvent struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.experimentId != null) { + oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC); + oprot.writeString(struct.experimentId); + oprot.writeFieldEnd(); + } + if (struct.documentID != null) { + oprot.writeFieldBegin(DOCUMENT_ID_FIELD_DESC); + oprot.writeString(struct.documentID); + oprot.writeFieldEnd(); + } + if (struct.status != null) { + oprot.writeFieldBegin(STATUS_FIELD_DESC); + oprot.writeString(struct.status); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ExperimentOutputParsedEventTupleSchemeFactory implements SchemeFactory { + public ExperimentOutputParsedEventTupleScheme getScheme() { + return new ExperimentOutputParsedEventTupleScheme(); + } + } + + private static class ExperimentOutputParsedEventTupleScheme extends TupleScheme<ExperimentOutputParsedEvent> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentOutputParsedEvent struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.experimentId); + oprot.writeString(struct.documentID); + oprot.writeString(struct.status); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentOutputParsedEvent struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.experimentId = iprot.readString(); + struct.setExperimentIdIsSet(true); + struct.documentID = iprot.readString(); + struct.setDocumentIDIsSet(true); + struct.status = iprot.readString(); + struct.setStatusIsSet(true); + } + } + +} +
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/Message.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/Message.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/Message.java new file mode 100644 index 0000000..cdf11e9 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/Message.java @@ -0,0 +1,814 @@ +/** + * 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. + */ + +/** + * Autogenerated by Thrift Compiler (0.9.1) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.datacat.models.Messaging; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +import java.nio.ByteBuffer; +import java.util.*; + +@SuppressWarnings("all") public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message"); + + private static final org.apache.thrift.protocol.TField EVENT_FIELD_DESC = new org.apache.thrift.protocol.TField("event", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField MESSAGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("messageId", org.apache.thrift.protocol.TType.STRING, (short)2); + private static final org.apache.thrift.protocol.TField MESSAGE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("messageType", org.apache.thrift.protocol.TType.I32, (short)3); + private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)4); + private static final org.apache.thrift.protocol.TField MESSAGE_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("messageLevel", org.apache.thrift.protocol.TType.I32, (short)5); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new MessageStandardSchemeFactory()); + schemes.put(TupleScheme.class, new MessageTupleSchemeFactory()); + } + + private ByteBuffer event; // required + private String messageId; // required + private MessageType messageType; // required + private long updatedTime; // optional + private MessageLevel messageLevel; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum { + EVENT((short)1, "event"), + MESSAGE_ID((short)2, "messageId"), + /** + * + * @see MessageType + */ + MESSAGE_TYPE((short)3, "messageType"), + UPDATED_TIME((short)4, "updatedTime"), + /** + * + * @see MessageLevel + */ + MESSAGE_LEVEL((short)5, "messageLevel"); + + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // EVENT + return EVENT; + case 2: // MESSAGE_ID + return MESSAGE_ID; + case 3: // MESSAGE_TYPE + return MESSAGE_TYPE; + case 4: // UPDATED_TIME + return UPDATED_TIME; + case 5: // MESSAGE_LEVEL + return MESSAGE_LEVEL; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UPDATEDTIME_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.UPDATED_TIME, _Fields.MESSAGE_LEVEL}; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.EVENT, new org.apache.thrift.meta_data.FieldMetaData("event", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING , true))); + tmpMap.put(_Fields.MESSAGE_ID, new org.apache.thrift.meta_data.FieldMetaData("messageId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.MESSAGE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("messageType", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, MessageType.class))); + tmpMap.put(_Fields.UPDATED_TIME, new org.apache.thrift.meta_data.FieldMetaData("updatedTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))); + tmpMap.put(_Fields.MESSAGE_LEVEL, new org.apache.thrift.meta_data.FieldMetaData("messageLevel", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, MessageLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Message.class, metaDataMap); + } + + public Message() { + this.messageId = "DO_NOT_SET_AT_CLIENTS"; + + } + + public Message( + ByteBuffer event, + String messageId, + MessageType messageType) + { + this(); + this.event = event; + this.messageId = messageId; + this.messageType = messageType; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public Message(Message other) { + __isset_bitfield = other.__isset_bitfield; + if (other.isSetEvent()) { + this.event = org.apache.thrift.TBaseHelper.copyBinary(other.event); +; + } + if (other.isSetMessageId()) { + this.messageId = other.messageId; + } + if (other.isSetMessageType()) { + this.messageType = other.messageType; + } + this.updatedTime = other.updatedTime; + if (other.isSetMessageLevel()) { + this.messageLevel = other.messageLevel; + } + } + + public Message deepCopy() { + return new Message(this); + } + + @Override + public void clear() { + this.event = null; + this.messageId = "DO_NOT_SET_AT_CLIENTS"; + + this.messageType = null; + setUpdatedTimeIsSet(false); + this.updatedTime = 0; + this.messageLevel = null; + } + + public byte[] getEvent() { + setEvent(org.apache.thrift.TBaseHelper.rightSize(event)); + return event == null ? null : event.array(); + } + + public ByteBuffer bufferForEvent() { + return event; + } + + public void setEvent(byte[] event) { + setEvent(event == null ? (ByteBuffer)null : ByteBuffer.wrap(event)); + } + + public void setEvent(ByteBuffer event) { + this.event = event; + } + + public void unsetEvent() { + this.event = null; + } + + /** Returns true if field event is set (has been assigned a value) and false otherwise */ + public boolean isSetEvent() { + return this.event != null; + } + + public void setEventIsSet(boolean value) { + if (!value) { + this.event = null; + } + } + + public String getMessageId() { + return this.messageId; + } + + public void setMessageId(String messageId) { + this.messageId = messageId; + } + + public void unsetMessageId() { + this.messageId = null; + } + + /** Returns true if field messageId is set (has been assigned a value) and false otherwise */ + public boolean isSetMessageId() { + return this.messageId != null; + } + + public void setMessageIdIsSet(boolean value) { + if (!value) { + this.messageId = null; + } + } + + /** + * + * @see MessageType + */ + public MessageType getMessageType() { + return this.messageType; + } + + /** + * + * @see MessageType + */ + public void setMessageType(MessageType messageType) { + this.messageType = messageType; + } + + public void unsetMessageType() { + this.messageType = null; + } + + /** Returns true if field messageType is set (has been assigned a value) and false otherwise */ + public boolean isSetMessageType() { + return this.messageType != null; + } + + public void setMessageTypeIsSet(boolean value) { + if (!value) { + this.messageType = null; + } + } + + public long getUpdatedTime() { + return this.updatedTime; + } + + public void setUpdatedTime(long updatedTime) { + this.updatedTime = updatedTime; + setUpdatedTimeIsSet(true); + } + + public void unsetUpdatedTime() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID); + } + + /** Returns true if field updatedTime is set (has been assigned a value) and false otherwise */ + public boolean isSetUpdatedTime() { + return EncodingUtils.testBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID); + } + + public void setUpdatedTimeIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value); + } + + /** + * + * @see MessageLevel + */ + public MessageLevel getMessageLevel() { + return this.messageLevel; + } + + /** + * + * @see MessageLevel + */ + public void setMessageLevel(MessageLevel messageLevel) { + this.messageLevel = messageLevel; + } + + public void unsetMessageLevel() { + this.messageLevel = null; + } + + /** Returns true if field messageLevel is set (has been assigned a value) and false otherwise */ + public boolean isSetMessageLevel() { + return this.messageLevel != null; + } + + public void setMessageLevelIsSet(boolean value) { + if (!value) { + this.messageLevel = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case EVENT: + if (value == null) { + unsetEvent(); + } else { + setEvent((ByteBuffer)value); + } + break; + + case MESSAGE_ID: + if (value == null) { + unsetMessageId(); + } else { + setMessageId((String)value); + } + break; + + case MESSAGE_TYPE: + if (value == null) { + unsetMessageType(); + } else { + setMessageType((MessageType)value); + } + break; + + case UPDATED_TIME: + if (value == null) { + unsetUpdatedTime(); + } else { + setUpdatedTime((Long)value); + } + break; + + case MESSAGE_LEVEL: + if (value == null) { + unsetMessageLevel(); + } else { + setMessageLevel((MessageLevel)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case EVENT: + return getEvent(); + + case MESSAGE_ID: + return getMessageId(); + + case MESSAGE_TYPE: + return getMessageType(); + + case UPDATED_TIME: + return Long.valueOf(getUpdatedTime()); + + case MESSAGE_LEVEL: + return getMessageLevel(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case EVENT: + return isSetEvent(); + case MESSAGE_ID: + return isSetMessageId(); + case MESSAGE_TYPE: + return isSetMessageType(); + case UPDATED_TIME: + return isSetUpdatedTime(); + case MESSAGE_LEVEL: + return isSetMessageLevel(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Message) + return this.equals((Message)that); + return false; + } + + public boolean equals(Message that) { + if (that == null) + return false; + + boolean this_present_event = true && this.isSetEvent(); + boolean that_present_event = true && that.isSetEvent(); + if (this_present_event || that_present_event) { + if (!(this_present_event && that_present_event)) + return false; + if (!this.event.equals(that.event)) + return false; + } + + boolean this_present_messageId = true && this.isSetMessageId(); + boolean that_present_messageId = true && that.isSetMessageId(); + if (this_present_messageId || that_present_messageId) { + if (!(this_present_messageId && that_present_messageId)) + return false; + if (!this.messageId.equals(that.messageId)) + return false; + } + + boolean this_present_messageType = true && this.isSetMessageType(); + boolean that_present_messageType = true && that.isSetMessageType(); + if (this_present_messageType || that_present_messageType) { + if (!(this_present_messageType && that_present_messageType)) + return false; + if (!this.messageType.equals(that.messageType)) + return false; + } + + boolean this_present_updatedTime = true && this.isSetUpdatedTime(); + boolean that_present_updatedTime = true && that.isSetUpdatedTime(); + if (this_present_updatedTime || that_present_updatedTime) { + if (!(this_present_updatedTime && that_present_updatedTime)) + return false; + if (this.updatedTime != that.updatedTime) + return false; + } + + boolean this_present_messageLevel = true && this.isSetMessageLevel(); + boolean that_present_messageLevel = true && that.isSetMessageLevel(); + if (this_present_messageLevel || that_present_messageLevel) { + if (!(this_present_messageLevel && that_present_messageLevel)) + return false; + if (!this.messageLevel.equals(that.messageLevel)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(Message other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetEvent()).compareTo(other.isSetEvent()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetEvent()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.event, other.event); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetMessageId()).compareTo(other.isSetMessageId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetMessageId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.messageId, other.messageId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetMessageType()).compareTo(other.isSetMessageType()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetMessageType()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.messageType, other.messageType); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUpdatedTime()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.updatedTime, other.updatedTime); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetMessageLevel()).compareTo(other.isSetMessageLevel()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetMessageLevel()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.messageLevel, other.messageLevel); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Message("); + boolean first = true; + + sb.append("event:"); + if (this.event == null) { + sb.append("null"); + } else { + org.apache.thrift.TBaseHelper.toString(this.event, sb); + } + first = false; + if (!first) sb.append(", "); + sb.append("messageId:"); + if (this.messageId == null) { + sb.append("null"); + } else { + sb.append(this.messageId); + } + first = false; + if (!first) sb.append(", "); + sb.append("messageType:"); + if (this.messageType == null) { + sb.append("null"); + } else { + sb.append(this.messageType); + } + first = false; + if (isSetUpdatedTime()) { + if (!first) sb.append(", "); + sb.append("updatedTime:"); + sb.append(this.updatedTime); + first = false; + } + if (isSetMessageLevel()) { + if (!first) sb.append(", "); + sb.append("messageLevel:"); + if (this.messageLevel == null) { + sb.append("null"); + } else { + sb.append(this.messageLevel); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws TException { + // check for required fields + if (!isSetEvent()) { + throw new TProtocolException("Required field 'event' is unset! Struct:" + toString()); + } + + if (!isSetMessageId()) { + throw new TProtocolException("Required field 'messageId' is unset! Struct:" + toString()); + } + + if (!isSetMessageType()) { + throw new TProtocolException("Required field 'messageType' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (TException te) { + throw new java.io.IOException(te); + } + } + + private static class MessageStandardSchemeFactory implements SchemeFactory { + public MessageStandardScheme getScheme() { + return new MessageStandardScheme(); + } + } + + private static class MessageStandardScheme extends StandardScheme<Message> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Message struct) throws TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // EVENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.event = iprot.readBinary(); + struct.setEventIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // MESSAGE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.messageId = iprot.readString(); + struct.setMessageIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // MESSAGE_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.messageType = MessageType.findByValue(iprot.readI32()); + struct.setMessageTypeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // UPDATED_TIME + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.updatedTime = iprot.readI64(); + struct.setUpdatedTimeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // MESSAGE_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.messageLevel = MessageLevel.findByValue(iprot.readI32()); + struct.setMessageLevelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Message struct) throws TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.event != null) { + oprot.writeFieldBegin(EVENT_FIELD_DESC); + oprot.writeBinary(struct.event); + oprot.writeFieldEnd(); + } + if (struct.messageId != null) { + oprot.writeFieldBegin(MESSAGE_ID_FIELD_DESC); + oprot.writeString(struct.messageId); + oprot.writeFieldEnd(); + } + if (struct.messageType != null) { + oprot.writeFieldBegin(MESSAGE_TYPE_FIELD_DESC); + oprot.writeI32(struct.messageType.getValue()); + oprot.writeFieldEnd(); + } + if (struct.isSetUpdatedTime()) { + oprot.writeFieldBegin(UPDATED_TIME_FIELD_DESC); + oprot.writeI64(struct.updatedTime); + oprot.writeFieldEnd(); + } + if (struct.messageLevel != null) { + if (struct.isSetMessageLevel()) { + oprot.writeFieldBegin(MESSAGE_LEVEL_FIELD_DESC); + oprot.writeI32(struct.messageLevel.getValue()); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class MessageTupleSchemeFactory implements SchemeFactory { + public MessageTupleScheme getScheme() { + return new MessageTupleScheme(); + } + } + + private static class MessageTupleScheme extends TupleScheme<Message> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Message struct) throws TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.event); + oprot.writeString(struct.messageId); + oprot.writeI32(struct.messageType.getValue()); + BitSet optionals = new BitSet(); + if (struct.isSetUpdatedTime()) { + optionals.set(0); + } + if (struct.isSetMessageLevel()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetUpdatedTime()) { + oprot.writeI64(struct.updatedTime); + } + if (struct.isSetMessageLevel()) { + oprot.writeI32(struct.messageLevel.getValue()); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Message struct) throws TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.event = iprot.readBinary(); + struct.setEventIsSet(true); + struct.messageId = iprot.readString(); + struct.setMessageIdIsSet(true); + struct.messageType = MessageType.findByValue(iprot.readI32()); + struct.setMessageTypeIsSet(true); + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.updatedTime = iprot.readI64(); + struct.setUpdatedTimeIsSet(true); + } + if (incoming.get(1)) { + struct.messageLevel = MessageLevel.findByValue(iprot.readI32()); + struct.setMessageLevelIsSet(true); + } + } + } + +} + http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageLevel.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageLevel.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageLevel.java new file mode 100644 index 0000000..96ae0bf --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageLevel.java @@ -0,0 +1,66 @@ +/** + * 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. + */ + +/** + * Autogenerated by Thrift Compiler (0.9.1) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.datacat.models.Messaging; + + +import org.apache.thrift.TEnum; + +@SuppressWarnings("all") public enum MessageLevel implements TEnum { + INFO(0), + DEBUG(1), + ERROR(2), + ACK(3); + + private final int value; + + private MessageLevel(int value) { + this.value = value; + } + + /** + * Get the integer value of this enum value, as defined in the Thrift IDL. + */ + public int getValue() { + return value; + } + + /** + * Find a the enum type by its integer value, as defined in the Thrift IDL. + * @return null if the value is not found. + */ + public static MessageLevel findByValue(int value) { + switch (value) { + case 0: + return INFO; + case 1: + return DEBUG; + case 2: + return ERROR; + case 3: + return ACK; + default: + return null; + } + } +} http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageType.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageType.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageType.java new file mode 100644 index 0000000..d1993e9 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/MessageType.java @@ -0,0 +1,53 @@ +/** + * Autogenerated by Thrift Compiler (0.9.1) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.datacat.models.Messaging; + + +public enum MessageType implements org.apache.thrift.TEnum { + EXPERIMENT(0), + TASK(1), + WORKFLOWNODE(2), + JOB(3), + EXPERIMENT_OUTPUT(4), + OUTPUT_PARSED(5); + + private final int value; + + private MessageType(int value) { + this.value = value; + } + + /** + * Get the integer value of this enum value, as defined in the Thrift IDL. + */ + public int getValue() { + return value; + } + + /** + * Find a the enum type by its integer value, as defined in the Thrift IDL. + * @return null if the value is not found. + */ + public static MessageType findByValue(int value) { + switch (value) { + case 0: + return EXPERIMENT; + case 1: + return TASK; + case 2: + return WORKFLOWNODE; + case 3: + return JOB; + case 4: + return EXPERIMENT_OUTPUT; + case 5: + return OUTPUT_PARSED; + default: + return null; + } + } +} http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/MetadataFields.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/MetadataFields.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/MetadataFields.java new file mode 100644 index 0000000..8450d22 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/MetadataFields.java @@ -0,0 +1,33 @@ +/* +* +* 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.datacat.models; + +public class MetadataFields { + public static final String ID = "id"; + public static final String EXPERIMENT_NAME = "experimentName"; + public static final String EXPERIMENT_ID = "experimentId"; + public static final String OUTPUT_PATH = "outputPath"; + public static final String OWNER_ID = "ownerId"; + public static final String GATEWAY_ID = "gatewayId"; + public static final String APPLICATION_NAME = "applicationName"; + public static final String HOST = "host"; + public static final String CREATED_DATE = "createdDate"; +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMetadataDTO.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMetadataDTO.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMetadataDTO.java new file mode 100644 index 0000000..53b1c57 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMetadataDTO.java @@ -0,0 +1,142 @@ +/* +* +* 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.datacat.models; + +import java.util.Map; + +public class OutputMetadataDTO { + + private String id = ""; + + private String experimentName = ""; + + private String outputPath = ""; + + private String ownerId = ""; + + public String gatewayId = ""; + + private String applicationName = ""; + + private String experimentId = ""; + + private String createdDate = ""; + + private String host = ""; + + //This field is added for the requirements of Solr (it is easy to encode json to object when this field + // is present). + private String _version_ = ""; + + //Custom Metadata fields + //The content of this field depends on the parsers + //The relevant parsers populate this data entity + private Map<String, String> customMetaData; + + public String getOutputPath() { + return outputPath; + } + + public void setOutputPath(String outputPath) { + this.outputPath = outputPath; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getExperimentName() { + return experimentName; + } + + public void setExperimentName(String experimentName) { + this.experimentName = experimentName; + } + + public String getGatewayId() { + return gatewayId; + } + + public void setGatewayId(String gatewayId) { + this.gatewayId = gatewayId; + } + + public String getExperimentId() { + return experimentId; + } + + public void setExperimentId(String experimentId) { + this.experimentId = experimentId; + } + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + public String getApplicationName() { + return applicationName; + } + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + public String getCreatedDate() { + return createdDate; + } + + public void setCreatedDate(String createdDate) { + this.createdDate = createdDate; + } + + public String getOwnerId() { + return ownerId; + } + + public void setOwnerId(String ownerId) { + this.ownerId = ownerId; + } + + public String get_version_() { + return _version_; + } + + public void set_version_(String _version_) { + this._version_ = _version_; + } + + public Map<String, String> getCustomMetaData() { + return customMetaData; + } + + public void setCustomMetaData(Map<String, String> customMetaData) { + this.customMetaData = customMetaData; + } + +} http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessage.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessage.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessage.java new file mode 100644 index 0000000..ee1ac49 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessage.java @@ -0,0 +1,104 @@ +/* +* +* 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.datacat.models; + +public class OutputMonitorMessage { + + private String experimentID; + + private String experimentName; + + private String ownerId; + + private String gatewayId; + + private String outputPath; + + private String applicationName; + + private String host; + + private String fileMonitorMessageType; + + public String getExperimentID() { + return experimentID; + } + + public void setExperimentID(String experimentID) { + this.experimentID = experimentID; + } + + public String getOutputPath() { + return outputPath; + } + + public void setOutputPath(String outputPath) { + this.outputPath = outputPath; + } + + public String getFileMonitorMessageType() { + return fileMonitorMessageType; + } + + public void setFileMonitorMessageType(String fileMonitorMessageType) { + this.fileMonitorMessageType = fileMonitorMessageType; + } + + public String getExperimentName() { + return experimentName; + } + + public void setExperimentName(String experimentName) { + this.experimentName = experimentName; + } + + public String getOwnerId() { + return ownerId; + } + + public void setOwnerId(String ownerId) { + this.ownerId = ownerId; + } + + public String getGatewayId() { + return gatewayId; + } + + public void setGatewayId(String gatewayId) { + this.gatewayId = gatewayId; + } + + public String getApplicationName() { + return applicationName; + } + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } +} http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessageType.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessageType.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessageType.java new file mode 100644 index 0000000..2563822 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/OutputMonitorMessageType.java @@ -0,0 +1,29 @@ +/* +* +* 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.datacat.models; + +public class OutputMonitorMessageType { + public static final String FILE_CREATED = "FILE_CREATED"; + + public static final String FILE_MODIFIED = "FILE_MODIFIED"; + + public static final String FILE_DELETED = "FILE_DELETED"; +} http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryParameter.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryParameter.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryParameter.java new file mode 100644 index 0000000..8b7716d --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryParameter.java @@ -0,0 +1,64 @@ +/* +* +* 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.datacat.models; + +import java.io.Serializable; + +public class PrimaryQueryParameter implements Serializable { + + private String field; + private String firstParameter; + //In some cases we need a second parameter e.g. range query + private String secondParameter; + private PrimaryQueryType primaryQueryType; + + public String getField() { + return field; + } + + public void setField(String field) { + this.field = field; + } + + public String getFirstParameter() { + return firstParameter; + } + + public void setFirstParameter(String firstParameter) { + this.firstParameter = firstParameter; + } + + public String getSecondParameter() { + return secondParameter; + } + + public void setSecondParameter(String secondParameter) { + this.secondParameter = secondParameter; + } + + public PrimaryQueryType getPrimaryQueryType() { + return primaryQueryType; + } + + public void setPrimaryQueryType(PrimaryQueryType primaryQueryType) { + this.primaryQueryType = primaryQueryType; + } +} http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryType.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryType.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryType.java new file mode 100644 index 0000000..5ef1827 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/PrimaryQueryType.java @@ -0,0 +1,31 @@ +/* +* +* 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.datacat.models; + +public enum PrimaryQueryType { + EQUALS, + PHRASE, + WILDCARD, + SUBSTRING, + RANGE, + FULL_TEXT +} + http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/QueryObject.java ---------------------------------------------------------------------- diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/QueryObject.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/QueryObject.java new file mode 100644 index 0000000..eaaf329 --- /dev/null +++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/QueryObject.java @@ -0,0 +1,96 @@ +/* +* +* 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.datacat.models; + +import java.util.List; + +public class QueryObject { + + private String username; + + private boolean queryStringSet =false; + + private String queryString; + + private String[] userGroups; + + private List<PrimaryQueryParameter> primaryQueryParameterList; + + private int startRow=0; + + private int numberOfRows =0; + + public String getQueryString() { + return queryString; + } + + public void setQueryString(String queryString) { + this.queryString = queryString; + } + + public boolean isQueryStringSet() { + return queryStringSet; + } + + public void setQueryStringSet(boolean stringQuery) { + this.queryStringSet = stringQuery; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String[] getUserGroups() { + return userGroups; + } + + public void setUserGroups(String[] userGroups) { + this.userGroups = userGroups; + } + + public List<PrimaryQueryParameter> getPrimaryQueryParameterList() { + return primaryQueryParameterList; + } + + public void setPrimaryQueryParameterList(List<PrimaryQueryParameter> primaryQueryParameterList) { + this.primaryQueryParameterList = primaryQueryParameterList; + } + + public int getStartRow() { + return startRow; + } + + public void setStartRow(int startRow) { + this.startRow = startRow; + } + + public int getNumberOfRows() { + return numberOfRows; + } + + public void setNumberOfRows(int numberOfRows) { + this.numberOfRows = numberOfRows; + } +} http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/parsers/pom.xml ---------------------------------------------------------------------- diff --git a/datacat/parsers/pom.xml b/datacat/parsers/pom.xml new file mode 100644 index 0000000..97b0fb5 --- /dev/null +++ b/datacat/parsers/pom.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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"> + <parent> + <artifactId>datacat</artifactId> + <groupId>org.apache.airavata.datacat</groupId> + <version>1.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>parsers</artifactId> + <dependencies> + <dependency> + <groupId>edu.princeton.cup</groupId> + <artifactId>java-cup</artifactId> + <version>${java-cup.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata.datacat</groupId> + <artifactId>models</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-io</artifactId> + <version>${apache-commons.version}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + </dependencies> +</project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/DefaultParser.java ---------------------------------------------------------------------- diff --git a/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/DefaultParser.java b/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/DefaultParser.java new file mode 100644 index 0000000..fae872d --- /dev/null +++ b/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/DefaultParser.java @@ -0,0 +1,63 @@ +/* + * + * 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.datacat.parsers; + +import org.apache.airavata.datacat.models.OutputMetadataDTO; +import org.apache.airavata.datacat.models.OutputMonitorMessage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; + +/** + * This is a test parser to to work with PHP Reference Gateway. + */ +public class DefaultParser implements IParser { + private final static Logger logger = LoggerFactory.getLogger(DefaultParser.class); + + @Override + public OutputMetadataDTO parse(OutputMonitorMessage outputMonitorMessage) { + //only a sample set of metadata is set. + OutputMetadataDTO outputMetadataDTO = new OutputMetadataDTO(); + outputMetadataDTO.setExperimentId(outputMonitorMessage.getExperimentID()); + outputMetadataDTO.setExperimentName(outputMonitorMessage.getExperimentName()); + outputMetadataDTO.setOutputPath(outputMonitorMessage.getOutputPath()); + outputMetadataDTO.setOwnerId(outputMonitorMessage.getOwnerId()); + outputMetadataDTO.setGatewayId(outputMonitorMessage.getGatewayId()); + outputMetadataDTO.setApplicationName(outputMonitorMessage.getApplicationName()); + outputMetadataDTO.setHost(outputMonitorMessage.getHost()); + + //For Solr requirement date is in the format of yyyy-MM-ddTHH:mm:ssZ + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date now = new Date(); + //rounding off the day + String date = dateFormat.format(now).split(" ")[0] + "T" + dateFormat.format(now).split(" ")[1] + "Z/DAY"; + outputMetadataDTO.setCreatedDate(date); + + HashMap<String, String> customMetadata = new HashMap<>(); + outputMetadataDTO.setCustomMetaData(customMetadata); + + return outputMetadataDTO; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/IParser.java ---------------------------------------------------------------------- diff --git a/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/IParser.java b/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/IParser.java new file mode 100644 index 0000000..8bf534d --- /dev/null +++ b/datacat/parsers/src/main/java/org/apache/airavata/datacat/parsers/IParser.java @@ -0,0 +1,30 @@ +/* +* +* 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.datacat.parsers; + +import org.apache.airavata.datacat.models.OutputMetadataDTO; +import org.apache.airavata.datacat.models.OutputMonitorMessage; + +public interface IParser { + + public OutputMetadataDTO parse(OutputMonitorMessage outputMonitorMessage); + +}
