/** * Constructs file information. * * @param info File information to copy data from. * @param props File properties to set. */ GridGgfsFileInfo(GridGgfsFileInfo info, @Nullable Map<String, String> props) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, props, info.fileMap(), info.lockId, true, info.accessTime, info.modificationTime, info.evictExclude()); }
/** * Constructs file information. * * @param info File information to copy data from. * @param lockId Lock ID. * @param modificationTime Last modification time. */ GridGgfsFileInfo(GridGgfsFileInfo info, @Nullable GridUuid lockId, long modificationTime) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, info.props, info.fileMap(), lockId, true, info.accessTime, modificationTime, info.evictExclude()); }
/** * Constructs file information. * * @param info File information to copy data from. * @param props File properties to set. */ GridGgfsFileInfo(GridGgfsFileInfo info, @Nullable Map<String, String> props) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, props, info.fileMap(), info.lockId, true, info.accessTime, info.modificationTime, info.evictExclude()); }
/** * Constructs file information. * * @param info File information to copy data from. * @param lockId Lock ID. * @param modificationTime Last modification time. */ GridGgfsFileInfo(GridGgfsFileInfo info, @Nullable GridUuid lockId, long modificationTime) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, info.props, info.fileMap(), lockId, true, info.accessTime, modificationTime, info.evictExclude()); }
/** * Constructs file info. * * @param listing New directory listing. * @param old Old file info. */ GridGgfsFileInfo(Map<String, GridGgfsListingEntry> listing, GridGgfsFileInfo old) { this(old.isDirectory(), old.id, old.blockSize, old.len, old.affKey, listing, old.props, old.fileMap(), old.lockId, false, old.accessTime, old.modificationTime, old.evictExclude()); }
/** {@inheritDoc} */ @Override public GridGgfsFileInfo apply(GridGgfsFileInfo oldInfo) { GridGgfsFileMap oldMap = oldInfo.fileMap(); GridGgfsFileMap newMap = new GridGgfsFileMap(oldMap); newMap.addRange(range); // Update file length. GridGgfsFileInfo updated = new GridGgfsFileInfo(oldInfo, oldInfo.length() + space); updated.fileMap(newMap); return updated; }
/** {@inheritDoc} */ @Override public GridGgfsFileInfo apply(GridGgfsFileInfo oldInfo) { GridGgfsFileMap oldMap = oldInfo.fileMap(); GridGgfsFileMap newMap = new GridGgfsFileMap(oldMap); newMap.addRange(range); // Update file length. GridGgfsFileInfo updated = new GridGgfsFileInfo(oldInfo, oldInfo.length() + space); updated.fileMap(newMap); return updated; }
/** * Constructs file information. * * @param info File information to copy data from. * @param len Size of a file. */ GridGgfsFileInfo(GridGgfsFileInfo info, long len) { this(info.isDirectory(), info.id, info.blockSize, len, info.affKey, info.listing, info.props, info.fileMap(), info.lockId, true, info.accessTime, info.modificationTime, info.evictExclude()); }
/** * Constructs file information. * * @param info File information to copy data from. * @param len Size of a file. */ GridGgfsFileInfo(GridGgfsFileInfo info, long len) { this(info.isDirectory(), info.id, info.blockSize, len, info.affKey, info.listing, info.props, info.fileMap(), info.lockId, true, info.accessTime, info.modificationTime, info.evictExclude()); }
/** * Constructs file info. * * @param info File info. * @param accessTime Last access time. * @param modificationTime Last modification time. */ GridGgfsFileInfo(GridGgfsFileInfo info, long accessTime, long modificationTime) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, info.props, info.fileMap(), info.lockId, false, accessTime, modificationTime, info.evictExclude()); }
/** * A copy constructor, which takes all data from the specified * object field-by-field. * * @param info An object to copy data info. */ public GridGgfsFileInfo(GridGgfsFileInfo info) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, info.props, info.fileMap(), info.lockId, true, info.accessTime, info.modificationTime, info.evictExclude()); }
/** * Constructs file info. * * @param listing New directory listing. * @param old Old file info. */ GridGgfsFileInfo(Map<String, GridGgfsListingEntry> listing, GridGgfsFileInfo old) { this(old.isDirectory(), old.id, old.blockSize, old.len, old.affKey, listing, old.props, old.fileMap(), old.lockId, false, old.accessTime, old.modificationTime, old.evictExclude()); }
/** * Constructs file info. * * @param info File info. * @param accessTime Last access time. * @param modificationTime Last modification time. */ GridGgfsFileInfo(GridGgfsFileInfo info, long accessTime, long modificationTime) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, info.props, info.fileMap(), info.lockId, false, accessTime, modificationTime, info.evictExclude()); }
/** * A copy constructor, which takes all data from the specified * object field-by-field. * * @param info An object to copy data info. */ public GridGgfsFileInfo(GridGgfsFileInfo info) { this(info.isDirectory(), info.id, info.blockSize, info.len, info.affKey, info.listing, info.props, info.fileMap(), info.lockId, true, info.accessTime, info.modificationTime, info.evictExclude()); }
@Override public GridGgfsFileInfo applyx(GridGgfsFileInfo info) throws GridException { GridGgfsFileMap map = new GridGgfsFileMap(info.fileMap()); map.deleteRange(range); if (log.isDebugEnabled()) log.debug("Deleted range from file map [fileId=" + info.id() + ", range=" + range + ", oldMap=" + info.fileMap() + ", newMap=" + map + ']'); GridGgfsFileInfo updated = new GridGgfsFileInfo(info, info.length()); updated.fileMap(map); return updated; } };
@Override public GridGgfsFileInfo applyx(GridGgfsFileInfo info) throws GridException { GridGgfsFileMap map = new GridGgfsFileMap(info.fileMap()); map.updateRangeStatus(range, status); if (log.isDebugEnabled()) log.debug("Updated file map for range [fileId=" + info.id() + ", range=" + range + ", status=" + status + ", oldMap=" + info.fileMap() + ", newMap=" + map + ']'); GridGgfsFileInfo updated = new GridGgfsFileInfo(info, info.length()); updated.fileMap(map); return updated; } };
@Override public GridGgfsFileInfo applyx(GridGgfsFileInfo info) throws GridException { GridGgfsFileMap map = new GridGgfsFileMap(info.fileMap()); map.updateRangeStatus(range, status); if (log.isDebugEnabled()) log.debug("Updated file map for range [fileId=" + info.id() + ", range=" + range + ", status=" + status + ", oldMap=" + info.fileMap() + ", newMap=" + map + ']'); GridGgfsFileInfo updated = new GridGgfsFileInfo(info, info.length()); updated.fileMap(map); return updated; } };
@Override public GridGgfsFileInfo applyx(GridGgfsFileInfo info) throws GridException { GridGgfsFileMap map = new GridGgfsFileMap(info.fileMap()); map.deleteRange(range); if (log.isDebugEnabled()) log.debug("Deleted range from file map [fileId=" + info.id() + ", range=" + range + ", oldMap=" + info.fileMap() + ", newMap=" + map + ']'); GridGgfsFileInfo updated = new GridGgfsFileInfo(info, info.length()); updated.fileMap(map); return updated; } };
/** * @param blockIdx Block index. * @param fileInfo File info. * @return Block key. */ public GridGgfsBlockKey blockKey(long blockIdx, GridGgfsFileInfo fileInfo) { if (fileInfo.affinityKey() != null) return new GridGgfsBlockKey(fileInfo.id(), fileInfo.affinityKey(), fileInfo.evictExclude(), blockIdx); if (fileInfo.fileMap() != null) { GridUuid affKey = fileInfo.fileMap().affinityKey(blockIdx * fileInfo.blockSize(), false); return new GridGgfsBlockKey(fileInfo.id(), affKey, fileInfo.evictExclude(), blockIdx); } return new GridGgfsBlockKey(fileInfo.id(), null, fileInfo.evictExclude(), blockIdx); }
/** * @param blockIdx Block index. * @param fileInfo File info. * @return Block key. */ public GridGgfsBlockKey blockKey(long blockIdx, GridGgfsFileInfo fileInfo) { if (fileInfo.affinityKey() != null) return new GridGgfsBlockKey(fileInfo.id(), fileInfo.affinityKey(), fileInfo.evictExclude(), blockIdx); if (fileInfo.fileMap() != null) { GridUuid affKey = fileInfo.fileMap().affinityKey(blockIdx * fileInfo.blockSize(), false); return new GridGgfsBlockKey(fileInfo.id(), affKey, fileInfo.evictExclude(), blockIdx); } return new GridGgfsBlockKey(fileInfo.id(), null, fileInfo.evictExclude(), blockIdx); }