⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constant.java

📁 一个用于监控WEB服务器和数据库服务器的客户端程序。
💻 JAVA
字号:
/**
 * <p>Title: 卓博营运支撑系统</p>
 *
 * <p>Description: 为本企业内部运作提供支撑,为企业資源的E化管理提供解決方案</p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: 卓博信息科技有限公司</p>
 *
 * @author Henry
 * @version 1.0
 */
package com.jobcn.control;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.HashMap;
import java.util.List;
import java.awt.Font;
import javax.swing.Icon;
import javax.swing.ImageIcon;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**  Constant.java
 *   function: 系统初始化类
 *   describe:
 */

public final class Constant {
	private static String getContent() {
		StringBuilder sb = new StringBuilder();
		sb.append("    <system>\r\n");
		sb.append("        <systemName>"
				+ InitConstant.systemName + "</systemName>\r\n"
		);
		sb.append("        <aboutText>"
				+ InitConstant.aboutText + "</aboutText>\r\n"
		);
		sb.append("        <systemIconPath>"
				+ InitConstant.systemIconPath + "</systemIconPath>\r\n"
		);
		sb.append("        <trayIconPath>"
				+ InitConstant.trayIconPath + "</trayIconPath>\r\n"
		);
		sb.append("        <systemConfPath>"
				+ InitConstant.systemConfPath + "</systemConfPath>\r\n"
		);
		sb.append("        <taskConfPath>"
				+ InitConstant.taskConfPath + "</taskConfPath>\r\n"
		);
		sb.append("        <logPath>"
				+ InitConstant.logPath + "</logPath>\r\n"
		);
		sb.append("        <mailServers>"
				+ InitConstant.mailServers + "</mailServers>\r\n"
		);
		sb.append("    </system>\r\n");
		sb.append("    <tasks>\r\n");
		String[] packNames = InitConstant.packNames.split(",");
		String[] packPaths = InitConstant.packPaths.split(",");
		for (int i=0;i<packNames.length;i++) {
			sb.append("        <task>\r\n");
			sb.append("            <name>"
					+ packNames[i] + "</name>\r\n"
			);
			sb.append("            <path>"
					+ packPaths[i] + "</path>\r\n"
			);
			sb.append("        </task>\r\n");
		}
		sb.append("    </tasks>\r\n");
		return sb.toString();
	}
	
	private static String getSystemValue(String elementName) {
		return systemFields.element(elementName).getText();
	}
	
	private static String[] getTasksArrayValue(String elementName) {
		String[] result = new String[tasks.size()];
		for (int j = 0; j < tasks.size(); j++) {
			result[j] = ((Element)tasks.get(j)).element(elementName).getText();
		}
		return result;
	}
	
