Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
data-adapter
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
data-adapter
Commits
854984e6
Commit
854984e6
authored
Feb 23, 2024
by
hy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add processor's parent project pom.xml file to be extended
parent
d223e22e
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
216 additions
and
5 deletions
+216
-5
pom.xml
dataadapter-console/pom.xml
+25
-0
PluginController.java
.../tbyf/dataadapter/console/controlle/PluginController.java
+68
-4
ProcessorManager.java
...f/dataadapter/task/processor/plugin/ProcessorManager.java
+9
-0
pom.xml
dataadapter-plugin-parent/pom.xml
+80
-0
pom.xml
dataadapter-worker/pom.xml
+31
-0
pom.xml
pom.xml
+3
-1
No files found.
dataadapter-console/pom.xml
View file @
854984e6
...
...
@@ -27,5 +27,29 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<optional>
true
</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<version>
2.7.14
</version>
<executions>
<execution>
<phase>
package
</phase>
<goals>
<goal>
repackage
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
dataadapter-console/src/main/java/com/tbyf/dataadapter/console/controlle/PluginController.java
View file @
854984e6
package
com
.
tbyf
.
dataadapter
.
console
.
controlle
;
import
com.tbyf.dataadapter.api.vo.ProcessorVo
;
import
com.tbyf.dataadapter.api.vo.Result
;
import
com.tbyf.dataadapter.task.processor.plugin.DataProcessorExtension
;
import
com.tbyf.dataadapter.task.processor.plugin.HeadProcessorExtension
;
import
com.tbyf.dataadapter.task.processor.plugin.ProcessorManager
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.ResourceLoader
;
import
org.springframework.http.ContentDisposition
;
...
...
@@ -9,16 +15,20 @@ import org.springframework.http.HttpHeaders;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.util.ResourceUtils
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@RestController
@RequestMapping
(
"/plugin"
)
@Slf4j
public
class
PluginController
{
@Autowired
...
...
@@ -27,6 +37,10 @@ public class PluginController {
@Autowired
ProcessorManager
processorManager
;
@Value
(
"${pluginsRepoLocation}"
)
private
String
pluginsRoot
;
@GetMapping
(
"/download/{pluginId}"
)
public
ResponseEntity
<?>
download
(
@PathVariable
String
pluginId
)
{
Path
pluginPath
=
this
.
processorManager
.
getPluginPath
(
pluginId
);
...
...
@@ -47,4 +61,54 @@ public class PluginController {
.
contentType
(
MediaType
.
APPLICATION_OCTET_STREAM
)
.
body
(
resource
);
}
@PostMapping
(
"/upload"
)
public
Result
<?>
upload
(
MultipartFile
file
)
{
String
filename
=
file
.
getOriginalFilename
();
try
{
Path
pluginPath
=
Paths
.
get
(
this
.
pluginsRoot
,
filename
);
file
.
transferTo
(
pluginPath
);
processorManager
.
installPlugin
(
pluginPath
.
toString
());
return
Result
.
ok
(
true
);
}
catch
(
IOException
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
return
Result
.
ok
(
false
);
}
}
@GetMapping
(
"/headProcessors"
)
public
Result
<?>
getHeadProcessors
()
{
Map
<
String
,
HeadProcessorExtension
>
processors
=
processorManager
.
getHeadProcessors
();
List
<
ProcessorVo
>
result
=
new
ArrayList
<>();
for
(
String
key
:
processors
.
keySet
())
{
String
[]
split
=
key
.
split
(
"@"
);
String
pluginId
=
split
[
0
];
String
processorClassname
=
split
[
1
];
String
desc
=
processors
.
get
(
key
).
description
();
ProcessorVo
vo
=
new
ProcessorVo
();
vo
.
setPluginId
(
pluginId
);
vo
.
setProcessorClassname
(
processorClassname
);
vo
.
setDesc
(
desc
);
result
.
add
(
vo
);
}
return
Result
.
ok
(
result
);
}
@GetMapping
(
"/processors"
)
public
Result
<?>
getProcessors
()
{
Map
<
String
,
DataProcessorExtension
>
processors
=
processorManager
.
getProcessors
();
List
<
ProcessorVo
>
result
=
new
ArrayList
<>();
for
(
String
key
:
processors
.
keySet
())
{
String
[]
split
=
key
.
split
(
"@"
);
String
pluginId
=
split
[
0
];
String
processorClassname
=
split
[
1
];
String
desc
=
processors
.
get
(
key
).
description
();
ProcessorVo
vo
=
new
ProcessorVo
();
vo
.
setPluginId
(
pluginId
);
vo
.
setProcessorClassname
(
processorClassname
);
vo
.
setDesc
(
desc
);
result
.
add
(
vo
);
}
return
Result
.
ok
(
result
);
}
}
dataadapter-core/src/main/java/com/tbyf/dataadapter/task/processor/plugin/ProcessorManager.java
View file @
854984e6
...
...
@@ -5,6 +5,8 @@ import com.tbyf.dataadapter.task.processor.HeadProcessor;
import
org.pf4j.DefaultPluginManager
;
import
org.pf4j.PluginWrapper
;
import
java.io.IOException
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.HashMap
;
...
...
@@ -33,6 +35,13 @@ public class ProcessorManager {
pluginManager
=
new
DefaultPluginManager
();
pluginManager
.
loadPlugins
();
pluginManager
.
startPlugins
();
String
pluginsRoot
=
System
.
getProperty
(
"pf4j.pluginsDir"
);
Path
path
=
Paths
.
get
(
pluginsRoot
);
try
{
Files
.
createDirectories
(
path
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
loadProcessors
();
}
...
...
dataadapter-plugin-parent/pom.xml
0 → 100644
View file @
854984e6
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
com.tbyf.dataadapter
</groupId>
<artifactId>
dataadapter
</artifactId>
<version>
3.0-SNAPSHOT
</version>
</parent>
<artifactId>
dataadapter-plugin-parent
</artifactId>
<packaging>
pom
</packaging>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<plugin.id>
${project.artifactId}
</plugin.id>
<plugin.version>
${project.version}
</plugin.version>
<plugin.provider>
tbyf
</plugin.provider>
<plugin.description>
${project.description}
</plugin.description>
<plugin.class/>
<plugin.dependencies/>
</properties>
<dependencies>
<dependency>
<groupId>
com.hy.dataadapter
</groupId>
<artifactId>
dataadapter
</artifactId>
<version>
3.0-SNAPSHOT
</version>
<scope>
provided
</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-assembly-plugin
</artifactId>
<version>
3.5.0
</version>
<configuration>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
<attach>
false
</attach>
<archive>
<manifestEntries>
<Plugin-Id>
${plugin.id}-${plugin.version}
</Plugin-Id>
<Plugin-Version>
${plugin.version}
</Plugin-Version>
<Plugin-Provider>
${plugin.provider}
</Plugin-Provider>
<Plugin-Class>
${plugin.class}
</Plugin-Class>
<Plugin-Description>
${plugin.description}
</Plugin-Description>
<Plugin-Dependencies>
${plugin.dependencies}
</Plugin-Dependencies>
</manifestEntries>
</archive>
</configuration>
<executions>
<execution>
<id>
make-assembly
</id>
<phase>
package
</phase>
<goals>
<goal>
single
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>
maven-assembly-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
dataadapter-worker/pom.xml
View file @
854984e6
...
...
@@ -15,6 +15,7 @@
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<main.class>
com.tbyf.dataadapter.app.WorkerBootstrap
</main.class>
</properties>
<dependencies>
...
...
@@ -24,4 +25,33 @@
<version>
3.0-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-assembly-plugin
</artifactId>
<version>
3.5.0
</version>
<configuration>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>
${main.class}
</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>
make-assembly
</id>
<phase>
package
</phase>
<goals>
<goal>
single
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
pom.xml
View file @
854984e6
...
...
@@ -12,12 +12,14 @@
<module>
dataadapter-core
</module>
<module>
dataadapter-console
</module>
<module>
dataadapter-worker
</module>
<module>
dataadapter-plugin-parent
</module>
</modules>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<spring-boot.version>
2.7.14
</spring-boot.version>
</properties>
<dependencyManagement>
...
...
@@ -25,7 +27,7 @@
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-dependencies
</artifactId>
<version>
2.7.14
</version>
<version>
${spring-boot.version}
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment