Erweiterungssyntax für Updater

Eine Update-Erweiterung entspricht den folgenden syntaktischen Konventionen:

  • Die Erweiterung wird durch ein JSON-Objekt definiert, das im Feld updaters der Erweiterungsdatei für den Updater enthalten ist
  • Der Name der Updater-Erweiterung entspricht dem der Schemadefinitionserweiterung für die zu erweiternde Ressource
  • Die Erweiterung muss über ein schemaDefinition-Attribut verfügen, das die Updater-Erweiterung mit der Schemadefinitionserweiterung verknüpft
  • Die Erweiterung muss über ein root-Attribut verfügen, das die Schemadefinitionserweiterung mit einer ClaimCenter-Entität verknüpft
  • Die Erweiterung muss über ein properties-Attribut verfügen, in dem die erweiterten Eigenschaften gespeichert werden
  • Der Name jeder erweiterten Eigenschaft muss mit dem in der zugehörigen Schemadefinitionserweiterung gefundenen Namen übereinstimmen
  • Jede erweiterte Eigenschaft muss über ein path-Attribut verfügen, das auf ein ClaimCenter-Entitätsfeld verweist
  • Wenn der Werttyp der erweiterten Eigenschaft einen Typenschlüssel unterstützt, muss er auch über ein valueResolver.typeName-Attribut verfügen, das einen TypeKeyValueResolver-URI-Verweis enthält

Die folgende Liste stellt eine Updater-Erweiterung für das Activity-Schema in der Common API dar. Die Erweiterung verknüpft eine erweiterte shortSubject_Ext-Ressourceneigenschaft mit dem ClaimCenter Activity.ShortSubject-Entitätsfeld:

{
  . . .
  "updaters": {
    "Activity": {
      "schemaDefinition": "Activity",
      "root": "entity.Activity",
      "properties": {
        "shortSubject_Ext": {
          "path": "Activity.ShortSubject"
        }
      }
    }
  }
}
  • Activity: Der Name des Updaters
  • schemaDefinition: Eine Zuordnung zur Activity-Schemadefinition
  • root: Eine Zuordnung der Activity-Schemadefinition zur Activity-Entität in ClaimCenter
  • shortSubject_Ext: Ein Eigenschaftsname, wie in der Schemadefinition definiert
  • path: Ein Pfad, der die erweiterte Eigenschaft mit dem Activity.ShortSubject-Entitätsfeld verknüpft. Werte können verkettet werden. Beispiel: Der Pfad für den Anzeigenamen eines Kontakts für einen Schadenfall ist ClaimContact.Contact.DisplayName.

Wenn der Eigenschaftswerttyp der erweiterten Eigenschaft in der Schemadefinitionserweiterung TypeKeyReference lautet, muss diese Eigenschaft in der Updater-Erweiterung ein valueResolver-Attribut enthalten, das typeName auf TypeKeyValueResolver festlegt:

{
  . . .
  "updaters": {
    "Activity": {
      "schemaDefinition": "Activity",
      "root": "entity.Activity",
      "properties": {
        "activityClass_Ext": {
          "path": "Activity.ActivityClass",
          "valueResolver": {
            "typeName": "TypeKeyValueResolver"
          }
        }
      }
    }
  }
}