| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.vci.client.mw.ClientContextVariable; |
| | | import com.vci.client.mw.LaunchModeEnum; |
| | | import com.vci.constant.FrameWorkBtmTypeConstant; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.framework.FrameworkServicePrx; |
| | | import com.vci.corba.omd.data.AttributeValue; |
| | | import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant; |
| | | import com.vci.constant.FrameWorkBtmTypeConstant; |
| | | import com.vci.frameworkcore.properties.VciFramworkCompatibilityProperties; |
| | | import com.vci.starter.web.annotation.config.VciConfigField; |
| | | import com.vci.starter.web.annotation.config.VciConfigModule; |
| | | import com.vci.starter.web.enumpck.SessionStorageTypeEnum; |
| | | import com.vci.starter.web.enumpck.UserSecretEnum; |
| | | import com.vci.starter.web.interceptor.VciSessionForLoginI; |
| | | import com.vci.starter.web.pagemodel.SessionInfo; |
| | | import com.vci.starter.web.properties.VciSessionProperties; |
| | | import com.vci.starter.web.util.ApplicationContextProvider; |
| | | import com.vci.starter.web.util.LocalFileUtil; |
| | | import com.vci.starter.web.wrapper.VciQueryWrapperForDO; |
| | | import com.vci.web.pageModel.OsAttributeVO; |
| | | import com.vci.pagemodel.OsAttributeVO; |
| | | import com.vci.web.properties.WebProperties; |
| | | import com.vci.web.service.OsAttributeServiceI; |
| | | import com.vci.web.service.VciMdServiceI; |
| | | import com.vci.web.service.WebSecretServiceI; |
| | | import com.vci.web.service.impl.UIEngineServiceImpl; |
| | | import com.vci.web.service.impl.WebContextInfoFetcher; |
| | | import com.vci.web.service.impl.WebInitServiceImpl; |
| | | import com.vci.web.util.PlatformClientUtil; |
| | | import com.vci.web.util.WebUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | import org.springframework.boot.ApplicationRunner; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.ResourceUtils; |
| | | |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.FileNotFoundException; |
| | | import java.io.IOException; |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.InvocationTargetException; |
| | | import java.lang.reflect.Method; |
| | | import java.util.*; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Locale; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | |
| | |
| | | @Component |
| | | public class VciWebInitTaskComponent implements ApplicationRunner { |
| | | |
| | | |
| | | /** |
| | | * 日志对象 |
| | | */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | /** |
| | | * 初始化的服务 |
| | | */ |
| | | @Autowired |
| | | private WebInitServiceImpl initService; |
| | | |
| | | /** |
| | | * 是否兼容 |
| | | */ |
| | | @Value("${user-table-compatibility:}") |
| | | private String compatibility; |
| | | |
| | | /** |
| | | * 上下文注册 |
| | | */ |
| | | @Autowired |
| | | private WebContextInfoFetcher contextInfoFetcher; |
| | | |
| | | /** |
| | | * 配置对象 |
| | |
| | | private VciSessionProperties sessionProperties; |
| | | |
| | | /** |
| | | * 会话处理 |
| | | */ |
| | | @Autowired |
| | | private VciSessionForLoginI sessionForLogin; |
| | | /** |
| | | * 引入兼容的配置 |
| | | */ |
| | | @Autowired(required = false) |
| | |
| | | @Autowired |
| | | private VciMdServiceI mdService; |
| | | |
| | | /** |
| | | * 密级服务 |
| | | */ |
| | | @Autowired |
| | | private WebSecretServiceI secretService; |
| | | |
| | | // /** |
| | | // * corba的客户端 |
| | | // */ |
| | | // @Autowired(required = false) |
| | | // private JacorbClientMapProperties jacorbClientMapProperties; |
| | | |
| | | /** |
| | | * 执行初始化 |
| | |
| | | @Override |
| | | public void run(ApplicationArguments args) { |
| | | initCompatibility(); |
| | | initCorbaFromConf(); |
| | | initSysadmin(); |
| | | initClearSession(); |
| | | initSetting(); |
| | | // secretService.getMinDataSecret(); |
| | | // secretService.getMinIpSecret(); |
| | | // secretService.getMinUserSecret(); |
| | | initService.clearAllCache(); |
| | | // initService.clearAllCache(); |
| | | // initService.initServerCache(); |
| | | mdService.scanAllMdFile(); |
| | | initDefaultAttribute(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 从平台的配置中获取conf的信息 |
| | | */ |
| | | public void initCorbaFromConf(){ |
| | | File file = null; |
| | | try { |
| | | file = ResourceUtils.getFile("classpath:properties/corba.properties"); |
| | | } catch (FileNotFoundException e) { |
| | | try { |
| | | file = ResourceUtils.getFile("classpath:corba.properties"); |
| | | } catch (FileNotFoundException fileNotFoundException) { |
| | | logger.info("这个环境里没有存放平台的corba配置文件",fileNotFoundException); |
| | | } |
| | | } |
| | | try { |
| | | if (file.exists()) { |
| | | Properties properties = new Properties(); |
| | | properties.load(new FileInputStream(file)); |
| | | String url = properties.getProperty("NameService"); |
| | | String name = properties.getProperty("InstanceIdentity"); |
| | | // if (StringUtils.isNotBlank(url)) { |
| | | // jacorbClientMapProperties.setUrl(url); |
| | | // } |
| | | // if (StringUtils.isNotBlank(name)) { |
| | | // jacorbClientMapProperties.setInstanceIdentity(name); |
| | | // } |
| | | } |
| | | }catch (IOException e) { |
| | | logger.error("读取平台的corb配置文件出现了错误",e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 初始化用户 |
| | | */ |
| | | public void initSysadmin(){ |
| | |
| | | public void initSetting() { |
| | | System.out.println("----初始化用于查询配置的用户----"); |
| | | ClientContextVariable.setClientLanuchMode(LaunchModeEnum.WebApp); |
| | | // InvocationUtility.registerIInvocationContext(contextInfoFetcher); |
| | | // JacorbClientRequestInterceptor.sessionContext = contextInfoFetcher; |
| | | System.out.println("----初始化用于查询配置的用户完成----"); |
| | | System.out.println("----开始扫描有VciConfigModule注解的类----"); |
| | | String[] namesForAnnotation = ApplicationContextProvider.getApplicationContext().getBeanNamesForAnnotation(VciConfigModule.class); |