	private static SAXReader reader;
	private static Document doc;
	private static Element root, systemFields, tasksFields;
	private static List tasks;
	private static String systemTag = "system", tasksTag = "tasks";
	private static final File file = new File(InitConstant.systemConfPath);
	public static final String logInitText = 
		"<?xml version=\"1.0\" encoding=\"gb2312\"?>\r\n<log>\r\n</log>";
	static {
		if(!file.exists()) {
			file.getParentFile().mkdir();
			StringBuilder sb = new StringBuilder();
			sb.append("<?xml version=\"1.0\" encoding=\"gb2312\"?>\r\n");
			sb.append("<Constants>\r\n");
			sb.append(getContent());
			sb.append("</Constants>\r\n");
			try {
				BufferedWriter writer = new BufferedWriter(new FileWriter(file));
				writer.write(sb.toString());
				writer.flush();
				writer.close();
				sb = null;
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		reader = new SAXReader();
		try {
			doc = reader.read(file);
			root = doc.getRootElement();
			systemFields = root.element(systemTag);
			tasksFields = root.element(tasksTag);
			tasks = tasksFields.elements();
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		// 初始化日志文件
		File logFile = new File(systemFields.element("logPath").getText());
		if (!logFile.exists()) {
			try {
				BufferedWriter bw = new BufferedWriter(new FileWriter(logFile));
				bw.write(logInitText);
				bw.flush();
				bw.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static final String[] taskListData = InitConstant.taskListData.split(",");
	public static final String[] generalData = InitConstant.generalData.split(",");
	public static final String[] stepData = InitConstant.stepData.split(",");
	public static final String[] attempData = InitConstant.attempData.split(",");
	public static final String[] attempType = InitConstant.attempType.split(",");
	public static final String[] notifyData = InitConstant.notifyData.split(",");
	public static final String[] generalType = InitConstant.generalType.split(",");
	public static final String[] stepType = InitConstant.stepType.split(",");
	public static final String[] stepSuccessAction = InitConstant.stepSuccessAction.split(",");
	public static final String[] stepFailureAction = InitConstant.stepFailureAction.split(",");
	public static final String[] notifyType = InitConstant.notifyType.split(",");
	public static final String[] notifyExecResult = InitConstant.notifyExecResult.split(",");
	public static final String[] weekOfMonth = InitConstant.weekOfMonth.split(",");
	public static final String[] dayOfWeek = InitConstant.dayOfWeek.split(",");
	public static final String[] months = InitConstant.months.split(",");
	public static final String[] generalXmlField = InitConstant.generalXmlField.split(",");
	public static final String[] stepXmlField = InitConstant.stepXmlField.split(",");
	public static final String[] attempXmlField = InitConstant.attempXmlField.split(",");
	public static final String[] notifyXmlField = InitConstant.notifyXmlField.split(",");
	public static final Font systemFont = new Font("", Font.PLAIN, 12);
	public static final String systemName = getSystemValue("systemName");
	public static final String aboutText = getSystemValue("aboutText");
	public static final Icon systemIcon = new ImageIcon(getSystemValue("systemIconPath"));
	public static final ImageIcon trayIcon = new ImageIcon(getSystemValue("trayIconPath"));
	public static final String systemConfPath = getSystemValue("systemConfPath");
	public static final String taskConfPath = getSystemValue("taskConfPath");
	public static final String logPath = getSystemValue("logPath");
	public static final String[] mailServers = getSystemValue("mailServers").split(",");
	
	//	 以下以 'STEP_TYPE_' 开头的字段值与stepType中元素位置需一一对应
	public static final int STEP_TYPE_MONITOR = 0;
	public static final int STEP_TYPE_COPY = 1;
	public static final int STEP_TYPE_BACKUP = 2;
	public static final int STEP_TYPE_OTHER = 3;
//	 stepPack 与 stepPath 需一一对应
	public static final String[] stepPack = getTasksArrayValue("name");
	public static final String[] stepPath = getTasksArrayValue("path");
	public static HashMap<Integer, String[]> packMap = new HashMap<Integer, String[]>();
	public static HashMap<Integer, String> typeMap = new HashMap<Integer, String>();
	static {
		for (int i = 0; i < stepType.length; i++) {
			typeMap.put(new Integer(i), stepType[i]);
		}
	}
	static {
		for (int i = 0; i < stepPack.length; i++) {
			packMap.put(new Integer(i), new String[]{stepPack[i], stepPath[i]});
		}
	}
	


	
	// 静态常量类
	private static final class InitConstant {
		public static final String systemName = "任务管理系统 V1.0"; 
		public static final String aboutText = 
			"&lt;html&gt;&lt;b&gt;欢迎使用任务管理系统&lt;BR&gt;"
			+"版本:v1.0&lt;BR&gt;作者:Henry&lt;/b&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;"
			+"版权所有:1999-2006东莞市卓博信息科技有限公司 粤B2-20040458";
		public static final String systemIconPath = "img/taskManager.jpg";
		public static final String trayIconPath = "img/taskManager.jpg";
		public static final String systemConfPath = "conf/sys/config.xml";
		public static final String taskConfPath = "conf/task/";
		public static final String logPath = "log/message.xml";
		public static final String taskListData = 
			"序号,任务名称,任务类型,描述,创建时间,上次修改时间,启动/中止";
		public static final String generalData = 
			"名称,分类,描述,创建时间,上次修改时间";
		public static final String stepData = 
			"序号,步骤名称,类型,别名,路径,成功时,失败时,输出文件";
		public static final String attempData = 
			"序号,调度名称,调度类型,执行频率,创建时间,上次更新时间";//,"启用"};
		public static final String attempType = "自动,一次,重复";
		public static final String notifyData = 
			"邮件方式,邮件方式条件,邮件地址,抄送,即时方式,即时条件,在线ID";
		public static final String generalType = "类型一,类型二,类型三,类型四";
		public static final String stepType = "监控,复制,备份,其他";
		// stepPack 与 stepPath 需一一对应
		public static final String packNames = 
			"复制一,复制二,复制三,复制四,监控WEB服务器";
		public static final String packPaths = 
			"com.jobcn.task.SALEDeptCusTractList_dest,"
			+"com.jobcn.task.SALEDept_TP,"
			+"com.jobcn.task.SALEDeptCusTractList,"
			+"com.jobcn.task.SALEPerCusTractList,"
			+"com.jobcn.task.ServerMonitor";
		public static final String stepSuccessAction = 
			"退出报告成功的步骤,退出报告失败的步骤,转到下一步,转到第一步";
		public static final String stepFailureAction = 
			"退出报告成功的步骤,退出报告失败的步骤,转到下一步,转到第一步";
		public static final String notifyType = "电子邮件,即时通信";
		public static final String notifyExecResult = 
			"当任务执行成功时,当任务执行失败时,当任务完成时";
		public static final String weekOfMonth = 
			"第一个,第二个,第三个,第四个,最后一个";
		public static final String dayOfWeek = 
			"星期一,星期二,星期三,星期四,星期五,星期六,星期日";
		public static final String months = 
			"一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月"
		;
		public static final String generalXmlField = 
			"name,type,desc,create,update";
		public static final String stepXmlField = 
			"id,name,type,byname,path,successAction,failureAction,outputFile";
		public static final String attempXmlField = 
			"id,attempName,execCode,intervalType,createDate,"
			+"updateDate,execDate,execHour,execMinute,"
			+"intervalCode,anyDayJI,anyWeekJI,anyMonthSelectCode,"
			+"anyDayOfMonthJI,anyWeekOfMonthJI,anyDayOfWeekJI,"
			+"hourOrMinuteJI,hourOrMinute,endTypeCode,"
			+"endHour,endMinute,periodHour,periodMinute,startDate,"
			+"startHour,startMinute,endDateCode,endDate,"
			+"selectWeeks,selectMonths,enable";
		public static final String notifyXmlField = 
			"isMail,mailAction,address,cc,isOnline,"
			+"onlineAction,onlineID";
		public static final String mailServers = 
			"192.168.60.130,192.168.60.131,192.168.60.129";
	}
}












⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -