use of uk.gov.gchq.gaffer.data.element.Properties in project Gaffer by gchq.
the class AbstractAccumuloElementConverterTest method shouldSerialiseAndDeSerialiseBetweenPropertyAndValueMissingEndProperty.
@Test
public void shouldSerialiseAndDeSerialiseBetweenPropertyAndValueMissingEndProperty() throws AccumuloElementConversionException {
Properties properties = new Properties();
properties.put(AccumuloPropertyNames.PROP_1, 60);
properties.put(AccumuloPropertyNames.PROP_2, 166);
properties.put(AccumuloPropertyNames.PROP_3, 299);
properties.put(AccumuloPropertyNames.PROP_4, 10);
final Value value = converter.getValueFromProperties(TestGroups.EDGE, properties);
final Properties deSerialisedProperties = converter.getPropertiesFromValue(TestGroups.EDGE, value);
assertEquals(60, deSerialisedProperties.get(AccumuloPropertyNames.PROP_1));
assertEquals(166, deSerialisedProperties.get(AccumuloPropertyNames.PROP_2));
assertEquals(299, deSerialisedProperties.get(AccumuloPropertyNames.PROP_3));
assertEquals(10, deSerialisedProperties.get(AccumuloPropertyNames.PROP_4));
}
use of uk.gov.gchq.gaffer.data.element.Properties in project Gaffer by gchq.
the class AbstractAccumuloElementConverterTest method shouldBuildTimestampFromProperty.
@Test
public void shouldBuildTimestampFromProperty() throws AccumuloElementConversionException {
// Given
// add extra timestamp property to schema
final Schema schema = new Schema.Builder().json(StreamUtil.schemas(getClass())).build();
converter = createConverter(new Schema.Builder(schema).type("timestamp", Long.class).edge(TestGroups.EDGE, new SchemaEdgeDefinition.Builder().property(AccumuloPropertyNames.TIMESTAMP, "timestamp").build()).timestampProperty(AccumuloPropertyNames.TIMESTAMP).build());
final long propertyTimestamp = 10L;
final Properties properties = new Properties() {
{
put(AccumuloPropertyNames.COLUMN_QUALIFIER, 1);
put(AccumuloPropertyNames.PROP_1, 2);
put(AccumuloPropertyNames.TIMESTAMP, propertyTimestamp);
}
};
// When
final long timestamp = converter.buildTimestamp(properties);
// Then
assertEquals(propertyTimestamp, timestamp);
}
use of uk.gov.gchq.gaffer.data.element.Properties in project Gaffer by gchq.
the class AbstractAccumuloElementConverterTest method shouldSerialiseAndDeSerialiseBetweenPropertyAndValue.
@Test
public void shouldSerialiseAndDeSerialiseBetweenPropertyAndValue() throws AccumuloElementConversionException {
Properties properties = new Properties();
properties.put(AccumuloPropertyNames.PROP_1, 60);
properties.put(AccumuloPropertyNames.PROP_2, 166);
properties.put(AccumuloPropertyNames.PROP_3, 299);
properties.put(AccumuloPropertyNames.PROP_4, 10);
properties.put(AccumuloPropertyNames.COUNT, 8);
final Value value = converter.getValueFromProperties(TestGroups.EDGE, properties);
final Properties deSerialisedProperties = converter.getPropertiesFromValue(TestGroups.EDGE, value);
assertEquals(60, deSerialisedProperties.get(AccumuloPropertyNames.PROP_1));
assertEquals(166, deSerialisedProperties.get(AccumuloPropertyNames.PROP_2));
assertEquals(299, deSerialisedProperties.get(AccumuloPropertyNames.PROP_3));
assertEquals(10, deSerialisedProperties.get(AccumuloPropertyNames.PROP_4));
assertEquals(8, deSerialisedProperties.get(AccumuloPropertyNames.COUNT));
}
use of uk.gov.gchq.gaffer.data.element.Properties in project Gaffer by gchq.
the class AbstractAccumuloElementConverterTest method shouldSkipNullPropertyValuesWhenCreatingAccumuloKey.
@Test
public void shouldSkipNullPropertyValuesWhenCreatingAccumuloKey() throws SchemaException, AccumuloElementConversionException, IOException {
// Given
final Edge edge = new Edge(TestGroups.EDGE);
edge.setSource("1");
edge.setDestination("2");
edge.setDirected(true);
edge.putProperty(AccumuloPropertyNames.COLUMN_QUALIFIER, null);
// When
final Pair<Key> keys = converter.getKeysFromElement(edge);
Properties properties = converter.getPropertiesFromColumnQualifier(TestGroups.EDGE, keys.getFirst().getColumnQualifierData().getBackingArray());
// Then
assertEquals(null, properties.get(AccumuloPropertyNames.COLUMN_QUALIFIER));
}
use of uk.gov.gchq.gaffer.data.element.Properties in project Gaffer by gchq.
the class AbstractAccumuloElementConverterTest method shouldSerialiseAndDeserialisePropertiesWhenAllAreEmpty.
@Test
public void shouldSerialiseAndDeserialisePropertiesWhenAllAreEmpty() throws AccumuloElementConversionException {
// Given
final Schema schema = new Schema.Builder().entity(TestGroups.ENTITY, new SchemaEntityDefinition.Builder().vertex("string").property(TestPropertyNames.PROP_1, "map").property(TestPropertyNames.PROP_2, "map").build()).type("string", String.class).type("map", new TypeDefinition.Builder().clazz(FreqMap.class).aggregateFunction(new FreqMapAggregator()).serialiser(new FreqMapSerialiser()).build()).build();
converter = createConverter(schema);
final Entity entity = new Entity.Builder().vertex("vertex1").property(TestPropertyNames.PROP_1, new FreqMap()).property(TestPropertyNames.PROP_2, new FreqMap()).build();
// When 1
final Value value = converter.getValueFromProperties(TestGroups.ENTITY, entity.getProperties());
// Then 1
assertTrue(value.getSize() > 0);
// When 2
final Properties properties = converter.getPropertiesFromValue(TestGroups.ENTITY, value);
// Then 2
assertEquals(entity.getProperties(), properties);
}
Aggregations