@Override public Object getAction() { return (index < actions.size() ? actions.get(index) : cursor.getAction()); }
@Override public Object getNewInstance(ClientObjectManager objectManager, DNA dna) throws IOException, ClassNotFoundException { DNACursor cursor = dna.getCursor(); Assert.assertEquals(1, cursor.getActionCount()); cursor.next(encoding); LiteralAction a = (LiteralAction) cursor.getAction(); Object value = a.getObject(); return value; } }
@Override public Object getAction() { return (index < actions.size() ? actions.get(index) : cursor.getAction()); }
@Override public Object getNewInstance(ClientObjectManager objectManager, DNA dna) throws IOException, ClassNotFoundException { DNACursor cursor = dna.getCursor(); Assert.assertEquals(1, cursor.getActionCount()); cursor.next(encoding); LiteralAction a = (LiteralAction) cursor.getAction(); Object value = a.getObject(); return value; } }
@Override public boolean next(DNAEncoding encoding) throws IOException, ClassNotFoundException { if (++index < actions.size()) { return true; } boolean success = cursor.next(encoding); if (success) { actions.add(cursor.getAction()); } return success; }
@Override public boolean next(DNAEncoding encoding) throws IOException, ClassNotFoundException { if (++index < actions.size()) { return true; } boolean success = cursor.next(encoding); if (success) { actions.add(cursor.getAction()); } return success; }
@Override public boolean next() throws IOException { if (++index < actions.size()) { return true; } boolean success = cursor.next(); if (success) { actions.add(cursor.getAction()); } return success; }
@Override public boolean next() throws IOException { if (++index < actions.size()) { return true; } boolean success = cursor.next(); if (success) { actions.add(cursor.getAction()); } return success; }
private void addActions(final DNAWriter dnaWriter, final DNACursor cursor, final DNAEncoding decoder, final DNA dna) throws IOException, ClassNotFoundException { while (cursor.next(decoder)) { final Object action = cursor.getAction(); if (action instanceof PhysicalAction) { writePhysicalAction(dnaWriter, (PhysicalAction) action); } else if (action instanceof LogicalAction) { writeLogicalAction(dnaWriter, (LogicalAction) action); } else if (action instanceof LiteralAction) { writeLiteralAction(dnaWriter, (LiteralAction) action); } else { throw new AssertionError("Unknown action type : " + action + " in dna : " + dna); } } }
@Override public void hydrate(ClientObjectManager objectManager, TCObject tcObject, DNA dna, Object po) throws IOException, ClassNotFoundException { DNACursor cursor = dna.getCursor(); while (cursor.next(encoding)) { LiteralAction a = (LiteralAction) cursor.getAction(); Object value = a.getObject(); tcObject.setLiteralValue(value); } }
@Override public void hydrate(ClientObjectManager objectManager, TCObject tcObject, DNA dna, Object po) throws IOException, ClassNotFoundException { DNACursor cursor = dna.getCursor(); while (cursor.next(encoding)) { LiteralAction a = (LiteralAction) cursor.getAction(); Object value = a.getObject(); tcObject.setLiteralValue(value); } }
@Override public void apply(final ObjectID objectID, final DNACursor cursor, final ApplyTransactionInfo includeIDs) throws IOException { while (cursor.next()) { Object action = cursor.getAction(); if (action instanceof PhysicalAction) { final PhysicalAction pa = (PhysicalAction) action; if (pa.isEntireArray()) { this.componentObjects = (Object[]) pa.getObject(); } else { configMap.put(pa.getFieldName(), pa.getObject()); } } else { final LogicalAction logicalAction = (LogicalAction) action; final int method = logicalAction.getMethod(); final Object[] params = logicalAction.getParameters(); applyMethod(objectID, method, params); } } }
@Override public void apply(final ObjectID objectID, final DNACursor cursor, final ApplyTransactionInfo applyInfo) throws IOException { int eventCount = 0; while (cursor.next()) { final Object action = cursor.getAction(); if (action instanceof PhysicalAction) { final PhysicalAction physicalAction = (PhysicalAction)action; applyPhysicalAction(physicalAction, objectID, applyInfo); } else { // LogicalAction // notify subscribers about the mutation operation eventCount++; final LogicalAction logicalAction = (LogicalAction)action; final int method = logicalAction.getMethod(); final Object[] params = logicalAction.getParameters(); applyLogicalAction(objectID, applyInfo, method, params); } } if (eventCount != 0) { getOperationEventBus().post(Events.writeOperationCountChangeEvent(applyInfo.getServerTransactionID().getSourceID(), eventCount)); } }
@Override public void apply(final ObjectID objectID, final DNACursor cursor, final ApplyTransactionInfo applyInfo) throws IOException { boolean broadcast = false; int eventCount = 0; while (cursor.next()) { final Object action = cursor.getAction(); if (action instanceof PhysicalAction) { applyPhysicalAction((PhysicalAction)action, objectID, applyInfo); } else { // LogicalAction eventCount++; final LogicalAction logicalAction = (LogicalAction)action; final int method = logicalAction.getMethod(); final Object[] params = logicalAction.getParameters(); applyLogicalAction(objectID, applyInfo, method, params); //TODO: requires refactoring, we should call super.apply() instead if (method == SerializationUtil.CLEAR || method == SerializationUtil.CLEAR_LOCAL_CACHE || method == SerializationUtil.DESTROY || method == SerializationUtil.SET_LAST_ACCESSED_TIME) { // clear needs to be broadcasted so local caches can be cleared elsewhere broadcast = true; } } } if (eventCount != 0) { getOperationEventBus().post(Events.writeOperationCountChangeEvent(applyInfo.getServerTransactionID().getSourceID(), eventCount)); } if (!broadcast) { applyInfo.ignoreBroadcastFor(objectID); } }
Object capacity = null; while (cursor.next(encoding)) { Object action = cursor.getAction(); if (action instanceof LogicalAction) {
Object capacity = null; while (cursor.next(encoding)) { Object action = cursor.getAction(); if (action instanceof LogicalAction) {
Object capacity = null; while (cursor.next(encoding)) { Object action = cursor.getAction(); if (action instanceof LogicalAction) {