fun createFBType()

in code/4diac-integration/src/main/kotlin/org/fbme/ide/integration/fordiac/deploy/controllers/DynamicTypeLoadDeploymentController.kt [168:197]


    fun createFBType(fb: FBTypeDeclaration): Boolean {
        var didRequestSucceed = false
        val typeName = fb.typeDescriptor.typeName

        try {
            if (fb is CompositeFBTypeDeclaration) {
                didRequestSucceed = createCompositeNetworkFBTypes(fb)
                if (!didRequestSucceed) {
                    return false
                }
            }
            val luaProgram = ForteLuaTranslator.translate(fb)
            val request = format(CREATE_FB_TYPE, nextId(), typeName, luaProgram)
            logger.info(request)

            val rawResponse = sendRequest(destination = "", request = request)
            val response = parseIDResponse(rawResponse)
            if (response.didSucceed()) {
                fbTypes.add(typeName)
                didRequestSucceed = true
            }
            logResponse(rawResponse, response)
        } catch (e: DeploymentException) {
            logger.error("Failed to send the request for creating FB type '$typeName'.", e)
        } catch (e: ResponseParserException) {
            logger.error("Failed to parse response for creating FB type '$typeName'.", e)
        }

        return didRequestSucceed
    }