| | |
| | | <manifest> |
| | | <addClasspath>true</addClasspath> |
| | | <classpathPrefix>lib/</classpathPrefix> |
| | | <mainClass>com.vci.PlatformWebApplication</mainClass> |
| | | </manifest> |
| | | </archive> |
| | | <excludes> |
| | | <exclude>properties/conf.properties</exclude> |
| | | <exclude>properties/eventConf.properties</exclude> |
| | | <exclude>properties/ice.properties</exclude> |
| | | <exclude>properties/iceClient.properties</exclude> |
| | | <exclude>application-dev.yml</exclude> |
| | | <exclude>application-prod.yml</exclude> |
| | | <exclude>lib/*</exclude> |
| | | </excludes> |
| | | </configuration> |
| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.vci.pagemodel.MenuVO; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.util.Lcm.Func; |
| | | import com.vci.starter.web.util.LocalFileUtil; |
| | | import org.apache.commons.io.FileUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.util.ResourceUtils; |
| | | |
| | | import java.io.*; |
| | |
| | | private static sysModuleConf sysModuleConf; |
| | | |
| | | static{ |
| | | try { |
| | | File file = ResourceUtils.getFile("classpath:menuConfig.json"); |
| | | String json = FileUtils.readFileToString(file, "UTF-8"); |
| | | sysModuleConf = JSON.parseObject(json, sysModuleConf.class); |
| | | }catch (IOException e) { |
| | | e.printStackTrace(); |
| | | String menuJson = LocalFileUtil.readContentForFileInJar("menuConfig.json"); |
| | | sysModuleConf = JSON.parseObject(menuJson, sysModuleConf.class); |
| | | if(Func.isEmpty(sysModuleConf)){ |
| | | throw new VciBaseException("读åmenuConfig.json为空ï¼"); |
| | | } |
| | | } |
| | | |
| | |
| | | import com.vci.starter.web.pagemodel.*; |
| | | import com.vci.starter.web.util.*; |
| | | import com.vci.web.enumpck.PortalVITypeFlag; |
| | | import com.vci.web.properties.UsedNames; |
| | | import com.vci.web.service.OsAttributeServiceI; |
| | | import com.vci.web.service.OsEnumServiceI; |
| | | import com.vci.web.service.OsLinkTypeServiceI; |
| | |
| | | private Integer NAME_MAX_LENGTH = 28; |
| | | |
| | | /** |
| | | * ç³»ç»ä¸åéé
ç½®æä»¶ä¸é
ç½®çkey |
| | | * æ°æ®åºä¸çä¸äºå
³é®å |
| | | */ |
| | | private final String SYSUSEDNAMES = "sysUsedNames"; |
| | | |
| | | /** |
| | | * æ°æ®åºä¸å
³é®åé
ç½®æä»¶ä¸é
ç½®çkey |
| | | */ |
| | | private final String DATABASEUSEDNAMES = "dataBaseUsedNames"; |
| | | private final List<String> DATABASEUSEDNAMELIST = Arrays.asList( |
| | | "ACCESS", "ADD", "ALL", "ALTER", "AND", "ANY", "AS", "ASC", "AUDIT", "BETWEEN", |
| | | "BY", "CHAR", "CHECK", "CLUSTER", "COLUMN", "COMMENT", "COMPRESS", "CONNECT", |
| | | "CREATE", "CURRENT", "DATE", "DECIMAL", "DEFAULT", "DELETE", "DESC", "DISTINCT", |
| | | "DROP", "ELSE", "EXCLUSIVE", "EXISTS", "FILE", "FLOAT", "FOR", "FROM", "GRANT", "GROUP", |
| | | "HAVING", "IDENTIFIED", "IMMEDIATE", "IN", "INCREMENT", "INDEX", "INITIAL", |
| | | "INSERT", "INTEGER", "INTERSECT", "INTO", "IS", "LEVEL", "LIKE", "LOCK", "LONG", |
| | | "MAXEXTENTS", "MINUS", "MLSLABEL", "MODE", "MODIFY", "NOAUDIT", "NOCOMPRESS", |
| | | "NOT", "NOWAIT", "NULL", "NUMBER", "OF", "OFFLINE", "ON", "ONLINE", "OPTION", "OR", "ORDER", |
| | | "P", "CTFREE", "PRIOR", "PRIVILEGES", "PUBLIC", "RAW", "RENAME", "RESOURCE", "REVOKE", |
| | | "ROW", "ROWID", "ROWNUM", "ROWS", "SELECT", "SESSION", "SET", "SHARE", "SIZE", "SMALLINT", |
| | | "START", "SUCCESSFUL", "SYNONYM", "SYSDATE", "TABLE", "THEN", "TO", "TRIGGER", "UID", "UNION", |
| | | "UNIQUE", "UPDATE", "USER", "VALIDATE", "VALUES", "VARCHAR", "VARCHAR2", "VIEW", |
| | | "WHENEVER", "WHERE", "WITH"); |
| | | |
| | | /** |
| | | * 龿¥ç±»åæå¡ |
| | |
| | | * @param abName |
| | | * @return |
| | | */ |
| | | private boolean usedBySystem(String abName) { |
| | | private boolean usedBySystem(String abName) throws PLException { |
| | | boolean flag = false; |
| | | String[] names = UsedNames.getProperty(SYSUSEDNAMES).toUpperCase().split(","); |
| | | List<String> nameList = Arrays.asList(names); |
| | | AttributeDef[] sysAttributeDefs = platformClientUtil.getBtmService().getSysAttributeDefs(); |
| | | List<String> nameList = null; |
| | | if(Func.isNotEmpty(sysAttributeDefs)){ |
| | | nameList = Arrays.stream(sysAttributeDefs) |
| | | .map(item -> item.name.toUpperCase(Locale.ROOT)).collect(Collectors.toList()); |
| | | } |
| | | if(nameList.contains(abName.toUpperCase())){ |
| | | flag = true; |
| | | } |
| | |
| | | */ |
| | | private boolean usedByDataBase(String abName){ |
| | | boolean flag = false; |
| | | String[] names = UsedNames.getProperty(DATABASEUSEDNAMES).toUpperCase().split(","); |
| | | List<String> nameList = Arrays.asList(names); |
| | | if(nameList.contains(abName.toUpperCase())){ |
| | | if(DATABASEUSEDNAMELIST.contains(abName.toUpperCase())){ |
| | | flag = true; |
| | | } |
| | | return flag; |