[Core] [Pipeline] [Jdbc] Support mysql

This commit is contained in:
qianmoQ 2023-11-23 20:35:21 +08:00
parent b909e2ad2f
commit 9a9db2c5ed
80 changed files with 213 additions and 70 deletions

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -1,5 +1,7 @@
name: MySQL name: MySQL
supportTime: '2022-09-19' supportTime: '2022-09-19'
configures: configures:
- field: name - field: name
type: String type: String
@ -38,3 +40,79 @@ configures:
- field: useOldAliasMetadataBehavior - field: useOldAliasMetadataBehavior
value: true value: true
group: custom group: custom
pipelines:
- executor: Seatunnel
type: SOURCE
protocol: JDBC
fields:
- field: url
generated: true
override: true
- field: driver
origin: driver
required: true
override: true
input: true
width: 300
type: INPUT
value: com.mysql.cj.jdbc.Driver
- field: user
origin: username
required: false
override: false
- field: password
origin: password
required: false
override: false
- field: query
origin: context
required: false
hidden: false
description: Query statement
override: true
input: true
width: 300
type: TEXT
tooltip: If this value is entered, the default sql statement will be replaced
- field: result_table_name
origin: result_table_name
description: |
When result_table_name is not specified, the data processed by this plugin will not be registered as a data set (dataStream/dataset) that can be directly accessed by other plugins, or called a temporary table (table) ;
When result_table_name is specified, the data processed by this plugin will be registered as a data set (dataStream/dataset) that can be directly accessed by other plugins, or called a temporary table (table) . The data set (dataStream/dataset) registered here can be directly accessed by other plugins by specifying source_table_name .
required: false
hidden: true
input: true
override: true
- executor: Seatunnel
type: SINK
protocol: JDBC
fields:
- field: url
generated: true
override: true
- field: driver
origin: driver
required: true
override: true
input: true
width: 300
type: INPUT
value: com.mysql.cj.jdbc.Driver
- field: user
origin: username
required: false
override: false
- field: password
origin: password
required: false
override: false
- field: query
origin: query
required: true
hidden: false
description: Use this sql write upstream input datas to database. e.g INSERT ...
override: true
input: true
width: 300
type: TEXT

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -1,5 +1,6 @@
package io.edurt.datacap.service.body; package io.edurt.datacap.service.body;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -17,4 +18,5 @@ public class PipelineFieldBody
{ {
private Long id; private Long id;
private Properties configures; private Properties configures;
private Protocol protocol;
} }

View File

@ -1,5 +1,6 @@
package io.edurt.datacap.service.configure; package io.edurt.datacap.service.configure;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -14,6 +15,7 @@ import java.util.List;
public class IConfigureExecutor public class IConfigureExecutor
{ {
private String executor; private String executor;
private Protocol protocol = Protocol.NONE;
private IConfigurePipelineType type; private IConfigurePipelineType type;
private List<IConfigureExecutorField> fields; private List<IConfigureExecutorField> fields;
} }

View File

@ -38,4 +38,6 @@ public class IConfigureExecutorField
private String description; private String description;
// If the type is SELECT , the default data passed in is required // If the type is SELECT , the default data passed in is required
private List<String> defaultValues; private List<String> defaultValues;
// If it is auto-generated, the format isprotocol://host:port
private boolean generated = false;
} }

View File

