Java Code Examples for com.amazonaws.services.dynamodbv2.model.AttributeValue#getL()

The following examples show how to use com.amazonaws.services.dynamodbv2.model.AttributeValue#getL() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DynamoDBTableReplicator.java    From podyn with Apache License 2.0 6 votes vote down vote up
public static TableColumnType columnTypeFromDynamoValue(AttributeValue typedValue) {
	if(typedValue.getB() != null) {
		return TableColumnType.bytea;
	} else if (typedValue.getBOOL() != null) {
		return TableColumnType.bool;
	} else if (typedValue.getBS() != null) {
		return TableColumnType.jsonb;
	} else if (typedValue.getL() != null) {
		return TableColumnType.jsonb;
	} else if (typedValue.getM() != null) {
		return TableColumnType.jsonb;
	} else if (typedValue.getN() != null) {
		return TableColumnType.numeric;
	} else if (typedValue.getNS() != null) {
		return TableColumnType.jsonb;
	} else if (typedValue.getS() != null) {
		return TableColumnType.text;
	} else if (typedValue.getSS() != null) {
		return TableColumnType.jsonb;
	} else {
		return TableColumnType.text;
	}
}
 
Example 2
Source File: Util.java    From syndesis with Apache License 2.0 6 votes vote down vote up
public static Object getValue(AttributeValue value) {
    if(value.getB() != null) {
        return value.getB();
    } else if (value.getS() != null){
        return value.getS();
    } else if (value.getBOOL() != null){
        return value.getBOOL();
    } else if (value.getBS() != null){
        return value.getBS();
    } else if (value.getL() != null){
        return value.getL();
    } else if (value.getM() != null){
        return value.getM();
    } else if (value.getN() != null){
        return value.getN();
    } else if (value.getNS() != null){
        return value.getNS();
    } else if (value.getSS() != null){
        return value.getSS();
    }
    return null;
}
 
Example 3
Source File: AttributeValueCoder.java    From beam with Apache License 2.0 5 votes vote down vote up
@Override
public void encode(AttributeValue value, OutputStream outStream) throws IOException {

  if (value.getS() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.s.toString(), outStream);
    StringUtf8Coder.of().encode(value.getS(), outStream);
  } else if (value.getN() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.n.toString(), outStream);
    StringUtf8Coder.of().encode(value.getN(), outStream);
  } else if (value.getBOOL() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.bOOL.toString(), outStream);
    BooleanCoder.of().encode(value.getBOOL(), outStream);
  } else if (value.getB() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.b.toString(), outStream);
    ByteArrayCoder.of().encode(convertToByteArray(value.getB()), outStream);
  } else if (value.getSS() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.sS.toString(), outStream);
    LIST_STRING_CODER.encode(value.getSS(), outStream);
  } else if (value.getNS() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.nS.toString(), outStream);
    LIST_STRING_CODER.encode(value.getNS(), outStream);
  } else if (value.getBS() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.bS.toString(), outStream);
    LIST_BYTE_CODER.encode(convertToListByteArray(value.getBS()), outStream);
  } else if (value.getL() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.l.toString(), outStream);
    LIST_ATTRIBUTE_CODER.encode(value.getL(), outStream);
  } else if (value.getM() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.m.toString(), outStream);
    MAP_ATTRIBUTE_CODER.encode(value.getM(), outStream);
  } else if (value.getNULL() != null) {
    StringUtf8Coder.of().encode(AttributeValueType.nULLValue.toString(), outStream);
    BooleanCoder.of().encode(value.getNULL(), outStream);
  } else {
    throw new CoderException("Unknown Type");
  }
}
 
Example 4
Source File: AttributeValueMarshallerTest.java    From aws-dynamodb-encryption-java with Apache License 2.0 5 votes vote down vote up
private void assertEquals(AttributeValue o1, AttributeValue o2) {
    Assert.assertEquals(o1.getB(), o2.getB());
    assertSetsEqual(o1.getBS(), o2.getBS());
    Assert.assertEquals(o1.getN(), o2.getN());
    assertSetsEqual(o1.getNS(), o2.getNS());
    Assert.assertEquals(o1.getS(), o2.getS());
    assertSetsEqual(o1.getSS(), o2.getSS());
    Assert.assertEquals(o1.getBOOL(), o2.getBOOL());
    Assert.assertEquals(o1.getNULL(), o2.getNULL());

    if (o1.getL() != null) {
        Assert.assertNotNull(o2.getL());
        final List<AttributeValue> l1 = o1.getL();
        final List<AttributeValue> l2 = o2.getL();
        Assert.assertEquals(l1.size(), l2.size());
        for (int x = 0; x < l1.size(); ++x) {
            assertEquals(l1.get(x), l2.get(x));
        }
    }

    if (o1.getM() != null) {
        Assert.assertNotNull(o2.getM());
        final Map<String, AttributeValue> m1 = o1.getM();
        final Map<String, AttributeValue> m2 = o2.getM();
        Assert.assertEquals(m1.size(), m2.size());
        for (Map.Entry<String, AttributeValue> entry : m1.entrySet()) {
            assertEquals(entry.getValue(), m2.get(entry.getKey()));
        }
    }
}
 
