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
}