Package org.lilyproject.repository.api

Examples of org.lilyproject.repository.api.QName


    }

    @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);
        ObjectNode recordNode = RecordWriter.INSTANCE.toJson(record, options, repository);

        // Go through ser/deser
        String recordJson = JsonFormat.serializeAsString(recordNode);
        recordNode = (ObjectNode)JsonFormat.deserializeNonStd(recordJson);

        assertNotNull(recordNode.get("metadataToDelete"));
        assertEquals(2, recordNode.get("metadataToDelete").size());

        assertEquals(2, recordNode.get("metadataToDelete").get("{ns}field1").size());
        assertEquals(1, recordNode.get("metadataToDelete").get("{ns}field2").size());

        // Now parse json again to API objects
        record = RecordReader.INSTANCE.fromJson(recordNode, repository);
        assertEquals(2, record.getMetadataMap().size());

        Metadata metadata = record.getMetadata(new QName("ns", "field1"));
        assertTrue(metadata.getFieldsToDelete().contains("mfield2"));
        assertTrue(metadata.getFieldsToDelete().contains("mfield3"));
        assertEquals("value1", metadata.get("mfield1"));

        metadata = record.getMetadata(new QName("ns", "field2"));
        assertTrue(metadata.getFieldsToDelete().contains("mfield4"));
        assertEquals(1, metadata.getFieldsToDelete().size());
    }
View Full Code Here


    public void testLineBasedJsonImport() throws Exception {
        JsonImport.loadJsonLines(table, repository,
                getClass().getResourceAsStream("json_line_input.txt"), new ImportSettings());

        Record record = table.read(repository.getIdGenerator().fromString("USER.jsonline1"));
        assertEquals("hello1", record.getField(new QName("ns", "stringField")));

        record = table.read(repository.getIdGenerator().fromString("USER.jsonline2"));
        assertEquals("hello2", record.getField(new QName("ns", "stringField")));
    }
View Full Code Here

    public void testIgnoreEmptyFields() throws Exception {
        ImportSettings settings = new ImportSettings();
        settings.recordReader = IgnoreAndDeleteEmptyFieldsRecordReader.INSTANCE;
        JsonImport.load(table, repository, getClass().getResourceAsStream("emptyfieldsignore_1.json"), settings);

        QName stringField = new QName("ns", "string");
        QName integerField = new QName("ns", "integer");
        QName stringlist = new QName("ns", "stringlist");
        QName nested1 = new QName("ns", "nested1");
        QName nested2 = new QName("ns", "nested2");

        Record record = table.read(repository.getIdGenerator().fromString("USER.record1"));
        assertTrue(record.hasField(stringField));
        assertTrue(record.hasField(integerField));
        assertTrue(record.hasField(stringlist));
        assertTrue(record.hasField(nested1));
        assertTrue(record.hasField(nested2));

        JsonImport.load(table, repository, getClass().getResourceAsStream("emptyfieldsignore_2.json"), settings);

        record = table.read(repository.getIdGenerator().fromString("USER.record1"));
        assertFalse(record.hasField(stringField));
        assertFalse(record.hasField(integerField));
        assertFalse(record.hasField(stringlist));
        assertFalse(record.hasField(nested1));
        assertTrue(record.hasField(nested2));
        Record nestedRecord = record.getField(nested2);
        assertFalse(nestedRecord.hasField(new QName("ns", "field1")));
        assertTrue(nestedRecord.hasField(new QName("ns", "field2")));
    }
View Full Code Here

        setupRecordTypes();
    }

    private static void setupFieldTypes() throws Exception {
        fieldType1 = typeManager.createFieldType(typeManager
                .newFieldType(typeManager.getValueType("STRING"), new QName(namespace, "field1"), Scope.NON_VERSIONED));
        fieldType1B = typeManager.createFieldType(typeManager
                .newFieldType(typeManager.getValueType("STRING"), new QName(namespace, "field1B"),
                        Scope.NON_VERSIONED));
        fieldType2 = typeManager.createFieldType(typeManager
                .newFieldType(typeManager.getValueType("INTEGER"), new QName(namespace, "field2"), Scope.VERSIONED));
        fieldType3 = typeManager.createFieldType(
                typeManager.newFieldType(typeManager.getValueType("BOOLEAN"), new QName(namespace, "field3"),
                        Scope.VERSIONED_MUTABLE));

        fieldType4 = typeManager.createFieldType(typeManager
                .newFieldType(typeManager.getValueType("INTEGER"), new QName(namespace, "field4"),
                        Scope.NON_VERSIONED));
        fieldType5 = typeManager.createFieldType(typeManager
                .newFieldType(typeManager.getValueType("BOOLEAN"), new QName(namespace, "field5"), Scope.VERSIONED));
        fieldType6 = typeManager.createFieldType(typeManager
                .newFieldType(typeManager.getValueType("STRING"), new QName(namespace, "field6"),
                        Scope.VERSIONED_MUTABLE));

    }
