Java Code Examples for com.amazonaws.services.dynamodbv2.model.AttributeValue#getM()
The following examples show how to use
com.amazonaws.services.dynamodbv2.model.AttributeValue#getM() .
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 |
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 |
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: DynamoDbSinkTask.java From kafka-connect-dynamodb with Apache License 2.0 | 6 votes |
private void insert(ValueSource valueSource, Schema schema, Object value, PutRequest put) { final AttributeValue attributeValue; try { attributeValue = schema == null ? AttributeValueConverter.toAttributeValueSchemaless(value) : AttributeValueConverter.toAttributeValue(schema, value); } catch (DataException e) { log.error("Failed to convert record with schema={} value={}", schema, value, e); throw e; } final String topAttributeName = valueSource.topAttributeName(config); if (!topAttributeName.isEmpty()) { put.addItemEntry(topAttributeName, attributeValue); } else if (attributeValue.getM() != null) { put.setItem(attributeValue.getM()); } else { throw new ConnectException("No top attribute name configured for " + valueSource + ", and it could not be converted to Map: " + attributeValue); } }
Example 4
Source File: HiveDynamoDBMapType.java From emr-dynamodb-connector with Apache License 2.0 | 5 votes |
@Override public Object getHiveData(AttributeValue data, ObjectInspector objectInspector) { Map<String, AttributeValue> dataMap = data.getM(); if (dataMap == null) { return null; } switch (objectInspector.getCategory()) { case MAP: return DynamoDBDataParser.getMapObject(dataMap, objectInspector); case STRUCT: return DynamoDBDataParser.getStructObject(dataMap, objectInspector); default: throw new IllegalArgumentException("Unsupported Hive type: " + objectInspector.getTypeName()); } }
Example 5
Source File: AttributeValueCoder.java From beam with Apache License 2.0 | 5 votes |
@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 6
Source File: AttributeValueMarshallerTest.java From aws-dynamodb-encryption-java with Apache License 2.0 | 5 votes |
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 7
Source File: AttrMatcher.java From aws-dynamodb-encryption-java with Apache License 2.0 | 5 votes |
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 8
Source File: JacksonConverterImpl.java From aws-dynamodb-mars-json-demo with Apache License 2.0 | 5 votes |
/** * 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 9
Source File: DynamoDbDelegate.java From dynamodb-janusgraph-storage-backend with Apache License 2.0 | 4 votes |
/** * 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 10
Source File: AttributeValueMarshaller.java From aws-dynamodb-encryption-java with Apache License 2.0 | 4 votes |
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"); } }