Merge branch 'dev' of https://gitee.com/septemyang/RuoYi into dev
This commit is contained in:
commit
5aefc888e1
|
|
@ -134,10 +134,10 @@
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<!-- <dependency>
|
||||||
<groupId>org.projectlombok</groupId>
|
<groupId>org.projectlombok</groupId>
|
||||||
<artifactId>lombok</artifactId>
|
<artifactId>lombok</artifactId>
|
||||||
</dependency>
|
</dependency>-->
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
|
|
|
||||||
|
|
@ -21,13 +21,136 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
public class XRepoManager {
|
public class XRepoManager {
|
||||||
private static final Logger log = LoggerFactory.getLogger(XRepoManager.class);
|
private static final Logger log = LoggerFactory.getLogger(XRepoManager.class);
|
||||||
public static Map<String, Repository> repositoryCache = new HashMap();
|
public static Map<String, Repository> repositoryCache = new HashMap<String, Repository>();
|
||||||
public static Map<String, DatabaseMeta> databaseMeta = new ConcurrentHashMap();
|
public static Map<String, DatabaseMeta> databaseMeta = new ConcurrentHashMap<String, DatabaseMeta>();
|
||||||
|
|
||||||
public XRepoManager() {
|
public XRepoManager() {
|
||||||
}
|
}
|
||||||
|
public static List<RepositoryTree> getAllDirectoryTreeList(String repoId, Repository repository, String path, List<RepositoryTree> allRepositoryTreeList) throws KettleException {
|
||||||
|
List<RepositoryTree> repositoryTreeList = getJobAndTrans(repoId, repository, path);
|
||||||
|
if (repositoryTreeList.size() != 0) {
|
||||||
|
Iterator var5 = repositoryTreeList.iterator();
|
||||||
|
|
||||||
public static String[] getDataBaseAccess() {
|
while(var5.hasNext()) {
|
||||||
|
RepositoryTree repositoryTree = (RepositoryTree)var5.next();
|
||||||
|
if (!repositoryTree.isLasted()) {
|
||||||
|
getAllDirectoryTreeList(repoId, repository, repositoryTree.getPath(), allRepositoryTreeList);
|
||||||
|
allRepositoryTreeList.add(repositoryTree);
|
||||||
|
} else {
|
||||||
|
allRepositoryTreeList.add(repositoryTree);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return allRepositoryTreeList;
|
||||||
|
}
|
||||||
|
public static List<RepositoryTree> getJobAndTrans(String repoId, Repository repository, String path) throws KettleException {
|
||||||
|
RepositoryDirectoryInterface rDirectory = repository.loadRepositoryDirectoryTree().findDirectory(path);
|
||||||
|
List<RepositoryTree> repositoryTreeList = getDirectory(repoId, repository, rDirectory);
|
||||||
|
List<RepositoryElementMetaInterface> li = repository.getJobAndTransformationObjects(rDirectory.getObjectId(), false);
|
||||||
|
if (null != li) {
|
||||||
|
Iterator var6 = li.iterator();
|
||||||
|
|
||||||
|
while(var6.hasNext()) {
|
||||||
|
RepositoryElementMetaInterface repel = (RepositoryElementMetaInterface)var6.next();
|
||||||
|
RepositoryTree repositoryTree;
|
||||||
|
StringBuilder stringBuilder;
|
||||||
|
if ("job".equals(repel.getObjectType().toString())) {
|
||||||
|
repositoryTree = new RepositoryTree();
|
||||||
|
stringBuilder = new StringBuilder();
|
||||||
|
stringBuilder.append("job").append(rDirectory.getObjectId().toString()).append("@").append(repel.getObjectId().toString());
|
||||||
|
repositoryTree.setId(stringBuilder.toString());
|
||||||
|
repositoryTree.setParent(repoId + "@" + rDirectory.getObjectId().toString());
|
||||||
|
repositoryTree.setText(repel.getName());
|
||||||
|
if (repository instanceof KettleDatabaseRepository) {
|
||||||
|
repositoryTree.setType(repoId + "@db@" + "job");
|
||||||
|
} else if (repository instanceof KettleFileRepository) {
|
||||||
|
repositoryTree.setType(repoId + "@file@" + "job");
|
||||||
|
}
|
||||||
|
|
||||||
|
repositoryTree.setLasted(true);
|
||||||
|
repositoryTree.setPath(repel.getRepositoryDirectory().getPath());
|
||||||
|
repositoryTreeList.add(repositoryTree);
|
||||||
|
} else if ("transformation".equals(repel.getObjectType().toString())) {
|
||||||
|
repositoryTree = new RepositoryTree();
|
||||||
|
stringBuilder = new StringBuilder();
|
||||||
|
stringBuilder.append("transformation").append(rDirectory.getObjectId().toString()).append("@").append(repel.getObjectId().toString());
|
||||||
|
repositoryTree.setId(stringBuilder.toString());
|
||||||
|
repositoryTree.setParent(repoId + "@" + rDirectory.getObjectId().toString());
|
||||||
|
repositoryTree.setText(repel.getName());
|
||||||
|
if (repository instanceof KettleDatabaseRepository) {
|
||||||
|
repositoryTree.setType(repoId + "@db@" + "transformation");
|
||||||
|
} else if (repository instanceof KettleFileRepository) {
|
||||||
|
repositoryTree.setType(repoId + "@file@" + "transformation");
|
||||||
|
}
|
||||||
|
|
||||||
|
repositoryTree.setLasted(true);
|
||||||
|
repositoryTree.setPath(repel.getRepositoryDirectory().getPath());
|
||||||
|
repositoryTreeList.add(repositoryTree);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return repositoryTreeList;
|
||||||
|
}
|
||||||
|
private static List<RepositoryTree> getDirectory(String repoId, Repository repository, RepositoryDirectoryInterface rDirectory) throws KettleException {
|
||||||
|
List<RepositoryTree> repositoryTreeList = new ArrayList<RepositoryTree>();
|
||||||
|
if (null != repository && null != rDirectory) {
|
||||||
|
RepositoryDirectoryInterface tree = repository.loadRepositoryDirectoryTree().findDirectory(rDirectory.getObjectId());
|
||||||
|
if (rDirectory.getNrSubdirectories() > 0) {
|
||||||
|
for(int i = 0; i < rDirectory.getNrSubdirectories(); ++i) {
|
||||||
|
RepositoryDirectory subTree = tree.getSubdirectory(i);
|
||||||
|
RepositoryTree repositoryTree = new RepositoryTree();
|
||||||
|
repositoryTree.setId(repoId + "@" + subTree.getObjectId().toString());
|
||||||
|
repositoryTree.setParent(repoId + "@" + rDirectory.getObjectId().toString());
|
||||||
|
repositoryTree.setText(subTree.getName());
|
||||||
|
repositoryTree.setPath(subTree.getPath());
|
||||||
|
repositoryTree.setType("subTree");
|
||||||
|
List<RepositoryElementMetaInterface> RepositoryElementMetaInterfaceList = repository.getJobAndTransformationObjects(subTree.getObjectId(), false);
|
||||||
|
if (subTree.getNrSubdirectories() <= 0 && RepositoryElementMetaInterfaceList.size() <= 0) {
|
||||||
|
repositoryTree.setLasted(true);
|
||||||
|
} else {
|
||||||
|
repositoryTree.setLasted(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
repositoryTreeList.add(repositoryTree);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return repositoryTreeList;
|
||||||
|
}
|
||||||
|
public static Repository createRep(BaseRepositoryMeta baseRepositoryMeta, String id) throws KettleException {
|
||||||
|
if (get(id) != null) {
|
||||||
|
return get(id);
|
||||||
|
} else {
|
||||||
|
Repository repo = null;
|
||||||
|
if (baseRepositoryMeta instanceof KettleDatabaseRepositoryMeta) {
|
||||||
|
repo = new KettleDatabaseRepository();
|
||||||
|
((Repository)repo).init((KettleDatabaseRepositoryMeta)baseRepositoryMeta);
|
||||||
|
} else {
|
||||||
|
repo = new KettleFileRepository();
|
||||||
|
((Repository)repo).init((KettleFileRepositoryMeta)baseRepositoryMeta);
|
||||||
|
}
|
||||||
|
|
||||||
|
repositoryCache.put(id, repo);
|
||||||
|
log.info(((Repository)repo).getName() + "资源库初始化成功");
|
||||||
|
return (Repository)repo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Repository createFileRep(String repoId, String repName, String description, String baseDirectory) throws KettleException {
|
||||||
|
if (!KettleEnvironment.isInitialized()) {
|
||||||
|
KettleEnvironment.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
KettleFileRepositoryMeta fileRepMeta = new KettleFileRepositoryMeta(repoId, repName, description, baseDirectory);
|
||||||
|
return createRep(fileRepMeta, repoId);
|
||||||
|
}
|
||||||
|
private static Repository get(String repoId) {
|
||||||
|
return (Repository)repositoryCache.get(repoId);
|
||||||
|
}
|
||||||
|
/* public static String[] getDataBaseAccess() {
|
||||||
String[] dataBaseAccess = DatabaseMeta.dbAccessTypeCode;
|
String[] dataBaseAccess = DatabaseMeta.dbAccessTypeCode;
|
||||||
return dataBaseAccess;
|
return dataBaseAccess;
|
||||||
}
|
}
|
||||||
|
|
@ -76,37 +199,9 @@ public class XRepoManager {
|
||||||
return dm;
|
return dm;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Repository get(String repoId) {
|
|
||||||
return (Repository)repositoryCache.get(repoId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Repository createRep(BaseRepositoryMeta baseRepositoryMeta, String id) throws KettleException {
|
|
||||||
if (get(id) != null) {
|
|
||||||
return get(id);
|
|
||||||
} else {
|
|
||||||
Repository repo = null;
|
|
||||||
if (baseRepositoryMeta instanceof KettleDatabaseRepositoryMeta) {
|
|
||||||
repo = new KettleDatabaseRepository();
|
|
||||||
((Repository)repo).init((KettleDatabaseRepositoryMeta)baseRepositoryMeta);
|
|
||||||
} else {
|
|
||||||
repo = new KettleFileRepository();
|
|
||||||
((Repository)repo).init((KettleFileRepositoryMeta)baseRepositoryMeta);
|
|
||||||
}
|
|
||||||
|
|
||||||
repositoryCache.put(id, repo);
|
|
||||||
log.info(((Repository)repo).getName() + "资源库初始化成功");
|
|
||||||
return (Repository)repo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Repository createFileRep(String repoId, String repName, String description, String baseDirectory) throws KettleException {
|
|
||||||
if (!KettleEnvironment.isInitialized()) {
|
|
||||||
KettleEnvironment.init();
|
|
||||||
}
|
|
||||||
|
|
||||||
KettleFileRepositoryMeta fileRepMeta = new KettleFileRepositoryMeta(repoId, repName, description, baseDirectory);
|
|
||||||
return createRep(fileRepMeta, repoId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Repository createDBRepByJndi(String repoId, String name, String type, String db) throws KettleException {
|
public static Repository createDBRepByJndi(String repoId, String name, String type, String db) throws KettleException {
|
||||||
return createBaseMetaRep(repoId, (String)null, (String)null, (JSONObject)null, name, type, DatabaseMeta.dbAccessTypeCode[4], (String)null, db, (String)null, (String)null, (String)null);
|
return createBaseMetaRep(repoId, (String)null, (String)null, (JSONObject)null, name, type, DatabaseMeta.dbAccessTypeCode[4], (String)null, db, (String)null, (String)null, (String)null);
|
||||||
|
|
@ -163,100 +258,9 @@ public class XRepoManager {
|
||||||
repositoryCache.clear();
|
repositoryCache.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<RepositoryTree> getAllDirectoryTreeList(String repoId, Repository repository, String path, List<RepositoryTree> allRepositoryTreeList) throws KettleException {
|
|
||||||
List<RepositoryTree> repositoryTreeList = getJobAndTrans(repoId, repository, path);
|
|
||||||
if (repositoryTreeList.size() != 0) {
|
|
||||||
Iterator var5 = repositoryTreeList.iterator();
|
|
||||||
|
|
||||||
while(var5.hasNext()) {
|
|
||||||
RepositoryTree repositoryTree = (RepositoryTree)var5.next();
|
|
||||||
if (!repositoryTree.isLasted()) {
|
|
||||||
getAllDirectoryTreeList(repoId, repository, repositoryTree.getPath(), allRepositoryTreeList);
|
|
||||||
allRepositoryTreeList.add(repositoryTree);
|
|
||||||
} else {
|
|
||||||
allRepositoryTreeList.add(repositoryTree);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return allRepositoryTreeList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<RepositoryTree> getJobAndTrans(String repoId, Repository repository, String path) throws KettleException {
|
|
||||||
RepositoryDirectoryInterface rDirectory = repository.loadRepositoryDirectoryTree().findDirectory(path);
|
|
||||||
List<RepositoryTree> repositoryTreeList = getDirectory(repoId, repository, rDirectory);
|
|
||||||
List<RepositoryElementMetaInterface> li = repository.getJobAndTransformationObjects(rDirectory.getObjectId(), false);
|
|
||||||
if (null != li) {
|
|
||||||
Iterator var6 = li.iterator();
|
|
||||||
|
|
||||||
while(var6.hasNext()) {
|
*/
|
||||||
RepositoryElementMetaInterface repel = (RepositoryElementMetaInterface)var6.next();
|
|
||||||
RepositoryTree repositoryTree;
|
|
||||||
StringBuilder stringBuilder;
|
|
||||||
if ("job".equals(repel.getObjectType().toString())) {
|
|
||||||
repositoryTree = new RepositoryTree();
|
|
||||||
stringBuilder = new StringBuilder();
|
|
||||||
stringBuilder.append("job").append(rDirectory.getObjectId().toString()).append("@").append(repel.getObjectId().toString());
|
|
||||||
repositoryTree.setId(stringBuilder.toString());
|
|
||||||
repositoryTree.setParent(repoId + "@" + rDirectory.getObjectId().toString());
|
|
||||||
repositoryTree.setText(repel.getName());
|
|
||||||
if (repository instanceof KettleDatabaseRepository) {
|
|
||||||
repositoryTree.setType(repoId + "@db@" + "job");
|
|
||||||
} else if (repository instanceof KettleFileRepository) {
|
|
||||||
repositoryTree.setType(repoId + "@file@" + "job");
|
|
||||||
}
|
|
||||||
|
|
||||||
repositoryTree.setLasted(true);
|
|
||||||
repositoryTree.setPath(repel.getRepositoryDirectory().getPath());
|
|
||||||
repositoryTreeList.add(repositoryTree);
|
|
||||||
} else if ("transformation".equals(repel.getObjectType().toString())) {
|
|
||||||
repositoryTree = new RepositoryTree();
|
|
||||||
stringBuilder = new StringBuilder();
|
|
||||||
stringBuilder.append("transformation").append(rDirectory.getObjectId().toString()).append("@").append(repel.getObjectId().toString());
|
|
||||||
repositoryTree.setId(stringBuilder.toString());
|
|
||||||
repositoryTree.setParent(repoId + "@" + rDirectory.getObjectId().toString());
|
|
||||||
repositoryTree.setText(repel.getName());
|
|
||||||
if (repository instanceof KettleDatabaseRepository) {
|
|
||||||
repositoryTree.setType(repoId + "@db@" + "transformation");
|
|
||||||
} else if (repository instanceof KettleFileRepository) {
|
|
||||||
repositoryTree.setType(repoId + "@file@" + "transformation");
|
|
||||||
}
|
|
||||||
|
|
||||||
repositoryTree.setLasted(true);
|
|
||||||
repositoryTree.setPath(repel.getRepositoryDirectory().getPath());
|
|
||||||
repositoryTreeList.add(repositoryTree);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return repositoryTreeList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static List<RepositoryTree> getDirectory(String repoId, Repository repository, RepositoryDirectoryInterface rDirectory) throws KettleException {
|
|
||||||
List<RepositoryTree> repositoryTreeList = new ArrayList();
|
|
||||||
if (null != repository && null != rDirectory) {
|
|
||||||
RepositoryDirectoryInterface tree = repository.loadRepositoryDirectoryTree().findDirectory(rDirectory.getObjectId());
|
|
||||||
if (rDirectory.getNrSubdirectories() > 0) {
|
|
||||||
for(int i = 0; i < rDirectory.getNrSubdirectories(); ++i) {
|
|
||||||
RepositoryDirectory subTree = tree.getSubdirectory(i);
|
|
||||||
RepositoryTree repositoryTree = new RepositoryTree();
|
|
||||||
repositoryTree.setId(repoId + "@" + subTree.getObjectId().toString());
|
|
||||||
repositoryTree.setParent(repoId + "@" + rDirectory.getObjectId().toString());
|
|
||||||
repositoryTree.setText(subTree.getName());
|
|
||||||
repositoryTree.setPath(subTree.getPath());
|
|
||||||
repositoryTree.setType("subTree");
|
|
||||||
List<RepositoryElementMetaInterface> RepositoryElementMetaInterfaceList = repository.getJobAndTransformationObjects(subTree.getObjectId(), false);
|
|
||||||
if (subTree.getNrSubdirectories() <= 0 && RepositoryElementMetaInterfaceList.size() <= 0) {
|
|
||||||
repositoryTree.setLasted(true);
|
|
||||||
} else {
|
|
||||||
repositoryTree.setLasted(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
repositoryTreeList.add(repositoryTree);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return repositoryTreeList;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ruoyi.kettle.service.impl;
|
package com.ruoyi.kettle.service.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -56,8 +57,14 @@ public class KettleJobServiceImpl implements IKettleJobService
|
||||||
@Override
|
@Override
|
||||||
public List<KettleJob> selectKettleJobList(KettleJob kettleJob)
|
public List<KettleJob> selectKettleJobList(KettleJob kettleJob)
|
||||||
{
|
{
|
||||||
List<SysRole> roleList = (List<SysRole>) PermissionUtils.getPrincipalProperty("roles");
|
Object o=PermissionUtils.getPrincipalProperty("roles");
|
||||||
//当前用户的roleKey
|
List<SysRole> roleList=new ArrayList<>();
|
||||||
|
// roleList= (List<SysRole>) PermissionUtils.getPrincipalProperty("roles");
|
||||||
|
if(o != null && o instanceof List<?>){
|
||||||
|
for(Object r:(List<?>)o){
|
||||||
|
roleList.add(SysRole.class.cast(r));
|
||||||
|
}
|
||||||
|
} //当前用户的roleKey
|
||||||
List<String> roleKeys=roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toList());
|
List<String> roleKeys=roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toList());
|
||||||
return kettleJobMapper.selectKettleJobList(kettleJob,roleKeys);
|
return kettleJobMapper.selectKettleJobList(kettleJob,roleKeys);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
package com.ruoyi.kettle.service.impl;
|
package com.ruoyi.kettle.service.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
|
@ -13,11 +12,7 @@ import com.ruoyi.kettle.domain.XRepository;
|
||||||
import com.ruoyi.kettle.mapper.XRepositoryMapper;
|
import com.ruoyi.kettle.mapper.XRepositoryMapper;
|
||||||
import com.ruoyi.kettle.service.IKettleTransService;
|
import com.ruoyi.kettle.service.IKettleTransService;
|
||||||
import com.ruoyi.kettle.tools.KettleUtil;
|
import com.ruoyi.kettle.tools.KettleUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.pentaho.di.repository.Repository;
|
|
||||||
import org.pentaho.di.trans.Trans;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.kettle.mapper.KettleTransMapper;
|
import com.ruoyi.kettle.mapper.KettleTransMapper;
|
||||||
import com.ruoyi.kettle.domain.KettleTrans;
|
import com.ruoyi.kettle.domain.KettleTrans;
|
||||||
|
|
@ -30,7 +25,6 @@ import com.ruoyi.common.core.text.Convert;
|
||||||
* @date 2021-07-14
|
* @date 2021-07-14
|
||||||
*/
|
*/
|
||||||
@Service("kettleTransServiceImpl")
|
@Service("kettleTransServiceImpl")
|
||||||
@Slf4j
|
|
||||||
public class KettleTransServiceImpl implements IKettleTransService
|
public class KettleTransServiceImpl implements IKettleTransService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
@ -62,7 +56,15 @@ public class KettleTransServiceImpl implements IKettleTransService
|
||||||
@Override
|
@Override
|
||||||
public List<KettleTrans> selectKettleTransList(KettleTrans kettleTrans)
|
public List<KettleTrans> selectKettleTransList(KettleTrans kettleTrans)
|
||||||
{
|
{
|
||||||
List<SysRole> roleList = (List<SysRole>) PermissionUtils.getPrincipalProperty("roles");
|
Object o=PermissionUtils.getPrincipalProperty("roles");
|
||||||
|
List<SysRole> roleList=new ArrayList<>();
|
||||||
|
// roleList= (List<SysRole>) PermissionUtils.getPrincipalProperty("roles");
|
||||||
|
if(o != null && o instanceof List<?>){
|
||||||
|
for(Object r:(List<?>)o){
|
||||||
|
roleList.add(SysRole.class.cast(r));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//当前用户的roleKey
|
//当前用户的roleKey
|
||||||
List<String> roleKeys=roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toList());
|
List<String> roleKeys=roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ public class Constant extends Const {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Map<String, String> getQuartzBasic(String name, String path) {
|
public static Map<String, String> getQuartzBasic(String name, String path) {
|
||||||
Map<String, String> quartzBasic = new HashMap();
|
Map<String, String> quartzBasic = new HashMap<String, String>();
|
||||||
StringBuilder jobName = new StringBuilder();
|
StringBuilder jobName = new StringBuilder();
|
||||||
jobName.append("JOB").append("@").append(name).append("@").append(path);
|
jobName.append("JOB").append("@").append(name).append("@").append(path);
|
||||||
StringBuilder jobGroupName = new StringBuilder();
|
StringBuilder jobGroupName = new StringBuilder();
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.ruoyi.kettle.tools;
|
package com.ruoyi.kettle.tools;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import com.ruoyi.common.config.datasource.DynamicDataSourceContextHolder;
|
||||||
import org.pentaho.di.core.KettleEnvironment;
|
import org.pentaho.di.core.KettleEnvironment;
|
||||||
import org.pentaho.di.core.database.DatabaseMeta;
|
import org.pentaho.di.core.database.DatabaseMeta;
|
||||||
import org.pentaho.di.core.exception.KettleException;
|
import org.pentaho.di.core.exception.KettleException;
|
||||||
|
|
@ -15,14 +15,16 @@ import org.pentaho.di.repository.filerep.KettleFileRepository;
|
||||||
import org.pentaho.di.repository.filerep.KettleFileRepositoryMeta;
|
import org.pentaho.di.repository.filerep.KettleFileRepositoryMeta;
|
||||||
import org.pentaho.di.trans.Trans;
|
import org.pentaho.di.trans.Trans;
|
||||||
import org.pentaho.di.trans.TransMeta;
|
import org.pentaho.di.trans.TransMeta;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@Slf4j
|
|
||||||
@Component
|
@Component
|
||||||
public class KettleUtil {
|
public class KettleUtil {
|
||||||
|
public static final Logger log = LoggerFactory.getLogger(KettleUtil.class);
|
||||||
|
|
||||||
|
|
||||||
public String KETTLE_LOG_LEVEL = "basic";
|
public String KETTLE_LOG_LEVEL = "basic";
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
public class KettleUtil_2 {
|
public class KettleUtil_2 {
|
||||||
private static final Logger log = LoggerFactory.getLogger(KettleUtil_2.class);
|
private static final Logger log = LoggerFactory.getLogger(KettleUtil_2.class);
|
||||||
public static Map<String, Repository> holder = new ConcurrentHashMap();
|
public static Map<String, Repository> holder = new ConcurrentHashMap<String, Repository>();
|
||||||
|
|
||||||
public static Map<String, Repository> getHolder() {
|
public static Map<String, Repository> getHolder() {
|
||||||
return holder;
|
return holder;
|
||||||
|
|
@ -70,8 +70,34 @@ public class KettleUtil_2 {
|
||||||
|
|
||||||
public KettleUtil_2() {
|
public KettleUtil_2() {
|
||||||
}
|
}
|
||||||
|
public static Repository conFileRep(String repoId, String repoName, String baseDirectory) throws KettleException {
|
||||||
|
if (holder.containsKey(repoId)) {
|
||||||
|
return (Repository)holder.get(repoId);
|
||||||
|
} else {
|
||||||
|
XRepoManager.createFileRep(repoId, repoName, "文件资源库", baseDirectory);
|
||||||
|
Repository repository = connect(repoId);
|
||||||
|
if (null != repository) {
|
||||||
|
holder.put(repoId, repository);
|
||||||
|
return repository;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static Repository connect(String repoId) throws KettleSecurityException, KettleException {
|
||||||
|
return connect(repoId, (String)null, (String)null);
|
||||||
|
}
|
||||||
|
|
||||||
public static Repository conByJndi(String repoId, String name, String db, String type, String kuser, String kpass) throws Exception {
|
public static Repository connect(String repoId, String username, String password) throws KettleSecurityException, KettleException {
|
||||||
|
Repository repository = (Repository)XRepoManager.repositoryCache.get(repoId);
|
||||||
|
if (!repository.isConnected()) {
|
||||||
|
repository.connect(username, password);
|
||||||
|
log.info(repository.getName() + "资源库已连接!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return repository;
|
||||||
|
}
|
||||||
|
/*public static Repository conByJndi(String repoId, String name, String db, String type, String kuser, String kpass) throws Exception {
|
||||||
testConnect(repoId);
|
testConnect(repoId);
|
||||||
if (holder.containsKey(repoId)) {
|
if (holder.containsKey(repoId)) {
|
||||||
return (Repository)holder.get(repoId);
|
return (Repository)holder.get(repoId);
|
||||||
|
|
@ -87,20 +113,7 @@ public class KettleUtil_2 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Repository conFileRep(String repoId, String repoName, String baseDirectory) throws KettleException {
|
|
||||||
if (holder.containsKey(repoId)) {
|
|
||||||
return (Repository)holder.get(repoId);
|
|
||||||
} else {
|
|
||||||
XRepoManager.createFileRep(repoId, repoName, "文件资源库", baseDirectory);
|
|
||||||
Repository repository = connect(repoId);
|
|
||||||
if (null != repository) {
|
|
||||||
holder.put(repoId, repository);
|
|
||||||
return repository;
|
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Repository conByNative(String repoId, String repoName, String name, String type, String host, String port, String db, String user, String pass, String kuser, String kpass) throws KettleException {
|
public static Repository conByNative(String repoId, String repoName, String name, String type, String host, String port, String db, String user, String pass, String kuser, String kpass) throws KettleException {
|
||||||
testConnect(repoId);
|
testConnect(repoId);
|
||||||
|
|
@ -142,19 +155,7 @@ public class KettleUtil_2 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Repository connect(String repoId) throws KettleSecurityException, KettleException {
|
|
||||||
return connect(repoId, (String)null, (String)null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Repository connect(String repoId, String username, String password) throws KettleSecurityException, KettleException {
|
|
||||||
Repository repository = (Repository)XRepoManager.repositoryCache.get(repoId);
|
|
||||||
if (!repository.isConnected()) {
|
|
||||||
repository.connect(username, password);
|
|
||||||
log.info(repository.getName() + "资源库已连接!");
|
|
||||||
}
|
|
||||||
|
|
||||||
return repository;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setRepository(Repository repository) {
|
public static void setRepository(Repository repository) {
|
||||||
}
|
}
|
||||||
|
|
@ -731,5 +732,5 @@ public class KettleUtil_2 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,85 +0,0 @@
|
||||||
package com.ruoyi.kettle.tools;
|
|
||||||
|
|
||||||
|
|
||||||
import org.springframework.beans.BeansException;
|
|
||||||
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
|
|
||||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|
||||||
import org.springframework.context.ApplicationContext;
|
|
||||||
import org.springframework.context.ApplicationContextAware;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
import org.springframework.web.context.request.RequestAttributes;
|
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class SpringContextUtil implements BeanFactoryPostProcessor, ApplicationContextAware {
|
|
||||||
private static ConfigurableListableBeanFactory beanFactory;
|
|
||||||
private static ApplicationContext context = null;
|
|
||||||
|
|
||||||
private SpringContextUtil() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
|
||||||
context = applicationContext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T> T getBean(String beanName) {
|
|
||||||
return (T) beanFactory.getBean(beanName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T> T getBean(String beanName, Class<T> clazz) {
|
|
||||||
return beanFactory.getBean(beanName, clazz);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T> T getBean(Class<T> clazz) {
|
|
||||||
T t = null;
|
|
||||||
Map<String, T> map = beanFactory.getBeansOfType(clazz);
|
|
||||||
|
|
||||||
Map.Entry entry;
|
|
||||||
for(Iterator var3 = map.entrySet().iterator(); var3.hasNext();
|
|
||||||
t = (T) entry.getValue()) {
|
|
||||||
entry = (Map.Entry)var3.next();
|
|
||||||
}
|
|
||||||
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean containsBean(String beanName) {
|
|
||||||
return beanFactory.containsBean(beanName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isSingleton(String beanName) {
|
|
||||||
return beanFactory.isSingleton(beanName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Class getType(String beanName) {
|
|
||||||
return beanFactory.getType(beanName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static HttpServletResponse getResponse() {
|
|
||||||
return getServletRequestAttributes().getResponse();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static HttpServletRequest getRequest() {
|
|
||||||
return getServletRequestAttributes().getRequest();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ServletRequestAttributes getServletRequestAttributes() {
|
|
||||||
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
|
||||||
return (ServletRequestAttributes)requestAttributes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static HttpSession getSession() {
|
|
||||||
return getRequest().getSession();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {
|
|
||||||
beanFactory = configurableListableBeanFactory;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue