Search in sources :

Example 41 with FileStore

use of com.serotonin.m2m2.vo.FileStore in project ma-core-public by MangoAutomation.

the class FileStoreServiceTest method updateVO.

@Override
FileStore updateVO(FileStore existing) {
    FileStore edit = new FileStore();
    edit.setId(existing.getId());
    edit.setXid("new store name");
    edit.setName(edit.getXid());
    return edit;
}
Also used : FileStore(com.serotonin.m2m2.vo.FileStore)

Example 42 with FileStore

use of com.serotonin.m2m2.vo.FileStore in project ma-core-public by MangoAutomation.

the class DiskInfoDefinition method getValue.

@Override
public List<DiskInfo> getValue() {
    FileSystem fs = FileSystems.getDefault();
    List<DiskInfo> disks = new ArrayList<DiskInfo>();
    for (Path root : fs.getRootDirectories()) {
        try {
            FileStore store = Files.getFileStore(root);
            DiskInfo disk = new DiskInfo();
            disk.setName(root.getRoot().toString());
            disk.setTotalSpace(store.getTotalSpace());
            disk.setUsableSpace(store.getUsableSpace());
            disks.add(disk);
        } catch (IOException e) {
        }
    }
    return disks;
}
Also used : Path(java.nio.file.Path) FileStore(java.nio.file.FileStore) FileSystem(java.nio.file.FileSystem) ArrayList(java.util.ArrayList) DiskInfo(com.serotonin.m2m2.module.definitions.settings.DiskInfoDefinition.DiskInfo) IOException(java.io.IOException)

Example 43 with FileStore

use of com.serotonin.m2m2.vo.FileStore in project ma-core-public by MangoAutomation.

the class FileStoreService method forRead.

/**
 * Retrieves the path to a file in the file store, checking that the user has read permission for the file store.
 * Does not check if the file exists, only that the filestore exists.
 *
 * @param xid  xid of the user file store, or the storeName of the {@link FileStoreDefinition}
 * @throws PermissionException user does not have permission to read from the file store
 * @throws NotFoundException   file store does not exist
 */
public FileStorePath forRead(String xid, String path) throws PermissionException, NotFoundException {
    FileStore fileStore = getWithoutPermissionCheck(xid);
    ensureReadPermission(Common.getUser(), fileStore);
    return getPathWithinFileStore(fileStore, path);
}
Also used : FileStore(com.serotonin.m2m2.vo.FileStore)

Example 44 with FileStore

use of com.serotonin.m2m2.vo.FileStore in project ma-core-public by MangoAutomation.

the class FileStoreService method forWrite.

/**
 * Retrieves the path to a file in the file store, checking that the user has write permission for the file store.
 * Does not check if the file exists, only that the filestore exists.
 *
 * @param xid  xid of the user file store, or the storeName of the {@link FileStoreDefinition}
 * @throws PermissionException user does not have permission to write to the file store
 * @throws NotFoundException   file store does not exist
 */
public FileStorePath forWrite(String xid, String path) throws PermissionException, NotFoundException {
    FileStore fileStore = getWithoutPermissionCheck(xid);
    ensureEditPermission(Common.getUser(), fileStore);
    return getPathWithinFileStore(fileStore, path);
}
Also used : FileStore(com.serotonin.m2m2.vo.FileStore)

Example 45 with FileStore

use of com.serotonin.m2m2.vo.FileStore in project ma-core-public by MangoAutomation.

the class FileStoreService method insert.

@Override
public FileStore insert(FileStore vo) throws PermissionException, ValidationException {
    FileStore newFilestore = super.insert(vo);
    Path newPath = getFileStoreRoot(newFilestore);
    try {
        Files.createDirectories(newPath);
    } catch (IOException e) {
        throw new FileStoreException(new TranslatableMessage("filestore.failedToCreateRoot", newFilestore.getXid()), e);
    }
    return newFilestore;
}
Also used : Path(java.nio.file.Path) FileStore(com.serotonin.m2m2.vo.FileStore) IOException(java.io.IOException) TranslatableMessage(com.serotonin.m2m2.i18n.TranslatableMessage)

Aggregations

FileStore (com.serotonin.m2m2.vo.FileStore)38 Path (java.nio.file.Path)18 TranslatableMessage (com.serotonin.m2m2.i18n.TranslatableMessage)17 IOException (java.io.IOException)15 TranslatableIllegalArgumentException (com.infiniteautomation.mango.util.exception.TranslatableIllegalArgumentException)10 NotFoundException (com.infiniteautomation.mango.util.exception.NotFoundException)7 TranslatableRuntimeException (com.infiniteautomation.mango.util.exception.TranslatableRuntimeException)6 ValidationException (com.infiniteautomation.mango.util.exception.ValidationException)6 PermissionException (com.serotonin.m2m2.vo.permission.PermissionException)6 FileAlreadyExistsException (java.nio.file.FileAlreadyExistsException)6 NoSuchFileException (java.nio.file.NoSuchFileException)6 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)5 MangoPermission (com.infiniteautomation.mango.permission.MangoPermission)4 PermissionHolder (com.serotonin.m2m2.vo.permission.PermissionHolder)4 ApiOperation (io.swagger.annotations.ApiOperation)4 ArrayList (java.util.ArrayList)4 FileStoreModel (com.infiniteautomation.mango.rest.latest.model.filestore.FileStoreModel)3 ConditionSortLimit (com.infiniteautomation.mango.db.query.ConditionSortLimit)2 MangoScript (com.infiniteautomation.mango.spring.script.MangoScript)2 LoadFileStorePermission (com.infiniteautomation.mango.spring.script.permissions.LoadFileStorePermission)2