@ -27,6 +27,7 @@ import io.edurt.datacap.spi.executor.Pipeline;
import io.edurt.datacap.spi.executor.PipelineField; import io.edurt.datacap.spi.executor.PipelineField;
import io.edurt.datacap.spi.executor.PipelineResponse; import io.edurt.datacap.spi.executor.PipelineResponse;
import io.edurt.datacap.spi.executor.PipelineState; import io.edurt.datacap.spi.executor.PipelineState;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@ -127,6 +128,9 @@ public class PipelineServiceImpl
if (!fromOriginProperties.containsKey("context")) { if (!fromOriginProperties.containsKey("context")) {
fromOriginProperties.setProperty("context", configure.getContent()); fromOriginProperties.setProperty("context", configure.getContent());
} }
if (configure.getFrom().getProtocol().equals(Protocol.JDBC)) {
fromOriginProperties.setProperty("url", String.format("jdbc:%s://%s:%s/%s", fromSource.getType().toLowerCase(), fromSource.getHost(), fromSource.getPort(), fromSource.getDatabase()));
}
Properties fromProperties = this.merge(fromSource, fromConfigureExecutor.get().getFields(), fromOriginProperties); Properties fromProperties = this.merge(fromSource, fromConfigureExecutor.get().getFields(), fromOriginProperties);
Set<String> fromOptions = Sets.newHashSet(); Set<String> fromOptions = Sets.newHashSet();
fromConfigureExecutor.get() fromConfigureExecutor.get()
@ -138,10 +142,14 @@ public class PipelineServiceImpl
.type(fromSource.getType()) .type(fromSource.getType())
.configure(fromProperties) .configure(fromProperties)
.supportOptions(fromOptions) .supportOptions(fromOptions)
.protocol(configure.getFrom().getProtocol())
.build(); .build();
// TO source // TO source
Properties toOriginProperties = configure.getTo().getConfigures(); Properties toOriginProperties = configure.getTo().getConfigures();
if (configure.getTo().getProtocol().equals(Protocol.JDBC)) {
toOriginProperties.setProperty("url", String.format("jdbc:%s://%s:%s/%s", fromSource.getType().toLowerCase(), fromSource.getHost(), fromSource.getPort(), fromSource.getDatabase()));
}
Properties toProperties = this.merge(toSource, toConfigureExecutor.get().getFields(), toOriginProperties); Properties toProperties = this.merge(toSource, toConfigureExecutor.get().getFields(), toOriginProperties);
Set<String> toOptions = Sets.newHashSet(); Set<String> toOptions = Sets.newHashSet();
toConfigureExecutor.get() toConfigureExecutor.get()
@ -153,6 +161,7 @@ public class PipelineServiceImpl
.type(toSource.getType()) .type(toSource.getType())
.configure(toProperties) .configure(toProperties)
.supportOptions(toOptions) .supportOptions(toOptions)
.protocol(configure.getTo().getProtocol())
.build(); .build();
if (ObjectUtils.isNotEmpty(configure.getId())) { if (ObjectUtils.isNotEmpty(configure.getId())) {
pipelineEntity = this.repository.findById(configure.getId()).get(); pipelineEntity = this.repository.findById(configure.getId()).get();

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -14,5 +14,6 @@ public class PipelineField
{ {
private String type; private String type;
private Properties configure; private Properties configure;
private Protocol protocol;
private Set<String> supportOptions; private Set<String> supportOptions;
} }

View File

@ -0,0 +1,7 @@
package io.edurt.datacap.spi.executor;
public enum Protocol
{
NONE,
JDBC
}

View File

@ -1,7 +1,7 @@
{ {
"name": "datacap-console", "name": "datacap-console",
"description": "DataCap console", "description": "DataCap console",
"version": "1.17.0", "version": "1.18.0-SNAPSHOT",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",

View File

@ -4,6 +4,7 @@ export class PipelineModel
to: PipelineMetaModel = new PipelineMetaModel(); to: PipelineMetaModel = new PipelineMetaModel();
content: string; content: string;
executor = 'Seatunnel'; executor = 'Seatunnel';
protocol: string;
} }
export class PipelineMetaModel export class PipelineMetaModel
@ -11,4 +12,5 @@ export class PipelineMetaModel
id: number; id: number;
source: any = {}; source: any = {};
configures = {}; configures = {};
protocol: string;
} }

View File

