]> granicus.if.org Git - icinga2/commitdiff
Make the real object name available for use in templates.
authorGunnar Beutner <gunnar.beutner@netways.de>
Fri, 28 Mar 2014 18:45:07 +0000 (19:45 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Fri, 28 Mar 2014 18:45:07 +0000 (19:45 +0100)
Refs #5882

lib/config/configitembuilder.cpp

index 56383b7ef72359c50fc6a598d01083a4c751726a..13d9b7c916d00a716038fe102114437672669f47 100644 (file)
@@ -89,9 +89,13 @@ ConfigItem::Ptr ConfigItemBuilder::Compile(void)
        Array::Ptr templateArray = make_shared<Array>();
        templateArray->Add(m_Name);
        exprs->Add(make_shared<AExpression>(&AExpression::OpSetPlus, "templates", make_shared<AExpression>(&AExpression::OpLiteral, templateArray, m_DebugInfo), m_DebugInfo));
-       exprs->Add(make_shared<AExpression>(&AExpression::OpSet, "type", make_shared<AExpression>(&AExpression::OpLiteral, m_Type, m_DebugInfo), m_DebugInfo));
+
+       if (!m_Abstract) {
+               exprs->Add(make_shared<AExpression>(&AExpression::OpSet, "type", make_shared<AExpression>(&AExpression::OpLiteral, m_Type, m_DebugInfo), m_DebugInfo));
+               exprs->Add(make_shared<AExpression>(&AExpression::OpSet, "name", make_shared<AExpression>(&AExpression::OpLiteral, m_Name, m_DebugInfo), m_DebugInfo));
+       }
+
        exprs->Add(make_shared<AExpression>(&AExpression::OpDict, m_Expressions, true, m_DebugInfo));
-       exprs->Add(make_shared<AExpression>(&AExpression::OpSet, "name", make_shared<AExpression>(&AExpression::OpLiteral, m_Name, m_DebugInfo), m_DebugInfo));
        
        AExpression::Ptr exprl = make_shared<AExpression>(&AExpression::OpDict, exprs, true, m_DebugInfo);