| /******************************************************************************* |
| * 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; |
| } |
| |
| } |