Skip to content

Commit d05276e

Browse files
authored
Decouple rest from iotdb-server using ExternalService framework (#17099)
* Move rest to independent module * Move openapi to independent module + Fix tests * Fix dependencies * Fix dependencies * Remove unnecessary code * Add comments * Remove unnecessary code * Remove unnecessary code + Move dependencies * Remove unnecessary tests * Remove unused dependencies
1 parent 11054f9 commit d05276e

52 files changed

Lines changed: 431 additions & 1612 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

distribution/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@
5959
<version>2.0.7-SNAPSHOT</version>
6060
<scope>provided</scope>
6161
</dependency>
62+
<dependency>
63+
<groupId>org.apache.iotdb</groupId>
64+
<artifactId>rest</artifactId>
65+
<version>2.0.7-SNAPSHOT</version>
66+
<scope>provided</scope>
67+
</dependency>
6268
</dependencies>
6369
<build>
6470
<plugins>

distribution/src/assembly/all.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@
9696
<source>${maven.multiModuleProjectDirectory}/external-service-impl/mqtt/target/mqtt-${project.version}-jar-with-dependencies.jar</source>
9797
<outputDirectory>lib</outputDirectory>
9898
</file>
99+
<file>
100+
<source>${maven.multiModuleProjectDirectory}/external-service-impl/rest/target/rest-${project.version}-jar-with-dependencies.jar</source>
101+
<outputDirectory>lib</outputDirectory>
102+
</file>
99103
</files>
100104
<componentDescriptors>
101105
<componentDescriptor>common-files.xml</componentDescriptor>

distribution/src/assembly/datanode.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@
7979
<source>${maven.multiModuleProjectDirectory}/external-service-impl/mqtt/target/mqtt-${project.version}-jar-with-dependencies.jar</source>
8080
<outputDirectory>lib</outputDirectory>
8181
</file>
82+
<file>
83+
<source>${maven.multiModuleProjectDirectory}/external-service-impl/rest/target/rest-${project.version}-jar-with-dependencies.jar</source>
84+
<outputDirectory>lib</outputDirectory>
85+
</file>
8286
</files>
8387
<componentDescriptors>
8488
<componentDescriptor>common-files.xml</componentDescriptor>

distribution/src/assembly/external-service-impl.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,9 @@
4747
<source>${maven.multiModuleProjectDirectory}/external-service-impl/mqtt/target/mqtt-${project.version}-jar-with-dependencies.jar</source>
4848
<outputDirectory>/</outputDirectory>
4949
</file>
50+
<file>
51+
<source>${maven.multiModuleProjectDirectory}/external-service-impl/rest/target/rest-${project.version}-jar-with-dependencies.jar</source>
52+
<outputDirectory>/</outputDirectory>
53+
</file>
5054
</files>
5155
</assembly>

external-service-impl/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
<packaging>pom</packaging>
3232
<modules>
3333
<module>mqtt</module>
34+
<module>rest</module>
35+
<module>rest-openapi</module>
3436
</modules>
3537
<properties>
3638
<maven.compiler.source>8</maven.compiler.source>

iotdb-protocol/openapi/pom.xml renamed to external-service-impl/rest-openapi/pom.xml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
<modelVersion>4.0.0</modelVersion>
2424
<parent>
2525
<groupId>org.apache.iotdb</groupId>
26-
<artifactId>iotdb-protocol</artifactId>
26+
<artifactId>external-service-impl</artifactId>
2727
<version>2.0.7-SNAPSHOT</version>
2828
</parent>
29-
<artifactId>openapi</artifactId>
30-
<name>IoTDB: Protocol: OpenAPI</name>
29+
<artifactId>rest-openapi</artifactId>
30+
<name>IoTDB: External-Service-Impl: Rest-OpenAPI</name>
3131
<dependencies>
3232
<dependency>
3333
<groupId>io.swagger</groupId>
@@ -91,9 +91,9 @@
9191
<configuration>
9292
<inputSpec>${project.basedir}/src/main/openapi3/iotdb_rest_common.yaml</inputSpec>
9393
<output>${project.build.directory}/generated-sources/java</output>
94-
<apiPackage>org.apache.iotdb.db.protocol.rest</apiPackage>
95-
<modelPackage>org.apache.iotdb.db.protocol.rest.model</modelPackage>
96-
<invokerPackage>org.apache.iotdb.db.protocol.rest.invoker</invokerPackage>
94+
<apiPackage>org.apache.iotdb.rest.protocol</apiPackage>
95+
<modelPackage>org.apache.iotdb.rest.protocol.model</modelPackage>
96+
<invokerPackage>org.apache.iotdb.rest.protocol.invoker</invokerPackage>
9797
<generatorName>jaxrs-jersey</generatorName>
9898
<groupId>org.apache.iotdb</groupId>
9999
<artifactId>iotdb-rest-service</artifactId>
@@ -118,9 +118,9 @@
118118
<configuration>
119119
<inputSpec>${project.basedir}/src/main/openapi3/iotdb_rest_v1.yaml</inputSpec>
120120
<output>${project.build.directory}/generated-sources/java</output>
121-
<apiPackage>org.apache.iotdb.db.protocol.rest.v1</apiPackage>
122-
<modelPackage>org.apache.iotdb.db.protocol.rest.v1.model</modelPackage>
123-
<invokerPackage>org.apache.iotdb.db.protocol.rest.v1.invoker</invokerPackage>
121+
<apiPackage>org.apache.iotdb.rest.protocol.v1</apiPackage>
122+
<modelPackage>org.apache.iotdb.rest.protocol.v1.model</modelPackage>
123+
<invokerPackage>org.apache.iotdb.rest.protocol.v1.invoker</invokerPackage>
124124
<generatorName>jaxrs-jersey</generatorName>
125125
<groupId>org.apache.iotdb</groupId>
126126
<artifactId>iotdb-rest-service</artifactId>
@@ -145,9 +145,9 @@
145145
<configuration>
146146
<inputSpec>${project.basedir}/src/main/openapi3/iotdb_rest_v2.yaml</inputSpec>
147147
<output>${project.build.directory}/generated-sources/java</output>
148-
<apiPackage>org.apache.iotdb.db.protocol.rest.v2</apiPackage>
149-
<modelPackage>org.apache.iotdb.db.protocol.rest.v2.model</modelPackage>
150-
<invokerPackage>org.apache.iotdb.db.protocol.rest.v2.invoker</invokerPackage>
148+
<apiPackage>org.apache.iotdb.rest.protocol.v2</apiPackage>
149+
<modelPackage>org.apache.iotdb.rest.protocol.v2.model</modelPackage>
150+
<invokerPackage>org.apache.iotdb.rest.protocol.v2.invoker</invokerPackage>
151151
<generatorName>jaxrs-jersey</generatorName>
152152
<groupId>org.apache.iotdb</groupId>
153153
<artifactId>iotdb-rest-service</artifactId>
@@ -172,9 +172,9 @@
172172
<configuration>
173173
<inputSpec>${project.basedir}/src/main/openapi3/iotdb_rest_table_v1.yaml</inputSpec>
174174
<output>${project.build.directory}/generated-sources/java</output>
175-
<apiPackage>org.apache.iotdb.db.protocol.rest.table.v1</apiPackage>
176-
<modelPackage>org.apache.iotdb.db.protocol.rest.table.v1.model</modelPackage>
177-
<invokerPackage>org.apache.iotdb.db.protocol.rest.table.v1.invoker</invokerPackage>
175+
<apiPackage>org.apache.iotdb.rest.protocol.table.v1</apiPackage>
176+
<modelPackage>org.apache.iotdb.rest.protocol.table.v1.model</modelPackage>
177+
<invokerPackage>org.apache.iotdb.rest.protocol.table.v1.invoker</invokerPackage>
178178
<generatorName>jaxrs-jersey</generatorName>
179179
<groupId>org.apache.iotdb</groupId>
180180
<artifactId>iotdb-rest-service</artifactId>
@@ -232,6 +232,10 @@
232232
<!-- We just need this dependency to prevent the compiler from freaking out on unused imports -->
233233
<usedDependency>org.glassfish.jersey.media:jersey-media-multipart</usedDependency>
234234
</usedDependencies>
235+
<ignoredDependencies>
236+
<ignoredDependency>org.apache.iotdb:external-service-api</ignoredDependency>
237+
<ignoredDependency>junit:junit</ignoredDependency>
238+
</ignoredDependencies>
235239
</configuration>
236240
</plugin>
237241
</plugins>

iotdb-protocol/openapi/src/main/openapi3/iotdb_rest_common.yaml renamed to external-service-impl/rest-openapi/src/main/openapi3/iotdb_rest_common.yaml

File renamed without changes.

iotdb-protocol/openapi/src/main/openapi3/iotdb_rest_table_v1.yaml renamed to external-service-impl/rest-openapi/src/main/openapi3/iotdb_rest_table_v1.yaml

File renamed without changes.

iotdb-protocol/openapi/src/main/openapi3/iotdb_rest_v1.yaml renamed to external-service-impl/rest-openapi/src/main/openapi3/iotdb_rest_v1.yaml

File renamed without changes.

iotdb-protocol/openapi/src/main/openapi3/iotdb_rest_v2.yaml renamed to external-service-impl/rest-openapi/src/main/openapi3/iotdb_rest_v2.yaml

File renamed without changes.

0 commit comments

Comments
 (0)