public void check(final Validation validation, PhysicalEntity thing) { // Capture PEs that is both a participant of a conversion and a component of a complex if(!thing.getParticipantOf().isEmpty() && !thing.getComponentOf().isEmpty()) { HashSet<EntityFeature> efs = new HashSet<EntityFeature>(); efs.addAll(thing.getFeature()); efs.addAll(thing.getNotFeature()); // Do we have any information about the binding properties? If so, it's OK. for(EntityFeature ef: efs) { if(ef instanceof BindingFeature) { return; } } // TODO: Call Emek's feature resolver function explicitly if the PE is to be fixed error(validation, thing, "ambiguous.feature", false, thing.getName()); } }
@Override public void check(PhysicalEntity thing, boolean fix) { // Capture PEs that is both a participant of a conversion and a component of a complex if(!thing.getParticipantOf().isEmpty() && !thing.getComponentOf().isEmpty()) { HashSet<EntityFeature> efs = new HashSet<EntityFeature>(); efs.addAll(thing.getFeature()); efs.addAll(thing.getNotFeature()); // Do we have any information about the binding properties? If so, it's OK. for(EntityFeature ef: efs) { if(ef instanceof BindingFeature) { return; } } // TODO: Call Emek's feature resolver function explicitly if the PE is to be fixed error(thing, "ambiguous.feature", false, thing.getName()); } }
else if (right.getNotFeature().contains(lFeat)) { result.put(lFeat, EXIST_TO_NOT_EXIST); } else { for (EntityFeature lFeat : left.getNotFeature()) { if (right.getFeature().contains(lFeat)) { result.put(lFeat, NOT_EXIST_TO_EXIST); (right.getNotFeature().contains(lFeat)) { result.put(lFeat, UNCHANGED); } else { for (EntityFeature rFeat : right.getNotFeature()) { if (!result.containsKey(rFeat)) { result.put(rFeat, UNKNOWN_TO_NOT_EXIST);
PhysicalEntity pe = (PhysicalEntity) e; extractFeatures(pe.getFeature(), true, list); extractFeatures(pe.getNotFeature(), false, list);