Compare commits

...

No commits in common. "web_backend_based" and "master" have entirely different histories.

78 changed files with 224 additions and 1589 deletions

View File

@ -14,5 +14,6 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/junit-4.12.jar"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>

1
.gitignore vendored
View File

@ -1 +0,0 @@
*.class

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>data_manager_backend</name>
<name>data-aggregation-platform</name>
<comment></comment>
<projects>
</projects>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="data_manager_backend">
<wb-module deploy-name="data-aggregation-platform">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/test"/>
<property name="java-output-path" value="/data_manager_backend/build/classes"/>
<property name="java-output-path" value="/data-aggregation-platform/build/classes"/>
<property name="context-root" value="/"/>
</wb-module>
</project-modules>

View File

@ -1,5 +1,5 @@
#=============================================================================================================
# MySQL
# MySQL连接配置
#=============================================================================================================
# 驱动程序
jdbc.mysql.driver=com.mysql.jdbc.Driver
@ -13,14 +13,15 @@ jdbc.mysql.password=root
#=============================================================================================================
# Oracle 连接配置
#=============================================================================================================
# hui用户名
gather-user-name=system
# 驱动程序
jdbc.oracle.driver=oracle.jdbc.driver.OracleDriver
# 连接url
jdbc.oracle.url=jdbc:oracle:thin:@localhost:1521:orcl;
# 用户名
jdbc.oracle.username=system
# 密码
gather-user-password=oracle
#
gather-port=1521
#
gather-service-name=orcl
jdbc.oracle.password=oracle
#=============================================================================================================
# 数据库公共配置
#=============================================================================================================
@ -35,16 +36,4 @@ jdbc.removeAbandonedTimeout=600
jdbc.testWhileIdle=true
jdbc.timeBetweenEvictionRunsMillis=60000
jdbc.numTestsPerEvictionRun=20
jdbc.minEvictableIdleTimeMillis=300000
#==============================================================================================================
#
#==============================================================================================================
table-suffix=_20152016
extract-log-localtion=/home/log/
gather-tablespace-name=TS_TTSSS
gather-tablespace-path=
gather-table-user-password=
kubeMasterUrl=http://192.168.0.110:8080/
collect-user-name=system
collect-password=oracle
collect-service-name=orcl
jdbc.minEvictableIdleTimeMillis=300000

Binary file not shown.

View File

@ -3,7 +3,7 @@
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>javaBackend</display-name>
<display-name>MyFirstTest</display-name>
<welcome-file-list>
<welcome-file>/index.html</welcome-file>
</welcome-file-list>
@ -20,7 +20,7 @@
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring配置文件 -->
<!-- spring配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/config/spring-applicationContext.xml</param-value>
@ -29,10 +29,6 @@
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>com.platform.utils.ConfigsLoader</listener-class>
</listener>
<!-- springmv的配置文件 -->
<servlet>
<servlet-name>springmvc</servlet-name>
@ -42,22 +38,22 @@
<param-value>/WEB-INF/config/springmvc-applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- log4j配置文件 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/config/log4j-config.xml</param-value>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/config/log4j-config.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 防止Spring内存溢出监听器 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>

23
WebContent/index.html Normal file
View File

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").{"name":"伍名"}click(function(){
$.post("json",function(data){
alert(data);
});
});
});
</script>
</head>
<body>
<form action="hello" method="post">
name:<input type="text" name="name">
<input type="submit" value="submit">
</form>
</body>
</html>

View File

