// If new data is filled, it is not a delete
if ((newData == null) || (newData.length == 0))
{
// we are removing an event
RevisionEventBeanDeclared revisionEvent = (RevisionEventBeanDeclared) oldData[0];
MultiKeyUntyped key = revisionEvent.getKey();
statePerKey.remove(key);
// Insert into indexes for fast deletion, if there are any
for (EventTable table : indexRepository.getTables())
{
table.remove(oldData);
}
// make as not the latest event since its due for removal
revisionEvent.setLatest(false);
namedWindowRootView.updateChildren(null, oldData);
return;
}
RevisionEventBeanDeclared revisionEvent = (RevisionEventBeanDeclared) newData[0];
EventBean underlyingEvent = revisionEvent.getUnderlyingFullOrDelta();
EventType underyingEventType = underlyingEvent.getEventType();
// obtain key values
MultiKeyUntyped key = null;
RevisionTypeDesc typesDesc = null;
boolean isBaseEventType = false;
if (underyingEventType == baseEventType)
{
key = PropertyUtility.getKeys(underlyingEvent, fullKeyGetters);