亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? datatree.java

?? eclipse rcp 項(xiàng)目實(shí)例
?? JAVA
字號(hào):
package com.niis.myprice.domain;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

import com.niis.myprice.util.message.Messages;
import com.niis.myprice.util.sys.SysConfig;


public class DataTree {
	private Kind root;
	private static DataTree dt ;
	private Kind abstractRoot;
	private static Logger logger = Logger.getLogger(DataTree.class);
	public DataTree(){
		File file = new File(SysConfig.FILE_NAME);
		if(file.exists()){
			load2();
		}else{
			load1();
			if(SysConfig.IS_TEST){
				load();
			}
		}
	}
	public static DataTree getDt(){
		if(dt == null){
			synchronized(DataTree.class){
				if(dt == null){
					dt = new DataTree();
				}
			}
		}
		return dt;
	}
	//first init 
	public void load1(){
		abstractRoot = new Kind(0,Messages.getString("DataTree.virtualroot"),Messages.getString("DataTree.virtualroot"),null); //$NON-NLS-1$ //$NON-NLS-2$
		root = new Kind(1,Messages.getString("DataTree.kind"),Messages.getString("DataTree.root"),abstractRoot); //$NON-NLS-1$ //$NON-NLS-2$
	}
	//for test
	public void load(){
//		abstractRoot = new Kind(0,Messages.getString("DataTree.virtualroot"),Messages.getString("DataTree.virualroot"),null); //$NON-NLS-1$ //$NON-NLS-2$
//		root = new Kind(1,Messages.getString("DataTree.kind"),Messages.getString("DataTree.root"),abstractRoot); //$NON-NLS-1$ //$NON-NLS-2$
		int big = 4;
		int mid = 4;
		int sml = 4;
		int wareNum = 4;
		int num=2;
		for(int i=0;i<big;i++){
			Kind bigKind = new Kind(num++,Messages.getString("DataTree.bigkind"),Messages.getString("DataTree.bigkind"),root); //$NON-NLS-1$ //$NON-NLS-2$
			for(int j=0;j<mid;j++){
				Kind midKind = new Kind(num++,Messages.getString("DataTree.midkind"),Messages.getString("DataTree.midkind"),bigKind); //$NON-NLS-1$ //$NON-NLS-2$
//				bigKind.addChild(midKind);
				for(int k=0;k<sml;k++){
					Kind smlKind = new Kind(num++,Messages.getString("DataTree.smallkind"),Messages.getString("DataTree.smallkind"),midKind); //$NON-NLS-1$ //$NON-NLS-2$
//					midKind.addChild(smlKind);
					for(int m =0;m<wareNum;m++){
						String name = Messages.getString("DataTree.ware")+m; //$NON-NLS-1$
						Ware ware = new Ware(num++,name,name,smlKind,222.22);
//						smlKind.addChild(ware);
					}
				}
			}
		}
	}
	//for release 
	public void load2(){
		abstractRoot = new Kind(0,Messages.getString("DataTree.virtualroot"),Messages.getString("DataTree.virualroot"),null); //$NON-NLS-1$ //$NON-NLS-2$
		try{
		    SAXBuilder sb=new SAXBuilder(); 
		    Document doc=sb.build(SysConfig.FILE_NAME);
		    Element xmlRoot=doc.getRootElement();
		    root = getRootFromXml(xmlRoot);
		    abstractRoot.addChild(root);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	public Kind getRootFromXml(Element xmlRoot){
		Kind kind = new Kind(null);
		//self info
		kind.setNum(Integer.parseInt(xmlRoot.getAttributeValue("num")));
		kind.setName(xmlRoot.getAttributeValue("name"));
		kind.setDesc(xmlRoot.getAttributeValue("desc"));
		//ware
		List wareList = xmlRoot.getChildren("ware");
		if(wareList != null){
			Iterator ie = wareList.iterator();
			while(ie.hasNext()){
				Element wareElement = (Element)ie.next();
				Ware ware = new Ware(kind);
				ware.setNum(Integer.parseInt(wareElement.getAttributeValue("num")));
				ware.setName(wareElement.getAttributeValue("name"));
				ware.setDesc(wareElement.getAttributeValue("desc"));
				ware.setPrice(Double.parseDouble(wareElement.getAttributeValue("price")));
				ware.setUpdDate(wareElement.getAttributeValue("updDate"));
			}
		}
		//kind
		List kindList = xmlRoot.getChildren("kind");
		if(kindList != null){
			Iterator ie = kindList.iterator();
			while(ie.hasNext()){
				Element kindElement = (Element)ie.next();
				kind.addChild(getRootFromXml(kindElement));
			}
		}
		
		return kind;
	}
	public boolean save(){
		try{
			String fileName = SysConfig.FILE_NAME;
			String bakName = SysConfig.BAK_FILE_NAME;
			File file = new File(fileName);
			if(file.exists()){
				File bakFile = new File(bakName);
				if(bakFile.exists()){
					bakFile.delete();
				}
				file.renameTo(new File(bakName));
			}
			file.createNewFile();
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF-8"));
			Element xmlRoot = getXmlRoot(root);
			XMLOutputter outputter = new XMLOutputter();
			outputter.output(xmlRoot,bw);
			bw.close();
		}catch(Exception e){
			e.printStackTrace();
		}
		return true;
	}
	public Element getXmlRoot(Kind root){
		//self info
		Element kindElement = new Element("kind");
		kindElement.setAttribute("num",root.getDisplayNum());
		kindElement.setAttribute("name",root.getDisplayName());
		kindElement.setAttribute("desc",root.getDisplayDesc());
		//ware children
		ArrayList wareList = root.getWareChildren();
		Iterator ie = wareList.iterator();
		while(ie.hasNext()){
			Ware ware = (Ware)ie.next();
			Element wareElement = new Element("ware");
			wareElement.setAttribute("num",ware.getDisplayNum());
			wareElement.setAttribute("name",ware.getDisplayName());
			wareElement.setAttribute("desc",ware.getDisplayDesc());
			wareElement.setAttribute("price",ware.getDisplayPrice());
			wareElement.setAttribute("updDate",ware.getSaveUpdDate());
			kindElement.addContent(wareElement);
		}
		//kind children
		ArrayList kindList = root.getChildren();
		ie = kindList.iterator();
		while(ie.hasNext()){
			Kind kind = (Kind)ie.next();
			if(kind != null){
				Element element = getXmlRoot(kind);
				kindElement.addContent(element);
			}
		}
		return kindElement;
	}
	public Kind getAbstractRoot() {
		return abstractRoot;
	}
	public void setAbstractRoot(Kind abstractRoot) {
		this.abstractRoot = abstractRoot;
	}
	
	public static void main(String[] args){
//		DataTree dt = new DataTree();
//		dt.load();
//		dt.save();
//		System.out.println();
		try{
			SAXBuilder sb=new SAXBuilder(); 
		    Document doc=sb.build("D:\\runtime-EclipseApplication(5)\\db.xml");
		    Element root=doc.getRootElement();
			XMLOutputter outputter = new XMLOutputter();
//			System.out.println(outputter.outputString(root));
			outputter.output(root,System.out);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	public boolean isModified(){
		boolean result = false;
		File file = new File(SysConfig.FILE_NAME);
		if(!file.exists()){
			return true;
		}
		try{
			 SAXBuilder sb=new SAXBuilder(); 
			 Document doc=sb.build(SysConfig.FILE_NAME);
			 Element oldRoot = doc.getRootElement();
			 Element newRoot = getXmlRoot(root);
			 XMLOutputter outputter = new XMLOutputter();
			 String oldStr = outputter.outputString(oldRoot);
			 String newStr = outputter.outputString(newRoot);
//			 logger.debug("=============");
//			 logger.debug(oldStr);
//			 logger.debug(newStr);
			 result = !newStr.equals(oldStr);
			 logger.debug(String.valueOf(result));
//			 result = newRoot.equals(oldRoot);
		}catch(Exception e){
			e.printStackTrace();
		}
		return result;
	}
	public String getMailString(){
		Element xmlRoot = getXmlRoot(root);
		XMLOutputter outputter = new XMLOutputter();
		String mailStr = outputter.outputString(xmlRoot);
		logger.debug("mailStr="+mailStr);
		return mailStr;
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
看电视剧不卡顿的网站| 狠狠v欧美v日韩v亚洲ⅴ| 精品美女被调教视频大全网站| 国产一区二区视频在线播放| 一区二区三区精品视频在线| 26uuu精品一区二区三区四区在线| 在线免费观看日韩欧美| 成人午夜视频在线| 日韩不卡手机在线v区| 亚洲婷婷综合色高清在线| 精品人伦一区二区色婷婷| 欧美日韩一区二区三区不卡| 成人va在线观看| 久久精品国产第一区二区三区| 一区二区三区免费观看| 欧美国产一区在线| 久久综合色婷婷| 欧美一区二区三区在线观看视频| 色av成人天堂桃色av| 成人高清视频免费观看| 国产精品一二三区在线| 久久99热99| 免费在线观看一区二区三区| 亚洲国产成人va在线观看天堂 | 久久九九国产精品| 日韩欧美另类在线| 欧美乱妇15p| 欧美亚洲国产一卡| 色狠狠综合天天综合综合| 成人免费毛片aaaaa**| 风间由美一区二区三区在线观看 | 日韩欧美国产1| 欧美三级中文字幕| 欧美丝袜丝交足nylons| 日本丶国产丶欧美色综合| 91在线视频在线| 99久久久无码国产精品| 99re视频精品| 色综合天天综合网天天狠天天 | 夫妻av一区二区| 国产精品亚洲午夜一区二区三区| 国产一区二三区| 激情综合色综合久久| 国产麻豆精品一区二区| 国产成人综合自拍| 国产精品性做久久久久久| 国产一区二区三区四区在线观看| 国产精品原创巨作av| 国产99一区视频免费| 99热99精品| 色就色 综合激情| 884aa四虎影成人精品一区| 91精品午夜视频| 精品少妇一区二区三区视频免付费 | 在线成人午夜影院| 欧美一区二区三区视频在线| 欧美一区二区国产| 久久免费电影网| 国产精品家庭影院| 亚洲美女屁股眼交3| 亚洲国产日韩综合久久精品| 婷婷久久综合九色综合绿巨人 | 在线亚洲+欧美+日本专区| 欧美在线三级电影| 3751色影院一区二区三区| 精品美女一区二区| 中文字幕中文字幕一区| 亚洲国产综合在线| 蜜臂av日日欢夜夜爽一区| 国产成人亚洲综合色影视| 91丨porny丨首页| 欧美丰满高潮xxxx喷水动漫| 久久久亚洲国产美女国产盗摄 | 亚洲免费观看高清| 蜜臀av一区二区| 成人精品小蝌蚪| 7777精品伊人久久久大香线蕉的| 欧美电影免费观看高清完整版| 亚洲国产精品99久久久久久久久| 亚洲一二三级电影| 国产综合久久久久久鬼色 | 99国产精品一区| 69p69国产精品| 国产精品三级电影| 日韩国产高清在线| av电影一区二区| 欧美一级日韩免费不卡| 中文字幕一区日韩精品欧美| 日本亚洲天堂网| 色伊人久久综合中文字幕| 日韩欧美一区中文| 1024精品合集| 国产毛片一区二区| 7777精品伊人久久久大香线蕉的| 中文字幕在线不卡| 极品美女销魂一区二区三区| 91福利小视频| 亚洲国产精品ⅴa在线观看| 日韩中文字幕亚洲一区二区va在线| 国产成人精品亚洲日本在线桃色| 欧美精品xxxxbbbb| 亚洲视频每日更新| 国产一区啦啦啦在线观看| 7777精品伊人久久久大香线蕉超级流畅| 亚洲国产精品v| 国内精品国产成人国产三级粉色| 在线免费av一区| 国产精品久久久久三级| 精品一区二区综合| 欧美一级日韩不卡播放免费| 亚洲制服丝袜在线| 99视频超级精品| 欧美激情一区在线| 国产在线播放一区| 日韩欧美在线1卡| 日本欧美肥老太交大片| 欧美视频在线观看一区| 亚洲另类色综合网站| 懂色av一区二区夜夜嗨| 精品国产乱码久久久久久图片 | 美女脱光内衣内裤视频久久网站| 欧美亚洲一区二区在线观看| 国产精品三级视频| 成人免费观看视频| 国产欧美精品一区二区色综合 | 国产精品嫩草久久久久| 国产精品一级在线| 国产亚洲精品久| 国内成人精品2018免费看| 精品动漫一区二区三区在线观看| 喷白浆一区二区| 91麻豆精品国产91久久久更新时间| 亚洲第一二三四区| 欧美日韩不卡视频| 日日夜夜一区二区| 91精品国产一区二区三区香蕉| 午夜激情久久久| 91精品在线一区二区| 美女视频黄久久| 欧美成人激情免费网| 狠狠色伊人亚洲综合成人| 欧美精品一区二区精品网| 激情久久久久久久久久久久久久久久| 日韩欧美综合在线| 精品制服美女丁香| 国产日韩欧美制服另类| 成人一道本在线| 综合精品久久久| 欧美综合亚洲图片综合区| 亚洲国产一区二区三区青草影视 | 精品国产一区二区三区av性色| 麻豆精品视频在线观看免费| 2017欧美狠狠色| 国产.欧美.日韩| 亚洲欧美国产77777| 欧美日韩国产影片| 久久不见久久见中文字幕免费| 26uuu久久天堂性欧美| 成人午夜私人影院| 亚洲精品国产无套在线观| 欧美怡红院视频| 人人狠狠综合久久亚洲| 久久久久高清精品| av不卡免费电影| 日韩专区一卡二卡| 久久久不卡网国产精品一区| 成人av免费在线播放| 一区二区三区免费观看| 欧美sm极限捆绑bd| 91麻豆福利精品推荐| 日韩精品福利网| 国产精品美女久久福利网站| 欧美午夜影院一区| 激情另类小说区图片区视频区| 成人欧美一区二区三区白人| 欧美久久婷婷综合色| 国产精品自在欧美一区| 一区二区三区高清不卡| 欧美成人国产一区二区| 色综合天天在线| 青青草原综合久久大伊人精品 | 国产精品久久久久影院色老大| 日本国产一区二区| 久久99九九99精品| 亚洲欧美日韩精品久久久久| 日韩午夜av电影| 色中色一区二区| 国产精品综合在线视频| 亚洲1区2区3区4区| 国产精品超碰97尤物18| 精品国产一区二区三区av性色 | 国产欧美va欧美不卡在线 | 国产欧美日韩综合精品一区二区| 欧美午夜精品理论片a级按摩| 国产呦精品一区二区三区网站| 一区二区三区美女视频| 中文字幕成人av| 欧美成人精品福利| 欧美性极品少妇| 91在线码无精品|