import { IStepConnectorForm } from '../catalogo-protocol'; import { icon } from './mock-connectors'; const steps: IStepConnectorForm[] = [ { title: 'JDBC CONNECTOR OVERVIEW', description: 'Complete Rest Connector Service', version: '1.0.0', type: "overview", url: 'https://sysmapsolutions.atlassian.net/wiki/spaces/QKSDOC/pages/690028581/Catalogo', image: icon }, { title: 'JDBC CONNECTOR BASIC CONFIGURATION', description: 'Basic data to configure connector', version: '1.0.0', type: "step", content: { metadata: { init: [], data: { "title": "", "type": "object", "properties": { "taskRetryConfiguration": { "title": "Retry Configuration(only for Long Running)", "type": "string" }, "connectorJDBCCatalog": { "title": "JDBC Catalog/Package", "type": "string" }, "connectorJDBCProcedure": { "title": "JDBC Procedure", "type": "string" }, "connectorJDBCDataSourceClassName": { "title": "JDBC DataSource Driver Class Name", "type": "string", "enum": [ 'oracle.jdbc.pool.OracleDataSource' ], "enumNames": [ 'Oracle' ] }, "connectorJDBCDataSourceUrl": { "title": "JDBC DataSource URL", "type": "string" }, "connectorJDBCDataSourceUser": { "title": "JDBC DataSource Username", "type": "string" }, "connectorJDBCDataSourcePassword": { "title": "JDBC DataSource User Password", "type": "string" }, "connectorJDBCDataSourceDatabaseName": { "title": "JDBC DataSource Database Name", "type": "string" } }, "dependencies": { } } }, ui: { "taskRetryConfiguration": { "ui:widget": "AntdInput", "ui:options": { hint: `

Configuração de retry para task (Referência)

ex: R3/PT1M - 3 repetições com intervalo de 1 min

` } }, "connectorJDBCCatalog": { "ui:widget": "AntdInput", "ui:options": { hint: "Package Name" } }, "connectorJDBCProcedure": { "ui:widget": "AntdInput", "ui:options": { hint: "Procedure Name" } }, "connectorJDBCDataSourceClassName": { "ui:widget": "AntdSelect", "ui:options": { hint: "Driver class to Data Base connection" } }, "connectorJDBCDataSourceUrl": { "ui:widget": "AntdInput", "ui:options": { hint: "URL to Data Base connection" } }, "connectorJDBCDataSourceUser": { "ui:widget": "AntdInput", "ui:options": { hint: "Username for database connection" } }, "connectorJDBCDataSourcePassword": { "ui:widget": "AntdPassword", "ui:options": { hint: "User password for database connection" } }, "connectorJDBCDataSourceDatabaseName": { "ui:widget": "AntdInput", "ui:options": { hint: "Database Name" } } }, relationships: [ ], submit: { styles: { text: 'Next', position: 'right' } } } }, { title: 'JDBC CONNECTOR CONFIGURATION', description: 'Life Cycle Configuration Connector', version: '1.0.0', type: "step", content: { metadata: { init: [], data: { "title": "", "type": "object", "properties": { "connectorJDBCConnectionTimeout": { "title": "JDBC Connection Timeout", "type": "string" }, "connectorJDBCPoolName": { "title": "JDBC Pool Name", "type": "string" }, "connectorJDBCMaximumPoolSize": { "title": "JDBC MaximumPoolSize", "type": "string" }, "connectorJDBCMinimumIdle": { "title": "JDBC MinimumIdle", "type": "string" }, "connectorJDBCIdleTimeout": { "title": "JDBC IdleTimeout", "type": "string" }, "connectorJDBCMaxLifetime": { "title": "JDBC MaxLifetime", "type": "string" }, "connectorJDBCValidationTimeout": { "title": "JDBC ValidationTimeout", "type": "string" }, "connectorJDBCLeakDetectionThreshold": { "title": "JDBC LeakDetectionThreshold", "type": "string" }, }, "dependencies": { } } }, ui: { "connectorJDBCConnectionTimeout": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: `

Time in ms for database connection timeout

Minimum value: 250ms

` } }, "connectorJDBCPoolName": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: 'Connection Pool Name' } }, "connectorJDBCMaximumPoolSize": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: 'Connection Pool Size' } }, "connectorJDBCMinimumIdle": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: 'Minimum amount of pool connections' } }, "connectorJDBCIdleTimeout": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: 'Maximum time in ms to keep an idle connection in the pool' } }, "connectorJDBCMaxLifetime": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: 'Maximum time in ms to keep a connection in the pool' } }, "connectorJDBCValidationTimeout": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: `

Timeout in ms for connection validation (this value must be less than connectionTimeout)

Minimum amount: 250ms

` } }, "connectorJDBCLeakDetectionThreshold": { "ui:widget": "AntdInput", "ui:options": { disabled: false, hidden: false, hint: `

How long the connection can be out of the pool to generate connection leak analysis.

Value '0' indicates that this check is disabled.

Minimum value: 2000ms

` } } }, relationships: [], submit: { styles: { text: 'Next', position: 'right' } } } }, { title: 'JDBC CONNECTOR FILES', description: 'Files for Connector', version: '1.0.0', type: "submit", content: { metadata: { init: [], data: { "title": "", "type": "object", "properties": { "contractJson": { "title": " ", "type": "string", "default": JSON.stringify({ "inputTypes": [ { "parameterName": "abc", "type": "VARCHAR" }, { "parameterName": "xyz", "type": "NUMERIC" } ], "outputTypes": [ { "parameterName": "abc", "type": "NUMERIC" } ] }, null, '\t') }, "jarFile": { "title": " ", "type": "string" } }, "dependencies": { } } }, ui: { "contractJson": { "ui:widget": "MonacoEditor", "ui:options": { height: '600', language: 'json', theme: 'vs-dark', options: {} } }, "jarFile": { "ui:widget": "AntdUpload", "ui:options": { title: 'Click or drag file to this area to upload', hint: 'Support .jar files', accept: '.jar' } } }, relationships: [], submit: { request: { base: "HOST_GAD_FS", endpoint: { source: '/feature/enrichTask', params: [] }, data: {}, header: {}, method: "post", bodyParser: { formatter: { format: { featureName: "<%= featureName %>", email: "<%= email %>", taskId: "<%= taskId %>", connectorParameters: { connectorType: 'jdbc', taskRetryConfiguration: "<%= retry %>", connectorJDBCCatalog: "<%= catalog %>", connectorJDBCProcedure: "<%= procedure %>", connectorJDBCDataSourceClassName: "<%= dataSource %>", connectorJDBCDataSourceUrl: "<%= dataSourceUrl %>", connectorJDBCDataSourceUser: "<%= dataSourceUser %>", connectorJDBCDataSourcePassword: "<%= dataSourcePassword %>", connectorJDBCDataSourceDatabaseName: "<%= dataSourceDatabaseName %>", connectorJDBCConnectionTimeout: "<%= timeout %>", connectorJDBCPoolName: "<%= poolName %>", connectorJDBCMaximumPoolSize: "<%= maximumPoolSize %>", connectorJDBCMinimumIdle: "<%= minIdle %>", connectorJDBCIdleTimeout: "<%= idleTimeout %>", connectorJDBCMaxLifetime: "<%= maxLifetime %>", connectorJDBCValidationTimeout: "<%= validationTimeout %>", connectorJDBCLeakDetectionThreshold: "<%= leakDetectionThreshold %>" }, connectorContracts: [ { ext: "contract", content: "<%= contractJson %>" }, { ext: "jar", content: "<%= jarFile %>" } ] }, params: [ { param: "featureName", source: "context(parentId)" }, { param: "email", source: "context(user.email)" }, { param: "taskId", source: "context(shortId)" }, { param: "connectorContract", source: "encode(context(step_1.contract))" }, { param: "retry", source: "context(step_1.taskRetryConfiguration)" }, { param: "catalog", source: "context(step_1.connectorJDBCCatalog)" }, { param: "procedure", source: "context(step_1.connectorJDBCProcedure)" }, { param: "dataSource", source: "context(step_1.connectorJDBCDataSourceClassName)" }, { param: "dataSourceUrl", source: "context(step_1.connectorJDBCDataSourceUrl)" }, { param: "dataSourceUser", source: "context(step_1.connectorJDBCDataSourceUser)" }, { param: "dataSourcePassword", source: "context(step_1.connectorJDBCDataSourcePassword)" }, { param: "dataSourceDatabaseName", source: "context(step_1.connectorJDBCDataSourceDatabaseName)" }, { param: "timeout", source: "context(step_2.connectorJDBCConnectionTimeout)" }, { param: "poolName", source: "context(step_2.connectorJDBCPoolName)" }, { param: "maximumPoolSize", source: "context(step_2.connectorJDBCMaximumPoolSize)" }, { param: "minIdle", source: "context(step_2.connectorJDBCMinimumIdle)" }, { param: "idleTimeout", source: "context(step_2.connectorJDBCIdleTimeout)" }, { param: "maxLifetime", source: "context(step_2.connectorJDBCMaxLifetime)" }, { param: "validationTimeout", source: "context(step_2.connectorJDBCValidationTimeout)" }, { param: "leakDetectionThreshold", source: "context(step_2.connectorJDBCLeakDetectionThreshold)" }, { param: "contractJson", source: "encode(formData(contractJson))" }, { param: "jarFile", source: "fileContent(formData(jarFile))" } ] } } }, styles: { text: 'Install', position: 'right' } } } } ] export default steps