Package org.lilyproject.repository.api

Examples of org.lilyproject.repository.api.FieldType


    @Test
    public void testCreate() throws Exception {
        QName name = new QName(namespace, "testCreate");
        ValueType valueType = typeManager.getValueType("STRING");
        FieldType fieldType = typeManager.newFieldType(valueType , name, Scope.NON_VERSIONED);
        fieldType = typeManager.createFieldType(fieldType);
        assertEquals(fieldType, typeManager.getFieldTypeById(fieldType.getId()));
        assertEquals(fieldType, typeManager.getFieldTypeByName(fieldType.getName()));
        assertEquals(typeManager.getFieldTypeById(fieldType.getId()), typeManager.getFieldTypeByName(name));
    }
View Full Code Here


    @Test
    public void testCreateIgnoresGivenId() throws Exception {
        SchemaId id = new SchemaIdImpl(UUID.randomUUID());
        ValueType valueType = typeManager.getValueType("STRING");
        FieldType fieldType = typeManager.newFieldType(id, valueType , new QName(namespace, "aName"), Scope.VERSIONED_MUTABLE);
        fieldType = typeManager.createFieldType(fieldType);
        assertFalse(fieldType.getId().equals(id));
    }
View Full Code Here

    @Test
    public void testCreateSameNameFails() throws Exception {
        QName name = new QName(namespace, "testCreateSameNameFails");
        ValueType valueType = typeManager.getValueType("STRING");
        FieldType fieldType = typeManager.newFieldType(valueType , name, Scope.NON_VERSIONED);
        fieldType = typeManager.createFieldType(fieldType);

        ValueType valueType2 = typeManager.getValueType("INTEGER");
        FieldType fieldType2 = typeManager.newFieldType(valueType2, name, Scope.NON_VERSIONED);
        try {
            if (avro) {
                System.out.println("Expecting FieldTypeExistsException");
            }
            fieldType = typeManager.createFieldType(fieldType2);
View Full Code Here

    @Test
    public void testUpdate() throws Exception {
        QName name = new QName(namespace, "testUpdate");
        ValueType valueType = typeManager.getValueType("STRING");
        FieldType fieldTypeCreate = typeManager.newFieldType(valueType , name, Scope.VERSIONED);
        fieldTypeCreate = typeManager.createFieldType(fieldTypeCreate);

        // Update name
        FieldType fieldTypeNewName = typeManager.newFieldType(fieldTypeCreate.getId(), valueType , new QName(namespace, "newName"), Scope.VERSIONED);
        fieldTypeNewName = typeManager.updateFieldType(fieldTypeNewName);
        assertEquals(fieldTypeCreate.getId(), fieldTypeNewName.getId());
        assertEquals(fieldTypeNewName, typeManager.getFieldTypeById(fieldTypeCreate.getId()));
        assertEquals(typeManager.getFieldTypeById(fieldTypeCreate.getId()), typeManager.getFieldTypeByName(new QName(namespace, "newName")));

        // Create new fieldType with first name
        ValueType valueType2 = typeManager.getValueType("INTEGER");
        FieldType fieldType2 = typeManager.newFieldType(valueType2 , name, Scope.NON_VERSIONED);
        fieldType2 = typeManager.createFieldType(fieldTypeCreate);
        assertEquals(fieldType2, typeManager.getFieldTypeByName(name));
    }
View Full Code Here

    @Test
    public void testUpdateValueTypeFails() throws Exception {
        QName name = new QName(namespace, "testUpdateValueTypeFails");
        ValueType valueType = typeManager.getValueType("STRING");
        FieldType fieldType = typeManager.newFieldType(valueType , name, Scope.VERSIONED);
        fieldType = typeManager.createFieldType(fieldType);

        fieldType.setValueType(typeManager.getValueType("INTEGER"));
        try {
            if (avro) {
                System.out.println("Expecting FieldTypeUpdateException");
            }
            typeManager.updateFieldType(fieldType);
View Full Code Here

    @Test
    public void testUpdateScopeFails() throws Exception {
        QName name = new QName(namespace, "testUpdateScopeFails");
        ValueType valueType = typeManager.getValueType("STRING");
        FieldType fieldType = typeManager.newFieldType(valueType , name, Scope.VERSIONED);
        fieldType = typeManager.createFieldType(fieldType);

        fieldType.setScope(Scope.NON_VERSIONED);
        try {
            if (avro) {
                System.out.println("Expecting FieldTypeUpdateException");
            }
            typeManager.updateFieldType(fieldType);
View Full Code Here

    @Test
    public void testUpdateToAnExistingNameFails() throws Exception {
        QName name1 = new QName(namespace, "testUpdateToAnExistingNameFails1");
        ValueType valueType = typeManager.getValueType("STRING");
        FieldType fieldType = typeManager.newFieldType(valueType , name1, Scope.VERSIONED);
        fieldType = typeManager.createFieldType(fieldType);

        QName name2 = new QName(namespace, "testUpdateToAnExistingNameFails2");
        ValueType valueType2 = typeManager.getValueType("STRING");
        FieldType fieldType2 = typeManager.newFieldType(valueType2 , name2, Scope.VERSIONED);
        fieldType2 = typeManager.createFieldType(fieldType2);

        fieldType.setName(name2);
        try {
            if (avro) {
View Full Code Here

        String NS = "testCreateOrUpdateFieldType";

        //
        // Use createOrUpdate to create a new field type
        //
        FieldType fieldType = typeManager.newFieldType("STRING", new QName(NS, "field1"), Scope.NON_VERSIONED);
        fieldType = typeManager.createOrUpdateFieldType(fieldType);
        assertNotNull(fieldType.getId());
        assertEquals(new QName(NS, "field1"), fieldType.getName());

        //
        // Do a createOrUpdate with nothing changed
        //
        fieldType = typeManager.createOrUpdateFieldType(fieldType);
        assertNotNull(fieldType.getId());
        assertEquals(new QName(NS, "field1"), fieldType.getName());

        //
        // Use createOrUpdate to update the field type
        //
        fieldType.setName(new QName(NS, "field2"));
        fieldType = typeManager.createOrUpdateFieldType(fieldType);
        assertNotNull(fieldType.getId());
        assertEquals(new QName(NS, "field2"), fieldType.getName());

        //
        // Call createOrUpdate without name: should just return the complete type
        //
        fieldType.setName(null);
        fieldType = typeManager.createOrUpdateFieldType(fieldType);
        assertNotNull(fieldType.getId());
        assertEquals(new QName(NS, "field2"), fieldType.getName());

        //
        // Call createOrUpdate with a conflicting field type state
        //
        FieldType conflictFieldType = fieldType.clone();
        conflictFieldType.setScope(Scope.VERSIONED);
        try {
            typeManager.createOrUpdateFieldType(conflictFieldType);
            fail("expected exception");
        } catch (FieldTypeUpdateException e) {
            // expected
        }

        conflictFieldType = fieldType.clone();
        conflictFieldType.setValueType(typeManager.getValueType("LIST<STRING>"));
        try {
            typeManager.createOrUpdateFieldType(conflictFieldType);
            fail("expected exception");
        } catch (FieldTypeUpdateException e) {
            // expected
        }

        //
        // Call createOrUpdate without name and with conflicting state
        //
        conflictFieldType = fieldType.clone();
        conflictFieldType.setName(null);
        conflictFieldType.setScope(Scope.VERSIONED_MUTABLE);
        try {
            typeManager.createOrUpdateFieldType(conflictFieldType);
            fail("expected exception");
        } catch (FieldTypeUpdateException e) {
            // expected
View Full Code Here

    @Test
    public void testFieldTypeBuilder() throws Exception {
        String NS = "testFieldTypeBuilder";

        FieldType fieldType = typeManager
                .fieldTypeBuilder()
                .name(NS, "field1")
                .create();

        // Verify setting of defaults
        assertEquals(Scope.NON_VERSIONED, fieldType.getScope());
        assertEquals(typeManager.getValueType("STRING"), fieldType.getValueType());

        // Supplying ID only should be enough for createOrUpdate to return the stored state
        fieldType = typeManager
                .fieldTypeBuilder()
                .id(fieldType.getId())
                .createOrUpdate();

        assertEquals(new QName(NS, "field1"), fieldType.getName());
        assertEquals(Scope.NON_VERSIONED, fieldType.getScope());
        assertEquals(typeManager.getValueType("STRING"), fieldType.getValueType());

        fieldType = typeManager
                .fieldTypeBuilder()
                .name(NS, "field2")
                .type("LIST<STRING>")
                .scope(Scope.VERSIONED)
                .createOrUpdate();

        assertEquals(Scope.VERSIONED, fieldType.getScope());
        assertEquals(typeManager.getValueType("LIST<STRING>"), fieldType.getValueType());

        try {
            typeManager
                    .fieldTypeBuilder()
                    .id(new SchemaIdImpl(UUID.randomUUID()))
View Full Code Here

    @Override
    public FieldType createFieldType(FieldType fieldType) throws RepositoryException, InterruptedException {
        try {
            AvroFieldType avroFieldType = converter.convert(fieldType);
            AvroFieldType createFieldType = lilyProxy.createFieldType(avroFieldType);
            FieldType newFieldType = converter.convert(createFieldType, this);
            updateFieldTypeCache(newFieldType);
            return newFieldType;
        } catch (AvroRepositoryException e) {
            throw converter.convert(e);
        } catch (AvroGenericException e) {
View Full Code Here

TOP

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

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.