Examples of MetaDataBuilder


Examples of org.lilyproject.repository.api.MetadataBuilder

    public void testMetadataVersionedField() throws Exception {
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType2.getName(), new Integer(5));

        record.setMetadata(fieldType2.getName(), new MetadataBuilder().value("field1", "value1").build());
        record = repository.create(record);

        record = repository.read(record.getId());

        Metadata readMetadata = record.getMetadataMap().get(fieldType2.getName());
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    @Test
    public void testMetadataUpdateFieldAndMetadata() throws Exception {
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType2.getName(), new Integer(5));
        record.setMetadata(fieldType2.getName(), new MetadataBuilder()
                .value("field1", "value1")
                .value("field2", "value2").build());
        record = repository.create(record);

        // do update to field and metadata
        record.setField(fieldType2.getName(), new Integer(6));
        record.setMetadata(fieldType2.getName(), new MetadataBuilder()
                .value("field1", "value1a")
                .value("field3", "value3").build()); // note that we leave field2 unchanged, this tests the merging
        // of old and new metadata
        record = repository.update(record);
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    @Test
    public void testMetadataUpdateFieldOnly() throws Exception {
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType2.getName(), new Integer(5));
        record.setMetadata(fieldType2.getName(), new MetadataBuilder().value("field1", "value1").build());
        record = repository.create(record);
        RecordId recordId = record.getId();

        // update only field value, metadata should not be lost be inherited from previous record state
        record = repository.newRecord();
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    @Test
    public void testMetadataUpdateMetadataOnly() throws Exception {
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType2.getName(), new Integer(5));
        record.setMetadata(fieldType2.getName(), new MetadataBuilder()
                .value("field1", "value1")
                .value("field2", "value2").build());
        record = repository.create(record);
        RecordId recordId = record.getId();

        // Update only metadata -- should create new version
        record = repository.newRecord();
        record.setId(recordId);
        record.setMetadata(fieldType2.getName(), new MetadataBuilder().value("field1", "value1a").build());
        record = repository.update(record);

        Metadata metadata;

        // validate state of returned record
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    @Test
    public void testMetadata() throws Exception {
        Record record = repository.getRecordFactory().newRecord();
        record.setMetadata(new QName("ns", "field1"),
                new MetadataBuilder()
                        .value("stringfield", "string")
                        .value("intfield", 55)
                        .value("longfield", 999999999999L)
                        .value("booleanfield", Boolean.TRUE)
                        .value("floatfield", 33.33f)
                        .value("doublefield", 66.66d)
                        .value("binaryfield", new ByteArray("foo".getBytes()))
                        .build());

        record.setMetadata(new QName("ns", "field2"),
                new MetadataBuilder()
                        .value("stringfield", "another_string")
                        .build());

        ObjectNode recordNode = RecordWriter.INSTANCE.toJson(record, null, repository);
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    @Test
    public void testMetadataNoUpdate() throws Exception {
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType2.getName(), new Integer(1));
        record.setMetadata(fieldType2.getName(), new MetadataBuilder().value("field1", "value1").build());
        record = repository.create(record);

        assertEquals(1, record.getVersion().longValue());
        assertEquals(1, record.getMetadata(fieldType2.getName()).getMap().size());

        // resubmit the same record object, this should not cause an update
        record = repository.update(record);
        assertEquals(1, record.getVersion().longValue());

        // Delete a non-existing field from the metadata, this should also not cause an update
        record.setMetadata(fieldType2.getName(), new MetadataBuilder().delete("field2").build());
        record = repository.update(record);
        assertEquals(1, record.getVersion().longValue());

        // Once more with an empty metadata object
        record.setMetadata(fieldType2.getName(), new MetadataBuilder().build());
        record = repository.update(record);
        assertEquals(1, record.getVersion().longValue());

        // But if we do a real update, we should get a new version
        record.setMetadata(fieldType2.getName(), new MetadataBuilder().value("field1", "value1a").build());
        record = repository.update(record);
        assertEquals(2, record.getVersion().longValue());
    }
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    @Test
    public void testMetadataToDelete() throws Exception {
        Record record = repository.getRecordFactory().newRecord();
        record.setMetadata(new QName("ns", "field1"),
                new MetadataBuilder()
                        .value("mfield1", "value1")
                        .delete("mfield2")
                        .delete("mfield3")
                        .build());

        record.setMetadata(new QName("ns", "field2"),
                new MetadataBuilder()
                        .delete("mfield4")
                        .build());

        WriteOptions options = new WriteOptions();
        options.setUseNamespacePrefixes(false);
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    public void testMetadataOnDeletedField() throws Exception {
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType1.getName(), "field value");
        record.setField(fieldType2.getName(), new Integer(1));
        record.setMetadata(fieldType1.getName(), new MetadataBuilder().value("field1", "value1").build());
        record = repository.create(record);
        RecordId recordId = record.getId();

        record = repository.newRecord(recordId);
        record.delete(fieldType1.getName(), true);
        record.setMetadata(fieldType1.getName(), new MetadataBuilder().value("field1", "value1a").build());
        record = repository.update(record);

        // validate state of returned record
        assertFalse(record.hasField(fieldType1.getName()));
        assertNull(record.getMetadata(fieldType1.getName()));
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

        // Record with empty Metadata object
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType1.getName(), "field value");
        record.setField(fieldType2.getName(), new Integer(1));
        record.setMetadata(fieldType1.getName(), new MetadataBuilder().build());
        record = repository.create(record);

        // validate state of read record
        record = repository.read(record.getId());
        assertNull(record.getMetadata(fieldType1.getName()));

        // Record with Metadata object containing only delets
        record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType1.getName(), "field value");
        record.setField(fieldType2.getName(), new Integer(1));
        record.setMetadata(fieldType1.getName(), new MetadataBuilder().delete("field1").build());
        record = repository.create(record);

        // validate state of read record
        record = repository.read(record.getId());
        assertNull(record.getMetadata(fieldType1.getName()));
View Full Code Here

Examples of org.lilyproject.repository.api.MetadataBuilder

    public void testMetadataNotSupportedOnVersionedMutableFields() throws Exception {
        Record record = repository.newRecord();
        record.setRecordType(recordType1.getName());
        record.setField(fieldType1.getName(), "field value");
        record.setField(fieldType3.getName(), Boolean.TRUE);
        record.setMetadata(fieldType3.getName(), new MetadataBuilder().value("field1", "value1").build());
        try {
            record = repository.create(record);
            fail("Expected an exception trying to set metadata on a versioned-mutable field");
        } catch (Exception e) {
            assertTrue(e.getMessage().contains("Field metadata is currently not supported for versioned-mutable fields."));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.