- Dieses Thema ist leer.
- Post
-
- 19. Januar 2021 um 14:13 Uhr
Bei der Entwicklung von eigenen Adaptern oder zeitgesteuerten Aufgaben müssen die Parameter, welche der spätere Anwender konfigurieren soll, mit Metadaten beschrieben werden. Für jeden Parameter kann optional ein Validator angegeben werden, der die eingegebenen Werte überprüft. Für einige Datentypen können darüber hinaus noch weitere Einschränkungen getroffen werden, was die Auswahlmöglichkeit von Werten betrifft (Subtypen). Zur Laufzeit wird der vom Anwender konfigurierte Wert dem Adapter oder der zeitgesteuerten Aufgabe übergeben.
Beispiel 1, Definition der Parameter im Adapter:
com.company.tc.adapter.impl.AdapterFactory
@Override protected Map<String,PropertyMetaData> getConnectionProperties( String subtype, boolean outbound ) { Map<String,PropertyMetaData> meta = new HashMap<>(); meta.put( PROPERTY_MYPROP, new PropertyMetaData( Messages.PROPERTY_NAME, // name Messages.PROPERTY_DESC, // description String.class, // type "default value", // default value true, // required property null ) ); // no validator return meta; }
Beispiel 2, Definition der Parameter für eine zeitgesteuerte Aufgabe:
com.sqlgmbh.tc.sample.wf.QueryDatabase
@Override public Map<String,PropertyMetaData> getMetadata() { Map<String,PropertyMetaData> meta = new HashMap<>(); meta.put( PROPERTY_MYPROP, new PropertyMetaData( Messages.PROPERTY_NAME, // name Messages.PROPERTY_DESC, // description String.class, // type "default value", // default value true, // required property new Validator.EMailValidator( false ) ) ); // only mail addresses allowed return meta; }
Beispiel 3, Übergabe der konfigurierten Werte an einen Adapter:
com.company.tc.adapter.impl.OutboundConnection
protected OutboundConnection( ConnectionSpec spec, OutboundAdapter adapter, String prefix ) { String value = spec.getString( PROPERTY_MYPROP ); }
Beispiel 4, Übergabe der konfigurierten Werte an eine zeitgesteuerte Aufgabe:
com.sqlgmbh.tc.sample.wf.QueryDatabase
@Override public void setProperties( Map<String,Serializable> properties ) { String value = (String) properties.get( PROPERTY_MYPROP ); }
00
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.