Listenobjektkomponente¶
Übersicht¶
Die Listenobjektkomponente generiert zur Entwurfszeit dynamisch eine Liste von Objekten. Die Auswahl des Benutzers aus dieser Liste kann dann verwendet werden, um das Verhalten des Connectors oder die Konfiguration anderer Komponenten zu bestimmen. Sie können beispielsweise ein Listenobjekt auf einer Seite verwenden und dann kann die Auswahl des Benutzers den Inhalt bestimmen, der in einem Listenobjekt oder anderen Komponenten auf einer folgenden Seite angezeigt wird.
Ein Listenobjekt wird in Verbindung mit anderen Komponenten wie Objekt beschreiben verwendet, Filter-Generator, Felder auswählen und Übertragungslistenkomponente, um sie mit den Daten zu versorgen, die sie zur Instanziierung benötigen.
Komponentenfunktionen¶
Die Listenobjektkomponente enthält integrierte Funktionen zum Suchen, Aktualisieren und Auswählen von Listenobjekten:
- Suchleiste: Benutzer können ein Schlüsselwort eingeben und die Zeilen filtern. Alle verfügbaren Spalten werden durchsucht.
- Aktualisieren: Durch Klicken werden Daten vom Connector abgerufen und alle Zeilen aktualisiert.
- Auswählen und Abwählen: Um eine Zeile auszuwählen, klicken Benutzer auf eine Zeile. Durch erneutes Klicken wird die ausgewählte Zeile abgewählt.
Komponenten-JSON¶
{
"name": "list-object",
"displayName": "Select an XML Schema structure for validating the file",
"type": "list-object",
"use": {
"ui": {
"pageDescription": "Select an XML Schema structure for validating the file",
"selectObjectLabel": "Selected Dropbox Object: ",
"tableHeaders": [
"Name",
"Type",
"Description"
]
},
"discoveryType": "provided",
"orientation": "output",
"documentIdPath": "this"
},
"validators": [
{
"name": "required"
}
]
}
Im JSON, das das Listenobjekt beschreibt, können diese Eigenschaften konfiguriert werden:
name
: Eindeutiger Name für die Listenobjektkomponente.displayName
: Der Titel, der über dem Listenobjekt in der Integration Studio-Benutzeroberfläche angezeigt wird.type
: Der Listenobjektkomponententyp muss"list-object"
.pageDescription
: Die Beschreibung, die über dem Listenobjekt eingefügt wird. Normalerweise beginnt sie mit dem Wort Select und verweist auf ein bestimmtes Objekt, wie z. B."Select an XML Schema structure for validating the file"
.selectedObjectLabel
: Eine optionale Beschreibung in Fettschrift, die über dem Listenobjekt eingefügt wird und sich je nach Auswahl dynamisch ändert. Sie beginnt üblicherweise mit der Vergangenheitsform des Verbs, das in derpageDescription
und endet mit einem Doppelpunkt und einem Leerzeichen, um den entsprechenden Abstand zu schaffen, wie zum Beispiel"Selected Object: "
. Beachten Sie, dass dies eindeutig ist (es istselect
ed) von der nächsten Eigenschaft (selectObjectLabel
) und wird nur verwendet, wenn das Listenobjekt von Daten einer vorherigen Seite abhängt. Siehe Komponente Vorherige Seiten für Einzelheiten.selectObjectLabel
: Eine optionale Beschreibung, fett gedruckt und oberhalb des Listenobjekts eingefügt, die sich je nach Auswahl dynamisch ändert. Ihr Wert beginnt standardmäßig mit der Vergangenheitsform des Verbs, das in derpageDescription
und endet mit einem Doppelpunkt und einem Leerzeichen, um einen angemessenen Abstand zu schaffen, wie z. B. der Wert"Selected Dropbox Object: "
.-
tableHeaders
: Ein optionales Array von Überschriften, die die Beschriftungen (Anzeigenamen) darstellen, die oben im Listenobjekt angezeigt werden. Beispiel:[ "Name", "Type", "Description" ],
Wenn undefiniert gelassen,
"Name"
Und"Description"
werden standardmäßig angezeigt.Wichtig
Die im Listenobjekt angezeigten Objektdaten hängen von der Anzahl der definierten Überschriften ab:
- Wenn keine Überschriften definiert sind,
N
(Name) undD
(Beschreibung) werden angezeigt - Wenn 1 Header definiert ist,
N
(Name) wird angezeigt - Wenn 2 Header definiert sind,
N
(Name) undD
(Beschreibung) werden angezeigt - Wenn 3 Überschriften definiert sind,
N
(Name),T
(Typ) undD
(Beschreibung) werden angezeigt
Die oben genannten Spaltenreihenfolgen sind festgelegt und die Anzeige zusätzlicher Überschriften wird nicht unterstützt.
- Wenn keine Überschriften definiert sind,
-
defaultValueFromProp
: Wenn diese bestimmte Komponente Daten basierend auf ausgewählten oder bereitgestellten Daten einer vorherigen Seite abrufen muss, können Sie hier optional den Namen der Eigenschaft der vorherigen Seite angeben und die Komponente verwendet diese Eigenschaft zum Abrufen der Daten. Siehe Komponente Vorherige Seiten für Einzelheiten. discoveryType
: Der Erkennungstyp ist"provided"
, und die Implementierung muss vom Entwickler wie in der Komponentenerkennung beschrieben abgeschlossen werden.orientation
: Dies ist eingestellt auf"output"
.documentIdPath
: Dies ist eingestellt auf"this"
.
Komponentenerkennung¶
Wenn der Connector mit einem Listenobjekt von einem Benutzer konfiguriert wird, getObjectList()
Methoden werden entweder in der Verbindung oder in den Aktivitäten aufgerufen.
In diesem Codebeispiel aus dem ProcessFileActivity
des Dropbox-Connectors werden die erkennbaren Objekte den anzuzeigenden Daten zugeordnet. In diesem speziellen Beispiel sind die Werte fest codierte Zeichenfolgen. Sie könnten jedoch dynamisch generiert und aus einer Datenbank oder einer anderen Datenquelle abgerufen werden. Die Ergebnisse der Auswahl zur Entwurfszeit werden dann verwendet, um zu bestimmen, welche XSD- Schema zum Verarbeiten der vom Connector empfangenen Daten verwendet wird.
@Override
public List<DiscoverableObject> getObjectList(DiscoverContextRequest<DiscoverableObjectRequest> objectListRequest)
throws DiscoveryException {
List result = new ArrayList<DiscoverableObject>();
DiscoverableObject obj = new DiscoverableObject();
obj.setObjectName("account")
.setObjectType("xsd")
.setObjectDesc("XML schema associated with Account objects");
result.add(obj);
obj = new DiscoverableObject();
obj.setObjectName("contacts")
.setObjectType("xml")
.setObjectDesc("XML schema associated with Contact objects");
result.add(obj);
obj = new DiscoverableObject();
obj.setObjectName("customer")
.setObjectType("json")
.setObjectDesc("JSON schema associated with Customer objects");
result.add(obj);
return result;
}
Komponente vorherige Seiten¶
Wenn diese bestimmte Komponente Daten basierend auf ausgewählten oder bereitgestellten Daten einer vorherigen Seite abrufen muss, können Sie den Namen der Eigenschaft der vorherigen Seite als defaultValueFromProp
im JSON, das die Komponente beschreibt, und die Komponente verwendet diese Eigenschaft, um die Daten abzurufen.
Der Wert, der von einer vorherigen Seite abgerufen wurde, wird in der Benutzeroberfläche von Integration Studio mit dem selectedObjectLabel
als Textzeile zwischen den pageDescription
und die selectObjectLabel
.