final String workspaceName = changeSet.getWorkspaceName(); if (workspaceName != null) { if (includesWorkspace(workspaceName)) { try { beginWorkspaceChanges(); final Map<Name, AbstractPropertyChange> propChanges = new HashMap<>(); NodeKey lastKey = null; Name primaryType = anc.getPrimaryType(); Set<Name> mixinTypes = anc.getMixinTypes(); if (!matchesType(primaryType, mixinTypes)) { continue; if (!isQueryable(primaryType, mixinTypes)) { continue; firePropertyChanges(lastKey, lastPrimaryType, lastMixinTypes, propChanges); NodeAdded added = (NodeAdded) change; addNode(workspaceName, added.getKey(), added.getPath(), added.getPrimaryType(), added.getMixinTypes(), props(added.getProperties())); } else if (change instanceof NodeRemoved) { firePropertyChanges(lastKey, lastPrimaryType, lastMixinTypes, propChanges); NodeRemoved removed = (NodeRemoved) change; removeNode(workspaceName, removed.getKey(), removed.getParentKey(), removed.getPath(), removed.getPrimaryType(), removed.getMixinTypes()); } else if (change instanceof AbstractPropertyChange) { AbstractPropertyChange propChange = (AbstractPropertyChange) change; if (!propChange.getKey().equals(lastKey)) { firePropertyChanges(lastKey, lastPrimaryType, lastMixinTypes,
final String workspaceName = changeSet.getWorkspaceName(); if (workspaceName != null) { if (includesWorkspace(workspaceName)) { try { beginWorkspaceChanges(); final Map<Name, AbstractPropertyChange> propChanges = new HashMap<>(); NodeKey lastKey = null; Name primaryType = anc.getPrimaryType(); Set<Name> mixinTypes = anc.getMixinTypes(); if (!matchesType(primaryType, mixinTypes)) { continue; if (!isQueryable(primaryType, mixinTypes)) { continue; firePropertyChanges(lastKey, lastPrimaryType, lastMixinTypes, propChanges); NodeAdded added = (NodeAdded) change; addNode(workspaceName, added.getKey(), added.getPath(), added.getPrimaryType(), added.getMixinTypes(), props(added.getProperties())); } else if (change instanceof NodeRemoved) { firePropertyChanges(lastKey, lastPrimaryType, lastMixinTypes, propChanges); NodeRemoved removed = (NodeRemoved) change; removeNode(workspaceName, removed.getKey(), removed.getParentKey(), removed.getPath(), removed.getPrimaryType(), removed.getMixinTypes()); } else if (change instanceof AbstractPropertyChange) { AbstractPropertyChange propChange = (AbstractPropertyChange) change; if (!propChange.getKey().equals(lastKey)) { firePropertyChanges(lastKey, lastPrimaryType, lastMixinTypes,