낭중에 아래의 형태로 추가를 해야겠습니다.
위 코드로 아래의 결과를 만들어 낼 수 있다.
public boolean write(ArrayList<ConfigValue> list) throws Exception {
for(int i=0; i < list.size(); i++) {
System.out.println(list.get(i).getService() +" - "+ list.get(i).getKey()+" - "+ list.get(i).getValues().toString());
}
String fileName = "config-test.xml";
String empty =" ";
try {
XMLOutputFactory xmlFactory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = xmlFactory.createXMLStreamWriter(new java.io.FileWriter(fileName));
writer.writeStartDocument("1.0");
writer.writeCharacters(System.getProperty("line.separator"));
writer.writeStartElement("sjava-config");
writer.writeCharacters(System.getProperty("line.separator"));
String serviceName = list.get(0).getService();
ArrayList<String> serviceList = new ArrayList<String>();
serviceList.add(serviceName);
for(int i=0; i < list.size(); i++) {
if(!serviceName.equals(list.get(i).getService()) ) {
serviceName = list.get(i).getService();
serviceList.add(serviceName);
}
}
for(int i=0; i < serviceList.size(); i++) {
writer.writeCharacters(empty);
writer.writeStartElement("sjava-service");
writer.writeAttribute("name", serviceList.get(i));
writer.writeCharacters(System.getProperty("line.separator"));
for(int j=0; j < list.size(); j++) {
if(serviceList.get(i).equals(list.get(j).getService()) ) {
serviceName = list.get(j).getService();
writer.writeCharacters(empty + empty);
writer.writeStartElement("key");
writer.writeAttribute("name", list.get(j).getKey());
String tmpValue = "";
for(int z =0; z < list.get(j).getValues().length; z++) {
tmpValue += list.get(j).getValues()[z];
if(z != list.get(j).getValues().length-1)
tmpValue +=",";
}
writer.writeAttribute("value", tmpValue);
writer.writeEndElement();
writer.writeCharacters(System.getProperty("line.separator"));
}
}
writer.writeCharacters(empty);
writer.writeEndElement();
writer.writeCharacters(System.getProperty("line.separator"));
}
writer.writeEndElement();
writer.flush();
writer.close();
} catch(Exception e) {
e.printStackTrace();
}
return true;
}
for(int i=0; i < list.size(); i++) {
System.out.println(list.get(i).getService() +" - "+ list.get(i).getKey()+" - "+ list.get(i).getValues().toString());
}
String fileName = "config-test.xml";
String empty =" ";
try {
XMLOutputFactory xmlFactory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = xmlFactory.createXMLStreamWriter(new java.io.FileWriter(fileName));
writer.writeStartDocument("1.0");
writer.writeCharacters(System.getProperty("line.separator"));
writer.writeStartElement("sjava-config");
writer.writeCharacters(System.getProperty("line.separator"));
String serviceName = list.get(0).getService();
ArrayList<String> serviceList = new ArrayList<String>();
serviceList.add(serviceName);
for(int i=0; i < list.size(); i++) {
if(!serviceName.equals(list.get(i).getService()) ) {
serviceName = list.get(i).getService();
serviceList.add(serviceName);
}
}
for(int i=0; i < serviceList.size(); i++) {
writer.writeCharacters(empty);
writer.writeStartElement("sjava-service");
writer.writeAttribute("name", serviceList.get(i));
writer.writeCharacters(System.getProperty("line.separator"));
for(int j=0; j < list.size(); j++) {
if(serviceList.get(i).equals(list.get(j).getService()) ) {
serviceName = list.get(j).getService();
writer.writeCharacters(empty + empty);
writer.writeStartElement("key");
writer.writeAttribute("name", list.get(j).getKey());
String tmpValue = "";
for(int z =0; z < list.get(j).getValues().length; z++) {
tmpValue += list.get(j).getValues()[z];
if(z != list.get(j).getValues().length-1)
tmpValue +=",";
}
writer.writeAttribute("value", tmpValue);
writer.writeEndElement();
writer.writeCharacters(System.getProperty("line.separator"));
}
}
writer.writeCharacters(empty);
writer.writeEndElement();
writer.writeCharacters(System.getProperty("line.separator"));
}
writer.writeEndElement();
writer.flush();
writer.close();
} catch(Exception e) {
e.printStackTrace();
}
return true;
}
위 코드로 아래의 결과를 만들어 낼 수 있다.
<?xml version="1.0"?>
<sjava-config>
<sjava-service name="sjava-config">
<key name="watch" value="false"></key>
<key name="period" value="60"></key>
</sjava-service>
<sjava-service name="sjava-logging-server">
<key name="host" value="111.111.111.111,222.222.222.222"></key>
<key name="port" value="20003"></key>
</sjava-service>
</sjava-config>
<sjava-config>
<sjava-service name="sjava-config">
<key name="watch" value="false"></key>
<key name="period" value="60"></key>
</sjava-service>
<sjava-service name="sjava-logging-server">
<key name="host" value="111.111.111.111,222.222.222.222"></key>
<key name="port" value="20003"></key>
</sjava-service>
</sjava-config>
'My Project' 카테고리의 다른 글
| sjava-config xml configuration 파일저장 코드 (0) | 2010/03/16 |
|---|---|
| sjava-config, sjava-logging 라이브러리를 1.4 버전으로 release 했습니다. (0) | 2010/03/09 |
| sjava-logging 프로젝트의 소스 및 문서 위치 변경합니다. (0) | 2009/11/13 |
| sjava-config 프로젝트의 소스 및 문서 위치 변경합니다. (0) | 2009/11/10 |
| sjava-config 1.3 (0) | 2009/10/23 |
sjava-config-1.3.zip