package com.sinoufc.nms.alarm.util;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class AnalysisAlarmPlot {
private final String path = this.getClass().getResource("/").getPath()+ "alarm_plot.xml";
//private static String strFileName="alarm_plot.xml";
// protected static HttpServletRequest httpServletRequest;
public String analysisXML(){
String refreshRate = null;
try
{
// String filePath = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()+"com/sinoufc/nms/alarm/util/";
File xmlFile=new File(path); // Assgin XML File
SAXReader reader=new SAXReader(); //Connstructor SAXReader Object
Document xmlDoc=reader.read(xmlFile); // Read xml stream
Element root=xmlDoc.getRootElement(); //Get the root node of XML File
List listRowSet=xmlDoc.selectNodes("//refreshrate"); //Get the rowset
for(Iterator i=listRowSet.iterator();i.hasNext();){
Element ele=(Element)i.next();
refreshRate = ele.attribute("rate").getValue();
System.out.println(ele.attribute("rate").getValue());
}
}catch(Exception e){
System.out.print(e.getMessage());
}
return refreshRate;
}
public void updateXML(String refRate){
try
{
// String filePath = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()+"com/sinoufc/nms/alarm/util/";
File xmlFile=new File(path); // Assgin XML File
SAXReader reader=new SAXReader(); //Connstructor SAXReader Object
Document xmlDoc=reader.read(xmlFile); // Read xml stream
Element root=xmlDoc.getRootElement(); //Get the root node of XML File
List listRowSet=xmlDoc.selectNodes("//refreshrate"); //Get the rowset
for(Iterator i=listRowSet.iterator();i.hasNext();){
Element ele=(Element)i.next();
Attribute a=ele.attribute("rate");
ele.remove(a);
ele.addAttribute("rate",refRate);
}
XMLWriter output;
OutputFormat format = OutputFormat.createPrettyPrint();
try {
output = new XMLWriter(new FileWriter(path), format);
output.write(xmlDoc);
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}catch(Exception e){
System.out.print(e.getMessage());
}
}
public void changeAlarmLisenerState(String state){
try{
// String filePath = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()+"com/sinoufc/nms/alarm/util/";
File xmlFile=new File(path); // Assgin XML File
SAXReader reader=new SAXReader(); //Connstructor SAXReader Object
Document xmlDoc=reader.read(xmlFile); // Read xml stream
Element root=xmlDoc.getRootElement(); //Get the root node of XML File
List listRowSet=xmlDoc.selectNodes("//alarmlisener"); //Get the rowset
for(Iterator i=listRowSet.iterator();i.hasNext();){
Element ele=(Element)i.next();
Attribute a=ele.attribute("state");
ele.remove(a);
ele.addAttribute("state",state);
}
XMLWriter output;
OutputFormat format = OutputFormat.createPrettyPrint();
try {
output = new XMLWriter(new FileWriter(path), format);
output.write(xmlDoc);
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}catch(Exception e){
e.printStackTrace();
}
}
public String getAlarmLisenerState(){
String state = null;
try
{
// String filePath = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()+"com/sinoufc/nms/alarm/util/";
System.out.println(path);
File xmlFile=new File(path); // Assgin XML File
SAXReader reader=new SAXReader(); //Connstructor SAXReader Object
Document xmlDoc=null;
xmlDoc = reader.read(xmlFile); // Read xml stream
Element root=xmlDoc.getRootElement(); //Get the root node of XML File
List listRowSet=xmlDoc.selectNodes("//alarmlisener"); //Get the rowset
for(Iterator i=listRowSet.iterator();i.hasNext();){
Element ele=(Element)i.next();
state = ele.attribute("state").getValue();
System.out.println(ele.attribute("state").getValue());
}
}catch(Exception e){
System.out.print(e.getMessage());
}
return state;
}
/* public static void main(String [] args) throws URISyntaxException{
String filePath = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()+"";
System.out.println("path:"+filePath+"com/sinoufc/nms/alarm/util/");
updateXML();
analysisXML();
}*/
}