first issue

This commit is contained in:
mehmet 2026-05-25 01:08:06 +03:00
parent 51ca1cf107
commit 3bf4ddc2f5
14 changed files with 457 additions and 12 deletions

6
.classpath Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

17
.gitignore vendored
View File

@ -1,16 +1,11 @@
# ---> Java # Java
# Compiled class file target/
bin/
*.class *.class
# Log file # Log file
*.log *.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files # # Package Files #
*.jar *.jar
*.war *.war
@ -20,7 +15,5 @@
*.tar.gz *.tar.gz
*.rar *.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml # do NOT ignores
hs_err_pid* !lib/*
replay_pid*

17
.project Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>exampleXml</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,61 @@
package mmk.xml;
import java.io.IOException;
import java.util.Locale;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ReadXmlFile {
public static void main(String[] args) {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
Document doc;
try {
dBuilder = dbFactory.newDocumentBuilder();
doc = dBuilder.parse("txt//asd.xml");
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Parameter");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node node = nList.item(temp);
Element param = (Element) node;
System.out.println(setParameters(param));
}
}
catch (ParserConfigurationException | SAXException | IOException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
private static String setParameters(Element element) throws Exception{
String result = "";
String typeOfParameter = element.getAttribute("type").trim().toLowerCase(Locale.ENGLISH);
if (typeOfParameter.equals("real_number"))
result = element.getAttribute("name") + " - " + element.getAttribute("type")
+ " - " + Double.valueOf(element.getAttribute("value"));
else if (typeOfParameter.equals("string"))
result = element.getAttribute("name") + " - " + element.getAttribute("type")
+ " - " + element.getAttribute("value");
else if (typeOfParameter.equals("integer"))
result = element.getAttribute("name") + " - " + element.getAttribute("type")
+ " - " + Integer.valueOf(element.getAttribute("value"));
else if (typeOfParameter.equals("yes_no"))
result = element.getAttribute("name") + " - " + element.getAttribute("type")
+ " - " + Boolean.valueOf(element.getAttribute("value"));
return result;
}
}

View File

@ -0,0 +1,65 @@
package mmk.xml;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class WriteXmlFile {
public static void main(String[] args) {
File xmlFile = new File("txt\\" + "asd.xml");
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.newDocument();
Element rootElement = doc.createElement("Parameters");
doc.appendChild(rootElement);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult sResult = new StreamResult(xmlFile);
Element childElement = doc.createElement("Parameter");
rootElement.appendChild(childElement);
Attr attrName = doc.createAttribute("name");
attrName.setValue("id");
childElement.setAttributeNode(attrName);
Attr attrType = doc.createAttribute("type");
attrType.setValue("string");
childElement.setAttributeNode(attrType);
Attr attrValue = doc.createAttribute("value");
attrValue.setValue("00001");
childElement.setAttributeNode(attrValue);
DOMSource source = new DOMSource(doc);
transformer.transform(source, sResult);
}
catch (ParserConfigurationException | TransformerException pce) {
System.out.println("error: " + pce.getMessage());
}
System.out.println("Completed.");
}
}

View File

@ -0,0 +1,38 @@
package mmk.xml.repo;
import java.io.IOException;
public class XmlApp {
public static void main(String[] args) throws IOException {
saveXml("txt\\asd2.xml");
readXml("txt\\asd2.xml");
}
private static void saveXml(String file) {
XmlParameter<String> xp1 = new XmlParameter<>("name", "STRING", "M.KILIC");
XmlParameter<String> xp2 = new XmlParameter<>("machineType", "STRING", "workstation");
XmlParameter<Double> xp3 = new XmlParameter<>("length", "REAL_NUMBER", 200.5);
XmlParameter<Integer> xp4 = new XmlParameter<>("qty", "INTEGER", 5);
XmlParameter<Boolean> xp5 = new XmlParameter<>("completed", "YES_NO", true);
XmlRepo xmlr = new XmlRepo(file);
xmlr.addParam(xp1);
xmlr.addParam(xp2);
xmlr.addParam(xp3);
xmlr.addParam(xp4);
xmlr.addParam(xp5);
System.out.println("done");
}
private static void readXml(String file) {
XmlRepo xmlr = new XmlRepo(file);
xmlr.readParam().stream().forEach(p -> System.out.println(p.toString()));
}
}

View File

@ -0,0 +1,44 @@
package mmk.xml.repo;
public class XmlParameter<T> {
private String name;
private String type;
private T value;
public XmlParameter() { }
public XmlParameter(String name, String type, T value) {
this.name = name;
this.type = type;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public T getValeu() {
return value;
}
public void setValeu(T valeu) {
this.value = valeu;
}
@Override
public String toString() {
return name +" - "+ type +" - "+ value;
}
}

View File

@ -0,0 +1,178 @@
package mmk.xml.repo;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class XmlRepo {
private File xmlFile;
private Document doc;
private Element rootElement;
private Transformer transformer;
private StreamResult sResult;
public XmlRepo(String urlFileName) {
xmlFile = new File(urlFileName);
if (xmlFile.exists()) {
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
doc = dBuilder.parse(xmlFile);
rootElement = doc.getDocumentElement();
TransformerFactory tFactory = TransformerFactory.newInstance();
transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
sResult = new StreamResult(xmlFile);
}
catch (ParserConfigurationException pce) {
System.out.println(pce.getMessage());
}
catch (TransformerConfigurationException tce) {
System.out.println(tce.getMessage());
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
else {
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
doc = dBuilder.newDocument();
rootElement = doc.createElement("Parameters");
doc.appendChild(rootElement);
TransformerFactory tFactory = TransformerFactory.newInstance();
transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
//transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
//transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "3");
sResult = new StreamResult(xmlFile);
DOMSource source = new DOMSource(doc);
transformer.transform(source, sResult);
}
catch (ParserConfigurationException pce) {
//...
}
catch (TransformerConfigurationException tce) {
//...
}
catch (Exception e) {
//...
}
}
}
public boolean addParam(XmlParameter<?> parameter) {
try {
Element childElement = doc.createElement("Parameter");
rootElement.appendChild(childElement);
Attr attrName = doc.createAttribute("name");
attrName.setValue(parameter.getName());
childElement.setAttributeNode(attrName);
Attr attrType = doc.createAttribute("type");
attrType.setValue(parameter.getType());
childElement.setAttributeNode(attrType);
Attr attrValue = doc.createAttribute("value");
attrValue.setValue(parameter.getValeu().toString());
childElement.setAttributeNode(attrValue);
DOMSource source = new DOMSource(doc);
transformer.transform(source, sResult);
return true;
}
catch (Exception ex) {
return false;
}
}
public boolean changeParam(XmlParameter<?> parameter) {
try {
NodeList nList = doc.getElementsByTagName("Parameter");
for (int i = 0; i <nList.getLength(); i++) {
Element e = (Element)nList.item(i);
if (e.getAttribute("name").equalsIgnoreCase(parameter.getName()) &&
e.getAttribute("type").equalsIgnoreCase(parameter.getType())) {
e.setAttribute("value", parameter.getValeu().toString());
DOMSource source = new DOMSource(doc);
transformer.transform(source, sResult);
return true;
}
}
return false;
}
catch (Exception ex) {
return false;
}
}
public List<XmlParameter<?>> readParam(){
List<XmlParameter<?>> parameters = new ArrayList<>();
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Parameter");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node node = nList.item(temp);
Element param = (Element) node;
try {
parameters.add(getParameter(param));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
return parameters;
}
private XmlParameter<?> getParameter(Element element) throws Exception{
XmlParameter<?> parameter = null;
String typeOfParameter = element.getAttribute("type").trim().toLowerCase(Locale.ENGLISH);
if (typeOfParameter.equals("real_number"))
parameter = new XmlParameter<Double>(element.getAttribute("name"),
element.getAttribute("type"), Double.valueOf(element.getAttribute("value")));
else if (typeOfParameter.equals("string"))
parameter = new XmlParameter<String>(element.getAttribute("name"),
element.getAttribute("type"), (element.getAttribute("value")));
else if (typeOfParameter.equals("integer"))
parameter = new XmlParameter<Integer>(element.getAttribute("name"),
element.getAttribute("type"), Integer.valueOf(element.getAttribute("value")));
else if (typeOfParameter.equals("yes_no"))
parameter = new XmlParameter<Boolean>(element.getAttribute("name"),
element.getAttribute("type"), Boolean.valueOf(element.getAttribute("value")));
return parameter;
}
}

4
txt/asd.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Parameters>
<Parameter name="id" type="string" value="00001"/>
</Parameters>

8
txt/asd2.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Parameters>
<Parameter name="name" type="STRING" value="M.KILIC"/>
<Parameter name="machineType" type="STRING" value="workstation"/>
<Parameter name="length" type="REAL_NUMBER" value="200.5"/>
<Parameter name="qty" type="INTEGER" value="5"/>
<Parameter name="completed" type="YES_NO" value="true"/>
</Parameters>

10
xmlFiles/CityTemplate.xml Normal file
View File

@ -0,0 +1,10 @@
<Cities>
<City id="1"><name>Bratislava</name><population>432000</population></City>
<City id="2"><name>Budapest</name><population>1759000</population></City>
<City id="3"><name>Prague</name><population>1280000</population></City>
<City id="4"><name>Warsaw</name><population>1748000</population></City>
<City id="5"><name>Los Angeles</name><population>3971000</population></City>
<City id="6"><name>New York</name><population>8550000</population></City>
<City id="7"><name>Edinburgh</name><population>464000</population></City>
<City id="8"><name>Berlin</name><population>3671000</population></City>
</Cities>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Parameters>
<Parameter name="FB_NO" type="STRING" value="ABC123"/>
<Parameter name="CORE_DIA" type="INTEGER" value="689"/>
<Parameter name="CORE_CTR_TO_CTR" type="REAL_NUMBER" value="1317"/>
<Parameter name="CORE_INSULATION" type="YES_NO" value="FALSE"/>
</Parameters>