public static long[] getIds(Object... objs) { long[] ids = new long[objs.length]; for (int i = 0; i < objs.length; i++) { ids[i] = getId(objs[i]); } return ids; }
public TypeKind getKind() { if (kind == null) { kind = U.kindOf(getType()); } return kind; }
protected void waitTx(DatastoreTransaction... txs) { U.sleep(1000); // FIXME }
public static void print(Object obj) { System.out.println(U.text(obj)); }
@Override public void encode(ByteBuffer buf, Object value) { // buf.put((byte) 65); // A // buf.put((byte) 66); // B // buf.put((byte) 67); // C // buf.put((byte) 68); // D U.encode(value, buf); // buf.put((byte) 'D'); // buf.put((byte) 'O'); // buf.put((byte) 'N'); // buf.put((byte) 'E'); }
private Object decode() { Object val = U.decode(SER_HELPER); // System.out.println("DECODE " + val); return val; }
switch (action) { case BEFORE_INSERT: beforeInsert = U.expand(beforeInsert, trigger); break; beforeUpdate = U.expand(beforeUpdate, trigger); break; beforeDelete = U.expand(beforeDelete, trigger); break; beforeRead = U.expand(beforeRead, trigger); break; afterInsert = U.expand(afterInsert, trigger); break; afterUpdate = U.expand(afterUpdate, trigger); break; afterDelete = U.expand(afterDelete, trigger); break; afterRead = U.expand(afterRead, trigger); break;
@Override public synchronized void delete(final long key) throws IOException { FilestoreTransaction tx = transaction(); tx.delete(key); final AtomicBoolean done = new AtomicBoolean(); tx.addListener(new TransactionListener() { @Override public void onSuccess() { done.set(true); } @Override public void onError(Exception e) { e.printStackTrace(System.err); done.set(true); } }); tx.commit(); U.waitFor(done); }
private TriggerOperation<E> op(TriggerAction action) { if (U.indexOf(actions, action, 0) >= 0) { throw Errors.illegalArgument("Duplicate trigger action: " + action); } TriggerAction[] mergedActions = Arrays.copyOf(actions, actions.length + 1); mergedActions[mergedActions.length - 1] = action; return new TriggerOperationImpl<E>(db, type, before, mergedActions); }
Set<Long> slots = U.set(address);
protected static <T> void eqs(long[] values, long... expected) { if (verbose) { System.out.println("EXPECTED: " + U.text(expected)); System.out.println(" - FOUND: " + U.text(values)); } Assert.assertEquals(values.length, expected.length); for (int i = 0; i < expected.length; i++) { Assert.assertEquals(values[i], expected[i]); } }
private void exportRelations(long id) { U.encode(relations.size(), SER_HELPER); for (Entry<String, RWRelation> rel : relations.entrySet()) { U.encode(rel.getKey(), SER_HELPER); long[] links = rel.getValue().linksFrom(id).toArray(); U.encode(links.length, SER_HELPER); for (long link : links) { U.encode(link, SER_HELPER); } } }
private Object decode() { Object val = U.decode(SER_HELPER); // System.out.println("DECODE " + val); return val; }
switch (action) { case BEFORE_INSERT: beforeInsert = U.expand(beforeInsert, trigger); break; beforeUpdate = U.expand(beforeUpdate, trigger); break; beforeDelete = U.expand(beforeDelete, trigger); break; beforeRead = U.expand(beforeRead, trigger); break; afterInsert = U.expand(afterInsert, trigger); break; afterUpdate = U.expand(afterUpdate, trigger); break; afterDelete = U.expand(afterDelete, trigger); break; afterRead = U.expand(afterRead, trigger); break;
@Override public synchronized void delete(final long key) throws IOException { FilestoreTransaction tx = transaction(); tx.delete(key); final AtomicBoolean done = new AtomicBoolean(); tx.addListener(new TransactionListener() { @Override public void onSuccess() { done.set(true); } @Override public void onError(Exception e) { e.printStackTrace(System.err); done.set(true); } }); tx.commit(); U.waitFor(done); }
private TriggerOperation<E> op(TriggerAction action) { if (U.indexOf(actions, action, 0) >= 0) { throw Errors.illegalArgument("Duplicate trigger action: " + action); } TriggerAction[] mergedActions = Arrays.copyOf(actions, actions.length + 1); mergedActions[mergedActions.length - 1] = action; return new TriggerOperationImpl<E>(db, type, before, mergedActions); }
Set<Long> slots = U.set(address);
public static void waitFor(AtomicInteger n, int value) { while (n.get() != value) { U.sleep(10); } }