Package org.lilyproject.repository.api

Examples of org.lilyproject.repository.api.LRepository


    @GET
    @Produces("application/json")
    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


        for (String arg : (List<String>)cmd.getArgList()) {
            System.out.println("----------------------------------------------------------------------");
            System.out.println("Importing " + arg + " to " + tableName + " table of repository " + repositoryName);
            InputStream is = new FileInputStream(arg);
            try {
                LRepository repository = lilyClient.getRepository(repositoryName);
                LTable table = repository.getTable(tableName);
                ImportListener importListener;
                if (cmd.hasOption(quietOption.getOpt())) {
                    importListener = new DefaultImportListener(System.out, EntityType.RECORD);
                } else {
                    importListener = new DefaultImportListener();
View Full Code Here

                lilyClient = new LilyClient(zk);
            } catch (Exception e) {
                throw new IOException("Error setting up LilyClient", e);
            }

            LRepository repository = lilyClient.getRepository(repositoryName);
            RecordScan scan = getScan(repository);

            // Determine start and stop row
            byte[] startRow;
            if (scan.getRawStartRecordId() != null) {
                startRow = scan.getRawStartRecordId();
            } else if (scan.getStartRecordId() != null) {
                startRow = scan.getStartRecordId().toBytes();
            } else {
                startRow = new byte[0];
            }

            byte[] stopRow;
            if (scan.getRawStopRecordId() != null) {
                stopRow = scan.getRawStopRecordId();
            } else if (scan.getStopRecordId() != null) {
                stopRow = scan.getStopRecordId().toBytes();
            } else {
                stopRow = new byte[0];
            }

            //
            hbaseConf = LilyClient.getHBaseConfiguration(zk);

            for (String tableName : getRepositoryHBaseTableNames(repository.getTableManager(),
                    jobContext.getConfiguration())) {
                HTable table = new HTable(hbaseConf, tableName);
                try {
                    inputSplits.addAll(getSplits(table, startRow, stopRow));
                } finally {
View Full Code Here

    }

    @Override
    public void follow(IndexUpdateBuilder indexUpdateBuilder, FollowCallback callback)
            throws RepositoryException, IOException, InterruptedException {
        LRepository repository = indexUpdateBuilder.getRepository();
        LTable table = repository.getTable(indexUpdateBuilder.getTable());
        IdGenerator idGenerator = repository.getIdGenerator();
        RecordContext ctx = indexUpdateBuilder.getRecordContext();

        Set<String> currentDimensions = Sets.newHashSet(ctx.dep.id.getVariantProperties().keySet());
        currentDimensions.addAll(ctx.dep.moreDimensionedVariants);
View Full Code Here

            indexUpdateBuilder.addDependency(fieldType.getId());
        }
        IdGenerator idGenerator = indexUpdateBuilder.getRepository().getIdGenerator();

        RecordContext ctx = indexUpdateBuilder.getRecordContext();
        LRepository repository = indexUpdateBuilder.getRepository();

        // FIXME: it's more efficient to read all records at once
        // but make sure missing records are also treated (handled here via null linkedRecord in case of RecordNotFoundException
        if (ctx.record != null) {
            List links = IndexerUtils.flatList(ctx.record, fieldType);
            for (Link link: (List<Link>)links) {
                RecordId linkedRecordId = link.resolve(ctx.contextRecord, idGenerator);
                Record linkedRecord = null;
                String tableName = link.getTable() != null ? link.getTable() : indexUpdateBuilder.getTable();
                LTable table = repository.getTable(tableName);
                try {
                    linkedRecord = VersionTag.getIdRecord(linkedRecordId, indexUpdateBuilder.getVTag(), table, repository);
                } catch (RecordNotFoundException rnfe) {
                    // ok, continue with null value
                } catch (VersionNotFoundException e) {
View Full Code Here

            lilyClient = new LilyClient(zkConnectString, 30000);
        } catch (Exception e) {
            throw new IOException("Error setting up LilyClient", e);
        }

        LRepository repository = null;
        try {
            repository = lilyClient.getRepository(repositoryName);
        } catch (RepositoryException e) {
            throw new IOException("Error getting Lily repository object", e);
        }
View Full Code Here

            lilyClient = new LilyClient(zkConnectString, 30000);
        } catch (Exception e) {
            throw new IOException("Error setting up LilyClient", e);
        }

        LRepository repository = null;
        try {
            repository = lilyClient.getRepository(repositoryName);
        } catch (RepositoryException e) {
            throw new IOException("Error getting Lily repository object", e);
        }
View Full Code Here

        if (ctx.dep.id.isMaster()) {
            // We're already on a master record, stop here
            return;
        }

        LRepository repository = indexUpdateBuilder.getRepository();
        LTable table = repository.getTable(indexUpdateBuilder.getTable());

        Dep masterDep = new Dep(ctx.dep.id.getMaster(), Collections.<String>emptySet());
        Record master = null;
        try {
            master = VersionTag.getIdRecord(masterDep.id, indexUpdateBuilder.getVTag(), table, repository);
View Full Code Here

                .getApplicationContext().getBean("repositoryManager");
        IdentityHashMap<Object, Object> chains = new IdentityHashMap<Object, Object>();

        // Test the decorator is applied for each repository and each table
        for (String repositoryName : new String[] {"default", "repo1", "repo2"}) {
            LRepository repository = client.getRepository(repositoryName);

            repository.getTableManager().createTable("table1");
            repository.getTableManager().createTable("table2");

            for (String tableName : new String[] {"record", "table1", "table2"}) {
                LTable table = repository.getTable(tableName);
                Record record = table.newRecord();
                record.setRecordType(typeName);
                record.setField(field1, "foobar");
                record = table.create(record);
                assertEquals("foo", record.getField(field2));
View Full Code Here

        RepositoryManager repositoryManager = (RepositoryManager)lilyProxy.getLilyServerProxy()
                .getLilyServerTestingUtility().getRuntime().getJavaServiceManager()
                .getService(org.lilyproject.repository.api.RepositoryManager.class);

        // Create a record type
        LRepository repository = repositoryManager.getDefaultRepository();
        TypeManager typeManager = repository.getTypeManager();
        typeManager.recordTypeBuilder()
                .defaultNamespace("authztest")
                .name("Type1")
                .fieldEntry().defineField().name("field1").create().add()
                .fieldEntry().defineField().name("field2").create().add()
                .create();

        assertNull(AuthzRegionObserver.lastSeenAuthzCtx);

        // Create a record
        LTable table = repository.getDefaultTable();
        Record record = table.recordBuilder()
                .defaultNamespace("authztest")
                .recordType("Type1")
                .field("field1", "value 1")
                .field("field2", "value 2")
View Full Code Here

TOP

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

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.