blob: b389e87f634a758d48daf5855c1bc3906e221f04 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Bosch Software Innovations GmbH and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v1.0 which accompany this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
* The Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Bosch Software Innovations GmbH - Please refer to git log
*
*******************************************************************************/
package org.eclipse.vorto.codegen.examples.webdevice.tests.tasks
import org.eclipse.vorto.functionblock.FBFeature
import org.eclipse.vorto.functionblock.FunctionblockFactory
import org.eclipse.vorto.functionblock.FunctionblockModel
import org.eclipse.vorto.functionblock.Operation
import org.eclipse.vorto.functionblock.PrimitiveProperty
import org.eclipse.vorto.functionblock.PrimitiveType
class TestFunctionblockModelFactory {
public static def FunctionblockModel populateFBmodelWithProperties() {
var fbmodel = FunctionblockFactory.eINSTANCE.createFunctionblockModel();
var fb = FunctionblockFactory.eINSTANCE.createFunctionBlock();
fbmodel.setName("Fridge");
fb.setDescription("Refrigerator");
fb.setCategory("demo");
fb.setDescription("comment");
fb.setVendor("www.bosch.com");
fb.setVersion("1.2.3");
fb.getFeatures().add(createOnOperation());
fb.getFeatures().add(createOffOperation());
fb.getFeatures().add(createToggleOperation());
fb.setConfiguration(createConfiguration);
fb.setStatus(createStatus);
fb.setFault(createFault);
fbmodel.setFunctionblock(fb);
return fbmodel;
}
public static def FunctionblockModel populateFBmodel() {
var fbmodel = FunctionblockFactory.eINSTANCE.createFunctionblockModel();
var fb = FunctionblockFactory.eINSTANCE.createFunctionBlock();
fbmodel.setName("Fridge");
fb.setDescription("Refrigerator");
fb.setCategory("demo");
fb.setDescription("comment");
fb.setVendor("www.bosch.com");
fb.setVersion("1.2.3");
fb.getFeatures().add(createOnOperation());
fb.getFeatures().add(createOffOperation());
fb.getFeatures().add(createToggleOperation());
fbmodel.setFunctionblock(fb);
return fbmodel;
}
private static def Operation createOnOperation() {
var operation = FunctionblockFactory.eINSTANCE.createOperation();
operation.setMethodName("on");
operation.setDescription("Turn device on");
return operation;
}
private static def Operation createOffOperation() {
var operation = FunctionblockFactory.eINSTANCE.createOperation();
operation.setMethodName("Off");
operation.setDescription("Turn device off");
return operation;
}
private static def Operation createToggleOperation() {
var operation = FunctionblockFactory.eINSTANCE.createOperation();
operation.setMethodName("Toggle");
operation.setDescription("Toggle device");
return operation;
}
private static def FBFeature createConfiguration() {
var configuration = FunctionblockFactory.eINSTANCE.createFBFeature();
configuration.properties.add(createPrimitiveProperty("testString", PrimitiveType.STRING));
configuration.properties.add(createPrimitiveProperty("testShort", PrimitiveType.SHORT));
configuration.properties.add(createPrimitiveProperty("testInt", PrimitiveType.INT));
return configuration;
}
private static def FBFeature createStatus() {
var status = FunctionblockFactory.eINSTANCE.createFBFeature();
status.properties.add(createPrimitiveProperty("testString", PrimitiveType.STRING));
status.properties.add(createPrimitiveProperty("testShort", PrimitiveType.SHORT));
status.properties.add(createPrimitiveProperty("testInt", PrimitiveType.INT));
status.properties.add(createPrimitiveProperty("testLong", PrimitiveType.LONG));
status.properties.add(createPrimitiveProperty("testFloat", PrimitiveType.FLOAT));
status.properties.add(createPrimitiveProperty("testDouble", PrimitiveType.DOUBLE));
status.properties.add(createPrimitiveProperty("testDatetime", PrimitiveType.DATETIME));
status.properties.add(createPrimitiveProperty("testByte", PrimitiveType.BYTE));
status.properties.add(createPrimitiveProperty("testBase64", PrimitiveType.BASE64_BINARY));
status.properties.add(createPrimitiveProperty("testBoolean", PrimitiveType.BOOLEAN));
return status;
}
private static def FBFeature createFault() {
var fault = FunctionblockFactory.eINSTANCE.createFBFeature();
fault.properties.add(createPrimitiveProperty("isFault", PrimitiveType.BOOLEAN));
return fault;
}
private static def PrimitiveProperty createPrimitiveProperty(String propName, PrimitiveType type) {
var prop = FunctionblockFactory.eINSTANCE.createPrimitiveProperty();
prop.setPropName(propName);
prop.setType(type);
return prop;
}
}