@ -36,43 +36,35 @@ PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
jdbcType="VARCHAR" />
</resultMap>
<sql id="conditionsFilters">
<if test="PagerOptions.dataType!=null">
and data_details.data_type=#{PagerOptions.dataType}
</if>
<if test="PagerOptions.submittedBatch!=null">
and
data_details.submitted_batch=#{PagerOptions.submittedBatch}
</if>
<if test="PagerOptions.cityName!=null">
and data_details.city_name=#{PagerOptions.cityName}
</if>
<if test="PagerOptions.districtName!=null">
and
data_details.district_name=#{PagerOptions.districtName}
</if>
<if test="PagerOptions.dataVersion !=null">
and data_details.data_version=#{PagerOptions.dataVersion}
</if>
<if test="PagerOptions.systemName !=null">
and data_details=#{PagerOptions.systemName}
</if>
<if test="PagerOptions.dataYear !=null">
and data_details.data_year=#{PagerOptions.dataYear}
</if>
</sql>
<!-- 获取数据符合筛选条件的全部记录信息 -->
<select id="getLimitedDataInfoEntities" parameterType="PagerOptions"
resultMap="getEntityByText">
SELECT
id,regionalism_code,city_name,district_name,system_code,system_name,data_type,data_version,submitted_batch,data_path,data_charset,collection_time,collector_name,collector_contacts,data_year
FROM data_details
<if test="PagerOptions!=null">
<where>
<include refid="conditionsFilters" />
<if test="PagerOptions.dataType!=null">
and data_details.data_type=#{PagerOptions.dataType}
</if>
<if test="PagerOptions.submittedBatch!=null">
and
data_details.submitted_batch=#{PagerOptions.submittedBatch}
</if>
<if test="PagerOptions.cityName!=null">
and data_details.city_name=#{PagerOptions.cityName}
</if>
<if test="PagerOptions.districtName!=null">
and
data_details.district_name=#{PagerOptions.districtName}
</if>
<if test="PagerOptions.dataVersion">
and
data_details.data_version=#{PagerOptions.dataVersion}
</if>
<if test="PagerOptions.systemName">
and data_details=#{PagerOptions.systemName}
</if>
<if test="PagerOptions.dataYear">
and data_details.data_year=#{PagerOptions.dataYear}
</if>
<choose>
<when test="PagerOptions.offset > 0">
and data_details.id>= #{PagerOptions.offset}
<when test="PagerOptions.idIndex>0">
and data_details.id>=#{idIndex}
</when>
<otherwise>
and data_details.id>=0
@ -80,29 +72,22 @@ PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
</choose>
</where>
ORDER BY data_details.id
<if test="PagerOptions.limit > 0">
LIMIT #{PagerOptions.limit}
</if>
<if test="PagerOptions.limit">LIMIT #{PagerOptions.limit}</if>
</if>
</sql>
<select id="getLimitedDataInfoEntities" parameterType="PagerOptions"
resultMap="getEntityByText">
SELECT
id,regionalism_code,city_name,district_name,system_code,system_name,data_type,data_version,submitted_batch,data_path,data_charset,collection_time,collector_name,collector_contacts,data_year
FROM data_details
<include refid="conditionsFilters" />
</select>
<!-- 获取数据符合筛选条件的总记录条数 -->
<select id="getLimitedDataCount" resultType="java.lang.Integer"
parameterType="PagerOptions">
SELECT COUNT(id) FROM data_details
<if test="PagerOptions!=null">
<where>
<include refid="conditionsFilters" />
</where>
</if>
</select>
<!-- 获取数据查询的起始di -->
<select id="getLimitedBeginId" resultType="java.lang.Integer"
parameterType="PagerOptions">
SELECT MAX(idx) FROM (SELECT id idx FROM data_details
ORDER BY id LIMIT 0,#{PagerOptions.totalLimit}) AS TEMP
<include refid="conditionsFilters" />
</select>
</mapper>

View File

@ -36,43 +36,35 @@ PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
jdbcType="VARCHAR" />
</resultMap>
<sql id="conditionsFilters">
<if test="PagerOptions.dataType!=null">
and data_details.data_type=#{PagerOptions.dataType}
</if>
<if test="PagerOptions.submittedBatch!=null">
and
data_details.submitted_batch=#{PagerOptions.submittedBatch}
</if>
<if test="PagerOptions.cityName!=null">
and data_details.city_name=#{PagerOptions.cityName}
</if>
<if test="PagerOptions.districtName!=null">
and
data_details.district_name=#{PagerOptions.districtName}
</if>
<if test="PagerOptions.dataVersion !=null">
and data_details.data_version=#{PagerOptions.dataVersion}
</if>
<if test="PagerOptions.systemName !=null">
and data_details=#{PagerOptions.systemName}
</if>
<if test="PagerOptions.dataYear !=null">
and data_details.data_year=#{PagerOptions.dataYear}
</if>
</sql>
<!-- 获取数据符合筛选条件的全部记录信息 -->
<select id="getLimitedDataInfoEntities" parameterType="PagerOptions"
resultMap="getEntityByText">
SELECT
id,regionalism_code,city_name,district_name,system_code,system_name,data_type,data_version,submitted_batch,data_path,data_charset,collection_time,collector_name,collector_contacts,data_year
FROM data_details
<if test="PagerOptions!=null">
<where>
<include refid="conditionsFilters" />
<if test="PagerOptions.dataType!=null">
and data_details.data_type=#{PagerOptions.dataType}
</if>
<if test="PagerOptions.submittedBatch!=null">
and
data_details.submitted_batch=#{PagerOptions.submittedBatch}
</if>
<if test="PagerOptions.cityName!=null">
and data_details.city_name=#{PagerOptions.cityName}
</if>
<if test="PagerOptions.districtName!=null">
and
data_details.district_name=#{PagerOptions.districtName}
</if>
<if test="PagerOptions.dataVersion">
and
data_details.data_version=#{PagerOptions.dataVersion}
</if>
<if test="PagerOptions.systemName">
and data_details=#{PagerOptions.systemName}
</if>
<if test="PagerOptions.dataYear">
and data_details.data_year=#{PagerOptions.dataYear}
</if>
<choose>
<when test="PagerOptions.offset > 0">
and data_details.id>= #{PagerOptions.offset}
<when test="PagerOptions.idIndex>0">
and data_details.id>=#{idIndex}
</when>
<otherwise>
and data_details.id>=0
@ -80,29 +72,22 @@ PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
</choose>
</where>
ORDER BY data_details.id
<if test="PagerOptions.limit > 0">
LIMIT #{PagerOptions.limit}
</if>
<if test="PagerOptions.limit">LIMIT #{PagerOptions.limit}</if>
</if>
</sql>
<select id="getLimitedDataInfoEntities" parameterType="PagerOptions"
resultMap="getEntityByText">
SELECT
id,regionalism_code,city_name,district_name,system_code,system_name,data_type,data_version,submitted_batch,data_path,data_charset,collection_time,collector_name,collector_contacts,data_year
FROM data_details
<include refid="conditionsFilters" />
</select>
<!-- 获取数据符合筛选条件的总记录条数 -->
<select id="getLimitedDataCount" resultType="java.lang.Integer"
parameterType="PagerOptions">
SELECT COUNT(id) FROM data_details
<if test="PagerOptions!=null">
<where>
<include refid="conditionsFilters" />
</where>
</if>
</select>
<!-- 获取数据查询的起始di -->
<select id="getLimitedBeginId" resultType="java.lang.Integer"
parameterType="PagerOptions">
SELECT MAX(idx) FROM (SELECT id idx FROM data_details
ORDER BY id LIMIT 0,#{PagerOptions.totalLimit}) AS TEMP
<include refid="conditionsFilters" />
</select>
</mapper>

View File

@ -1,8 +1,5 @@
package com.platform.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -10,20 +7,13 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.platform.entities.FolderNode;
import com.platform.entities.PagerOptions;
import com.platform.service.DataInfoService;
import com.platform.service.OracleStatusService;
import com.platform.test.Brick;
import com.platform.test.FolderReader;
import com.platform.test.Volume;
import com.platform.utils.Configs;
import com.platform.utils.UtilsHelper;
@Controller
@ -37,79 +27,12 @@ public class DataModelController {
@RequestMapping("/data.json")
@ResponseBody
public ModelMap getAllDataToJson(HttpServletRequest res,
HttpServletResponse req) {
public ModelMap getAllDataToJson(HttpServletRequest res, HttpServletResponse req) {
Map<String, String[]> paramMap = res.getParameterMap();
Set<String> keySet = paramMap.keySet();
Map<String, String> params = new HashMap<String, String>();
StringBuffer sb = new StringBuffer().append("当前的请求参数:{");
for (String str : keySet) {
String value = paramMap.get(str)[0];
if (StringUtils.isNotEmpty(value)){
params.put(str, value);
sb.append(str).append(":").append(value).append(",");
}else {
sb.append(str).append(":").append("null").append(",");
}
Set<String> keySet= paramMap.keySet();
for(String str: keySet){
System.out.println(str+":"+paramMap.get(str));
}
Configs.CONSOLE_LOGGER.info(sb.deleteCharAt(sb.length() - 1)
.append("}").toString());
PagerOptions pagerOptions = (PagerOptions) UtilsHelper
.newObjAndSetAttrsByClass(PagerOptions.class, params);
return dfs.getPagerTableData(pagerOptions);
}
@RequestMapping("/delete/data")
public void deleteData(HttpServletRequest res, HttpServletResponse req) {
Map<String, String[]> paramMap = res.getParameterMap();
String[] data = paramMap.get("data");
dfs.deleteData(data);
}
@RequestMapping("/connectOracle")
public void connectOracle(HttpServletRequest res, HttpServletResponse req) {
Map<String, String[]> paramMap = res.getParameterMap();
String[] oraclesName = paramMap.get("oracleName");
if (oraclesName != null)
for (String rcName : oraclesName) {
Configs.CONSOLE_LOGGER.info("执行后台数据库连接\t" + rcName);
new OracleStatusService().connectToOracle(rcName);
}
}
@RequestMapping("/cancelOracleConection")
public void cancelOracleConnection(HttpServletRequest res,
HttpServletResponse req) {
Map<String, String[]> paramMap = res.getParameterMap();
String[] oraclesName = paramMap.get("oracleName");
String operate = paramMap.get("operation")[0];
if (null != oraclesName) {
for (String rcName : oraclesName) {
Configs.CONSOLE_LOGGER.info("取消后台数据库连接:\t" + rcName);
new OracleStatusService().cancelToOracle(rcName, operate);
}
}
}
@RequestMapping("/extractOracleData")
public void extractOracleData(HttpServletRequest res,
HttpServletResponse req) {
}
@RequestMapping("/volume/list")
@ResponseBody
public Volume getFolder(HttpServletRequest res, HttpServletResponse req) {
System.out.println("get Request");
Brick brick1 = new Brick("192.168.0.101", "D:/bootstrap");
Brick brick2 = new Brick("192.168.0.103", "D:\book");
List<Brick> bricks = new ArrayList<Brick>();
bricks.add(brick1);
bricks.add(brick2);
List<FolderNode> folderNodes = new ArrayList<>();
folderNodes.add(FolderReader.reader("D:/bootstrap"));
Volume volume = new Volume("volume", 1555551024, 153561024, bricks, folderNodes);
return volume;
return dfs.getPagerTableData((PagerOptions) UtilsHelper.newObjAndSetAttrsByClass(PagerOptions.class, res));
}
}

View File

@ -7,22 +7,12 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.platform.utils.Configs;
@Controller
public class DefaultController {
@RequestMapping("/")
public ModelAndView defaultHandler(HttpServletRequest req, HttpServletResponse res){
//处理不匹配的请求
System.out.println("index");
System.out.println("index");
return new ModelAndView("index");
}
@RequestMapping("/test")
public void test(HttpServletRequest req, HttpServletResponse res){
//System.out.println(Class.class.getClass().getResource("/").getPath());
System.out.println(Configs.EXTRACT_LOG_LOCALTION);
}
}

View File

@ -2,19 +2,30 @@ package com.platform.dao;
import java.util.List;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.platform.entities.DataInfoEntity;
import com.platform.entities.PagerOptions;
@Repository(value = "dataInfoDao")
public interface DataInfoDao {
int getLimitedDataCount(@Param("PagerOptions")PagerOptions pagerOptions);
public List<DataInfoEntity> getLimitedDataInfoEntities(
@Param(value = "PagerOptions") PagerOptions pagerOptions);
int getLimitedBeginId(@Param("PagerOptions")PagerOptions pagerOptions);
List<DataInfoEntity> getLimitedDataInfoEntities(@Param("PagerOptions")PagerOptions pagerOptions);
List<String> getIdIsExist(int parseInt);
public int getLimitedDataCount(
@Param(value = "PagerOptions") PagerOptions pagerOptions);
@Insert("INSERT INTO data_info(regionalism_code, system_code, data_type, data_version, submitted_batch, data_path, collection_time, data_charset)"
+ " values(#{regionalismCcode},#{systemCcode},#{dataType},#{dataVersion},#{submittedBbatch},#{dataPath},#{collectionTime},#{dataCharset})")
public int inserRecode(@Param("regionalismCcode") String regionalismCcode,
@Param("systemCcode") int systemCcode,
@Param("dataType") String dataType,
@Param("dataVersion") int dataVersion,
@Param("submittedBbatch") String submittedBbatch,
@Param("dataPath") String dataPath,
@Param("collectionTime") String collectionTime,
@Param("dataCharset") String dataCharset);
}

View File

@ -1,41 +0,0 @@
package com.platform.entities;
import java.util.List;
public class FolderNode {
private String name;
private String path;
private List<FolderNode> childNodes;
public FolderNode(String name, String path, List<FolderNode> childNodes) {
super();
this.name = name;
this.path = path;
this.childNodes = childNodes;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public List<FolderNode> getChildNodes() {
return childNodes;
}
public void setChildNodes(List<FolderNode> childNodes) {
this.childNodes = childNodes;
}
}

View File

@ -1,89 +0,0 @@
package com.platform.entities;
import java.util.Properties;
import com.platform.utils.ConfigPropertyReader;
import com.platform.utils.Configs;
public class OracleConnectorParams {
private String port;
private String ip;
private String name;
private String user;
private String password;
private String database;
public OracleConnectorParams(String port, String ip, String name) {
maybeInit();
this.port = port;
this.ip = ip;
this.name = name;
}
public OracleConnectorParams(String port, String ip, String name,
String user, String password, String database) {
this.port = port;
this.ip = ip;
this.name = name;
this.user = user;
this.password = password;
this.database = database;
}
private void maybeInit() {
Properties properties = ConfigPropertyReader.Builder(
Configs.CONFIG_LOCALTION).getProperties();
this.user = properties.getProperty("collect-user");
this.password = properties.getProperty("collect-password");
this.database = properties.getProperty("collect-database");
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getDatabase() {
return database;
}
public void setDatabase(String database) {
this.database = database;
}
}

View File

@ -1,36 +1,30 @@
package com.platform.entities;
public class PagerOptions {
private Integer currentPageNum; //当前页码
private int idIndex;
private String dataType; //数据类型
private String dataType;
private String submittedBatch; //数据批次
private String cityName; //城市名称
private String submittedBatch;
private String districtName; //区县名
private String cityName;
private Integer dataVersion; //数据版本
private String districtName;
private String systemName; //系统名称
private int dataVersion;
private String dataYear; // 数据年度
private String systemName;
private Integer limit; //一次查询返回记录条数
private String dataYear;
private Integer offset; // 查询偏移量起始id
private Integer totalLimit; //当前页前面已有多少条数据
private Integer priorTableSize; //前一次操作一页显示的数据条数
private int limit;
public Integer getCurrentPageNum() {
return currentPageNum;
public int getIdIndex() {
return idIndex;
}
public void setCurrentPageNum(Integer currentPageNum) {
this.currentPageNum = currentPageNum;
public void setIdIndex(int idIndex) {
this.idIndex = idIndex;
}
public String getDataType() {
@ -65,11 +59,11 @@ public class PagerOptions {
this.districtName = districtName;
}
public Integer getDataVersion() {
public int getDataVersion() {
return dataVersion;
}
public void setDataVersion(Integer dataVersion) {
public void setDataVersion(int dataVersion) {
this.dataVersion = dataVersion;
}
@ -89,36 +83,12 @@ public class PagerOptions {
this.dataYear = dataYear;
}
public Integer getLimit() {
public int getLimit() {
return limit;
}
public void setLimit(Integer limit) {
public void setLimit(int limit) {
this.limit = limit;
}
public Integer getOffset() {
return offset;
}
public void setOffset(Integer offset) {
this.offset = offset;
}
public Integer getTotalLimit() {
return totalLimit;
}
public void setTotalLimit(Integer totalLimit) {
this.totalLimit = totalLimit;
}
public Integer getPriorTableSize() {
return priorTableSize;
}
public void setPriorTableSize(Integer priorTableSize) {
this.priorTableSize = priorTableSize;
}
}

View File

@ -1,44 +0,0 @@
package com.platform.entities;
public class SimpleConfigParamsBean {
private String masterUrl;
private String oracleUserName;
private String oraclePassword;
private String oracleDBName;
public String getMasterUrl() {
return masterUrl;
}
public void setMasterUrl(String masterUrl) {
this.masterUrl = masterUrl;
}
public String getOracleUserName() {
return oracleUserName;
}
public void setOracleUserName(String oracleUserName) {
this.oracleUserName = oracleUserName;
}
public String getOraclePassword() {
return oraclePassword;
}
public void setOraclePassword(String oraclePassword) {
this.oraclePassword = oraclePassword;
}
public String getOracleDBName() {
return oracleDBName;
}
public void setOracleDBName(String oracleDBName) {
this.oracleDBName = oracleDBName;
}
}

View File

@ -1,154 +0,0 @@
package com.platform.kubernetes;
import io.fabric8.kubernetes.api.model.Container;
import io.fabric8.kubernetes.api.model.ContainerPort;
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.ReplicationController;
import io.fabric8.kubernetes.client.Config;
import io.fabric8.kubernetes.client.ConfigBuilder;
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.platform.utils.Configs;
import com.platform.utils.UtilsHelper;
public class SimpleKubeClient {
private KubernetesClient client;
private final static String DEFAULT_NAMESPACE = "default";
public SimpleKubeClient() {
this.client = new DefaultKubernetesClient(Configs.KUBE_MASTER_URL);
}
public SimpleKubeClient(String masterUrl) {
this.client = new DefaultKubernetesClient(masterUrl);
}
public SimpleKubeClient(Config config) {
Config cf = config;
if (null == config) {
cf = new ConfigBuilder().withMasterUrl(Configs.KUBE_MASTER_URL).build();
}
this.client = new DefaultKubernetesClient(cf);
}
public void updateOrAddReplicasLabelById(String namespace,
String resourceId, String key, String value) {
KubernetesClient kubeClient = client;
if (checkClientNull())
kubeClient = new DefaultKubernetesClient(Configs.KUBE_MASTER_URL);
kubeClient.replicationControllers().inNamespace(namespace)
.withName(resourceId).edit().editMetadata()
.addToLabels(key, value).endMetadata().done();
}
public void updateOrAddReplicasLabelByEntity(String namespace,
ReplicationController replicas, String key, String value) {
updateOrAddReplicasLabelById(namespace, replicas.getMetadata()
.getName(), key, value);
}
public void updateOrAddReplicasLabelById(String resourceId, String key,
String value) {
updateOrAddReplicasLabelById(DEFAULT_NAMESPACE, resourceId, key, value);
}
public void updateOrAddReplicasLabelByEntity(
ReplicationController replicas, String key, String value) {
updateOrAddReplicasLabelByEntity(DEFAULT_NAMESPACE, replicas, key,
value);
}
@SuppressWarnings("resource")
public ReplicationController getReplicationController(String namespace,
String replicasName) {
KubernetesClient kubeClient = client;
if (checkClientNull())
kubeClient = new DefaultKubernetesClient(Configs.KUBE_MASTER_URL);
return kubeClient.replicationControllers().inNamespace(namespace)
.withName(replicasName).get();
}
public ReplicationController getReplicationController(String replicasName) {
return getReplicationController(DEFAULT_NAMESPACE, replicasName);
}
@SuppressWarnings("resource")
public List<Pod> getPodsForApplicaList(ReplicationController rc) {
Map<String, String> selector = rc.getSpec().getSelector();
KubernetesClient kubeClient = client;
if (checkClientNull())
kubeClient = new DefaultKubernetesClient(Configs.KUBE_MASTER_URL);
List<Pod> podList = kubeClient.pods()
.inNamespace(rc.getMetadata().getNamespace()).list().getItems();
return getPods(podList, selector);
}
private boolean checkClientNull() {
return null == client;
}
public List<Pod> getPods(List<Pod> pods, Map<String, String> selector) {
List<Pod> result = new ArrayList<Pod>();
for (int i = 0; i < pods.size(); i++)
if (UtilsHelper.isSubMap(getLabels(pods.get(i)), selector))
result.add(pods.get(i));
return result;
}
private Map<String, String> getLabels(Pod pod) {
return pod.getMetadata().getLabels();
}
public KubernetesClient getClient() {
// TODO Auto-generated method stub
return client;
}
public int getPodContainerport(Pod pod) {
int port = Configs.ORACLE_DEFAULT_PORT;
List<Container> containers = pod.getSpec().getContainers();
if (null != containers && containers.size() > 0) {
List<ContainerPort> ports = containers.get(0).getPorts();
if (null != ports && ports.size() > 0)
port = ports.get(0).getHostPort();
}
return port;
}
public String getPodHostIp(Pod pod) {
return pod.getSpec().getNodeName();
}
@SuppressWarnings("resource")
public Map<String, ReplicationController> getReplicationControllerList(
String namespace) {
KubernetesClient kubeClient = client;
Map<String, ReplicationController> rcMap = new HashMap<String, ReplicationController>();
if (checkClientNull())
kubeClient = new DefaultKubernetesClient(Configs.KUBE_MASTER_URL);
List<ReplicationController> replicasList = kubeClient
.replicationControllers().list().getItems();
if (replicasList != null)
for (int i = 0; i < replicasList.size(); i++) {
ReplicationController rController = replicasList.get(i);
rcMap.put(rController.getMetadata().getName(), rController);
}
return rcMap;
}
public Map<String, ReplicationController> getReplicationControllerList() {
return getReplicationControllerList(DEFAULT_NAMESPACE);
}
public void close() {
if (!checkClientNull())
client.close();
}
}

View File

@ -0,0 +1,8 @@
/**
*
*/
/**
* @author wuming
*
*/
package com.platform.kubernetes;

View File

@ -1,79 +0,0 @@
package com.platform.oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.validation.constraints.Pattern.Flag;
import com.platform.utils.Configs;
public class OracleConnector {
static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Configs.CONSOLE_LOGGER.info("Oracle驱动加载成功");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection ConnectionBuilder(String url, String user,
String password) {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
return conn;
}
return conn;
}
public static boolean canConnect(String url, String user, String password) {
return (null != ConnectionBuilder(url, user, password));
}
public ResultSet getSQLExecResultSet(Connection conn, String sql) {
ResultSet resultSet = null;
try {
Statement statement = conn
.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
resultSet = statement.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultSet;
}
public ResultSet getSQLExecResultSet(String url, String user,
String password, String sql) {
return getSQLExecResultSet(ConnectionBuilder(url, user, password), sql);
}
/**
* 执行对oracle数据库的增
* @param conn
* @param sql
* @return 是否执行成功
*/
public boolean execOracleSQL(Connection conn, String sql) {
boolean flag = false;
try {
Statement statement = conn.createStatement();
if (statement.executeUpdate(sql) > 0)
flag = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
}

View File

@ -6,6 +6,4 @@ import com.platform.entities.PagerOptions;
public interface DataInfoService {
public ModelMap getPagerTableData(PagerOptions pagerOptions);
void deleteData(String[] id);
}

View File

@ -24,35 +24,11 @@ public class DataInfoServiceImp implements DataInfoService {
public ModelMap getPagerTableData(PagerOptions pagerOptions) {
// TODO Auto-generated method stub
ModelMap modelMap = new ModelMap();
int count = dfdDao.getLimitedDataCount(pagerOptions); //获取总记录条数
int offset = 0;
if (pagerOptions.getCurrentPageNum() > 1) {
pagerOptions.setTotalLimit((pagerOptions.getCurrentPageNum() - 1)
* pagerOptions.getPriorTableSize());
offset = dfdDao.getLimitedBeginId(pagerOptions); //获取起始查询id
System.out.println(offset);
}
pagerOptions.setOffset(offset + 1);
List<DataInfoEntity> result = dfdDao
.getLimitedDataInfoEntities(pagerOptions);
int count = dfdDao.getLimitedDataCount(pagerOptions);
modelMap.addAttribute("data", result);
modelMap.addAttribute("length", count);
return modelMap;
}
@Override
public void deleteData(String[] id) {
// TODO Auto-generated method stub
for(String idx: id){
List<String> paths = dfdDao.getIdIsExist(Integer.parseInt(idx));
if(paths.size()>0){
//删除文件操作
for (int i = 0; i < paths.size(); i++) {
System.out.println(paths.get(i));
}
//删除数据库记录
//dfdDao.deleteRow(idx);
}
}
}
}

View File

@ -1,151 +0,0 @@
package com.platform.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.platform.entities.OracleConnectorParams;
import com.platform.oracle.OracleConnector;
import com.platform.utils.Configs;
import com.platform.utils.FileOperateHelper;
public class OracleExtractHelper {
private OracleConnector oConnector;
/**
* 判断dblink是否已经存在
*
* @param conn
* @param linkName
* dblink的名称
* @return
*/
private boolean hasSameNameDBLink(Connection conn, String linkName) {
boolean flag = false;
String sql = "SELECT * FROM ALL_DB_LINKS WHERE DB_LINK=" + linkName;
ResultSet rSet = oConnector.getSQLExecResultSet(conn, sql);
try {
rSet.last();
if (rSet.getRow() > 0)
flag = true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
/**
* 创建dblink
*
* @param conn
* @param oc
* dblink连接参数实体
*/
public void createDBLink(Connection conn, OracleConnectorParams oc) {
String linkName = "LinkTo" + oc.getName();
String sql = "CREATE PUBLIC DATABASE LINK LinkTo"
+ linkName
+ " CONNECT TO "
+ "IDENTIFIED BY "
+ oc.getPassword()
+ " USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = "
+ oc.getIp() + ")(PORT = " + oc.getPort()
+ ")))(CONNECT_DATA =(SERVICE_NAME =" + oc.getDatabase()
+ ")))';";
if (null != oc) {
if (hasSameNameDBLink(conn, linkName)) { // 如果dblink已经存在,先删除dblink在创建dblink
String deleteSql = "DROP PUBLIC DATABASE LINK LinkTo"
+ linkName;
FileOperateHelper
.fileWrite(
Configs.EXTRACT_LOG_LOCALTION + oc.getName(),
deleteSql);
if (oConnector.execOracleSQL(conn, deleteSql)) {
FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION
+ oc.getName(), sql);
oConnector.execOracleSQL(conn, sql);
} else {
Configs.CONSOLE_LOGGER.error("删除已有的DBLink失败,无法创建新的DBLink!");
FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION
+ oc.getName(), "删除已有的DBLink失败,无法创建新的DBLink!");
}
} else {
// 否则创建dblink
oConnector.execOracleSQL(conn, sql);
FileOperateHelper.fileWrite(
Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql);
}
}
}
/**
* 创建表空间
*
* @param conn
* @param oc
* @return
*/
public boolean createTableSpace(Connection conn, OracleConnectorParams oc) {
String tmpSql = "select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = '"
+ Configs.GATHER_TABLESPACE_NAME + "'";
if (oConnector.execOracleSQL(conn, tmpSql)) {
return true;
} else {
String sql = "create tablespace " + Configs.GATHER_TABLESPACE_NAME
+ " datafile '" + Configs.GATHER_TABLESPACE_PATH
+ Configs.GATHER_TABLESPACE_NAME + ".dbf"
+ "' size 512M autoextend on next 512M maxsize unlimited";
return oConnector.execOracleSQL(conn, sql);
}
}
/**
* 创建用户并授权
*
* @param conn
* @param oc
*/
public void createUser(Connection conn, OracleConnectorParams oc) {
String strTUser = oc.getName() + Configs.TABLE_SUFFIX;
String sql = "Create user " + strTUser + " default tablespace "
+ Configs.GATHER_TABLESPACE_NAME + " identified by "
+ Configs.GATHER_TABLE_PASSWORD;
String grantSql = "grant connect, resource, dba to " + strTUser;
oConnector.execOracleSQL(conn, sql);
oConnector.execOracleSQL(conn, grantSql);
}
/**
* 执行汇总操作
*
* @param conn
* @param oc
*/
public void extractColleDB(Connection conn, OracleConnectorParams oc) {
String strTUser = oc.getName() + Configs.TABLE_SUFFIX;
String sql = "SELECT 'create table "
+ strTUser
+ ".J'|| substr(t.OWNER||'_'||t.TABLE_NAME,0,29)||' as select * from '||t.OWNER||'.'||t.TABLE_NAME||"
+ "'@linkTo"
+ oc.getName()
+ ";' FROM dba_tables@linkTo"
+ oc.getName()
+ " t WHERE t.TABLESPACE_NAME NOT IN ('SYSTEM','SYSAUX')"
+ " and t.owner||t.table_name not in (select owner||table_name from dba_tables@linkTo"
+ oc.getName() + " where 'data_type'='CLOB')";
ResultSet rsSet = oConnector.getSQLExecResultSet(conn, sql);
try {
while (rsSet.next()) {
String resultSql = rsSet.getString(0);
oConnector.execOracleSQL(conn, resultSql);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

View File

@ -1,25 +0,0 @@
package com.platform.service;
import com.platform.entities.OracleConnectorParams;
import com.platform.oracle.OracleConnector;
import com.platform.utils.Configs;
public class OracleExtractService implements Runnable {
private OracleConnectorParams ocp;
private java.sql.Connection conn;
public OracleExtractService(OracleConnectorParams ocp){
this.ocp=ocp;
String url = "";
this.conn=OracleConnector.ConnectionBuilder(url, Configs.GATHER_USER_NAME, Configs.GATHER_USER_PASSWORD);
}
@Override
public void run() {
// TODO Auto-generated method stub
}
}

View File

@ -1,149 +0,0 @@
package com.platform.service;
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.ReplicationController;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import com.platform.entities.OracleConnectorParams;
import com.platform.kubernetes.SimpleKubeClient;
import com.platform.oracle.OracleConnector;
import com.platform.utils.Configs;
public class OracleStatusService {
private static Map<String, Timer> alliveTask = new Hashtable<String, Timer>();
public final static int EXEC_TIME = 10;// 连接多少次后不成功取消链接
public final static long INTERVAL_TIME = 60 * 1000;// 每隔多少毫秒执行一次连接任务
public final static long DELAY_TIME = 0; // 延迟多少秒后执行
public void connectToOracle(String replicasName) {
SimpleKubeClient sKubeClient = new SimpleKubeClient();
ReplicationController replicationController = sKubeClient
.getReplicationController(replicasName);
if (alliveTask.containsKey(replicasName)) {
killAlliveTask(replicasName);
}
if (null != replicationController) {
List<Pod> filterPods = sKubeClient
.getPodsForApplicaList(replicationController);
if (filterPods != null && filterPods.size() > 0) {
Pod pod = filterPods.get(0);
OracleConnectorParams orp = new OracleConnectorParams(
String.valueOf(sKubeClient.getPodContainerport(pod)),
sKubeClient.getPodHostIp(pod), replicasName);
Timer timer = new Timer();
alliveTask.put(replicasName, timer);
timer.schedule(new connectTask(orp, sKubeClient), DELAY_TIME,
INTERVAL_TIME);
}
}
}
public void cancelToOracle(String replicasName, String operate) {
if (operate.equals("stop")) {
SimpleKubeClient sKubeClient = new SimpleKubeClient();
sKubeClient.updateOrAddReplicasLabelById(replicasName, "status",
"0");
}
killAlliveTask(replicasName);
}
/**
* 取消并移除指定定时任务
*
*
* @param taskName
*/
public void killAlliveTask(String taskName) {
if (alliveTask.containsKey(taskName)) {
alliveTask.get(taskName).cancel();
alliveTask.remove(taskName);
}
}
public void killAlliveTasks(String... tasksName) {
for (String taskName : tasksName)
killAlliveTask(taskName);
}
/**
* 清空定时任务
*/
public void cleanUpAlliveTask() {
Iterator<Map.Entry<String, Timer>> iterator = alliveTask.entrySet()
.iterator();
while (iterator.hasNext()) {
Map.Entry<String, Timer> entry = iterator.next();
entry.getValue().cancel();
}
alliveTask.clear();
}
/**
* 链接oracle任务类
*
* @author wuming
*
*/
class connectTask extends TimerTask {
private String taskName;
private int count;
private OracleConnectorParams ocp;
private SimpleKubeClient client;
public connectTask(OracleConnectorParams ocp, SimpleKubeClient client) {
this.taskName = ocp.getName();
this.ocp = ocp;
this.count = 0;
this.client = client;
}
@Override
public void run() {
if (count == EXEC_TIME && alliveTask.containsKey(taskName)) {
killAlliveTask(taskName);
client.updateOrAddReplicasLabelById(taskName, "status", "1");
} else {
String url = "jdbc:oracle:thin:@" + ocp.getIp() + ":"
+ ocp.getPort() + ":" + ocp.getDatabase();
boolean flag = OracleConnector.canConnect(url, ocp.getUser(),
ocp.getPassword());
String message = "失败";
if (flag && alliveTask.containsKey(taskName)) {
client.updateOrAddReplicasLabelById(taskName, "status", "2");
message = "成功";
killAlliveTask(taskName); // 连接成功取消连接
}
Configs.CONSOLE_LOGGER.info("连接到数据库服务: " + taskName
+ "\t[连接结果: " + message + "]");
}
count++;
}
@Override
public boolean cancel() {
System.out.println("aaaaaaa");
if (client != null)
this.client.close();
return super.cancel();
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public int getCount() {
return count;
}
}
}

View File

@ -1,20 +0,0 @@
package com.platform.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import com.platform.entities.SimpleConfigParamsBean;
public class SimplePropertyReader {
@Autowired @Qualifier("simpeConfig")
private SimpleConfigParamsBean configParamsBean;
public void setConfigParamsBean(SimpleConfigParamsBean configParamsBean) {
this.configParamsBean = configParamsBean;
}
public SimpleConfigParamsBean getConfigParamsBean() {
return configParamsBean;
}
}

View File

@ -1,84 +0,0 @@
package com.platform.utils;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.commons.lang.StringUtils;
public class ConfigLoder {
private String configPath;
private volatile static ConfigLoder configLoder;
private ConfigLoder(String configPath) {
this.configPath = configPath;
}
public static ConfigLoder Builder(String configPtah) {
if (null == configLoder) {
synchronized (ConfigLoder.class) {
if (null == configLoder)
configLoder = new ConfigLoder(configPtah);
}
}
return configLoder;
}
/**
* ÁÈ¡ÎÄPropertyÖеÄÊôÐÔÖµ
*
* @param key
* @return
*/
public String getProperty(String key) {
String value = null;
if (StringUtils.isEmpty(key))
return value;
try {
InputStream is = new BufferedInputStream(new FileInputStream(
new File(configPath)));
Properties properties = new Properties();
properties.load(is);
value = properties.getProperty(key);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return value;
}
public Properties getProperties() {
Properties properties = null;
try {
InputStream is;
properties = new Properties();
is = new BufferedInputStream(new FileInputStream(new File(
configPath)));
properties.load(is);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return properties;
}
public String getConfigPath() {
return configPath;
}
public void setConfigPath(String configPath) {
this.configPath = configPath;
}
}

View File

@ -1,84 +0,0 @@
package com.platform.utils;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.commons.lang.StringUtils;
public class ConfigPropertyReader {
private String configPath;
private volatile static ConfigPropertyReader configLoder;
private ConfigPropertyReader(String configPath) {
this.configPath = configPath;
}
public static ConfigPropertyReader Builder(String configPtah) {
if (null == configLoder) {
synchronized (ConfigPropertyReader.class) {
if (null == configLoder)
configLoder = new ConfigPropertyReader(configPtah);
}
}
return configLoder;
}
/**
* ÁÈ¡ÎÄPropertyÖеÄÊôÐÔÖµ
*
* @param key
* @return
*/
public synchronized String getProperty(String key) {
String value = null;
if (StringUtils.isEmpty(key))
return value;
try {
InputStream is = new BufferedInputStream(new FileInputStream(
new File(configPath)));
Properties properties = new Properties();
properties.load(is);
value = properties.getProperty(key);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return value;
}
public Properties getProperties() {
Properties properties = null;
try {
InputStream is;
properties = new Properties();
is = new BufferedInputStream(new FileInputStream(new File(
configPath)));
properties.load(is);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return properties;
}
public String getConfigPath() {
return configPath;
}
public void setConfigPath(String configPath) {
this.configPath = configPath;
}
}

View File

@ -1,45 +0,0 @@
package com.platform.utils;
import org.apache.log4j.Logger;
public class Configs {
public static final String CONFIG_LOCALTION = "WebContent/WEB-INF/config/config.properties";
public static final Logger CONSOLE_LOGGER = Logger.getLogger("console");
public static final Logger DAILY_ROLLING_LOGGER = Logger
.getLogger("dailyRollingFile");
public static final Logger DAILY_LOGGER = Logger.getLogger("railyFile");
public static final Logger LOGGER = Logger.getLogger(Configs.class);
public static String KUBE_MASTER_URL = "http://192.168.0.113:8080/"; // kubernetes集群的maser
// URl
public static int ORACLE_DEFAULT_PORT = 1521; // oracle的默认端口号
public static String COLLECT_USER_NAME = "system"; //采集统一的登入用户名
public static String COLLECT_PASSWORD = "oracle"; //采集统一的登入密码
public static String COLLECT_SERVICE_NAME = "orcl"; //采集库统一的服务名
public static String GATHER_PORT ="1521"; //汇总库的端口号
public static String GATHER_USER_NAME = "system"; //汇总库的登入用户名
public static String GATHER_USER_PASSWORD = "1"; //汇总库的登入密码
public static String GATHER_SERVICE_NAME = "orcl"; //汇总库的服务名
public static String TABLE_SUFFIX = "_20152016"; //汇总库汇总表的后缀名
public static String EXTRACT_LOG_LOCALTION = "/home/log"; //数据汇总日志保存位置
public static String GATHER_TABLESPACE_NAME=""; //表空间名
public static String GATHER_TABLESPACE_PATH=""; //表空间路径
public static String GATHER_TABLE_PASSWORD=""; //登入密码
}

View File

@ -1,73 +0,0 @@
package com.platform.utils;
import java.util.Properties;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ConfigsLoader implements ServletContextListener {
private static ConfigPropertyReader cReader = null;
@Override
public void contextDestroyed(ServletContextEvent sEvent) {
// TODO Auto-generated method stub
Configs.CONSOLE_LOGGER.info("ϵͳֹͣ..");
}
@SuppressWarnings("static-access")
@Override
public void contextInitialized(ServletContextEvent sEvent) {
// TODO Auto-generated method stub
Configs.CONSOLE_LOGGER.info("ϵͳ³õʼ»¯..");
String contextPath = sEvent.getServletContext().getRealPath("/")
+ "WEB-INF/config/config.properties";
this.cReader = ConfigPropertyReader.Builder(contextPath);
init();
}
public static void init() {
Properties properties = cReader.getProperties();
Configs.KUBE_MASTER_URL = properties.getProperty("kubeMasterUrl");
Configs.COLLECT_USER_NAME = properties.getProperty("collect-user-name");
Configs.COLLECT_PASSWORD = properties.getProperty("collect-password");
Configs.COLLECT_SERVICE_NAME = properties
.getProperty("collect-service-name");
Configs.GATHER_USER_NAME = properties.getProperty("gather-user-name");
Configs.GATHER_USER_PASSWORD = properties
.getProperty("gather-user-password");
Configs.GATHER_PORT = properties.getProperty("gather-port");
Configs.GATHER_SERVICE_NAME = properties
.getProperty("gather-service-name");
Configs.TABLE_SUFFIX = properties.getProperty("table-suffix");
Configs.EXTRACT_LOG_LOCALTION = properties
.getProperty("extract-log-localtion");
Configs.GATHER_TABLESPACE_NAME = properties
.getProperty("gather-tablespace-name");
Configs.GATHER_TABLESPACE_PATH = properties
.getProperty("gather-tablespace-path");
Configs.GATHER_TABLE_PASSWORD=properties.getProperty("gather-table-user-password");
}
public ConfigPropertyReader getcReader() {
return cReader;
}
@SuppressWarnings("static-access")
public void setcReader(ConfigPropertyReader cReader) {
this.cReader = cReader;
}
}

View File

@ -1,62 +0,0 @@
package com.platform.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 文件读写操作帮助类
*
* @author wuming
*
*/
public class FileOperateHelper {
/**
* 以追加的方式将信息写入文件
*
* @param path
* @param message
*/
@SuppressWarnings("resource")
public static void fileWrite(String path, String message) {
try {
File file = new File(path);
if (file.exists())
file.createNewFile();
FileOutputStream out = new FileOutputStream(file, true); // 如果追加方式用true
StringBuffer sb = new StringBuffer();
sb.append(message).append("\n");
out.write(sb.toString().getBytes("utf-8"));
} catch (IOException e) {
// TODO: handle exception
}
}
/**
* 文件读取方法
* @param path
* @return
*/
@SuppressWarnings("resource")
public static String fileReader(String path) {
StringBuffer sb = new StringBuffer();
String tempString = "";
try {
File file = new File(path);
if (!file.exists())
return "";
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
while ((tempString = br.readLine()) != null) {
sb.append(tempString);
}
} catch (Exception e) {
// TODO: handle exception
}
return sb.toString();
}
}

View File

@ -3,11 +3,16 @@ package com.platform.utils;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import com.platform.entities.BasedType;
public class UtilsHelper {
public static Logger logger = Logger.getLogger(UtilsHelper.class);
/**
*
* @param clazz
@ -15,31 +20,31 @@ public class UtilsHelper {
* @return
*/
public static Object newObjAndSetAttrsByClass(Class<?> clazz,
Map<String, String> paramMap) {
HttpServletRequest req) {
Object object = null;
try {
object = clazz.newInstance();
Field[] fileds = clazz.getDeclaredFields();
Class<?> cls = Class.forName(clazz.getName());
object = cls.newInstance();
Field[] fileds = clazz.getDeclaredFields();
for (Field fs : fileds) {
String fieldName = fs.getName();
String fieldType = fs.getGenericType().toString()
.replace("class ", ""); // 如果type是类类型则前面包含"class "后面跟类名
if (paramMap.containsKey(fieldName)) {
Method method = clazz.getDeclaredMethod(
getAttributeSetName(fs), Class.forName(fieldType));
String value = paramMap.get(fieldName);
if ("java.lang.Integer".equals(fieldType)) {
method.invoke(object, Integer.valueOf(value));
} else {
method.invoke(object, value);
}
String fieldType = fs.getGenericType().toString();
Object value = req.getAttribute(fieldName);
if (null != value) {
Method method = cls.getDeclaredMethod(
getAttributeSetName(fs),
BasedType.getTypeClass(fieldType));
method.invoke(object, value);
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch blockAQA
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
@ -53,10 +58,7 @@ public class UtilsHelper {
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return object;
};
@ -67,8 +69,8 @@ public class UtilsHelper {
* @return
*/
public static Object newObjAndSetAttrsByInstance(Object object,
Map<String, String> mapParam) {
return newObjAndSetAttrsByClass(object.getClass(), mapParam);
HttpServletRequest req) {
return newObjAndSetAttrsByClass(object.getClass(), req);
}
/**
@ -85,29 +87,4 @@ public class UtilsHelper {
return "set" + String.valueOf(cs);
}
public static <K, V> Map<K, V> updateMap(Map<K, V> map1, Map<K, V> map2) {
if (null == map1 || map1.size() <= 0)
return map2;
Iterator<Entry<K, V>> iterator = map2.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<K, V> entry = iterator.next();
map1.put(entry.getKey(), entry.getValue());
}
return map1;
}
public static <K, V> boolean isSubMap(Map<K, V> map1, Map<K, V> map2) {
boolean flag = true;
if (null == map2 || map2.size() <= 0 || null == map1)
return false;
Iterator<Map.Entry<K, V>> iterator = map1.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<K, V> entry = iterator.next();
if (!map2.containsKey(entry.getKey())
|| !map2.containsValue(entry.getValue()))
return false;
}
return flag;
}
}

View File

@ -1,26 +0,0 @@
package com.platform.test;
public class Brick {
private String ip;
private String path;
public Brick(String ip, String path) {
super();
this.ip = ip;
this.path = path;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
}

View File

@ -1,37 +0,0 @@
package com.platform.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.platform.entities.FolderNode;
public class FolderReader {
public static FolderNode reader(String path) {
FolderNode folderNode = null;
File file = new File(path);
if (file.exists()) {
List<FolderNode> childrens = new ArrayList<FolderNode>();
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
FolderNode children = reader(files[i].getAbsolutePath());
if (children != null)
childrens.add(children);
}
}
folderNode = new FolderNode(file.getName(), file.getAbsolutePath(),
childrens);
}
return folderNode;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
FolderReader folderReader = new FolderReader();
FolderNode folderNode = folderReader.reader("D:/bootstrap");
//folderReader.print(folderNode);
}
}

View File

@ -1,64 +0,0 @@
package com.platform.test;
import java.util.List;
import com.platform.entities.FolderNode;
public class Volume {
private String name;
private long totalSize;
private long usedSize;
private List<Brick> bricks;
private List<FolderNode> folderNode;
public Volume(String volume, long totalSize, long usedSize,
List<Brick> bricks, List<FolderNode> folderNode) {
super();
this.name = volume;
this.totalSize = totalSize;
this.usedSize = usedSize;
this.bricks = bricks;
this.folderNode = folderNode;
}
public String getVolume() {
return name;
}
public void setVolume(String name) {
this.name = name;
}
public long getTotalSize() {
return totalSize;
}
public void setTotalSize(long totalSize) {
this.totalSize = totalSize;
}
public long getUsedSize() {
return usedSize;
}
public void setUsedSize(long usedSize) {
this.usedSize = usedSize;
}
public List<Brick> getBricks() {
return bricks;
}
public void setBricks(List<Brick> bricks) {
this.bricks = bricks;
}
public List<FolderNode> getFolderNode() {
return folderNode;
}
public void setFolderNode(List<FolderNode> folderNode) {
this.folderNode = folderNode;
}
}

View File

@ -1,8 +1,16 @@
package com.platform.test;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.List;
import java.util.Scanner;
import org.junit.Before;
import org.junit.Test;
import com.platform.dao.DataInfoDao;
import com.platform.entities.DataInfoEntity;
import com.platform.entities.PagerOptions;
public class testSystemInfoDao extends SMBasedTest {
private DataInfoDao dfDao;
@ -12,7 +20,30 @@ public class testSystemInfoDao extends SMBasedTest {
dfDao = (DataInfoDao) this.applicationContext.getBean("dataInfoDao");
}
// @Test @Test
// @Test
public void testInsert() {
try {
Scanner in = new Scanner(new File(
"C:/Users/wuming/Desktop/data.txt"));
int count = 0;
while (in.hasNextLine()) {
String str = in.nextLine();
String[] values = str.split("\t");
System.out.println(values.length);
count++;
dfDao.inserRecode(values[0], Integer.parseInt(values[1]), "²ÆÕþ",
Integer.parseInt(values[3]), values[4], values[5],
values[6], values[7]);
}
System.out.println(count);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void test() {
//System.out.println(dfDao.getCount());
}