package org.hso.ecommerce.app.config; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.Constructor; public class AppSettings { private static AppSettings conf; private AppSettings() { } public static AppSettings getInstance() { if (AppSettings.conf == null) { AppSettings.conf = new AppSettings(); } return AppSettings.conf; } public void writeDemoConfig() { Yaml yaml = new Yaml(); YAMLData data = new YAMLData(); data.setInstallationName("Fast-Web-Shop"); data.setCompanyName("newCommerce GmbH"); //data.setCompanyAddress(new Address("Kupfergraben", "6", "10117", "Berlin", "Germany")); data.setNumberOfStorageSpaces(128); /* List suppliers = new ArrayList(); suppliers.add(new Supplier("Reichelt elektronik GmbH & Co. KG", "d41d8cd98f00b204e9800998ecf8427e", "https://reichelt.api.ecommerce.mosad.xyz", new Address("Elektronikring", "1", "26452", "Sande", "Germany"), 4)); suppliers.add(new Supplier("Conrad Electronic SE", "18a17da5bac1cf00551b08c3e98720f5", "https://conrad.api.ecommerce.mosad.xyz", new Address("Klaus-Conrad-Straße", "1", "92240", "Hirschau", "Germany"), 5)); data.setSuppliers(suppliers); */ data.setParcelServiceName("DHL International GmbH"); data.setParcelServiceApiURL("https://dhl.api.ecommerce.mosad.xyz"); FileWriter writer; try { writer = new FileWriter("./eCommerce_config.yml"); yaml.dump(data, writer); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void readConfig() { /* Yaml yaml = new Yaml(new Constructor(YAMLData.class)); InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("./eCommerce_config.yml"); YAMLData data = yaml.load(inputStream); */ String input = "!!org.hso.ecommerce.app.config.YAMLData {companyName: newCommerce GmbH, installationName: Fast-Web-Shop,\n" + " numberOfStorageSpaces: 128, parcelServiceApiURL: 'https://dhl.api.ecommerce.mosad.xyz',\n" + " parcelServiceName: DHL International GmbH}\n" + ""; Yaml yaml = new Yaml(new Constructor(YAMLData.class)); YAMLData data = yaml.load(input); System.out.println(data.getCompanyName()); } }