优化编译的安全检查
This commit is contained in:
parent
671f3d4b73
commit
fb41124eee
|
|
@ -134,10 +134,10 @@
|
|||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- <dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
</dependency>-->
|
||||
</dependencies>
|
||||
<repositories>
|
||||
<repository>
|
||||
|
|
|
|||
|
|
@ -21,13 +21,136 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
|
||||
public class XRepoManager {
|
||||
private static final Logger log = LoggerFactory.getLogger(XRepoManager.class);
|
||||
public static Map<String, Repository> repositoryCache = new HashMap();
|
||||
public static Map<String, DatabaseMeta> databaseMeta = new ConcurrentHashMap();
|
||||
public static Map<String, Repository> repositoryCache = new HashMap<String, Repository>();
|
||||
public static Map<String, DatabaseMeta> databaseMeta = new ConcurrentHashMap<String, DatabaseMeta>();
|
||||
|
||||
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;
|
||||
return dataBaseAccess;
|
||||
}
|
||||
|
|
@ -76,37 +199,9 @@ public class XRepoManager {
|
|||
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 {
|
||||
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();
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -56,8 +57,14 @@ public class KettleJobServiceImpl implements IKettleJobService
|
|||
@Override
|
||||
public List<KettleJob> selectKettleJobList(KettleJob kettleJob)
|
||||
{
|
||||
List<SysRole> roleList = (List<SysRole>) PermissionUtils.getPrincipalProperty("roles");
|
||||
//当前用户的roleKey
|
||||
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
|
||||
List<String> roleKeys=roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toList());
|
||||
return kettleJobMapper.selectKettleJobList(kettleJob,roleKeys);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
package com.ruoyi.kettle.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
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.service.IKettleTransService;
|
||||
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.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.kettle.mapper.KettleTransMapper;
|
||||
import com.ruoyi.kettle.domain.KettleTrans;
|
||||
|
|
@ -30,7 +25,6 @@ import com.ruoyi.common.core.text.Convert;
|
|||
* @date 2021-07-14
|
||||
*/
|
||||
@Service("kettleTransServiceImpl")
|
||||
@Slf4j
|
||||
public class KettleTransServiceImpl implements IKettleTransService
|
||||
{
|
||||
@Autowired
|
||||
|
|
@ -62,7 +56,15 @@ public class KettleTransServiceImpl implements IKettleTransService
|
|||
@Override
|
||||
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
|
||||
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) {
|
||||
Map<String, String> quartzBasic = new HashMap();
|
||||
Map<String, String> quartzBasic = new HashMap<String, String>();
|
||||
StringBuilder jobName = new StringBuilder();
|
||||
jobName.append("JOB").append("@").append(name).append("@").append(path);
|
||||
StringBuilder jobGroupName = new StringBuilder();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
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.database.DatabaseMeta;
|
||||
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.trans.Trans;
|
||||
import org.pentaho.di.trans.TransMeta;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
@Slf4j
|
||||
@Component
|
||||
public class KettleUtil {
|
||||
public static final Logger log = LoggerFactory.getLogger(KettleUtil.class);
|
||||
|
||||
|
||||
public String KETTLE_LOG_LEVEL = "basic";
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
|
||||
public class KettleUtil_2 {
|
||||
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() {
|
||||
return holder;
|
||||
|
|
@ -70,8 +70,34 @@ public class 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);
|
||||
if (holder.containsKey(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 {
|
||||
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) {
|
||||
}
|
||||
|
|
@ -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