/** {@inheritDoc} */ @Override public Boolean process(MutableEntry<Object, Object> entry, Object... arguments) throws EntryProcessorException { if (entry.exists()) return false; entry.setValue(val); return null; // To leave out only erroneous keys - nulls are skipped on results' processing. } }
/** * {@inheritDoc} */ @Override public Boolean process(MutableEntry<Integer, String> entry, Object... arguments) { return entry.exists(); } }
@SuppressWarnings("unchecked") @Override @Nullable public T process(MutableEntry<Object, Object> entry, Object... arguments) throws EntryProcessorException { Callable<T> valueLoader = (Callable<T>) arguments[0]; if (entry.exists()) { return (T) fromStoreValue(entry.getValue()); } else { T value; try { value = valueLoader.call(); } catch (Exception ex) { throw new EntryProcessorException("Value loader '" + valueLoader + "' failed " + "to compute value for key '" + entry.getKey() + "'", ex); } entry.setValue(toStoreValue(value)); return value; } } }
/** {@inheritDoc} */ @Override public Boolean process(MutableEntry<Object, Object> entry, Object... arguments) throws EntryProcessorException { if (!entry.exists()) return null; // Someone got ahead of us and removed this entry, let's skip it. Object entryVal = entry.getValue(); if (entryVal == null) return null; // Something happened to the cache while we were performing map-reduce. if (!F.eq(entryVal, val)) return false; entryModifier.apply(entry); return null; // To leave out only erroneous keys - nulls are skipped on results' processing. } }
@SuppressWarnings("unchecked") @Override @Nullable public T process(MutableEntry<Object, Object> entry, Object... arguments) throws EntryProcessorException { Callable<T> valueLoader = (Callable<T>) arguments[0]; if (entry.exists()) { return (T) fromStoreValue(entry.getValue()); } else { T value; try { value = valueLoader.call(); } catch (Exception ex) { throw new EntryProcessorException("Value loader '" + valueLoader + "' failed " + "to compute value for key '" + entry.getKey() + "'", ex); } entry.setValue(toStoreValue(value)); return value; } } }
/** {@inheritDoc} */ @Override public Integer process(MutableEntry<Integer, Integer> e, Object... arguments) throws EntryProcessorException { assertTrue(e.exists()); if (expVal != null) assertEquals(expVal, e.getValue()); throw new EntryProcessorException("Test processor exception."); }
/** {@inheritDoc} */ @Override public Integer process(MutableEntry<Integer, Integer> e, Object... args) throws EntryProcessorException { assertEquals(3, args.length); assertEquals(10, args[0]); assertEquals(20, args[1]); assertEquals(30, args[2]); assertTrue(e.exists()); Integer res = e.getValue(); for (Object arg : args) res += (Integer)arg; e.setValue(res); return args.length; } }
/** {@inheritDoc} */ @Override public Void process(MutableEntry<String, PlatformDotNetSessionData> entry, Object... args) throws EntryProcessorException { assert entry.exists(); PlatformDotNetSessionData data = entry.getValue(); assert data != null; // Unlock and update. data = update ? data.updateAndUnlock(lockNodeId, lockId, items, isDiff, staticData, timeout) : data.unlock(lockNodeId, lockId); // Apply. entry.setValue(data); return null; }
/** {@inheritDoc} */ @Override public Void process(MutableEntry<Long, Long> entry, Object... arguments) throws EntryProcessorException { entry.setValue(entry.exists() ? entry.getValue() + 1 : 0); return null; } }
/** {@inheritDoc} */ @Override public Integer process(MutableEntry<Integer, Integer> e, Object... arguments) throws EntryProcessorException { Ignite ignite = e.unwrap(Ignite.class); assertNotNull(ignite); if (e.exists()) { Integer val = e.getValue(); assertNotNull(val); e.setValue(val + 1); assertTrue(e.exists()); assertEquals(val + 1, (int) e.getValue()); return val; } else { e.setValue(1); return -1; } }
/** {@inheritDoc} */ @Override public Object process(MutableEntry<String, Set> entry, Object... arguments) throws EntryProcessorException { assert !F.isEmpty(arguments); Object val = arguments[0]; Set set; if (!entry.exists()) set = new HashSet<>(); else set = entry.getValue(); set.add(val); entry.setValue(set); return null; } }
/** {@inheritDoc} */ @Override public Object process(MutableEntry<Object, Object> entry, Object... args) { if (!entry.exists()) { failed = true; fail(); } Integer val = (Integer)entry.getValue(); if (!val.equals(entry.getKey())) { failed = true; assertEquals(val, entry.getKey()); } entry.setValue(val + 1); return val; } }
@Override public Void process(MutableEntry<String, Integer> e, Object... args) { if (!e.exists()) e.setValue(1); else e.setValue(e.getValue() + 1); return null; } };
/** {@inheritDoc} */ @Override public Object process(MutableEntry<String, PlatformDotNetSessionData> entry, Object... args) throws EntryProcessorException { if (!entry.exists()) return null; PlatformDotNetSessionData data = entry.getValue(); assert data != null; if (data.isLocked()) return new PlatformDotNetSessionLockResult(false, null, data.lockTime(), data.lockId()); // Not locked: lock and return result data = data.lock(lockNodeId, lockId, lockTime); // Apply. entry.setValue(data); return new PlatformDotNetSessionLockResult(true, data, null, data.lockId()); }
/** {@inheritDoc} */ @Override public Void process(MutableEntry<String, WebSession> entry, Object... args) { if (!entry.exists()) return null; WebSession ses0 = entry.getValue(); WebSession ses = new WebSession(ses0.getId(), ses0); for (T2<String, Object> update : updates) { String name = update.get1(); assert name != null; Object val = update.get2(); if (val != null) ses.setAttribute(name, val); else ses.removeAttribute(name); } entry.setValue(ses); return null; }
/** {@inheritDoc} */ @Override public Object process(MutableEntry<QueryTestKey, QueryTestValue> entry, Object... arguments) throws EntryProcessorException { if (entry.exists()) entry.setValue(new QueryTestValue(entry.getValue().val1 + 1)); else entry.setValue(new QueryTestValue(0)); return null; } }
@Override public T process(MutableEntry<K, V> entry, Object... arguments) { assertFalse(entry.exists()); return ret; } }
@Override public CommandResult<Nothing> process(MutableEntry<K, GridBucketState> mutableEntry, Object... arguments) { if (mutableEntry.exists()) { return CommandResult.success(null); } long currentTimeNanos = currentTimeNanos(); BucketState bucketState = BucketState.createInitialState(configuration, currentTimeNanos); GridBucketState gridBucketState = new GridBucketState(configuration, bucketState); mutableEntry.setValue(gridBucketState); return CommandResult.success(null); }