Example 5
Source File: AttrMatcher.java    From aws-dynamodb-encryption-java with Apache License 2.0 5 votes vote down vote up
public static boolean attrEquals(AttributeValue e, AttributeValue a) {
    if (!isEqual(e.getB(), a.getB()) ||
            !isEqual(e.getBOOL(), a.getBOOL()) ||
            !isSetEqual(e.getBS(), a.getBS()) ||
            !isEqual(e.getN(), a.getN()) ||
            !isSetEqual(e.getNS(), a.getNS()) ||
            !isEqual(e.getNULL(), a.getNULL()) ||
            !isEqual(e.getS(), a.getS()) ||
            !isSetEqual(e.getSS(), a.getSS())) {
        return false;
    }
    // Recursive types need special handling
    if (e.getM() == null ^ a.getM() == null) {
        return false;
    } else if (e.getM() != null) {
        if (!e.getM().keySet().equals(a.getM().keySet())) {
            return false;
        }
        for (final String key : e.getM().keySet()) {
            if (!attrEquals(e.getM().get(key), a.getM().get(key))) {
                return false;
            }
        }
    }
    if (e.getL() == null ^ a.getL() == null) {
        return false;
    } else if (e.getL() != null) {
        if (e.getL().size() != a.getL().size()) {
            return false;
        }
        for (int x = 0; x < e.getL().size(); x++) {
            if (!attrEquals(e.getL().get(x), a.getL().get(x))) {
                return false;
            }
        }
    }
    return true;
}
 
Example 6
Source File: JacksonConverterImpl.java    From aws-dynamodb-mars-json-demo with Apache License 2.0 5 votes vote down vote up
/**
 * Converts a DynamoDB attribute to a JSON representation.
 *
 * @param av
 *            DynamoDB attribute
 * @param depth
 *            Current JSON depth
 * @return JSON representation of the DynamoDB attribute
 * @throws JacksonConverterException
 *             Unknown DynamoDB type or JSON is too deep
 */
private JsonNode getJsonNode(final AttributeValue av, final int depth) throws JacksonConverterException {
    assertDepth(depth);
    if (av.getS() != null) {
        return JsonNodeFactory.instance.textNode(av.getS());
    } else if (av.getN() != null) {
        try {
            return JsonNodeFactory.instance.numberNode(Integer.parseInt(av.getN()));
        } catch (final NumberFormatException e) {
            // Not an integer
            try {
                return JsonNodeFactory.instance.numberNode(Float.parseFloat(av.getN()));
            } catch (final NumberFormatException e2) {
                // Not a number
                throw new JacksonConverterException(e.getMessage());
            }
        }
    } else if (av.getBOOL() != null) {
        return JsonNodeFactory.instance.booleanNode(av.getBOOL());
    } else if (av.getNULL() != null) {
        return JsonNodeFactory.instance.nullNode();
    } else if (av.getL() != null) {
        return listToJsonArray(av.getL(), depth);
    } else if (av.getM() != null) {
        return mapToJsonObject(av.getM(), depth);
    } else {
        throw new JacksonConverterException("Unknown type value " + av);
    }
}
 
Example 7
Source File: HiveDynamoDBListType.java    From emr-dynamodb-connector with Apache License 2.0 4 votes vote down vote up
@Override
public Object getHiveData(AttributeValue data, ObjectInspector objectInspector) {
  return data.getL() == null ? null : DynamoDBDataParser.getListObject(data.getL(), objectInspector);
}
 
Example 8
Source File: DynamoDbDelegate.java    From dynamodb-janusgraph-storage-backend with Apache License 2.0 4 votes vote down vote up
/**
 * Helper method that can clone an Attribute Value
 *
 * @param val the AttributeValue to copy
 * @param sourceDestinationMap used to avoid loops by keeping track of references
 * @return a copy of val
 */
