@Override public FolderConfig getFolder(NamespaceKey folderPath) throws NamespaceException { return getEntity(folderPath, FOLDER).getFolder(); }
public List<ResourceTreeEntity> listPath(NamespaceKey root, boolean showDatasets) throws NamespaceException, UnsupportedEncodingException { final List<ResourceTreeEntity> resources = Lists.newArrayList(); for (NameSpaceContainer container : namespaceService.get().list(root)) { if (container.getType() == Type.FOLDER) { resources.add(new ResourceTreeEntity(container.getFolder())); } else if (showDatasets && container.getType() == Type.DATASET) { resources.add(new ResourceTreeEntity(container.getDataset())); } } return resources; }
result = Optional.of(entity.getFolder()); break;
public static Optional<CatalogItem> fromNamespaceContainer(NameSpaceContainer container, CollaborationTag tags) { Optional<CatalogItem> item = Optional.absent(); switch (container.getType()) { case SOURCE: { item = Optional.of(CatalogItem.fromSourceConfig(container.getSource(), tags)); break; } case SPACE: { item = Optional.of(CatalogItem.fromSpaceConfig(container.getSpace(), tags)); break; } case DATASET: { item = Optional.of(CatalogItem.fromDatasetConfig(container.getDataset(), tags)); break; } case HOME: { item = Optional.of(CatalogItem.fromHomeConfig(container.getHome())); break; } case FOLDER: { item = Optional.of(CatalogItem.fromFolderConfig(container.getFolder())); break; } default: throw new UnsupportedOperationException(String.format("Catalog item of type [%s] can not be created", container.getType())); } return item; }
public static String getVersion(NamespaceKey namespaceKey, NamespaceService namespaceService) throws NamespaceException { NameSpaceContainer container = namespaceService.getEntities(Arrays.asList(namespaceKey)).get(0); switch (container.getType()) { case SOURCE: return container.getSource().getTag(); case SPACE: return container.getSpace().getTag(); case HOME: return container.getHome().getTag(); case FOLDER: return container.getFolder().getTag(); case DATASET: return container.getDataset().getTag(); default: throw new RuntimeException("Invalid container type"); } } }
@Override public String getTag(NameSpaceContainer value) { switch (value.getType()) { case DATASET: return value.getDataset().getTag(); case FOLDER: return value.getFolder().getTag(); case HOME: return value.getHome().getTag(); case SOURCE: return value.getSource().getTag(); case SPACE: return value.getSpace().getTag(); default: throw new UnsupportedOperationException("Unknown type: " + value.getType()); } }
@Override public Long getVersion(NameSpaceContainer value) { switch (value.getType()) { case DATASET: return value.getDataset().getVersion(); case FOLDER: return value.getFolder().getVersion(); case HOME: return value.getHome().getVersion(); case SOURCE: return value.getSource().getVersion(); case SPACE: return value.getSpace().getVersion(); default: throw new UnsupportedOperationException("Unknown type: " + value.getType()); } }
@Override public void setTag(NameSpaceContainer value, String version) { switch (value.getType()) { case DATASET: value.getDataset().setTag(version); break; case FOLDER: value.getFolder().setTag(version); break; case HOME: value.getHome().setTag(version); break; case SOURCE: value.getSource().setTag(version); break; case SPACE: value.getSpace().setTag(version); break; default: throw new UnsupportedOperationException("Unknown type: " + value.getType()); } }
@Override public void setVersion(NameSpaceContainer value, Long version) { switch (value.getType()) { case DATASET: value.getDataset().setVersion(version); break; case FOLDER: value.getFolder().setVersion(version); break; case HOME: value.getHome().setVersion(version); break; case SOURCE: value.getSource().setVersion(version); break; case SPACE: value.getSpace().setVersion(version); break; default: throw new UnsupportedOperationException("Unknown type: " + value.getType()); } }
/** helper method that returns the id of the entity in given container */ public static String getId(NameSpaceContainer container) { EntityId entityId; switch (container.getType()) { case SOURCE: entityId = container.getSource().getId(); break; case SPACE: entityId = container.getSpace().getId(); break; case HOME: entityId = container.getHome().getId(); break; case FOLDER: entityId = container.getFolder().getId(); break; case DATASET: entityId = container.getDataset().getId(); break; default: throw new RuntimeException("Invalid container type"); } return entityId != null ? entityId.getId() : null; }
case FOLDER: namespace.delete(searchKey.getKey(), existingContainer.getFolder().getTag()); break;
protected void doTraverseAndDeleteChildren(final NameSpaceContainer child) throws NamespaceException { final NamespaceInternalKey childKey = new NamespaceInternalKey(new NamespaceKey(child.getFullPathList()), keyNormalization); traverseAndDeleteChildren(childKey, child); switch (child.getType()) { case FOLDER: namespace.delete(childKey.getKey(), child.getFolder().getTag()); break; case DATASET: namespace.delete(childKey.getKey(), child.getDataset().getTag()); break; default: // Only leaf level or intermediate namespace container types are expected here. throw new RuntimeException("Unexpected namespace container type: " + child.getType()); } }
/** helper method that sets the given id in given container */ static void setId(NameSpaceContainer container, String id) { switch (container.getType()) { case SOURCE: container.getSource().setId(new EntityId(id)); return; case SPACE: container.getSpace().setId(new EntityId(id)); return; case HOME: container.getHome().setId(new EntityId(id)); return; case FOLDER: container.getFolder().setId(new EntityId(id)); return; case DATASET: container.getDataset().setId(new EntityId(id)); return; default: throw new RuntimeException("Invalid container type"); } }
existingContainer.getType() == FOLDER) { namespace.delete((new NamespaceInternalKey(new NamespaceKey(existingContainer.getFullPathList()), keyNormalization)).getKey(), existingContainer.getFolder().getTag()); return false;
final FolderConfig folderConfig = container.getFolder(); writer.write(NamespaceIndexKeys.FOLDER_ID, folderConfig.getId().getId()); break;