public void resolve( String identifier, org.sintef.thingml.InstanceRef container, org.eclipse.emf.ecore.EReference reference, int position, boolean resolveFuzzy, final org.sintef.thingml.resource.thingml.IThingmlReferenceResolveResult< org.sintef.thingml.Instance> result) { // In which configuration should we look: Configuration cfg = ThingMLHelpers.findContainingConfiguration(container); if (cfg != null) { for (Instance ci : cfg.getInstances()) { if (ci.getName().startsWith(identifier)) { if (resolveFuzzy) result.addMapping(ci.getName(), ci); else if (ci.getName().equals(identifier)) result.addMapping(ci.getName(), ci); } } if (!result.wasResolved()) result.setErrorMessage( "Cannot resolve instance " + identifier + " in configuration " + cfg.getName()); } if (!result.wasResolved()) result.setErrorMessage("Cannot resolve instance " + identifier); }
public void resolve( String identifier, org.sintef.thingml.EnumLiteralRef container, org.eclipse.emf.ecore.EReference reference, int position, boolean resolveFuzzy, final org.sintef.thingml.resource.thingml.IThingmlReferenceResolveResult< org.sintef.thingml.EnumerationLiteral> result) { ArrayList<EnumerationLiteral> ts = ThingMLHelpers.findEnumerationLiteral(container.getEnum(), identifier, resolveFuzzy); for (EnumerationLiteral t : ts) result.addMapping(t.getName(), t); if (!result.wasResolved()) result.setErrorMessage("Cannot resolve enumeration literal " + identifier); }
public void resolve( String identifier, org.sintef.thingml.MessageParameter container, org.eclipse.emf.ecore.EReference reference, int position, boolean resolveFuzzy, final org.sintef.thingml.resource.thingml.IThingmlReferenceResolveResult< org.sintef.thingml.Message> result) { Thing thing = ThingMLHelpers.findContainingThing(container); for (Message m : thing.allMessages()) { if (resolveFuzzy && m.getName().startsWith(identifier)) { result.addMapping(m.getName(), m); } else if (!resolveFuzzy && m.getName().equals(identifier)) { result.addMapping(m.getName(), m); } } if (!result.wasResolved()) result.setErrorMessage("Cannot resolve message name: " + identifier); }