public static AttributeValue clone(final AttributeValue val, final IdentityHashMap<AttributeValue, AttributeValue> sourceDestinationMap) {
    if (val == null) {
        return null;
    }

    if (sourceDestinationMap.containsKey(val)) {
        return sourceDestinationMap.get(val);
    }

    final AttributeValue clonedVal = new AttributeValue();
    sourceDestinationMap.put(val, clonedVal);
    if (val.getN() != null) {
        clonedVal.setN(val.getN());
    } else if (val.getS() != null) {
        clonedVal.setS(val.getS());
    } else if (val.getB() != null) {
        clonedVal.setB(val.getB());
    } else if (val.getNS() != null) {
        clonedVal.setNS(val.getNS());
    } else if (val.getSS() != null) {
        clonedVal.setSS(val.getSS());
    } else if (val.getBS() != null) {
        clonedVal.setBS(val.getBS());
    } else if (val.getBOOL() != null) {
        clonedVal.setBOOL(val.getBOOL());
    } else if (val.getNULL() != null) {
        clonedVal.setNULL(val.getNULL());
    } else if (val.getL() != null) {
        final List<AttributeValue> list = new ArrayList<>(val.getL().size());
        for (AttributeValue listItemValue : val.getL()) {
            if (!sourceDestinationMap.containsKey(listItemValue)) {
                sourceDestinationMap.put(listItemValue, clone(listItemValue, sourceDestinationMap));
            }
            list.add(sourceDestinationMap.get(listItemValue));
        }
        clonedVal.setL(list);
    } else if (val.getM() != null) {
        final Map<String, AttributeValue> map = new HashMap<>(val.getM().size());
        for (Entry<String, AttributeValue> pair : val.getM().entrySet()) {
            if (!sourceDestinationMap.containsKey(pair.getValue())) {
                sourceDestinationMap.put(pair.getValue(), clone(pair.getValue(), sourceDestinationMap));
            }
            map.put(pair.getKey(), sourceDestinationMap.get(pair.getValue()));
        }
        clonedVal.setM(map);
    }
    return clonedVal;
}
 
Example 9
Source File: AttributeValueMarshaller.java    From aws-dynamodb-encryption-java with Apache License 2.0 4 votes vote down vote up
private static void marshall(final AttributeValue attributeValue, final DataOutputStream out)
        throws IOException {
    
    if (attributeValue.getB() != null) {
        out.writeChar('b');
        writeBytes(attributeValue.getB(), out);
    } else if (attributeValue.getBS() != null) {
        out.writeChar('B');
        writeBytesList(attributeValue.getBS(), out);
    } else if (attributeValue.getN() != null) {
        out.writeChar('n');
        writeString(trimZeros(attributeValue.getN()), out);
    } else if (attributeValue.getNS() != null) {
        out.writeChar('N');

        final List<String> ns = new ArrayList<String>(attributeValue.getNS().size());
        for (final String n : attributeValue.getNS()) {
            ns.add(trimZeros(n));
        }
        writeStringList(ns, out);
    } else if (attributeValue.getS() != null) {
        out.writeChar('s');
        writeString(attributeValue.getS(), out);
    } else if (attributeValue.getSS() != null) {
        out.writeChar('S');
        writeStringList(attributeValue.getSS(), out);
    } else if (attributeValue.getBOOL() != null) {
        out.writeChar('?');
        out.writeByte((attributeValue.getBOOL() ? TRUE_FLAG : FALSE_FLAG));
    } else if (Boolean.TRUE.equals(attributeValue.getNULL())) {
        out.writeChar('\0');
    } else if (attributeValue.getL() != null) {
        final List<AttributeValue> l = attributeValue.getL();
        out.writeChar('L');
        out.writeInt(l.size());
        for (final AttributeValue attr : l) {
            if (attr == null) {
                throw new NullPointerException(
                    "Encountered null list entry value while marshalling attribute value "
                    + attributeValue);
            }
            marshall(attr, out);
        }
    } else if (attributeValue.getM() != null) {
        final Map<String, AttributeValue> m = attributeValue.getM();
        final List<String> mKeys = new ArrayList<String>(m.keySet());
        Collections.sort(mKeys);
        out.writeChar('M');
        out.writeInt(m.size());
        for (final String mKey : mKeys) {
            marshall(new AttributeValue().withS(mKey), out);
            
            final AttributeValue mValue = m.get(mKey);
            
            if (mValue == null) {
                throw new NullPointerException(
                    "Encountered null map value for key "
                    + mKey
                    + " while marshalling attribute value "
                    + attributeValue);
            }
            marshall(mValue, out);
        }
    } else {
        throw new IllegalArgumentException("A seemingly empty AttributeValue is indicative of invalid input or potential errors");
    }
}