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(); } }