Search in sources :

Example 11 with IACursor

use of org.apache.asterix.om.base.IACursor in project asterixdb by apache.

the class NodeGroupTupleTranslator method getMetadataEntityFromTuple.

@Override
public NodeGroup getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException {
    byte[] serRecord = frameTuple.getFieldData(NODEGROUP_PAYLOAD_TUPLE_FIELD_INDEX);
    int recordStartOffset = frameTuple.getFieldStart(NODEGROUP_PAYLOAD_TUPLE_FIELD_INDEX);
    int recordLength = frameTuple.getFieldLength(NODEGROUP_PAYLOAD_TUPLE_FIELD_INDEX);
    ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength);
    DataInput in = new DataInputStream(stream);
    ARecord nodeGroupRecord = recordSerDes.deserialize(in);
    String gpName = ((AString) nodeGroupRecord.getValueByPos(MetadataRecordTypes.NODEGROUP_ARECORD_GROUPNAME_FIELD_INDEX)).getStringValue();
    IACursor cursor = ((AUnorderedList) nodeGroupRecord.getValueByPos(MetadataRecordTypes.NODEGROUP_ARECORD_NODENAMES_FIELD_INDEX)).getCursor();
    List<String> nodeNames = new ArrayList<>();
    while (cursor.next()) {
        nodeNames.add(((AString) cursor.get()).getStringValue());
    }
    return new NodeGroup(gpName, nodeNames);
}
Also used : ArrayList(java.util.ArrayList) AUnorderedList(org.apache.asterix.om.base.AUnorderedList) AString(org.apache.asterix.om.base.AString) IACursor(org.apache.asterix.om.base.IACursor) DataInputStream(java.io.DataInputStream) DataInput(java.io.DataInput) ARecord(org.apache.asterix.om.base.ARecord) ByteArrayInputStream(java.io.ByteArrayInputStream) AString(org.apache.asterix.om.base.AString) NodeGroup(org.apache.asterix.metadata.entities.NodeGroup)

Example 12 with IACursor

use of org.apache.asterix.om.base.IACursor in project asterixdb by apache.

the class DatasetTupleTranslator method getDatasetHints.

protected Map<String, String> getDatasetHints(ARecord datasetRecord) {
    Map<String, String> hints = new HashMap<>();
    String key;
    String value;
    AUnorderedList list = (AUnorderedList) datasetRecord.getValueByPos(MetadataRecordTypes.DATASET_ARECORD_HINTS_FIELD_INDEX);
    IACursor cursor = list.getCursor();
    while (cursor.next()) {
        ARecord field = (ARecord) cursor.get();
        key = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_NAME_FIELD_INDEX)).getStringValue();
        value = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_VALUE_FIELD_INDEX)).getStringValue();
        hints.put(key, value);
    }
    return hints;
}
Also used : ARecord(org.apache.asterix.om.base.ARecord) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) AUnorderedList(org.apache.asterix.om.base.AUnorderedList) AMutableString(org.apache.asterix.om.base.AMutableString) AString(org.apache.asterix.om.base.AString) IACursor(org.apache.asterix.om.base.IACursor)

Aggregations

IACursor (org.apache.asterix.om.base.IACursor)12 AString (org.apache.asterix.om.base.AString)10 ARecord (org.apache.asterix.om.base.ARecord)7 AUnorderedList (org.apache.asterix.om.base.AUnorderedList)5 ArrayList (java.util.ArrayList)4 HashMap (java.util.HashMap)4 AMutableString (org.apache.asterix.om.base.AMutableString)4 AOrderedList (org.apache.asterix.om.base.AOrderedList)3 ByteArrayInputStream (java.io.ByteArrayInputStream)2 DataInput (java.io.DataInput)2 DataInputStream (java.io.DataInputStream)2 LinkedHashMap (java.util.LinkedHashMap)2 List (java.util.List)2 Dataset (org.apache.asterix.metadata.entities.Dataset)2 ABoolean (org.apache.asterix.om.base.ABoolean)2 AInt32 (org.apache.asterix.om.base.AInt32)2 ARecordType (org.apache.asterix.om.types.ARecordType)2 IAType (org.apache.asterix.om.types.IAType)2 RemoteException (java.rmi.RemoteException)1 Date (java.util.Date)1