use of org.eclipse.vorto.core.api.model.mapping.MappingRule in project vorto by eclipse.
the class DefaultResolver method doResolve.
@Override
protected ModelId doResolve(ModelInfo mappingModelResource, ResolveQuery query) {
IModelContent content = this.repository.getModelContent(mappingModelResource.getId(), ContentType.DSL);
MappingModel mappingModel = (MappingModel) content.getModel();
Optional<MappingRule> objectRule = mappingModel.getRules().stream().filter(rule -> rule.getTarget() instanceof StereoTypeTarget && ((StereoTypeTarget) rule.getTarget()).getName().equals(query.getStereoType())).findFirst();
if (objectRule.isPresent()) {
Optional<Attribute> objectIdAttribute = ((StereoTypeTarget) objectRule.get().getTarget()).getAttributes().stream().filter(attribute -> attribute.getName().equals(query.getAttributeId())).findFirst();
if (objectIdAttribute.isPresent() && objectIdAttribute.get().getValue().equals(query.getAttributeValue())) {
return ModelId.fromReference(mappingModel.getReferences().get(0).getImportedNamespace(), mappingModel.getReferences().get(0).getVersion());
}
}
return null;
}
use of org.eclipse.vorto.core.api.model.mapping.MappingRule in project vorto by eclipse.
the class LWM2MMappingParseTest method parseEnumMapping.
@Test
public void parseEnumMapping() throws IOException {
MappingModel mappingModel = this.createMappingModel("LWM2MResourceEnum.mapping");
EList<MappingRule> rules = mappingModel.getRules();
assertEquals(4, rules.size());
}
use of org.eclipse.vorto.core.api.model.mapping.MappingRule in project vorto by eclipse.
the class LWM2MMappingParseTest method parseInformationModelMapping.
@Test
public void parseInformationModelMapping() throws IOException {
MappingModel mappingModel = createMappingModel("LWM2MObjectType.mapping");
EList<MappingRule> rules = mappingModel.getRules();
assertEquals(1, rules.size());
}
use of org.eclipse.vorto.core.api.model.mapping.MappingRule in project vorto by eclipse.
the class MappingModelSyntaxTest method parseMappingWithFunctionBlockProperty.
@Test
public void parseMappingWithFunctionBlockProperty() throws IOException {
MappingModel mappingModel = createMappingModel("fb/FunctionBlock_Property.mapping");
EList<MappingRule> rules = mappingModel.getRules();
assertEquals(6, rules.size());
}
use of org.eclipse.vorto.core.api.model.mapping.MappingRule in project vorto by eclipse.
the class MappingModelSyntaxTest method parseMappingWithFunctionBlockReference.
@Test
public void parseMappingWithFunctionBlockReference() throws IOException {
MappingModel mappingModel = createMappingModel("fb/FunctionBlock_Ref.mapping");
EList<MappingRule> rules = mappingModel.getRules();
assertEquals(2, rules.size());
}
Aggregations