From fb41124eeee6a9c246e922f5cd4259a2c71375e7 Mon Sep 17 00:00:00 2001 From: 18326186802 <862709625@qq.com> Date: Fri, 23 Jul 2021 14:40:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BC=96=E8=AF=91=E7=9A=84?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bps-kettle/pom.xml | 4 +- .../com/ruoyi/kettle/repo/XRepoManager.java | 250 +++++++++--------- .../service/impl/KettleJobServiceImpl.java | 11 +- .../service/impl/KettleTransServiceImpl.java | 18 +- .../java/com/ruoyi/kettle/tools/Constant.java | 2 +- .../com/ruoyi/kettle/tools/KettleUtil.java | 6 +- .../com/ruoyi/kettle/tools/KettleUtil_2.java | 59 +++-- .../ruoyi/kettle/tools/SpringContextUtil.java | 85 ------ 8 files changed, 183 insertions(+), 252 deletions(-) delete mode 100644 bps-kettle/src/main/java/com/ruoyi/kettle/tools/SpringContextUtil.java diff --git a/bps-kettle/pom.xml b/bps-kettle/pom.xml index 3a8b0043c..d99135432 100644 --- a/bps-kettle/pom.xml +++ b/bps-kettle/pom.xml @@ -134,10 +134,10 @@ junit test - + diff --git a/bps-kettle/src/main/java/com/ruoyi/kettle/repo/XRepoManager.java b/bps-kettle/src/main/java/com/ruoyi/kettle/repo/XRepoManager.java index de38be223..9775c6d77 100644 --- a/bps-kettle/src/main/java/com/ruoyi/kettle/repo/XRepoManager.java +++ b/bps-kettle/src/main/java/com/ruoyi/kettle/repo/XRepoManager.java @@ -21,13 +21,136 @@ import java.util.concurrent.ConcurrentHashMap; public class XRepoManager { private static final Logger log = LoggerFactory.getLogger(XRepoManager.class); - public static Map repositoryCache = new HashMap(); - public static Map databaseMeta = new ConcurrentHashMap(); + public static Map repositoryCache = new HashMap(); + public static Map databaseMeta = new ConcurrentHashMap(); public XRepoManager() { } + public static List getAllDirectoryTreeList(String repoId, Repository repository, String path, List allRepositoryTreeList) throws KettleException { + List 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 getJobAndTrans(String repoId, Repository repository, String path) throws KettleException { + RepositoryDirectoryInterface rDirectory = repository.loadRepositoryDirectoryTree().findDirectory(path); + List repositoryTreeList = getDirectory(repoId, repository, rDirectory); + List 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 getDirectory(String repoId, Repository repository, RepositoryDirectoryInterface rDirectory) throws KettleException { + List 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 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 getAllDirectoryTreeList(String repoId, Repository repository, String path, List allRepositoryTreeList) throws KettleException { - List 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 getJobAndTrans(String repoId, Repository repository, String path) throws KettleException { - RepositoryDirectoryInterface rDirectory = repository.loadRepositoryDirectoryTree().findDirectory(path); - List repositoryTreeList = getDirectory(repoId, repository, rDirectory); - List 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 getDirectory(String repoId, Repository repository, RepositoryDirectoryInterface rDirectory) throws KettleException { - List 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 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; - } + */ } diff --git a/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleJobServiceImpl.java b/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleJobServiceImpl.java index cd7d71f53..2a1451d99 100644 --- a/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleJobServiceImpl.java +++ b/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleJobServiceImpl.java @@ -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 selectKettleJobList(KettleJob kettleJob) { - List roleList = (List) PermissionUtils.getPrincipalProperty("roles"); - //当前用户的roleKey + Object o=PermissionUtils.getPrincipalProperty("roles"); + List roleList=new ArrayList<>(); + // roleList= (List) PermissionUtils.getPrincipalProperty("roles"); + if(o != null && o instanceof List){ + for(Object r:(List)o){ + roleList.add(SysRole.class.cast(r)); + } + } //当前用户的roleKey List roleKeys=roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toList()); return kettleJobMapper.selectKettleJobList(kettleJob,roleKeys); } diff --git a/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleTransServiceImpl.java b/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleTransServiceImpl.java index 377c2fd5c..a856baf84 100644 --- a/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleTransServiceImpl.java +++ b/bps-kettle/src/main/java/com/ruoyi/kettle/service/impl/KettleTransServiceImpl.java @@ -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 selectKettleTransList(KettleTrans kettleTrans) { - List roleList = (List) PermissionUtils.getPrincipalProperty("roles"); + Object o=PermissionUtils.getPrincipalProperty("roles"); + List roleList=new ArrayList<>(); + // roleList= (List) PermissionUtils.getPrincipalProperty("roles"); + if(o != null && o instanceof List){ + for(Object r:(List)o){ + roleList.add(SysRole.class.cast(r)); + } + } + //当前用户的roleKey List roleKeys=roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toList()); diff --git a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/Constant.java b/bps-kettle/src/main/java/com/ruoyi/kettle/tools/Constant.java index 660d4e261..cad202178 100644 --- a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/Constant.java +++ b/bps-kettle/src/main/java/com/ruoyi/kettle/tools/Constant.java @@ -135,7 +135,7 @@ public class Constant extends Const { } public static Map getQuartzBasic(String name, String path) { - Map quartzBasic = new HashMap(); + Map quartzBasic = new HashMap(); StringBuilder jobName = new StringBuilder(); jobName.append("JOB").append("@").append(name).append("@").append(path); StringBuilder jobGroupName = new StringBuilder(); diff --git a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil.java b/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil.java index 381229457..38a230e1e 100644 --- a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil.java +++ b/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil.java @@ -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"; diff --git a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil_2.java b/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil_2.java index 60bf26356..5b1132613 100644 --- a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil_2.java +++ b/bps-kettle/src/main/java/com/ruoyi/kettle/tools/KettleUtil_2.java @@ -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 holder = new ConcurrentHashMap(); + public static Map holder = new ConcurrentHashMap(); public static Map 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 { } } - } + }*/ } diff --git a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/SpringContextUtil.java b/bps-kettle/src/main/java/com/ruoyi/kettle/tools/SpringContextUtil.java deleted file mode 100644 index 9ccbbfed9..000000000 --- a/bps-kettle/src/main/java/com/ruoyi/kettle/tools/SpringContextUtil.java +++ /dev/null @@ -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 getBean(String beanName) { - return (T) beanFactory.getBean(beanName); - } - - public static T getBean(String beanName, Class clazz) { - return beanFactory.getBean(beanName, clazz); - } - - public static T getBean(Class clazz) { - T t = null; - Map 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; - } -}