@Override public void fromDelta(DataInput in) throws IOException, InvalidDeltaException { // Read whether to apply the changes to another DS if necessary this.applyRemotely = in.readBoolean(); // Read the events List<DeltaSessionAttributeEvent> events = null; try { events = DataSerializer.readArrayList(in); } catch (ClassNotFoundException e) { throw new InvalidDeltaException(e); } // This allows for backwards compatibility with 2.1 clients if (((InputStream) in).available() > 0) { this.lastAccessedTime = in.readLong(); this.maxInactiveInterval = in.readInt(); } // Iterate and apply the events for (DeltaSessionAttributeEvent event : events) { event.apply(this); } // Add the events to the gateway delta region if necessary if (this.enableGatewayDeltaReplication && this.applyRemotely) { setCurrentGatewayDeltaEvent( new DeltaSessionAttributeEventBatch(this.sessionRegionName, this.id, events)); } // Access it to set the last accessed time. End access it to set not new. access(); endAccess(); }
public void fromDelta(DataInput in) throws IOException, InvalidDeltaException { // Read whether to apply the changes to another DS if necessary this.applyRemotely = in.readBoolean(); // Read the events List<DeltaSessionAttributeEvent> events = null; try { events = DataSerializer.readArrayList(in); } catch (ClassNotFoundException e) { throw new InvalidDeltaException(e); } // This allows for backwards compatibility with 2.1 clients if (((InputStream) in).available() > 0) { this.lastAccessedTime = in.readLong(); this.maxInactiveInterval = in.readInt(); } // Iterate and apply the events for (DeltaSessionAttributeEvent event : events) { event.apply(this); } // Add the events to the gateway delta region if necessary if (this.enableGatewayDeltaReplication && this.applyRemotely) { setCurrentGatewayDeltaEvent( new DeltaSessionAttributeEventBatch(this.sessionRegionName, this.id, events)); } // Access it to set the last accessed time. End access it to set not new. access(); endAccess(); }