package cz.benky.webdav.service; import com.netflix.astyanax.connectionpool.exceptions.ConnectionException; import cz.benky.webdav.dao.CassandraDao; import cz.benky.webdav.util.PathUtils; import java.util.List; import java.util.UUID; public class CassandraService { private final CassandraDao cassandraDao; public CassandraService(final CassandraDao cassandraDao) { this.cassandraDao = cassandraDao; } public List<String> getSiblings(final String path) { return cassandraDao.getSiblings(path); } public void createDirectory(final String path) { cassandraDao.createDirectory(path); } public boolean resourceExists(final String path) { return cassandraDao.resourceExists(path); } public UUID getFile(final String localPath) { return cassandraDao.getFile(localPath); } public boolean isFile(final String localPath) { return cassandraDao.isFile(localPath); } public void deleteDirectory(final String path) { final String parentDirectory = PathUtils.getParentDirectory(path); final UUID file = cassandraDao.getFile(path); final UUID parent = cassandraDao.getFile(parentDirectory); final String fileName = PathUtils.getFileName(path); try { cassandraDao.deleteFromDirectory(parent, fileName); cassandraDao.deleteFromDirectory(file, "."); } catch (ConnectionException e) { throw new RuntimeException(e); } } }