Example #1
0
 private void addAll(ModelObject modelObject, Model model) {
   if (!model.contains(modelObject)) {
     model.add(modelObject);
     modelObject.setModel(model);
     for (ModelObject refFrom : modelObject.getReferencesFrom()) {
       addAll(refFrom, model);
     }
     for (ModelObject refTo : modelObject.getReferencesTo()) {
       addAll(refTo, model);
     }
   }
 }
Example #2
0
 private void floodFill(
     SubModel subModel,
     ModelObject firstUnlabelled,
     Set<ModelObject> unplaced,
     Set<ModelObject> todo) {
   subModel.add(firstUnlabelled);
   unplaced.remove(firstUnlabelled);
   for (ModelObject object : firstUnlabelled.getReferencesTo()) {
     if (!subModel.contains(object)) {
       if (!todo.contains(object)) {
         todo.add(object);
       }
     }
   }
   for (ModelObject object : firstUnlabelled.getReferencesFrom()) {
     if (!subModel.contains(object)) {
       if (!todo.contains(object)) {
         todo.add(object);
       }
     }
   }
 }