View Full Code Here

                        Scope.VERSIONED_MUTABLE));

    }

    private static void setupRecordTypes() throws Exception {
        recordType1 = typeManager.newRecordType(new QName(namespace, "RT1"));
        recordType1.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType1.getId(), false));
        recordType1.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType2.getId(), false));
        recordType1.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType3.getId(), false));
        recordType1 = typeManager.createRecordType(recordType1);

        recordType1B = recordType1.clone();
        recordType1B.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType1B.getId(), false));
        recordType1B = typeManager.updateRecordType(recordType1B);

        recordType2 = typeManager.newRecordType(new QName(namespace, "RT2"));

        recordType2.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType4.getId(), false));
        recordType2.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType5.getId(), false));
        recordType2.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType6.getId(), false));
        recordType2 = typeManager.createRecordType(recordType2);

        recordType3 = typeManager.newRecordType(new QName(namespace, "RT3"));
        recordType3.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType1.getId(), false));
        recordType3.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType2.getId(), false));
        recordType3.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType3.getId(), false));
        recordType3 = typeManager.createRecordType(recordType3);
        recordType3.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType1.getId(), true));
View Full Code Here

    }

    @Test
    public void testCreateWithNonExistingRecordTypeFails() throws Exception {
        Record record = repository.newRecord(idGenerator.newRecordId());
        record.setRecordType(new QName("foo", "bar"));
        record.setField(fieldType1.getName(), "value1");
        try {
            if (avro) {
                System.out.println("Expecting RecordTypeNotFoundException");
            }
View Full Code Here

        assertEquals("zzz", readRecord.getField(fieldType6.getName()));
    }

    @Test
    public void testRecordRecreateFromVersionedToNonVersioned() throws Exception {
        QName vfield = new QName("recreate", "vfield");
        QName nvfield = new QName("recreate", "nvfield");

        FieldType vfieldtype = typeManager.newFieldType(typeManager.getValueType("STRING"), vfield, Scope.VERSIONED);
        vfieldtype = typeManager.createFieldType(vfieldtype);

        FieldType nvfieldtype =
                typeManager.newFieldType(typeManager.getValueType("STRING"), nvfield, Scope.NON_VERSIONED);
        nvfieldtype = typeManager.createFieldType(nvfieldtype);

        RecordType rt = typeManager.newRecordType(new QName("reinc", "rt"));
        rt.addFieldTypeEntry(vfieldtype.getId(), false);
        rt.addFieldTypeEntry(nvfieldtype.getId(), false);
        rt = typeManager.createRecordType(rt);

        // Create a record with versions
View Full Code Here

        assertEquals(3L, record.getVersion().longValue());
    }

    @Test
    public void testRecordRecreateOnlyVersionedFields() throws Exception {
        QName versionedOnlyQN = new QName(namespace, "VersionedOnly");
        RecordType versionedOnlyRT = typeManager.newRecordType(versionedOnlyQN);
        versionedOnlyRT.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType2.getId(), false));
        versionedOnlyRT = typeManager.createRecordType(versionedOnlyRT);

        Record record = repository.newRecord();
View Full Code Here

        assertEquals(versionedOnlyQN, record.getRecordTypeName(Scope.VERSIONED));
    }

    @Test
    public void testRecordRecreateNonVersionedOnly() throws Exception {
        QName nvfield = new QName("recreate", "OnlyNonVersioned");

        FieldType nvfieldtype =
                typeManager.newFieldType(typeManager.getValueType("STRING"), nvfield, Scope.NON_VERSIONED);
        nvfieldtype = typeManager.createFieldType(nvfieldtype);

        QName rtName = new QName("recreate", "rtOnlyNonVersioned");
        RecordType rt = typeManager.newRecordType(rtName);
        rt.addFieldTypeEntry(nvfieldtype.getId(), false);
        rt = typeManager.createRecordType(rt);

        // Create a record with versions
View Full Code Here

        assertEquals(false, readRecord.getField(fieldType3.getName()));
    }

    @Test
    public void testSupertypeLatestVersion() throws Exception {
        RecordType recordType4 = typeManager.newRecordType(new QName(namespace, "RT4"));
        recordType4.addFieldTypeEntry(typeManager.newFieldTypeEntry(fieldType6.getId(), false));
        recordType4.addSupertype(recordType1.getId()); // In fact recordType1B should be taken as supertype
        recordType4 = typeManager.createRecordType(recordType4);

        Record record = repository.newRecord(idGenerator.newRecordId());
View Full Code Here

TOP

Related Classes of org.lilyproject.repository.api.QName

Copyright © 2018 www.massapicom. 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.