Package io.fathom.cloud.protobuf.FileModel

Examples of io.fathom.cloud.protobuf.FileModel.DirectoryData


    public DirectoryData storeDirectory(NumberedItemCollection<DirectoryData> directoryStorage,
            DirectoryData.Builder dir) throws CloudException {
        if (!dir.hasId()) {
            // A new directory
            // We expect this to be small
            DirectoryData created = directoryStorage.create(dir);

            assert created.getSerializedSize() < 1024;

            return created;
        }

        DirectoryData built = dir.build();

        int size = built.getSerializedSize();
        if (size > 4096) {
            // log.warn("Excessive size of DirectoryData.  Size={} Data={}",
            // size,
            // built);
            log.warn("Excessive size of DirectoryData.  Size={}", size);
View Full Code Here


        return directoryStorage.update(dir);
    }

    private DirectoryData getDirectoryData(Project project, BucketData bucket) throws CloudException {
        NumberedItemCollection<DirectoryData> directoryStorage = getDirectoryStorage(project);
        DirectoryData dir = directoryStorage.find(bucket.getRootId());
        if (dir == null) {
            throw new IllegalStateException();
        }
        return dir;
    }
View Full Code Here

        // Should we prefix the project id?
        getBlobStore(project).put(blob.data);

        BucketData bucket = getBucket(project, bucketName);

        DirectoryData dir = getDirectoryData(project, bucket);

        DirectoryData.Builder newDir = DirectoryData.newBuilder(dir);

        FileData.Builder file = null;
View Full Code Here

    @Override
    @Transactional
    public void deleteFile(Project project, String bucketName, String name) throws CloudException {
        BucketData bucket = getBucket(project, bucketName);

        DirectoryData dir = getDirectoryData(project, bucket);

        DirectoryData.Builder newDir = DirectoryData.newBuilder(dir);

        int foundIndex = findFile(newDir, name);
        if (foundIndex < 0) {
View Full Code Here

        return foundIndex;
    }

    @Override
    public FsFile findFileInfo(FsBucket bucket, String name) throws CloudException {
        DirectoryData dir = getDirectoryData(bucket.getProject(), bucket.getData());

        int foundIndex = findFile(dir, name);
        if (foundIndex == -1) {
            return null;
        }

        FileData found = dir.getFiles(foundIndex);
        return new FsFile(bucket, found);
    }
View Full Code Here

            throws CloudException, IOException {
        getBlobStore(project).put(blob.data);

        BucketData bucket = getBucket(project, bucketName);

        DirectoryData dir = getDirectoryData(project, bucket);

        DirectoryData.Builder newDir = DirectoryData.newBuilder(dir);

        FileData.Builder file = null;

        FileData oldFileData;

        int foundIndex = findFile(newDir, name);
        if (foundIndex != -1) {
            oldFileData = dir.getFiles(foundIndex);
            file = newDir.getFilesBuilder(foundIndex);
        } else {
            // We require the file to already exist because otherwise it's
            // tricky to set metadata etc.
            throw new WebApplicationException(Status.NOT_FOUND);
View Full Code Here

        }

        if (bucket.hasRootId()) {
            NumberedItemCollection<DirectoryData> directoryStorage = getDirectoryStorage(project);

            DirectoryData dir = directoryStorage.find(bucket.getRootId());
            if (dir != null) {
                if (!isEmpty(dir)) {
                    throw new WebApplicationException(Status.CONFLICT);
                }
            }
View Full Code Here

            NumberedItemCollection<DirectoryData> directoryStorage = getDirectoryStorage(project);

            fileStore.getDirectories(project.getId());
            DirectoryData.Builder dir = DirectoryData.newBuilder();

            DirectoryData created = storeDirectory(directoryStorage, dir);

            newBucket.setRootId(created.getId());

            isNew = true;
        } else {
            newBucket = BucketData.newBuilder(oldBucket);
View Full Code Here

        String bucketName = compaction.getBucketName();
        String name = compaction.getName();

        BucketData bucket = getBucket(project, bucketName);

        DirectoryData dir = getDirectoryData(project, bucket);

        DirectoryData.Builder newDir = DirectoryData.newBuilder(dir);

        FileData.Builder builder = null;

        FileData oldFileData;

        int foundIndex = findFile(newDir, name);
        if (foundIndex != -1) {
            oldFileData = dir.getFiles(foundIndex);
            builder = newDir.getFilesBuilder(foundIndex);
        } else {
            return false;
        }
View Full Code Here

        NumberedItemCollection<DirectoryData> dirs = fileStore.getDirectories(projectId);
        Watched<DirectoryData> watched = dirs.watch(rootId);

        if (ifNotEtag != null) {
            DirectoryData dirData = watched.getValue();
            String currentEtag = computeEtag(dirData);
            if (!ifNotEtag.equals(currentEtag)) {
                return Futures.immediateFuture(currentEtag);
            }
        }
View Full Code Here

TOP

Related Classes of io.fathom.cloud.protobuf.FileModel.DirectoryData

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.