7.2.2 One Attribute has been removed or renamed
Example assumption 1:
The Attribute "EngineType" has been renamed to "DriveType".
{
"configurationModelId": "Engine",
"sharedFromConfigurationModels": ["TechnicalShared", "SalesShared"],
"attributes": {
"choiceAttributes": [
{
"attributeId": "DriveType",
"lowerBound": 1,
"upperBound": 1,
"choiceValues": [
We now assume that the Configuration Session has been initialized with the changed Configuration Model . The response has delivered the code 200.
The Decisions that now need to be set are the 10 Decisions of the Configuration Dialogue from 6.2.1.
The route is used that enables many Decisions to be transmitted with one request.
The example request with the 10 Decisions can be seen here.
The response delivers the code 200. The response body contains the Consequences, the Affected Decisions and the Rejected Decisions:
"rejectedDecisions": {
"booleanDecisions": [],
"numericDecisions": [],
"componentDecisions": [],
"choiceValueDecisions": [
{
"attributeId": {
"localId": "EngineType",
"componentPath": [
"Automobile",
"Engine"
]
},
"choiceValueId": "Burner",
"state": "Included",
"kind": "Explicit"
}
]
}
The Value "Burner" of the Attribute "EngineType" could not be set because the Attribute no longer exists in the Component Configuration Model "Engine".
Example assumption 2:
The Attribute "Construction" has been renamed to "AutomobileType".
The Attribute with the original name "Construction" is used in Rule 1. It was forgotten to change the Attribute Identifier in Rule 1 as well. This can happen if different tools are used for Attribute and Rule maintenance.
The Session-create request is executed with the modified Configuration Model.
The Configuration Engine evaluates the model. According to Rule 1, the value "Car" of the Attribute "Construction" must be set. But it cannot be set because the Attribute no longer exists due to the assumed renaming.
The response therefore returns the error code 409, which indicates a Conflict in the Configuration Model.
{
"type": "ConfigurationModelNotFeasible",
"constraintExplanations": [
{
"causedByCardinalities": [],
"causedByRules": [
{
"type": "Rule",
"constraintId": {
"localId": "Rule1:TheConstructionIsCar",
"configurationModelId": "Car"
}
}
]
}
],
"status": 409
}