/** * Sends a series of event. * * @param kernalCtx Kernal context. * @param path The path of the created file. * @param type The type of event to send. */ public static void sendEvents(GridKernalContext kernalCtx, IgfsPath path, int type) { sendEvents(kernalCtx, path, null, type); }
/** * Generate events for created file or directory. * * @param createdPaths Created paths. * @param file Whether file was created. */ private void generateCreateEvents(List<IgfsPath> createdPaths, boolean file) { if (evts.isRecordable(EventType.EVT_IGFS_DIR_CREATED)) { for (int i = 0; i < createdPaths.size() - 1; i++) IgfsUtils.sendEvents(igfsCtx.kernalContext(), createdPaths.get(i), EventType.EVT_IGFS_DIR_CREATED); } IgfsPath leafPath = createdPaths.get(createdPaths.size() - 1); if (file) { IgfsUtils.sendEvents(igfsCtx.kernalContext(), leafPath, EventType.EVT_IGFS_FILE_CREATED); IgfsUtils.sendEvents(igfsCtx.kernalContext(), leafPath, EventType.EVT_IGFS_FILE_OPENED_WRITE); } else IgfsUtils.sendEvents(igfsCtx.kernalContext(), leafPath, EventType.EVT_IGFS_DIR_CREATED); }
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EventType.EVT_IGFS_FILE_OPENED_WRITE);
@Override public Boolean call() throws Exception { if (log.isDebugEnabled()) log.debug("Deleting file [path=" + path + ", recursive=" + recursive + ']'); if (F.eq(IgfsPath.ROOT, path)) return false; IgfsMode mode = resolveMode(path); if (mode == PROXY) return secondaryFs.delete(path, recursive); boolean dual = IgfsUtils.isDualMode(mode); if (dual) await(path); IgfsDeleteResult res = meta.softDelete(path, recursive, dual ? secondaryFs : null); // Record event if needed. if (res.success() && res.info() != null) IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, res.info().isFile() ? EVT_IGFS_FILE_DELETED : EVT_IGFS_DIR_DELETED); return res.success(); } });
IgfsUtils.sendEvents(igfsCtx.kernalContext(), srcPath, newPath, srcInfo.isFile() ? EVT_IGFS_FILE_RENAMED : EVT_IGFS_DIR_RENAMED);
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_PURGED);
info.length(), info.blockSize(), info.blocksCount(), false); IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ); info.length(), info.blockSize(), info.blocksCount(), false); IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ); info.length(), blockSize, blockCnt, true); IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ);
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EventType.EVT_IGFS_FILE_OPENED_WRITE);
/** * Sends a series of event. * * @param kernalCtx Kernal context. * @param path The path of the created file. * @param type The type of event to send. */ public static void sendEvents(GridKernalContext kernalCtx, IgfsPath path, int type) { sendEvents(kernalCtx, path, null, type); }
/** * Generate events for created file or directory. * * @param createdPaths Created paths. * @param file Whether file was created. */ private void generateCreateEvents(List<IgfsPath> createdPaths, boolean file) { if (evts.isRecordable(EventType.EVT_IGFS_DIR_CREATED)) { for (int i = 0; i < createdPaths.size() - 1; i++) IgfsUtils.sendEvents(igfsCtx.kernalContext(), createdPaths.get(i), EventType.EVT_IGFS_DIR_CREATED); } IgfsPath leafPath = createdPaths.get(createdPaths.size() - 1); if (file) { IgfsUtils.sendEvents(igfsCtx.kernalContext(), leafPath, EventType.EVT_IGFS_FILE_CREATED); IgfsUtils.sendEvents(igfsCtx.kernalContext(), leafPath, EventType.EVT_IGFS_FILE_OPENED_WRITE); } else IgfsUtils.sendEvents(igfsCtx.kernalContext(), leafPath, EventType.EVT_IGFS_DIR_CREATED); }
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EventType.EVT_IGFS_FILE_OPENED_WRITE);
@Override public Boolean call() throws Exception { if (log.isDebugEnabled()) log.debug("Deleting file [path=" + path + ", recursive=" + recursive + ']'); if (F.eq(IgfsPath.ROOT, path)) return false; IgfsMode mode = resolveMode(path); if (mode == PROXY) return secondaryFs.delete(path, recursive); boolean dual = IgfsUtils.isDualMode(mode); if (dual) await(path); IgfsDeleteResult res = meta.softDelete(path, recursive, dual ? secondaryFs : null); // Record event if needed. if (res.success() && res.info() != null) IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, res.info().isFile() ? EVT_IGFS_FILE_DELETED : EVT_IGFS_DIR_DELETED); return res.success(); } });
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EventType.EVT_IGFS_FILE_OPENED_WRITE);
info.length(), info.blockSize(), info.blocksCount(), false); IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ); info.length(), info.blockSize(), info.blocksCount(), false); IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ); info.length(), blockSize, blockCnt, true); IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ);
IgfsUtils.sendEvents(igfsCtx.kernalContext(), srcPath, newPath, srcInfo.isFile() ? EVT_IGFS_FILE_RENAMED : EVT_IGFS_DIR_RENAMED);
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_PURGED);