+ public void setInput(Resource oldModel, Resource newModel, GraphChanges changes, IProgressMonitor monitor) throws DatabaseException{
+ if (!oldModel.equals(changes.getResource1()) ||
+ !newModel.equals(changes.getResource2())) {
+ throw new DatabaseException("GraphChanges does not match input models");
+ }
+ this.changes = getSession().syncRequest(createFilterRead(changes, filters));
+ Pair<UpdateTree, UpdateList> chg = createChangeObjects(changes, monitor);
+ if (chg == null) {
+ dispose();
+ return;
+ }
+ updateTree = chg.first;
+ updateList = chg.second;
+ if (userFilters.size() != 0) {
+ refreshUserFilters();
+ }
+
+
+ if (originalModel != null) {
+ defaultSelections();
+ }
+ init = true;
+ }
+