Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
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
黄营
datax-cloud
Commits
c602c70f
Commit
c602c70f
authored
Aug 11, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目初始化
parent
a67d3f4b
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
648 additions
and
19 deletions
+648
-19
MetadataColumnController.java
...ce/data/metadata/controller/MetadataColumnController.java
+6
-3
MetadataColumnService.java
.../service/data/metadata/service/MetadataColumnService.java
+2
-1
MetadataColumnServiceImpl.java
...data/metadata/service/impl/MetadataColumnServiceImpl.java
+6
-3
data-standard-service-parent.iml
...-standard-service-parent/data-standard-service-parent.iml
+162
-0
datacolumn.js
datax-ui/src/api/metadata/datacolumn.js
+3
-2
DataApiEdit.vue
datax-ui/src/views/market/dataapi/DataApiEdit.vue
+2
-2
DataColumnList.vue
datax-ui/src/views/metadata/datacolumn/DataColumnList.vue
+1
-2
index.vue
datax-ui/src/views/metadata/datamap/index.vue
+447
-3
index.vue
datax-ui/src/views/metadata/datasearch/index.vue
+19
-3
No files found.
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/java/cn/datax/service/data/metadata/controller/MetadataColumnController.java
View file @
c602c70f
...
...
@@ -155,10 +155,13 @@ public class MetadataColumnController extends BaseController {
* @return
*/
@ApiOperation
(
value
=
"获取层级树"
,
notes
=
"根据url的层级来获取树对象"
)
@ApiImplicitParam
(
name
=
"level"
,
value
=
"层级"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"level"
,
value
=
"层级"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
),
@ApiImplicitParam
(
name
=
"metadataColumnQuery"
,
value
=
"查询实体metadataColumnQuery"
,
required
=
false
,
dataType
=
"MetadataColumnQuery"
)
})
@GetMapping
(
"/tree/{level}"
)
public
R
getDataMetadataTree
(
@PathVariable
String
level
)
{
List
<
MetadataTreeVo
>
list
=
metadataColumnService
.
getDataMetadataTree
(
level
);
public
R
getDataMetadataTree
(
@PathVariable
String
level
,
MetadataColumnQuery
metadataColumnQuery
)
{
List
<
MetadataTreeVo
>
list
=
metadataColumnService
.
getDataMetadataTree
(
level
,
metadataColumnQuery
);
return
R
.
ok
().
setData
(
list
);
}
}
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/java/cn/datax/service/data/metadata/service/MetadataColumnService.java
View file @
c602c70f
...
...
@@ -3,6 +3,7 @@ package cn.datax.service.data.metadata.service;
import
cn.datax.service.data.metadata.api.dto.MetadataColumnDto
;
import
cn.datax.common.base.BaseService
;
import
cn.datax.service.data.metadata.api.entity.MetadataColumnEntity
;
import
cn.datax.service.data.metadata.api.query.MetadataColumnQuery
;
import
cn.datax.service.data.metadata.api.vo.MetadataTreeVo
;
import
java.util.List
;
...
...
@@ -27,5 +28,5 @@ public interface MetadataColumnService extends BaseService<MetadataColumnEntity>
void
deleteMetadataColumnBatch
(
List
<
String
>
ids
);
List
<
MetadataTreeVo
>
getDataMetadataTree
(
String
level
);
List
<
MetadataTreeVo
>
getDataMetadataTree
(
String
level
,
MetadataColumnQuery
metadataColumnQuery
);
}
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/java/cn/datax/service/data/metadata/service/impl/MetadataColumnServiceImpl.java
View file @
c602c70f
...
...
@@ -6,6 +6,7 @@ import cn.datax.service.data.metadata.api.entity.MetadataColumnEntity;
import
cn.datax.service.data.metadata.api.entity.MetadataSourceEntity
;
import
cn.datax.service.data.metadata.api.entity.MetadataTableEntity
;
import
cn.datax.service.data.metadata.api.enums.DataLevel
;
import
cn.datax.service.data.metadata.api.query.MetadataColumnQuery
;
import
cn.datax.service.data.metadata.api.vo.MetadataTreeVo
;
import
cn.datax.service.data.metadata.dao.MetadataSourceDao
;
import
cn.datax.service.data.metadata.dao.MetadataTableDao
;
...
...
@@ -83,9 +84,11 @@ public class MetadataColumnServiceImpl extends BaseServiceImpl<MetadataColumnDao
}
@Override
public
List
<
MetadataTreeVo
>
getDataMetadataTree
(
String
level
)
{
List
<
MetadataSourceEntity
>
sourceList
=
metadataSourceDao
.
selectList
(
Wrappers
.
emptyWrapper
());
List
<
MetadataTableEntity
>
tableList
=
metadataTableDao
.
selectList
(
Wrappers
.
emptyWrapper
());
public
List
<
MetadataTreeVo
>
getDataMetadataTree
(
String
level
,
MetadataColumnQuery
metadataColumnQuery
)
{
List
<
MetadataSourceEntity
>
sourceList
=
metadataSourceDao
.
selectList
(
Wrappers
.<
MetadataSourceEntity
>
lambdaQuery
()
.
eq
(
StrUtil
.
isNotBlank
(
metadataColumnQuery
.
getSourceId
()),
MetadataSourceEntity:
:
getId
,
metadataColumnQuery
.
getSourceId
()));
List
<
MetadataTableEntity
>
tableList
=
metadataTableDao
.
selectList
(
Wrappers
.<
MetadataTableEntity
>
lambdaQuery
()
.
eq
(
StrUtil
.
isNotBlank
(
metadataColumnQuery
.
getTableId
()),
MetadataTableEntity:
:
getId
,
metadataColumnQuery
.
getTableId
()));
List
<
MetadataColumnEntity
>
columnList
=
metadataColumnDao
.
selectList
(
Wrappers
.
emptyWrapper
());
List
<
MetadataTreeVo
>
list
=
sourceList
.
stream
().
filter
(
s
->
DataConstant
.
EnableState
.
ENABLE
.
getKey
().
equals
(
s
.
getStatus
()))
.
map
(
m
->
{
...
...
datax-modules/data-standard-service-parent/data-standard-service-parent.iml
0 → 100644
View file @
c602c70f
<?xml version="1.0" encoding="UTF-8"?>
<module
org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule=
"true"
type=
"JAVA_MODULE"
version=
"4"
>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_8"
>
<output
url=
"file://$MODULE_DIR$/target/classes"
/>
<output-test
url=
"file://$MODULE_DIR$/target/test-classes"
/>
<content
url=
"file://$MODULE_DIR$"
>
<excludeFolder
url=
"file://$MODULE_DIR$/target"
/>
</content>
<orderEntry
type=
"inheritedJdk"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-starter:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-context:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.security:spring-security-crypto:5.3.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-commons:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.bouncycastle:bcpkix-jdk15on:1.64"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.bouncycastle:bcprov-jdk15on:1.64"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-netflix-hystrix:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter-aop:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-aop:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-netflix-eureka-client:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.eureka:eureka-client:1.9.25"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.codehaus.jettison:jettison:1.3.7"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: stax:stax-api:1.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.netflix-commons:netflix-eventbus:0.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.netflix.netflix-commons:netflix-infix:0.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: commons-jxpath:commons-jxpath:1.3"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: joda-time:joda-time:2.10.6"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.antlr:antlr-runtime:3.4"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.antlr:stringtemplate:3.2.1"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: antlr:antlr:2.7.7"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.google.code.gson:gson:2.8.6"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.apache.commons:commons-math:2.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.archaius:archaius-core:0.7.6"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: javax.ws.rs:jsr311-api:1.1.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.servo:servo-core:0.12.21"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.sun.jersey:jersey-core:1.19.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.sun.jersey:jersey-client:1.19.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.httpcomponents:httpclient:4.5.12"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.httpcomponents:httpcore:4.4.13"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-codec:commons-codec:1.13"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-configuration:commons-configuration:1.10"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-lang:commons-lang:2.6"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.google.inject:guice:4.1.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: javax.inject:javax.inject:1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: aopalliance:aopalliance:1.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.fasterxml.jackson.core:jackson-core:2.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.fasterxml.jackson.core:jackson-databind:2.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.eureka:eureka-core:1.9.25"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.fasterxml.woodstox:woodstox-core:5.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.codehaus.woodstox:stax2-api:4.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.ribbon:ribbon:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.netflix.ribbon:ribbon-transport:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: io.reactivex:rxnetty-contexts:0.4.9"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: io.reactivex:rxnetty-servo:0.4.9"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: io.reactivex:rxnetty:0.4.9"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.ribbon:ribbon-core:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.ribbon:ribbon-httpclient:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: commons-collections:commons-collections:3.2.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.ribbon:ribbon-loadbalancer:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: io.reactivex:rxjava:1.3.8"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-starter-loadbalancer:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-loadbalancer:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter-validation:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: jakarta.validation:jakarta.validation-api:2.0.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.34"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.hibernate.validator:hibernate-validator:6.0.19.Final"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.jboss.logging:jboss-logging:3.4.1.Final"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.fasterxml:classmate:1.5.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: io.projectreactor:reactor-core:3.3.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: io.projectreactor.addons:reactor-extra:3.3.3.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter-cache:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-context-support:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.stoyanr:evictor:1.0.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.ribbon:ribbon-eureka:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.slf4j:slf4j-api:1.7.30"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.thoughtworks.xstream:xstream:1.4.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: xmlpull:xmlpull:1.1.3.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: xpp3:xpp3_min:1.1.4c"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-configuration-processor:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter-actuator:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-starter-logging:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: ch.qos.logback:logback-classic:1.2.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: ch.qos.logback:logback-core:1.2.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.13.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.slf4j:jul-to-slf4j:1.7.30"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: jakarta.annotation:jakarta.annotation-api:1.3.5"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.yaml:snakeyaml:1.25"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.boot:spring-boot-actuator:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-context:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-beans:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-expression:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: io.micrometer:micrometer-core:1.5.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.hdrhistogram:HdrHistogram:2.1.12"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.latencyutils:LatencyUtils:2.0.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.4.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.hystrix:hystrix-core:1.5.18"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.hystrix:hystrix-serialization:1.5.18"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.hystrix:hystrix-metrics-event-stream:1.5.18"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.netflix.hystrix:hystrix-javanica:1.5.18"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.apache.commons:commons-lang3:3.9"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.ow2.asm:asm:5.0.4"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.aspectj:aspectjweaver:1.9.5"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.google.guava:guava:29.0-jre"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.google.guava:failureaccess:1.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.checkerframework:checker-qual:2.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.google.errorprone:error_prone_annotations:2.3.4"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.google.j2objc:j2objc-annotations:1.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: io.reactivex:rxjava-reactive-streams:1.2.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.reactivestreams:reactive-streams:1.0.3"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework.boot:spring-boot-starter-test:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework.boot:spring-boot-test:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.7.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: com.jayway.jsonpath:json-path:2.4.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: net.minidev:json-smart:2.3"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: net.minidev:accessors-smart:1.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: jakarta.activation:jakarta.activation-api:1.2.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.junit.jupiter:junit-jupiter:5.6.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.junit.jupiter:junit-jupiter-api:5.6.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.opentest4j:opentest4j:1.2.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.junit.platform:junit-platform-commons:1.6.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.junit.jupiter:junit-jupiter-params:5.6.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.junit.jupiter:junit-jupiter-engine:5.6.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.junit.vintage:junit-vintage-engine:5.6.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.apiguardian:apiguardian-api:1.1.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.junit.platform:junit-platform-engine:1.6.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: junit:junit:4.12"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.mockito:mockito-junit-jupiter:3.1.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.assertj:assertj-core:3.13.2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.hamcrest:hamcrest:2.1"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.mockito:mockito-core:3.1.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: net.bytebuddy:byte-buddy:1.10.10"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: net.bytebuddy:byte-buddy-agent:1.10.10"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.objenesis:objenesis:2.6"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.skyscreamer:jsonassert:1.5.0"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-core:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-jcl:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.springframework:spring-test:5.2.8.RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.xmlunit:xmlunit-core:2.6.4"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"PROVIDED"
name=
"Maven: org.projectlombok:lombok:1.18.12"
level=
"project"
/>
</component>
</module>
\ No newline at end of file
datax-ui/src/api/metadata/datacolumn.js
View file @
c602c70f
...
...
@@ -53,9 +53,10 @@ export function updateDataColumn (data) {
})
}
export
function
getDataMetadataTree
(
level
)
{
export
function
getDataMetadataTree
(
level
,
data
)
{
return
request
({
url
:
'/data/metadata/columns/tree/'
+
level
,
method
:
'get'
method
:
'get'
,
params
:
data
})
}
datax-ui/src/views/market/dataapi/DataApiEdit.vue
View file @
c602c70f
...
...
@@ -521,11 +521,11 @@ export default {
}
})
||
{}
this
.
form2
=
this
.
form1
.
executeConfig
this
.
form2
.
table
=
{
id
:
this
.
form2
.
tableId
}
this
.
form2
.
table
=
{
id
:
this
.
form2
.
tableId
}
this
.
form3
.
reqParams
=
this
.
form1
.
reqParams
this
.
form3
.
resParams
=
this
.
form1
.
resParams
if
(
this
.
form2
.
configType
===
'1'
)
{
this
.
tableOptions
=
await
listDataTable
({
sourceId
:
this
.
form2
.
sourceId
}).
then
(
response
=>
{
this
.
tableOptions
=
await
listDataTable
({
sourceId
:
this
.
form2
.
sourceId
}).
then
(
response
=>
{
if
(
response
.
success
)
{
return
response
.
data
}
...
...
datax-ui/src/views/metadata/datacolumn/DataColumnList.vue
View file @
c602c70f
...
...
@@ -222,8 +222,7 @@ export default {
},
/** 查询树结构 */
getTree
()
{
let
level
=
'table'
getDataMetadataTree
(
level
).
then
(
response
=>
{
getDataMetadataTree
(
'table'
,
{}).
then
(
response
=>
{
if
(
response
.
success
)
{
const
{
data
}
=
response
this
.
treeOptions
=
data
...
...
datax-ui/src/views/metadata/datamap/index.vue
View file @
c602c70f
<
template
>
<div
class=
"app-container"
>
DataMap
<el-card
class=
"box-card"
shadow=
"always"
>
<div
:style=
"classCardbody"
>
<el-form
:inline=
"true"
:model=
"searchForm"
>
<el-form-item
label=
"数据库"
>
<el-select
v-model=
"searchForm.sourceId"
placeholder=
"数据库"
>
<el-option
v-for=
"item in sourceOptions"
:key=
"item.id"
:label=
"item.sourceName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"数据表"
>
<el-select
v-model=
"searchForm.tableId"
clearable
placeholder=
"数据表"
>
<el-option
v-for=
"item in tableOptions"
:key=
"item.id"
:label=
"item.tableComment ? item.tableComment : item.tableName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
:disabled=
"btnEnable"
@
click=
"onSubmit"
>
查询
</el-button>
</el-form-item>
</el-form>
<div
class=
"line"
></div>
<div
id=
"chart"
:style=
"
{width: '100%', height: '85%'}">
</div>
</div>
</el-card>
</div>
</
template
>
<
script
>
import
{
listDataSource
}
from
'@/api/metadata/datasource'
import
{
listDataTable
}
from
'@/api/metadata/datatable'
import
{
getDataMetadataTree
}
from
'@/api/metadata/datacolumn'
import
echarts
from
'echarts'
export
default
{
name
:
'DataMap'
name
:
'DataMap'
,
data
:
function
()
{
return
{
classCardbody
:
{
overflow
:
'auto'
,
height
:
document
.
body
.
offsetHeight
-
170
+
'px'
},
searchForm
:
{
sourceId
:
''
,
tableId
:
''
},
btnEnable
:
true
,
sourceOptions
:
[],
tableOptions
:
[],
treeData
:
[],
chart
:
null
,
chartList
:
[],
chartLinks
:
[],
chartLegend
:
[],
colors
:
[{
c1
:
'#00c7ef'
,
c2
:
'#0AF3FF'
},
{
c1
:
'#FF8E14'
,
c2
:
'#FFA12F'
},
{
c1
:
'#AF5AFF'
,
c2
:
'#B62AFF'
},
{
c1
:
'#25dd59'
,
c2
:
'#29f463'
},
{
c1
:
'#6E35FF'
,
c2
:
'#6E67FF'
},
{
c1
:
'#002AFF'
,
c2
:
'#0048FF'
},
{
c1
:
'#8CD282'
,
c2
:
'#95F300'
},
{
c1
:
'#3B0EFF'
,
c2
:
'#604BFF'
},
{
c1
:
'#00BE74'
,
c2
:
'#04FDB8'
},
{
c1
:
'#4a3ac6'
,
c2
:
'#604BFF'
}
]
}
},
created
()
{
this
.
getDataSourceList
()
},
methods
:
{
getDataSourceList
()
{
listDataSource
().
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
sourceOptions
=
response
.
data
}
})
},
getDataTableList
(
sourceId
)
{
let
data
=
{}
data
.
sourceId
=
sourceId
listDataTable
(
data
).
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
tableOptions
=
response
.
data
}
})
},
onSubmit
()
{
getDataMetadataTree
(
'column'
,
{
sourceId
:
this
.
searchForm
.
sourceId
,
tableId
:
this
.
searchForm
.
tableId
}).
then
(
response
=>
{
if
(
response
.
success
)
{
const
{
data
}
=
response
this
.
treeData
=
data
this
.
initChart
()
}
})
},
handleList
(
arr
,
idx
,
color
,
category
)
{
arr
.
forEach
((
item
,
index
)
=>
{
// 设置节点大小
let
symbolSize
=
10
switch
(
idx
)
{
case
0
:
symbolSize
=
70
break
case
1
:
symbolSize
=
50
break
default
:
symbolSize
=
10
break
}
// 每个节点所对应的文本标签的样式
let
label
=
null
switch
(
idx
)
{
case
0
:
case
1
:
label
=
{
position
:
'inside'
,
rotate
:
0
}
break
default
:
break
}
// 计算出颜色,从第二级开始
if
(
idx
===
0
)
{
color
=
this
.
colors
[
0
]
}
if
(
idx
===
1
)
{
color
=
this
.
colors
.
find
((
itemm
,
eq
)
=>
eq
===
index
%
10
)
this
.
chartLegend
.
push
(
item
.
label
)
}
// 设置线条颜色
let
lineStyle
=
{
color
:
color
.
c2
}
// 设置节点样式
let
bgcolor
=
null
if
(
idx
===
0
)
{
bgcolor
=
{
type
:
'radial'
,
x
:
0.5
,
y
:
0.5
,
r
:
0.5
,
colorStops
:
[{
offset
:
0
,
color
:
color
.
c1
// 0% 处的颜色
},
{
offset
:
0.8
,
color
:
color
.
c1
// 80% 处的颜色
},
{
offset
:
1
,
color
:
'rgba(0, 0, 0, 0.3)'
// 100% 处的颜色
}
],
global
:
false
}
}
else
{
bgcolor
=
{
type
:
'radial'
,
x
:
0.5
,
y
:
0.5
,
r
:
0.5
,
colorStops
:
[{
offset
:
0
,
color
:
color
.
c1
// 0% 处的颜色
},
{
offset
:
0.4
,
color
:
color
.
c1
// 0% 处的颜色
},
{
offset
:
1
,
color
:
color
.
c2
// 100% 处的颜色
}
],
global
:
false
}
}
let
itemStyle
=
null
if
(
item
.
list
&&
item
.
list
.
length
!==
0
)
{
// 非子节点
itemStyle
=
{
borderColor
:
color
.
c2
,
color
:
bgcolor
}
}
else
{
// 子节点
item
.
isEnd
=
true
if
(
item
.
isdisease
===
'true'
)
{
itemStyle
=
{
color
:
color
.
c2
,
borderColor
:
color
.
c2
}
}
else
{
itemStyle
=
{
color
:
'transparent'
,
borderColor
:
color
.
c2
}
}
}
// 可以改变来实现节点发光效果,但体验不好
itemStyle
=
Object
.
assign
(
itemStyle
,
{
shadowColor
:
'rgba(255, 255, 255, 0.5)'
,
shadowBlur
:
10
})
if
(
idx
===
1
)
{
category
=
item
.
name
}
let
obj
=
{
name
:
item
.
name
,
symbolSize
:
symbolSize
,
category
:
category
,
label
,
color
:
bgcolor
,
itemStyle
,
lineStyle
}
obj
=
Object
.
assign
(
item
,
obj
)
if
(
idx
===
0
)
{
obj
=
Object
.
assign
(
obj
,
{
root
:
true
})
}
if
(
item
.
list
&&
item
.
list
.
length
===
0
)
{
obj
=
Object
.
assign
(
obj
,
{
isEnd
:
true
})
}
this
.
chartList
.
push
(
obj
)
if
(
item
.
list
&&
item
.
list
.
length
>
0
)
{
this
.
handleList
(
item
.
list
,
idx
+
1
,
color
,
category
)
}
})
},
handleLink
(
arr
,
idx
,
color
)
{
arr
.
forEach
(
item
=>
{
if
(
item
.
list
)
{
item
.
list
.
forEach
((
item2
,
eq
)
=>
{
if
(
idx
===
0
)
{
color
=
this
.
colors
.
find
((
itemm
,
eq2
)
=>
eq2
===
eq
%
10
)
}
let
lineStyle
=
null
switch
(
idx
)
{
case
0
:
if
(
item2
.
list
.
length
>
0
)
{
lineStyle
=
{
normal
:
{
color
:
'target'
}
}
}
else
{
lineStyle
=
{
normal
:
{
color
:
color
.
c2
}
}
}
break
default
:
lineStyle
=
{
normal
:
{
color
:
'source'
}
}
break
}
let
obj
=
{
source
:
item
.
label
,
target
:
item2
.
label
,
lineStyle
}
this
.
chartLinks
.
push
(
obj
)
if
(
item2
.
list
&&
item
.
list
.
length
>
0
)
{
this
.
handleLink
(
item
.
list
,
idx
+
1
)
}
})
}
})
},
initChart
()
{
this
.
chart
=
echarts
.
init
(
document
.
getElementById
(
'chart'
))
this
.
chart
.
showLoading
()
// 获取表名
let
categories
=
this
.
treeData
[
0
].
children
.
map
(
item
=>
{
return
{
name
:
item
.
label
}
})
// 计算list
this
.
handleList
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
treeData
)),
0
)
// 计算links
this
.
handleLink
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
treeData
)),
0
)
// 绘制图表
const
option
=
{
backgroundColor
:
'#000'
,
toolbox
:
{
show
:
true
,
left
:
'right'
,
right
:
20
,
top
:
'bottom'
,
bottom
:
20
},
legend
:
{
show
:
true
,
data
:
this
.
chartLegend
,
textStyle
:
{
color
:
'#fff'
,
fontSize
:
10
},
// inactiveColor: "#fff",
icon
:
'circle'
,
type
:
'scroll'
,
orient
:
'vertical'
,
left
:
'right'
,
right
:
20
,
top
:
20
,
bottom
:
80
,
// itemWidth: 12,
// itemHeight: 12,
pageIconColor
:
'#00f6ff'
,
pageIconInactiveColor
:
'#fff'
,
pageIconSize
:
12
,
pageTextStyle
:
{
color
:
'#fff'
,
fontSize
:
12
}
},
tooltip
:
{
trigger
:
'item'
,
triggerOn
:
'click'
,
formatter
(
params
)
{
return
params
.
data
.
label
}
},
selectedMode
:
'false'
,
bottom
:
20
,
left
:
0
,
right
:
0
,
top
:
0
,
animationDuration
:
1500
,
animationEasingUpdate
:
'quinticInOut'
,
series
:
[{
name
:
'知识图谱'
,
type
:
'graph'
,
hoverAnimation
:
true
,
layout
:
'force'
,
force
:
{
repulsion
:
300
,
edgeLength
:
100
},
nodeScaleRatio
:
0.6
,
draggable
:
true
,
roam
:
true
,
symbol
:
'circle'
,
data
:
this
.
chartList
,
links
:
this
.
chartLinks
,
categories
:
categories
,
focusNodeAdjacency
:
true
,
scaleLimit
:
{
// 所属组件的z分层,z值小的图形会被z值大的图形覆盖
min
:
0.5
,
// 最小的缩放值
max
:
9
// 最大的缩放值
},
edgeSymbol
:
[
'circle'
,
'arrow'
],
edgeSymbolSize
:
[
4
,
8
],
label
:
{
normal
:
{
show
:
true
,
position
:
'right'
,
color
:
'#fff'
,
distance
:
5
,
fontSize
:
10
}
},
lineStyle
:
{
normal
:
{
width
:
1.5
,
curveness
:
0
,
type
:
'solid'
}
}
}]
}
this
.
chart
.
setOption
(
option
)
this
.
chart
.
hideLoading
()
}
},
beforeDestroy
()
{
if
(
!
this
.
chart
)
{
return
false
}
this
.
chart
.
dispose
()
this
.
chart
=
null
},
watch
:
{
'searchForm.sourceId'
:
{
immediate
:
true
,
// handler:是一个回调函数,即监听到变化应该执行的函数
handler
(
value
)
{
if
(
value
)
{
// 清空数据
this
.
searchForm
.
tableId
=
''
this
.
getDataTableList
(
value
)
this
.
btnEnable
=
false
}
}
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.line
{
height
:
1px
;
background-color
:
#e0e6ed
;
}
</
style
>
datax-ui/src/views/metadata/datasearch/index.vue
View file @
c602c70f
...
...
@@ -11,7 +11,7 @@
<el-option
label=
"数据表"
value=
"2"
></el-option>
<el-option
label=
"数据元"
value=
"3"
></el-option>
</el-select>
<el-button
slot=
"append"
icon=
"el-icon-search"
></el-button>
<el-button
slot=
"append"
:disabled=
"btnEnable"
icon=
"el-icon-search"
></el-button>
</el-input>
</el-col>
</el-row>
...
...
@@ -32,7 +32,7 @@
<el-option
label=
"数据表"
value=
"2"
></el-option>
<el-option
label=
"数据元"
value=
"3"
></el-option>
</el-select>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"search"
></el-button>
<el-button
slot=
"append"
icon=
"el-icon-search"
:disabled=
"btnEnable"
@
click=
"search"
></el-button>
</el-input>
</div>
</div>
...
...
@@ -51,14 +51,30 @@ export default {
height
:
document
.
body
.
offsetHeight
-
170
+
'px'
},
searchExecuting
:
false
,
type
:
''
,
keyword
:
''
,
type
:
''
btnEnable
:
true
}
},
methods
:
{
search
()
{
this
.
searchExecuting
=
true
}
},
computed
:
{
listenChange
()
{
const
{
type
,
keyword
}
=
this
return
{
type
,
keyword
}
}
},
watch
:
{
listenChange
(
val
)
{
if
(
val
.
type
&&
val
.
keyword
)
{
this
.
btnEnable
=
false
}
else
{
this
.
btnEnable
=
true
}
}
}
}
</
script
>
...
...
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