/** * @param fileInfo File info to construct listing entry from. */ public GridGgfsListingEntry(GridGgfsFileInfo fileInfo) { fileId = fileInfo.id(); affKey = fileInfo.affinityKey(); if (fileInfo.isFile()) { blockSize = fileInfo.blockSize(); len = fileInfo.length(); } props = fileInfo.properties(); accessTime = fileInfo.accessTime(); modificationTime = fileInfo.modificationTime(); }
/** * Set lock on file info. * * @param info File info. * @return New file info with lock set. * @throws GridException In case lock is already set on that file. */ public GridGgfsFileInfo lockInfo(GridGgfsFileInfo info) throws GridException { if (busyLock.enterBusy()) { try { assert info != null; if (info.lockId() != null) throw new GridException("Failed to lock file (file is being concurrently written) [fileId=" + info.id() + ", lockId=" + info.lockId() + ']'); return new GridGgfsFileInfo(info, GridUuid.randomUuid(), info.modificationTime()); } finally { busyLock.leaveBusy(); } } else throw new IllegalStateException("Failed to get lock info because Grid is stopping: " + info); }
/** * @param fileInfo File info to construct listing entry from. */ public GridGgfsListingEntry(GridGgfsFileInfo fileInfo) { fileId = fileInfo.id(); affKey = fileInfo.affinityKey(); if (fileInfo.isFile()) { blockSize = fileInfo.blockSize(); len = fileInfo.length(); } props = fileInfo.properties(); accessTime = fileInfo.accessTime(); modificationTime = fileInfo.modificationTime(); }
/** * Set lock on file info. * * @param info File info. * @return New file info with lock set. * @throws GridException In case lock is already set on that file. */ public GridGgfsFileInfo lockInfo(GridGgfsFileInfo info) throws GridException { if (busyLock.enterBusy()) { try { assert info != null; if (info.lockId() != null) throw new GridException("Failed to lock file (file is being concurrently written) [fileId=" + info.id() + ", lockId=" + info.lockId() + ']'); return new GridGgfsFileInfo(info, GridUuid.randomUuid(), info.modificationTime()); } finally { busyLock.leaveBusy(); } } else throw new IllegalStateException("Failed to get lock info because Grid is stopping: " + info); }
/** * Constructs directory info. * * @param path Path. */ public GridGgfsFileImpl(GridGgfsPath path, GridGgfsFileInfo info, long globalGrpBlockSize) { A.notNull(path, "path"); A.notNull(info, "info"); this.path = path; fileId = info.id(); if (info.isFile()) { blockSize = info.blockSize(); len = info.length(); grpBlockSize = info.affinityKey() == null ? globalGrpBlockSize : info.length() == 0 ? globalGrpBlockSize : info.length(); } props = info.properties(); if (props == null) props = Collections.emptyMap(); accessTime = info.accessTime(); modificationTime = info.modificationTime(); }
/** * Constructs directory info. * * @param path Path. */ public GridGgfsFileImpl(GridGgfsPath path, GridGgfsFileInfo info, long globalGrpBlockSize) { A.notNull(path, "path"); A.notNull(info, "info"); this.path = path; fileId = info.id(); if (info.isFile()) { blockSize = info.blockSize(); len = info.length(); grpBlockSize = info.affinityKey() == null ? globalGrpBlockSize : info.length() == 0 ? globalGrpBlockSize : info.length(); } props = info.properties(); if (props == null) props = Collections.emptyMap(); accessTime = info.accessTime(); modificationTime = info.modificationTime(); }
modificationTime == -1 ? fileInfo.modificationTime() : modificationTime);
modificationTime == -1 ? fileInfo.modificationTime() : modificationTime);
ggfsIn.fileInfo().modificationTime());
ggfsIn.fileInfo().modificationTime());