package org.js.model.feature; import java.util.Iterator; import java.util.List; import org.eclipse.emf.ecore.EObject; import org.js.model.feature.Attribute; import org.js.model.feature.Feature; import org.js.model.feature.FeatureModel; public class ReferenceResolverUtil { public static Feature findFeature(String identifier, FeatureModel featureModel) { Iterator<EObject> iterator = featureModel.eAllContents(); while(iterator.hasNext()) { EObject object = iterator.next(); if (object instanceof Feature) { Feature feature = (Feature) object; String featureId = feature.getId(); if (featureId.equals(identifier)) { return feature; } } } return null; } public static Attribute findAttributeForFeature(String identifier, Feature feature) { List<Attribute> attributes = feature.getAttributes(); for (Attribute attribute : attributes) { if (attribute.getName().equals(identifier)) { return attribute; } } return null; } public static String deresolveAttribute(Attribute attribute) { Feature feature = attribute.getFeature(); return feature.getId() + "." + attribute.getName(); } }