@ -153,12 +153,14 @@ export default defineComponent({
const pipelines = this.formState.from.source['pipelines'] const pipelines = this.formState.from.source['pipelines']
if (pipelines) { if (pipelines) {
this.pipelineFromItem = this.filterPipelineFromItem(pipelines, source) this.pipelineFromItem = this.filterPipelineFromItem(pipelines, source)
this.formState.from.protocol = this.pipelineFromItem[0]['protocol']
} }
} }
if (type === sink) { if (type === sink) {
const pipelines = this.formState.to.source['pipelines'] const pipelines = this.formState.to.source['pipelines']
if (pipelines) { if (pipelines) {
this.pipelineToItem = this.filterPipelineFromItem(pipelines, sink) this.pipelineToItem = this.filterPipelineFromItem(pipelines, sink)
this.formState.to.protocol = this.pipelineToItem[0]['protocol']
} }
} }
}, },

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -19,6 +19,7 @@ import io.edurt.datacap.spi.executor.Pipeline;
import io.edurt.datacap.spi.executor.PipelineField; import io.edurt.datacap.spi.executor.PipelineField;
import io.edurt.datacap.spi.executor.PipelineResponse; import io.edurt.datacap.spi.executor.PipelineResponse;
import io.edurt.datacap.spi.executor.PipelineState; import io.edurt.datacap.spi.executor.PipelineState;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -105,7 +106,11 @@ public class SeatunnelExecutor
{ {
jsonGenerator.writeFieldName(type); jsonGenerator.writeFieldName(type);
if (ObjectUtils.isNotEmpty(configure)) { if (ObjectUtils.isNotEmpty(configure)) {
Connector factory = ConnectorFactory.createFormatter(ConnectorType.valueOf(configure.getType()), configure); String protocol = configure.getType();
if (configure.getProtocol().equals(Protocol.JDBC)) {
protocol = "Jdbc";
}
Connector factory = ConnectorFactory.createFormatter(ConnectorType.valueOf(protocol), configure);
for (Map.Entry<String, Object> entry : factory.formatToMap().entrySet()) { for (Map.Entry<String, Object> entry : factory.formatToMap().entrySet()) {
jsonGenerator.writeStartObject(); jsonGenerator.writeStartObject();
jsonGenerator.writeObjectFieldStart(entry.getKey()); jsonGenerator.writeObjectFieldStart(entry.getKey());

View File

@ -13,13 +13,16 @@ public class ConnectorFactory
public static Connector createFormatter(ConnectorType type, PipelineField configure) public static Connector createFormatter(ConnectorType type, PipelineField configure)
{ {
Connector instance = null; Connector instance;
if (type.equals(ConnectorType.ClickHouse)) { if (type.equals(ConnectorType.ClickHouse)) {
instance = new ConnectorClickHouse(type, configure); instance = new ConnectorClickHouse(type, configure);
} }
else if (type.equals(ConnectorType.Console)) { else if (type.equals(ConnectorType.Console)) {
instance = new ConnectorConsole(type, configure); instance = new ConnectorConsole(type, configure);
} }
else if (type.equals(ConnectorType.Jdbc)) {
instance = new ConnectorJdbc(type, configure);
}
else { else {
instance = new Connector(type, configure, configure.getSupportOptions()) instance = new Connector(type, configure, configure.getSupportOptions())
{ {

View File

@ -0,0 +1,29 @@
package io.edurt.datacap.executor.connector;
import com.google.common.collect.Maps;
import io.edurt.datacap.spi.executor.PipelineField;
import java.util.Map;
import java.util.Properties;
public class ConnectorJdbc
extends Connector
{
public ConnectorJdbc(ConnectorType type, PipelineField configure)
{
super(type, configure, configure.getSupportOptions());
}
@Override
public Map<String, Object> formatToMap()
{
Map<String, Object> node = Maps.newConcurrentMap();
Properties properties = new Properties();
this.configure.getConfigure().entrySet()
.stream()
.filter(entry -> !String.valueOf(entry.getValue()).equals("None"))
.forEach(entry -> properties.put(entry.getKey(), entry.getValue()));
node.put("Jdbc", properties);
return node;
}
}

View File

@ -5,5 +5,6 @@ public enum ConnectorType
ClickHouse, ClickHouse,
Kafka, Kafka,
Console, Console,
Redis Redis,
Jdbc
} }

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -4,7 +4,7 @@
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<modules> <modules>
<module>client/datacap-cli</module> <module>client/datacap-cli</module>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>io.edurt.datacap</groupId> <groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId> <artifactId>datacap</artifactId>
<version>1.17.0</version> <version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>