Package org.lilyproject.repository.api

Examples of org.lilyproject.repository.api.RecordId


        LRepository repository = getRepository(uriInfo);
        LTable table = getTable(uriInfo);
        List<QName> fieldQNames = ResourceClassUtil.parseFieldList(uriInfo);

        RecordId recordId = repository.getIdGenerator().fromString(id);
        List<Record> records;
        try {
            records = table.readVersions(recordId, startIndex, startIndex + maxResults - 1, fieldQNames);
            return EntityList.create(records, uriInfo);
        } catch (RecordNotFoundException e) {
View Full Code Here


        {
            //
            // Test
            //
            RecordId recordId = idGenerator.newRecordId();
            expectEvent(CREATE, Table.RECORD.name, recordId, nestedListsField.getId(), recordField.getId(),
                    recordListField.getId());

            defaultTable
                    .recordBuilder()
                    .id(recordId)
                    .recordType(cfRecordType.getName())
                    .field(nestedListsField.getName(),
                            Arrays.asList(
                                    Arrays.asList("dutch", "french", "english"),
                                    Arrays.asList("italian", "greek")
                            ))
                    .field(recordField.getName(),
                            defaultTable
                                    .recordBuilder()
                                    .recordType(nvRecordType1.getName())
                                    .field(nvfield1.getName(), "german")
                                    .field(nvfield2.getName(), "spanish")
                                    .build())
                    .field(recordListField.getName(),
                            Arrays.asList(
                                    defaultTable
                                            .recordBuilder()
                                            .recordType(nvRecordType1.getName())
                                            .field(nvfield1.getName(), "swedish")
                                            .field(nvfield2.getName(), "chinese")
                                            .build(),
                                    defaultTable
                                            .recordBuilder()
                                            .recordType(nvRecordType1.getName())
                                            .field(nvfield1.getName(), "vietnamese")
                                            .field(nvfield2.getName(), "wolof")
                                            .build()
                            )
                    )
                    .create();

            commitIndex();

            verifyResultCount("+cf_nestedlists:italian", 1);
            verifyResultCount("+cf_record:german", 1);
            verifyResultCount("+cf_recordlist:chinese", 1);

            verifyResultCount("+cf_recordlist_field1:swedish", 1);
            verifyResultCount("+cf_recordlist_field1:vietnamese", 1);
            verifyResultCount("+cf_recordlist_field1:chinese", 0);
            verifyResultCount("+cf_recordlist_field1:wolof", 0);

            verifyResultCount("+cf_record_field1:german", 1);
            verifyResultCount("+cf_record_field1:spanish", 0);
        }

        {
            log.debug("Begin test CF503");

            Record beta = defaultTable.recordBuilder()
                    .recordType(vRecordType1.getName())
                    .field(vfield1.getName(), "whiskey").build();

            Record gamma = defaultTable.recordBuilder()
                    .recordType(vRecordType1.getName())
                    .field(vfield1.getName(), "wodka").build();

            RecordId alplhaId = idGenerator.newRecordId();
            Record alpha = defaultTable.recordBuilder().id(alplhaId)
                    .recordType(cfRecordType.getName())
                    .field(recordField.getName(), beta)
                    .field(recordListField.getName(), Lists.newArrayList(beta, gamma)).build();
            expectEvent(CREATE, Table.RECORD.name, alplhaId, recordField.getId(), recordListField.getId());
View Full Code Here

        // Case 1: link field => record field => string field
        //
        {
            log.debug("Begin test V610");

            RecordId recordId = idGenerator.newRecordId();

            defaultTable
                    .recordBuilder()
                    .recordType(recordType.getName())
                    .field(linkField.getName(),
                            new Link(defaultTable
                                    .recordBuilder()
                                    .id(recordId)
                                    .recordType(recordType.getName())
                                    .field(recordField.getName(),
                                            defaultTable
                                                    .recordBuilder()
                                                    .recordType(recordType.getName())
                                                    .field(stringField.getName(), "bordeaux")
                                                    .build())
                                    .create()
                                    .getId()))
                    .create();

            commitIndex();

            verifyResultCount("+cfd_case1:bordeaux", 1);

            // perform update
            log.debug("Begin test V611");

            defaultTable
                    .recordBuilder()
                    .id(recordId)
                    .field(recordField.getName(),
                            defaultTable
                                    .recordBuilder()
                                    .recordType(recordType.getName())
                                    .field(stringField.getName(), "bordooo")
                                    .build())
                    .update();

            commitIndex();

            verifyResultCount("+cfd_case1:bordooo", 1);
            verifyResultCount("+cfd_case1:bordeaux", 0);
        }

        //
        // Case 2: link field => record field => link field => string field
        //
        {
            log.debug("Begin test V620");

            RecordId recordId1 = idGenerator.newRecordId();
            RecordId recordId2 = idGenerator.newRecordId();

            defaultTable
                    .recordBuilder()
                    .recordType(recordType.getName())
                    .field(linkField.getName(),
                            new Link(defaultTable
                                    .recordBuilder()
                                    .id(recordId1)
                                    .recordType(recordType.getName())
                                    .field(recordField.getName(),
                                            defaultTable
                                                    .recordBuilder()
                                                    .recordType(recordType.getName())
                                                    .field(linkField.getName(),
                                                            new Link(defaultTable
                                                                    .recordBuilder()
                                                                    .id(recordId2)
                                                                    .recordType(recordType.getName())
                                                                    .field(stringField.getName(), "beaujolais")
                                                                    .create()
                                                                    .getId()))
                                                    .build())
                                    .create()
                                    .getId()))
                    .create();

            commitIndex();

            verifyResultCount("+cfd_case2:beaujolais", 1);

            // perform update
            log.debug("Begin test V621");

            defaultTable
                    .recordBuilder()
                    .id(recordId2)
                    .field(stringField.getName(), "booojolais")
                    .update();

            commitIndex();

            verifyResultCount("+cfd_case2:booojolais", 1);
            verifyResultCount("+cfd_case2:beaujolais", 0);
        }

        //
        // Case 3: record field => link field => string field
        //
        {
            log.debug("Begin test V630");

            RecordId recordId = idGenerator.newRecordId();

            defaultTable
                    .recordBuilder()
                    .recordType(recordType.getName())
                    .field(record2Field.getName(),
                            defaultTable
                                    .recordBuilder()
                                    .recordType(recordType.getName())
                                    .field(linkField.getName(),
                                            new Link(defaultTable
                                                    .recordBuilder()
                                                    .id(recordId)
                                                    .recordType(recordType.getName())
                                                    .field(stringField.getName(), "bourgogne")
                                                    .create()
                                                    .getId()))
                                    .build())
                    .create();

            commitIndex();

            verifyResultCount("+cfd_case3:bourgogne", 1);

            // perform an update
            log.debug("Begin test V631");

            defaultTable
                    .recordBuilder()
                    .id(recordId)
                    .field(stringField.getName(), "boerhonje")
                    .update();

            commitIndex();

            verifyResultCount("+cfd_case3:boerhonje", 1);
            verifyResultCount("+cfd_case3:bourgogne", 0);
        }

        //
        // Case 4: link field => list<record> field => link field => string field
        //
        {
            log.debug("Begin test V640");

            RecordId recordId1 = idGenerator.newRecordId();
            RecordId recordId2 = idGenerator.newRecordId();
            RecordId recordId3 = idGenerator.newRecordId();
            RecordId recordId4 = idGenerator.newRecordId();

            defaultTable
                    .recordBuilder()
                    .recordType(recordType.getName())
                    .id(recordId1)
                    .field(linkField.getName(),
                            new Link(defaultTable
                                    .recordBuilder()
                                    .id(recordId2)
                                    .recordType(recordType.getName())
                                    .field(recordListField.getName(),
                                            Arrays.asList(
                                                    defaultTable
                                                            .recordBuilder()
                                                            .id(recordId3)
                                                            .recordType(recordType.getName())
                                                            .field(linkField.getName(),
                                                                    new Link(defaultTable
                                                                            .recordBuilder()
                                                                            .id(recordId3)
                                                                            .recordType(recordType.getName())
                                                                            .field(stringField.getName(), "champagne")
                                                                            .create()
                                                                            .getId()))
                                                            .build(),
                                                    defaultTable
                                                            .recordBuilder()
                                                            .id(recordId4)
                                                            .recordType(recordType.getName())
                                                            .field(linkField.getName(),
                                                                    new Link(defaultTable
                                                                            .recordBuilder()
                                                                            .id(recordId4)
                                                                            .recordType(recordType.getName())
                                                                            .field(stringField.getName(), "languedoc")
                                                                            .create()
                                                                            .getId()))
                                                            .build()
                                            ))
                                    .create()
                                    .getId()))
                    .create();

            commitIndex();

            verifyResultCount("+cfd_case4:champagne", 1);
            verifyResultCount("+cfd_case4:languedoc", 1);

            // perform an update
            log.debug("Begin test V640");

            defaultTable
                    .recordBuilder()
                    .id(recordId3)
                    .field(stringField.getName(), "sampanje")
                    .update();

            commitIndex();

            verifyResultCount("+cfd_case4:sampanje", 1);
            verifyResultCount("+cfd_case4:languedoc", 1);
            verifyResultCount("+cfd_case4:champagne", 0);

            // perform another update */
            log.debug("Begin test V641");

            defaultTable
                    .recordBuilder()
                    .id(recordId2)
                    .recordType(recordType.getName())
                    .field(recordListField.getName(),
                            Arrays.asList(defaultTable
                                    .recordBuilder()
                                    .recordType(recordType.getName())
                                    .field(linkField.getName(), new Link(recordId3))
                                    .build()))
                    .update();

            commitIndex();

            verifyResultCount("+cfd_case4:sampanje", 1);
            verifyResultCount("+cfd_case4:languedoc", 0);
        }

        //
        // Case 5: link field => record field => record field => string field
        //
        {
            log.debug("Begin test V650");

            RecordId recordId1 = idGenerator.newRecordId();
            RecordId recordId2 = idGenerator.newRecordId();

            defaultTable
                    .recordBuilder()
                    .id(recordId1)
                    .recordType(recordType.getName())
View Full Code Here

            // Virtually remove the identifier byte from the input
            dataInput.setSize(size - 1);

            IdIdentifier idIdentifier = IDENTIFIERS[identifierByte];
            RecordId recordId = null;
            switch (idIdentifier) {
                case UUID:
                    UUID uuid = new UUID(dataInput.readLong(), dataInput.readLong());
                    recordId = (RecordId)UUID_CONSTRUCTOR.newInstance(uuid, idGenerator);
                    break;
                case USER:
                    String basicRecordIdString = dataInput.readUTF();
                    checkIdString(basicRecordIdString, "record id");
                    recordId = (RecordId)USER_CONSTRUCTOR.newInstance(basicRecordIdString, idGenerator);
                    break;
                case VARIANT:
                    int position = dataInput.getPosition();
                    int length = dataInput.getSize();
                    dataInput.setPosition(length - 8);
                    int nrOfVariants = dataInput.readInt();
                    int masterRecordIdLength = dataInput.readInt();

                    DataInput masterRecordIdInput = new DataInputImpl((DataInputImpl)dataInput, position, masterRecordIdLength);
                    RecordId masterRecordId = decode(masterRecordIdInput, idGenerator);
                    dataInput.setPosition(masterRecordIdLength);

                    SortedMap<String, String> varProps = new TreeMap<String, String>();
                    for (int i = 0; i < nrOfVariants; i++) {
                        String dimension = dataInput.readUTF();
View Full Code Here

            return new Link();
        }

        Link.LinkBuilder builder = Link.newBuilder();
        if (recordIdLength > 0) {
            RecordId id = decode(new DataInputImpl(recordIdBytes), idGenerator);
            builder.recordId(id);
        }

        if (args != null && args.length() > 0) {
            argsFromString(args, builder, args /* does not matter, should never be invalid */);
 
View Full Code Here

            return new Link();
        }

        LinkBuilder builder = Link.newBuilder();
        if (recordIdLength > 0) {
            RecordId id = idGenerator.fromBytes(recordIdBytes);
            builder.recordId(id);
        }

        if (args != null && args.length() > 0) {
            argsFromString(args, builder, args /* does not matter, should never be invalid */);
 
View Full Code Here

        if (filter.getRecordId() == null) {
            throw new IllegalArgumentException("Record ID should be specified in RecordIdPrefixFilter");
        }

        RecordId recordId = filter.getRecordId();
        byte[] rowKeyPrefix = recordId.toBytes();

        return new PrefixFilter(rowKeyPrefix);
    }
View Full Code Here

    public Entity<Record> get(@PathParam("id") String id, @PathParam("version") Long version,
            @Context UriInfo uriInfo) {

        LRepository repository = getRepository(uriInfo);
        LTable table = getTable(uriInfo);
        RecordId recordId = repository.getIdGenerator().fromString(id);

        try {
            return Entity.create(table.read(recordId, version), uriInfo);
        } catch (RecordNotFoundException e) {
            throw new ResourceException(e, NOT_FOUND.getStatusCode());
View Full Code Here

    @Produces("application/json")
    @Consumes("application/json")
    public Response put(@PathParam("id") String id, @PathParam("version") Long version, Record record,
            @Context UriInfo uriInfo) {

        RecordId recordId = getRepository(uriInfo).getIdGenerator().fromString(id);

        if (record.getId() != null && !record.getId().equals(recordId)) {
            throw new ResourceException("Record id in submitted record does not match record id in URI.",
                    BAD_REQUEST.getStatusCode());
        }
View Full Code Here

    public Entity<Record> get(@PathParam("id") String id, @PathParam("vtag") String vtag, @Context UriInfo uriInfo) {
        List<QName> fieldQNames = ResourceClassUtil.parseFieldList(uriInfo);

        LRepository repository = getRepository(uriInfo);
        LTable table = getTable(uriInfo);
        RecordId recordId = repository.getIdGenerator().fromString(id);
        Record record;
        try {
            record = VersionTag.getRecord(recordId, vtag, fieldQNames, table, repository);
            if (record == null) {
                throw new ResourceException("Undefined version tag: " + vtag, NOT_FOUND.getStatusCode());
View Full Code Here

TOP

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

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.