Search in sources :

Example 1 with ReturnObjectType

use of org.eclipse.vorto.core.api.model.functionblock.ReturnObjectType in project vorto by eclipse.

the class ModelDtoFactory method createOperation.

private static Operation createOperation(org.eclipse.vorto.core.api.model.functionblock.Operation o) {
    Operation operation = new Operation();
    operation.setBreakable(o.isBreakable());
    operation.setDescription(o.getDescription());
    operation.setName(o.getName());
    operation.setParams(o.getParams().stream().map(p -> createParam(p)).collect(Collectors.toList()));
    if (o.getReturnType() != null) {
        ReturnType returnType = new ReturnType();
        returnType.setMultiple(o.getReturnType().isMultiplicity());
        if (o.getReturnType() instanceof ReturnPrimitiveType) {
            returnType.setPrimitive(true);
            PrimitiveType pt = ((ReturnPrimitiveType) o.getReturnType()).getReturnType();
            returnType.setType(org.eclipse.vorto.repository.api.content.PrimitiveType.valueOf(pt.name()));
        } else {
            returnType.setPrimitive(false);
            returnType.setType(createModelId(((ReturnObjectType) o.getReturnType()).getReturnType()));
        }
        operation.setResult(returnType);
    }
    return operation;
}
Also used : ReturnPrimitiveType(org.eclipse.vorto.core.api.model.functionblock.ReturnPrimitiveType) ReturnPrimitiveType(org.eclipse.vorto.core.api.model.functionblock.ReturnPrimitiveType) PrimitiveType(org.eclipse.vorto.core.api.model.datatype.PrimitiveType) Operation(org.eclipse.vorto.repository.api.content.Operation) ReturnType(org.eclipse.vorto.repository.api.content.ReturnType) ReturnObjectType(org.eclipse.vorto.core.api.model.functionblock.ReturnObjectType)

Example 2 with ReturnObjectType

use of org.eclipse.vorto.core.api.model.functionblock.ReturnObjectType in project vorto by eclipse.

the class DatatypeGeneratorTask method getTypes.

private static Set<Type> getTypes(FunctionblockModel model) {
    Set<Type> allTypes = new LinkedHashSet<>();
    TreeIterator<EObject> iterator = model.eAllContents();
    while (iterator.hasNext()) {
        EObject current = iterator.next();
        if (current instanceof RefParam) {
            addTypeAndReferences(((RefParam) current).getType(), allTypes);
        } else if (current instanceof ReturnObjectType) {
            addTypeAndReferences(((ReturnObjectType) current).getReturnType(), allTypes);
        } else if (current instanceof ObjectPropertyType) {
            addTypeAndReferences(((ObjectPropertyType) current).getType(), allTypes);
        }
    }
    return allTypes;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) ReturnObjectType(org.eclipse.vorto.core.api.model.functionblock.ReturnObjectType) ObjectPropertyType(org.eclipse.vorto.core.api.model.datatype.ObjectPropertyType) Type(org.eclipse.vorto.core.api.model.datatype.Type) RefParam(org.eclipse.vorto.core.api.model.functionblock.RefParam) ObjectPropertyType(org.eclipse.vorto.core.api.model.datatype.ObjectPropertyType) EObject(org.eclipse.emf.ecore.EObject) ReturnObjectType(org.eclipse.vorto.core.api.model.functionblock.ReturnObjectType)

Aggregations

ReturnObjectType (org.eclipse.vorto.core.api.model.functionblock.ReturnObjectType)2 LinkedHashSet (java.util.LinkedHashSet)1 EObject (org.eclipse.emf.ecore.EObject)1 ObjectPropertyType (org.eclipse.vorto.core.api.model.datatype.ObjectPropertyType)1 PrimitiveType (org.eclipse.vorto.core.api.model.datatype.PrimitiveType)1 Type (org.eclipse.vorto.core.api.model.datatype.Type)1 RefParam (org.eclipse.vorto.core.api.model.functionblock.RefParam)1 ReturnPrimitiveType (org.eclipse.vorto.core.api.model.functionblock.ReturnPrimitiveType)1 Operation (org.eclipse.vorto.repository.api.content.Operation)1 ReturnType (org.eclipse.vorto.repository.api.content.ReturnType)1