KUNDEN und ARTIKEL die XML-Methoden in entsprechenden Controller Klassen
ausgelagert. STARTUPMENUE funktionen übergeben. -> Main ist ausführbar - Dateinamen von Kunden und Artikeln noch im Konfliktmaster
parent
88ad78ac3e
commit
17d389ab2c
|
@ -0,0 +1,130 @@
|
||||||
|
package controller;
|
||||||
|
|
||||||
|
import model.Artikel;
|
||||||
|
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.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.Node;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class ArtikelController {
|
||||||
|
|
||||||
|
// Methode zum Speichern der Artikeldaten im XML-Format
|
||||||
|
public static void speichereAlsXML(Artikel artikel) {
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
Document doc = dBuilder.newDocument();
|
||||||
|
|
||||||
|
// Root-Element
|
||||||
|
Element rootElement = doc.createElement("Artikel");
|
||||||
|
doc.appendChild(rootElement);
|
||||||
|
|
||||||
|
// Artikelnummer-Element
|
||||||
|
Element nummerElement = doc.createElement("Artikelnummer");
|
||||||
|
nummerElement.appendChild(doc.createTextNode(Integer.toString(artikel.getArtikelnummer())));
|
||||||
|
rootElement.appendChild(nummerElement);
|
||||||
|
|
||||||
|
// Einheit-Element
|
||||||
|
Element einheitElement = doc.createElement("Einheit");
|
||||||
|
einheitElement.appendChild(doc.createTextNode(artikel.getEinheit()));
|
||||||
|
rootElement.appendChild(einheitElement);
|
||||||
|
|
||||||
|
// Bezeichnung-Element
|
||||||
|
Element bezeichnungElement = doc.createElement("Bezeichnung");
|
||||||
|
bezeichnungElement.appendChild(doc.createTextNode(artikel.getBezeichnung()));
|
||||||
|
rootElement.appendChild(bezeichnungElement);
|
||||||
|
|
||||||
|
// Nettopreis-Element
|
||||||
|
Element nettopreisElement = doc.createElement("Nettopreis");
|
||||||
|
nettopreisElement.appendChild(doc.createTextNode(Double.toString(artikel.getNettopreis())));
|
||||||
|
rootElement.appendChild(nettopreisElement);
|
||||||
|
|
||||||
|
// Mehrwertsteuersatz-Element
|
||||||
|
Element mehrwertsteuersatzElement = doc.createElement("Mehrwertsteuersatz");
|
||||||
|
mehrwertsteuersatzElement.appendChild(doc.createTextNode(Double.toString(artikel.getMehrwertsteuersatz())));
|
||||||
|
rootElement.appendChild(mehrwertsteuersatzElement);
|
||||||
|
|
||||||
|
// Transformieren und Speichern in Datei
|
||||||
|
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||||
|
Transformer transformer = transformerFactory.newTransformer();
|
||||||
|
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||||
|
DOMSource source = new DOMSource(doc);
|
||||||
|
StreamResult result = new StreamResult(new File(Integer.toString(artikel.getArtikelnummer()) + ".xml"));
|
||||||
|
transformer.transform(source, result);
|
||||||
|
|
||||||
|
System.out.println("Die XML-Datei wurde erfolgreich gespeichert.");
|
||||||
|
|
||||||
|
} catch (ParserConfigurationException | TransformerException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Methode zum Auslesen der Artikeldaten aus einer XML-Datei
|
||||||
|
public static Artikel leseAusXML(int artikelnummer) {
|
||||||
|
try {
|
||||||
|
File xmlDatei = new File(Integer.toString(artikelnummer) + ".xml");
|
||||||
|
Artikel artikel = new Artikel(artikelnummer);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
Document doc = dBuilder.parse(xmlDatei);
|
||||||
|
doc.getDocumentElement().normalize();
|
||||||
|
|
||||||
|
NodeList nList = doc.getElementsByTagName("Artikel");
|
||||||
|
|
||||||
|
for (int temp = 0; temp < nList.getLength(); temp++) {
|
||||||
|
Node nNode = nList.item(temp);
|
||||||
|
|
||||||
|
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||||
|
Element eElement = (Element) nNode;
|
||||||
|
|
||||||
|
artikel.setArtikelnummer(Integer.parseInt(eElement.getElementsByTagName("Artikelnummer").item(0).getTextContent()));
|
||||||
|
artikel.setEinheit(eElement.getElementsByTagName("Einheit").item(0).getTextContent());
|
||||||
|
artikel.setBezeichnung(eElement.getElementsByTagName("Bezeichnung").item(0).getTextContent());
|
||||||
|
artikel.setNettopreis(Double.parseDouble(eElement.getElementsByTagName("Nettopreis").item(0).getTextContent()));
|
||||||
|
artikel.setMehrwertsteuersatz(Double.parseDouble(eElement.getElementsByTagName("Mehrwertsteuersatz").item(0).getTextContent()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
System.out.println("Die XML-Datei wurde erfolgreich gelesen.");
|
||||||
|
return artikel;
|
||||||
|
} catch (ParserConfigurationException | SAXException | IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Methode zum Auslesen der Artikeldaten aus einer XML-Datei und in der Konsole ausgeben
|
||||||
|
public static void leseUndGibAusXML(Artikel artikel, String dateiPfad) {
|
||||||
|
leseUndGibAusXML(artikel, dateiPfad);
|
||||||
|
artikel.anzeigen();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Methode zur Eingabe der Artikeldaten über die Konsole
|
||||||
|
public static void eingabeDaten(Artikel artikel, Scanner scanner) {
|
||||||
|
System.out.print("Einheit: ");
|
||||||
|
artikel.setEinheit(scanner.nextLine());
|
||||||
|
|
||||||
|
System.out.print("Bezeichnung: ");
|
||||||
|
artikel.setBezeichnung(scanner.nextLine());
|
||||||
|
|
||||||
|
System.out.print("Nettopreis: ");
|
||||||
|
artikel.setNettopreis(Double.parseDouble(scanner.nextLine()));
|
||||||
|
|
||||||
|
System.out.print("Mehrwertsteuersatz: ");
|
||||||
|
artikel.setMehrwertsteuersatz(Double.parseDouble(scanner.nextLine()));
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,32 +12,30 @@ import javax.xml.transform.dom.DOMSource;
|
||||||
import javax.xml.transform.stream.StreamResult;
|
import javax.xml.transform.stream.StreamResult;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.Node;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
public class KundenController {
|
public class KundenController {
|
||||||
|
|
||||||
public void speichereKundeInXML(Kunde kunde) {
|
// Methode zum Speichern der Kundendaten im XML-Format
|
||||||
|
public static void speichereAlsXML(Kunde kunde) {
|
||||||
try {
|
try {
|
||||||
// Ordner "Kunden" erstellen, falls er nicht existiert
|
|
||||||
File ordner = new File("Kunden");
|
|
||||||
if (!ordner.exists()) {
|
|
||||||
ordner.mkdirs();
|
|
||||||
}
|
|
||||||
|
|
||||||
// XML-Dokument erstellen
|
|
||||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
Document doc = dBuilder.newDocument();
|
Document doc = dBuilder.newDocument();
|
||||||
|
|
||||||
// Root-Element "Kunde"
|
// Root-Element
|
||||||
Element rootElement = doc.createElement("Kunde");
|
Element rootElement = doc.createElement("Kunde");
|
||||||
doc.appendChild(rootElement);
|
doc.appendChild(rootElement);
|
||||||
|
|
||||||
// Kundennummer-Element
|
// Kundennummer-Element
|
||||||
Element kundennummerElement = doc.createElement("Kundennummer");
|
Element nummerElement = doc.createElement("Kundennummer");
|
||||||
kundennummerElement.appendChild(doc.createTextNode(Integer.toString(kunde.getKundennummer())));
|
nummerElement.appendChild(doc.createTextNode(Integer.toString(kunde.getKundennummer())));
|
||||||
rootElement.appendChild(kundennummerElement);
|
rootElement.appendChild(nummerElement);
|
||||||
|
|
||||||
// Name-Element
|
// Name-Element
|
||||||
Element nameElement = doc.createElement("Name");
|
Element nameElement = doc.createElement("Name");
|
||||||
|
@ -69,18 +67,83 @@ public class KundenController {
|
||||||
ansprechpartnerElement.appendChild(doc.createTextNode(kunde.getAnsprechpartner()));
|
ansprechpartnerElement.appendChild(doc.createTextNode(kunde.getAnsprechpartner()));
|
||||||
rootElement.appendChild(ansprechpartnerElement);
|
rootElement.appendChild(ansprechpartnerElement);
|
||||||
|
|
||||||
// XML in Datei speichern
|
// Transformieren und Speichern in Datei
|
||||||
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||||
Transformer transformer = transformerFactory.newTransformer();
|
Transformer transformer = transformerFactory.newTransformer();
|
||||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||||
DOMSource source = new DOMSource(doc);
|
DOMSource source = new DOMSource(doc);
|
||||||
StreamResult result = new StreamResult(new File(ordner, "kunde_" + kunde.getKundennummer() + ".xml"));
|
StreamResult result = new StreamResult(new File(Integer.toString(kunde.getKundennummer()) + ".xml"));
|
||||||
transformer.transform(source, result);
|
transformer.transform(source, result);
|
||||||
|
|
||||||
System.out.println("Kundendaten wurden erfolgreich in XML-Datei gespeichert.");
|
System.out.println("Die XML-Datei wurde erfolgreich gespeichert.");
|
||||||
|
|
||||||
} catch (ParserConfigurationException | TransformerException e) {
|
} catch (ParserConfigurationException | TransformerException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Methode zum Auslesen der Kundendaten aus einer XML-Datei
|
||||||
|
public static Kunde leseAusXML(int kundennummer) {
|
||||||
|
try {
|
||||||
|
File xmlDatei = new File(Integer.toString(kundennummer) + ".xml");
|
||||||
|
Kunde kunde = new Kunde(kundennummer);
|
||||||
|
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||||
|
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||||
|
Document doc = dBuilder.parse(xmlDatei);
|
||||||
|
doc.getDocumentElement().normalize();
|
||||||
|
|
||||||
|
NodeList nList = doc.getElementsByTagName("Kunde");
|
||||||
|
|
||||||
|
for (int temp = 0; temp < nList.getLength(); temp++) {
|
||||||
|
Node nNode = nList.item(temp);
|
||||||
|
|
||||||
|
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||||
|
Element eElement = (Element) nNode;
|
||||||
|
|
||||||
|
kunde.setKundennummer(Integer.parseInt(eElement.getElementsByTagName("Kundennummer").item(0).getTextContent()));
|
||||||
|
kunde.setName(eElement.getElementsByTagName("Name").item(0).getTextContent());
|
||||||
|
kunde.setAnschrift(eElement.getElementsByTagName("Anschrift").item(0).getTextContent());
|
||||||
|
kunde.setEmail(eElement.getElementsByTagName("Email").item(0).getTextContent());
|
||||||
|
kunde.setTelefonnummer(eElement.getElementsByTagName("Telefonnummer").item(0).getTextContent());
|
||||||
|
kunde.setIstKleinunternehmer(Boolean.parseBoolean(eElement.getElementsByTagName("Kleinunternehmer").item(0).getTextContent()));
|
||||||
|
kunde.setAnsprechpartner(eElement.getElementsByTagName("Ansprechpartner").item(0).getTextContent());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Die XML-Datei wurde erfolgreich gelesen.");
|
||||||
|
return kunde;
|
||||||
|
} catch (ParserConfigurationException | SAXException | IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Methode zum Auslesen der Kundendaten aus einer XML-Datei und in der Konsole ausgeben
|
||||||
|
public static void leseUndGibAusXML(Kunde kunde, String dateiPfad) {
|
||||||
|
leseUndGibAusXML(kunde, dateiPfad);
|
||||||
|
kunde.anzeigen();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Methode zur Eingabe der Kundendaten über die Konsole
|
||||||
|
public static void eingabeDaten(Kunde kunde, Scanner scanner) {
|
||||||
|
System.out.print("Name: ");
|
||||||
|
kunde.setName(scanner.nextLine());
|
||||||
|
|
||||||
|
System.out.print("Anschrift: ");
|
||||||
|
kunde.setAnschrift(scanner.nextLine());
|
||||||
|
|
||||||
|
System.out.print("Email: ");
|
||||||
|
kunde.setEmail(scanner.nextLine());
|
||||||
|
|
||||||
|
System.out.print("Telefonnummer: ");
|
||||||
|
kunde.setTelefonnummer(scanner.nextLine());
|
||||||
|
|
||||||
|
System.out.print("Ist der Kunde ein Kleinunternehmer (true/false)? ");
|
||||||
|
kunde.setIstKleinunternehmer(Boolean.parseBoolean(scanner.nextLine()));
|
||||||
|
|
||||||
|
System.out.print("Ansprechpartner: ");
|
||||||
|
kunde.setAnsprechpartner(scanner.nextLine());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,5 @@
|
||||||
package model;
|
package model;
|
||||||
|
|
||||||
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.Document;
|
|
||||||
import org.w3c.dom.Element;
|
|
||||||
import org.w3c.dom.Node;
|
|
||||||
import org.w3c.dom.NodeList;
|
|
||||||
import org.xml.sax.SAXException;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
public class Artikel {
|
public class Artikel {
|
||||||
private static int aktuelleArtikelnummer = 0; // Statische Variable für fortlaufende Artikelnummer
|
private static int aktuelleArtikelnummer = 0; // Statische Variable für fortlaufende Artikelnummer
|
||||||
private int artikelnummer;
|
private int artikelnummer;
|
||||||
|
@ -34,11 +16,21 @@ public class Artikel {
|
||||||
this.nettopreis = nettopreis;
|
this.nettopreis = nettopreis;
|
||||||
this.mehrwertsteuersatz = mehrwertsteuersatz;
|
this.mehrwertsteuersatz = mehrwertsteuersatz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Artikel(int artikelnummer) {
|
||||||
|
this.artikelnummer = artikelnummer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Leerer Konstruktor
|
// Leerer Konstruktor
|
||||||
public Artikel() {
|
public Artikel() {
|
||||||
this.artikelnummer = ++aktuelleArtikelnummer; // Vergabe der Artikelnummer und Inkrement
|
this.artikelnummer = ++aktuelleArtikelnummer; // Vergabe der Artikelnummer und Inkrement
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setArtikelnummer(int artikelnummer) {
|
||||||
|
this.artikelnummer = artikelnummer;
|
||||||
|
}
|
||||||
|
|
||||||
// Getter und Setter
|
// Getter und Setter
|
||||||
public int getArtikelnummer() {
|
public int getArtikelnummer() {
|
||||||
|
@ -85,110 +77,4 @@ public class Artikel {
|
||||||
System.out.println("Nettopreis: " + nettopreis);
|
System.out.println("Nettopreis: " + nettopreis);
|
||||||
System.out.println("Mehrwertsteuersatz: " + mehrwertsteuersatz);
|
System.out.println("Mehrwertsteuersatz: " + mehrwertsteuersatz);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methode zum Speichern der Artikeldaten im XML-Format
|
|
||||||
public void speichereAlsXML(String dateiPfad) {
|
|
||||||
try {
|
|
||||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
|
||||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
|
||||||
Document doc = dBuilder.newDocument();
|
|
||||||
|
|
||||||
// Root-Element
|
|
||||||
Element rootElement = doc.createElement("Artikel");
|
|
||||||
doc.appendChild(rootElement);
|
|
||||||
|
|
||||||
// Artikelnummer-Element
|
|
||||||
Element nummerElement = doc.createElement("Artikelnummer");
|
|
||||||
nummerElement.appendChild(doc.createTextNode(Integer.toString(artikelnummer)));
|
|
||||||
rootElement.appendChild(nummerElement);
|
|
||||||
|
|
||||||
// Einheit-Element
|
|
||||||
Element einheitElement = doc.createElement("Einheit");
|
|
||||||
einheitElement.appendChild(doc.createTextNode(einheit));
|
|
||||||
rootElement.appendChild(einheitElement);
|
|
||||||
|
|
||||||
// Bezeichnung-Element
|
|
||||||
Element bezeichnungElement = doc.createElement("Bezeichnung");
|
|
||||||
bezeichnungElement.appendChild(doc.createTextNode(bezeichnung));
|
|
||||||
rootElement.appendChild(bezeichnungElement);
|
|
||||||
|
|
||||||
// Nettopreis-Element
|
|
||||||
Element nettopreisElement = doc.createElement("Nettopreis");
|
|
||||||
nettopreisElement.appendChild(doc.createTextNode(Double.toString(nettopreis)));
|
|
||||||
rootElement.appendChild(nettopreisElement);
|
|
||||||
|
|
||||||
// Mehrwertsteuersatz-Element
|
|
||||||
Element mehrwertsteuersatzElement = doc.createElement("Mehrwertsteuersatz");
|
|
||||||
mehrwertsteuersatzElement.appendChild(doc.createTextNode(Double.toString(mehrwertsteuersatz)));
|
|
||||||
rootElement.appendChild(mehrwertsteuersatzElement);
|
|
||||||
|
|
||||||
// Transformieren und Speichern in Datei
|
|
||||||
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
|
||||||
Transformer transformer = transformerFactory.newTransformer();
|
|
||||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
|
||||||
DOMSource source = new DOMSource(doc);
|
|
||||||
StreamResult result = new StreamResult(new File(dateiPfad));
|
|
||||||
transformer.transform(source, result);
|
|
||||||
|
|
||||||
System.out.println("Die XML-Datei wurde erfolgreich gespeichert.");
|
|
||||||
|
|
||||||
} catch (ParserConfigurationException | TransformerException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Methode zum Auslesen der Artikeldaten aus einer XML-Datei
|
|
||||||
public void leseAusXML(String dateiPfad) {
|
|
||||||
try {
|
|
||||||
File xmlDatei = new File(dateiPfad);
|
|
||||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
|
||||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
|
||||||
Document doc = dBuilder.parse(xmlDatei);
|
|
||||||
doc.getDocumentElement().normalize();
|
|
||||||
|
|
||||||
NodeList nList = doc.getElementsByTagName("Artikel");
|
|
||||||
|
|
||||||
for (int temp = 0; temp < nList.getLength(); temp++) {
|
|
||||||
Node nNode = nList.item(temp);
|
|
||||||
|
|
||||||
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
|
|
||||||
Element eElement = (Element) nNode;
|
|
||||||
|
|
||||||
this.artikelnummer = Integer.parseInt(eElement.getElementsByTagName("Artikelnummer").item(0).getTextContent());
|
|
||||||
this.einheit = eElement.getElementsByTagName("Einheit").item(0).getTextContent();
|
|
||||||
this.bezeichnung = eElement.getElementsByTagName("Bezeichnung").item(0).getTextContent();
|
|
||||||
this.nettopreis = Double.parseDouble(eElement.getElementsByTagName("Nettopreis").item(0).getTextContent());
|
|
||||||
this.mehrwertsteuersatz = Double.parseDouble(eElement.getElementsByTagName("Mehrwertsteuersatz").item(0).getTextContent());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("Die XML-Datei wurde erfolgreich gelesen.");
|
|
||||||
} catch (ParserConfigurationException | SAXException | IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Methode zum Auslesen der Artikeldaten aus einer XML-Datei und in der Konsole ausgeben
|
|
||||||
public void leseUndGibAusXML(String dateiPfad) {
|
|
||||||
leseAusXML(dateiPfad);
|
|
||||||
anzeigen();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Methode zur Eingabe der Artikeldaten über die Konsole
|
|
||||||
public void eingabeDaten(Scanner scanner) {
|
|
||||||
System.out.print("Einheit: ");
|
|
||||||
this.einheit = scanner.nextLine();
|
|
||||||
|
|
||||||
System.out.print("Bezeichnung: ");
|
|
||||||
this.bezeichnung = scanner.nextLine();
|
|
||||||
|
|
||||||
System.out.print("Nettopreis: ");
|
|
||||||
this.nettopreis = Double.parseDouble(scanner.nextLine());
|
|
||||||
|
|
||||||
System.out.print("Mehrwertsteuersatz: ");
|
|
||||||
this.mehrwertsteuersatz = Double.parseDouble(scanner.nextLine());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,236 +1,102 @@
|
||||||
package model;
|
package model;
|
||||||
|
|
||||||
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.Document;
|
|
||||||
import org.w3c.dom.Element;
|
|
||||||
import org.w3c.dom.Node;
|
|
||||||
import org.w3c.dom.NodeList;
|
|
||||||
import org.xml.sax.SAXException;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
public class Kunde {
|
public class Kunde {
|
||||||
private static int aktuelleKundennummer = 0; // Statische Variable für fortlaufende Kundennummer
|
private static int aktuelleKundennummer = 0; // Statische Variable für fortlaufende Kundennummer
|
||||||
private int kundennummer;
|
private int kundennummer;
|
||||||
private String name;
|
private String name;
|
||||||
private String anschrift;
|
private String anschrift;
|
||||||
private String email;
|
// Straße - PLZ - Ort
|
||||||
private String telefonnummer;
|
private String email;
|
||||||
private boolean istKleinunternehmer;
|
private String telefonnummer;
|
||||||
private String ansprechpartner;
|
private boolean istKleinunternehmer;
|
||||||
|
private String ansprechpartner;
|
||||||
|
|
||||||
// Konstruktor
|
// Konstruktor
|
||||||
public Kunde(String name, String anschrift, String email, String telefonnummer, boolean istKleinunternehmer,
|
public Kunde(String name, String anschrift, String email, String telefonnummer, boolean istKleinunternehmer,
|
||||||
String ansprechpartner) {
|
String ansprechpartner) {
|
||||||
this.kundennummer = ++aktuelleKundennummer; // Vergabe der Kundennummer und Inkrement
|
this.kundennummer = ++aktuelleKundennummer; // Vergabe der Kundennummer und Inkrement
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.anschrift = anschrift;
|
this.anschrift = anschrift;
|
||||||
this.email = email;
|
this.email = email;
|
||||||
this.telefonnummer = telefonnummer;
|
this.telefonnummer = telefonnummer;
|
||||||
this.istKleinunternehmer = istKleinunternehmer;
|
this.istKleinunternehmer = istKleinunternehmer;
|
||||||
this.ansprechpartner = ansprechpartner;
|
this.ansprechpartner = ansprechpartner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Kunde(int kundennummer) {
|
||||||
|
this.kundennummer = kundennummer;
|
||||||
|
}
|
||||||
|
|
||||||
// Leerer Konstruktor
|
// Leerer Konstruktor
|
||||||
public Kunde() {
|
public Kunde() {
|
||||||
this.kundennummer = ++aktuelleKundennummer; // Vergabe der Kundennummer und Inkrement
|
this.kundennummer = ++aktuelleKundennummer; // Vergabe der Kundennummer und Inkrement
|
||||||
}
|
}
|
||||||
|
|
||||||
// Getter und Setter
|
// Getter und Setter
|
||||||
public int getKundennummer() {
|
public int getKundennummer() {
|
||||||
return kundennummer;
|
return kundennummer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setKundennummer(int kundennummer) {
|
||||||
|
this.kundennummer = kundennummer;
|
||||||
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setName(String name) {
|
public void setName(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAnschrift() {
|
public String getAnschrift() {
|
||||||
return anschrift;
|
return anschrift;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAnschrift(String anschrift) {
|
public void setAnschrift(String anschrift) {
|
||||||
this.anschrift = anschrift;
|
this.anschrift = anschrift;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getEmail() {
|
public String getEmail() {
|
||||||
return email;
|
return email;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEmail(String email) {
|
public void setEmail(String email) {
|
||||||
this.email = email;
|
this.email = email;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTelefonnummer() {
|
public String getTelefonnummer() {
|
||||||
return telefonnummer;
|
return telefonnummer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTelefonnummer(String telefonnummer) {
|
public void setTelefonnummer(String telefonnummer) {
|
||||||
this.telefonnummer = telefonnummer;
|
this.telefonnummer = telefonnummer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isIstKleinunternehmer() {
|
public boolean isIstKleinunternehmer() {
|
||||||
return istKleinunternehmer;
|
return istKleinunternehmer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIstKleinunternehmer(boolean istKleinunternehmer) {
|
public void setIstKleinunternehmer(boolean istKleinunternehmer) {
|
||||||
this.istKleinunternehmer = istKleinunternehmer;
|
this.istKleinunternehmer = istKleinunternehmer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAnsprechpartner() {
|
public String getAnsprechpartner() {
|
||||||
return ansprechpartner;
|
return ansprechpartner;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAnsprechpartner(String ansprechpartner) {
|
public void setAnsprechpartner(String ansprechpartner) {
|
||||||
this.ansprechpartner = ansprechpartner;
|
this.ansprechpartner = ansprechpartner;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methode zum Anzeigen der Kundendaten
|
// Methode zum Anzeigen der Kundendaten
|
||||||
public void anzeigen() {
|
public void anzeigen() {
|
||||||
System.out.println("Kundennummer: " + kundennummer);
|
System.out.println("Kundennummer: " + kundennummer);
|
||||||
System.out.println("Name: " + name);
|
System.out.println("Name: " + name);
|
||||||
System.out.println("Anschrift: " + anschrift);
|
System.out.println("Anschrift: " + anschrift);
|
||||||
System.out.println("Email: " + email);
|
System.out.println("Email: " + email);
|
||||||
System.out.println("Telefonnummer: " + telefonnummer);
|
System.out.println("Telefonnummer: " + telefonnummer);
|
||||||
System.out.println("Kleinunternehmer: " + (istKleinunternehmer ? "Ja" : "Nein"));
|
System.out.println("Kleinunternehmer: " + (istKleinunternehmer ? "Ja" : "Nein"));
|
||||||
System.out.println("Ansprechpartner: " + ansprechpartner);
|
System.out.println("Ansprechpartner: " + ansprechpartner);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methode zum Speichern der Kundendaten im XML-Format
|
|
||||||
public void speichereAlsXML(String dateiPfad) {
|
|
||||||
try {
|
|
||||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
|
||||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
|
||||||
Document doc = dBuilder.newDocument();
|
|
||||||
|
|
||||||
// Root-Element
|
|
||||||
Element rootElement = doc.createElement("Kunde");
|
|
||||||
doc.appendChild(rootElement);
|
|
||||||
|
|
||||||
// Kundennummer-Element
|
|
||||||
Element nummerElement = doc.createElement("Kundennummer");
|
|
||||||
nummerElement.appendChild(doc.createTextNode(Integer.toString(kundennummer)));
|
|
||||||
rootElement.appendChild(nummerElement);
|
|
||||||
|
|
||||||
// Name-Element
|
|
||||||
Element nameElement = doc.createElement("Name");
|
|
||||||
nameElement.appendChild(doc.createTextNode(name));
|
|
||||||
rootElement.appendChild(nameElement);
|
|
||||||
|
|
||||||
// Anschrift-Element
|
|
||||||
Element anschriftElement = doc.createElement("Anschrift");
|
|
||||||
anschriftElement.appendChild(doc.createTextNode(anschrift));
|
|
||||||
rootElement.appendChild(anschriftElement);
|
|
||||||
|
|
||||||
// Email-Element
|
|
||||||
Element emailElement = doc.createElement("Email");
|
|
||||||
emailElement.appendChild(doc.createTextNode(email));
|
|
||||||
rootElement.appendChild(emailElement);
|
|
||||||
|
|
||||||
// Telefonnummer-Element
|
|
||||||
Element telefonnummerElement = doc.createElement("Telefonnummer");
|
|
||||||
telefonnummerElement.appendChild(doc.createTextNode(telefonnummer));
|
|
||||||
rootElement.appendChild(telefonnummerElement);
|
|
||||||
|
|
||||||
// Kleinunternehmer-Element
|
|
||||||
Element kleinunternehmerElement = doc.createElement("Kleinunternehmer");
|
|
||||||
kleinunternehmerElement.appendChild(doc.createTextNode(Boolean.toString(istKleinunternehmer)));
|
|
||||||
rootElement.appendChild(kleinunternehmerElement);
|
|
||||||
|
|
||||||
// Ansprechpartner-Element
|
|
||||||
Element ansprechpartnerElement = doc.createElement("Ansprechpartner");
|
|
||||||
ansprechpartnerElement.appendChild(doc.createTextNode(ansprechpartner));
|
|
||||||
rootElement.appendChild(ansprechpartnerElement);
|
|
||||||
|
|
||||||
// Transformieren und Speichern in Datei
|
|
||||||
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
|
||||||
Transformer transformer = transformerFactory.newTransformer();
|
|
||||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
|
||||||
DOMSource source = new DOMSource(doc);
|
|
||||||
StreamResult result = new StreamResult(new File(dateiPfad));
|
|
||||||
transformer.transform(source, result);
|
|
||||||
|
|
||||||
System.out.println("Die XML-Datei wurde erfolgreich gespeichert.");
|
|
||||||
|
|
||||||
} catch (ParserConfigurationException | TransformerException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Methode zum Auslesen der Kundendaten aus einer XML-Datei
|
|
||||||
public void leseAusXML(String dateiPfad) {
|
|
||||||
try {
|
|
||||||
File xmlDatei = new File(dateiPfad);
|
|
||||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
|
||||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
|
||||||
Document doc = dBuilder.parse(xmlDatei);
|
|
||||||
doc.getDocumentElement().normalize();
|
|
||||||
|
|
||||||
NodeList nList = doc.getElementsByTagName("Kunde");
|
|
||||||
|
|
||||||
for (int temp = 0; temp < nList.getLength(); temp++) {
|
|
||||||
Node nNode = nList.item(temp);
|
|
||||||
|
|
||||||
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
|
|
||||||
Element eElement = (Element) nNode;
|
|
||||||
|
|
||||||
this.kundennummer = Integer
|
|
||||||
.parseInt(eElement.getElementsByTagName("Kundennummer").item(0).getTextContent());
|
|
||||||
this.name = eElement.getElementsByTagName("Name").item(0).getTextContent();
|
|
||||||
this.anschrift = eElement.getElementsByTagName("Anschrift").item(0).getTextContent();
|
|
||||||
this.email = eElement.getElementsByTagName("Email").item(0).getTextContent();
|
|
||||||
this.telefonnummer = eElement.getElementsByTagName("Telefonnummer").item(0).getTextContent();
|
|
||||||
this.istKleinunternehmer = Boolean
|
|
||||||
.parseBoolean(eElement.getElementsByTagName("Kleinunternehmer").item(0).getTextContent());
|
|
||||||
this.ansprechpartner = eElement.getElementsByTagName("Ansprechpartner").item(0).getTextContent();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("Die XML-Datei wurde erfolgreich gelesen.");
|
|
||||||
} catch (ParserConfigurationException | SAXException | IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Methode zum Auslesen der Kundendaten aus einer XML-Datei und in der Konsole
|
|
||||||
// ausgeben
|
|
||||||
public void leseUndGibAusXML(String dateiPfad) {
|
|
||||||
leseAusXML(dateiPfad);
|
|
||||||
anzeigen();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Methode zur Eingabe der Kundendaten über die Konsole
|
|
||||||
public void eingabeDaten(Scanner scanner) {
|
|
||||||
System.out.print("Name: ");
|
|
||||||
this.name = scanner.nextLine();
|
|
||||||
|
|
||||||
System.out.print("Anschrift: ");
|
|
||||||
this.anschrift = scanner.nextLine();
|
|
||||||
|
|
||||||
System.out.print("Email: ");
|
|
||||||
this.email = scanner.nextLine();
|
|
||||||
|
|
||||||
System.out.print("Telefonnummer: ");
|
|
||||||
this.telefonnummer = scanner.nextLine();
|
|
||||||
|
|
||||||
System.out.print("Ist der Kunde ein Kleinunternehmer (true/false)? ");
|
|
||||||
this.istKleinunternehmer = Boolean.parseBoolean(scanner.nextLine());
|
|
||||||
|
|
||||||
System.out.print("Ansprechpartner: ");
|
|
||||||
this.ansprechpartner = scanner.nextLine();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,11 @@ package view;
|
||||||
|
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import controller.ArtikelController;
|
||||||
|
import controller.KundenController;
|
||||||
import controller.MainController;
|
import controller.MainController;
|
||||||
|
import model.Artikel;
|
||||||
|
import model.Kunde;
|
||||||
|
|
||||||
public class StartUpMenue {
|
public class StartUpMenue {
|
||||||
|
|
||||||
|
@ -31,15 +35,29 @@ public class StartUpMenue {
|
||||||
choice = Integer.parseInt(scanner.nextLine());
|
choice = Integer.parseInt(scanner.nextLine());
|
||||||
switch (choice) {
|
switch (choice) {
|
||||||
case 1:
|
case 1:
|
||||||
// MainController.createCustomer();
|
Kunde kunde = new Kunde();
|
||||||
|
|
||||||
|
KundenController.eingabeDaten(kunde, scanner);
|
||||||
|
KundenController.speichereAlsXML(kunde);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
// MainController.viewCustomerData();
|
System.out.println("Kundennummer eingeben:");
|
||||||
|
int kundenWahl = Integer.parseInt(scanner.nextLine());
|
||||||
|
Kunde kunde1 = KundenController.leseAusXML(kundenWahl);
|
||||||
|
kunde1.anzeigen();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
// MainController.createArticle();
|
Artikel artikel = new Artikel();
|
||||||
|
|
||||||
|
ArtikelController.eingabeDaten(artikel, scanner);
|
||||||
|
ArtikelController.speichereAlsXML(artikel);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
System.out.println("Artikelnummer eingeben:");
|
||||||
|
int artikelWahl = Integer.parseInt(scanner.nextLine());
|
||||||
|
Artikel artikel1 = ArtikelController.leseAusXML(artikelWahl);
|
||||||
|
artikel1.anzeigen();
|
||||||
// MainController.viewArticleData();
|
// MainController.viewArticleData();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
|
|
Loading…
Reference in New Issue