Package io.fathom.cloud.storage

Source Code of io.fathom.cloud.storage.FsBucket

package io.fathom.cloud.storage;

import io.fathom.cloud.protobuf.CloudCommons.Attributes;
import io.fathom.cloud.protobuf.CloudCommons.KeyValueData;
import io.fathom.cloud.protobuf.FileModel.BucketData;
import io.fathom.cloud.server.model.Project;

import com.google.common.base.Optional;

public class FsBucket {
    final Project project;
    final BucketData data;

    Optional<String> metaWebIndex;

    FsBucket(Project project, BucketData bucket) {
        this.project = project;
        this.data = bucket;
    }

    public BucketData getData() {
        return data;
    }

    public Project getProject() {
        return project;
    }

    public String getMetaWebIndex() {
        if (metaWebIndex == null) {
            metaWebIndex = findMeta("web-index");
        }
        return metaWebIndex.orNull();
    }

    private Optional<String> findMeta(String key) {
        key = key.toLowerCase();

        Attributes attributes = data.getAttributes();
        for (KeyValueData kv : attributes.getUserAttributesList()) {
            if (key.equals(kv.getKey())) {
                return Optional.of(kv.getValue());
            }
        }
        return Optional.absent();
    }
}
TOP

Related Classes of io.fathom.cloud.storage.FsBucket

TOP
Copyright © 2018 www.massapi.com. 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.