This repository has been archived on 2020-08-02. You can view files and clone it, but cannot push or open issues or pull requests.
e-commerce/prototype/src/main/java/org/hso/ecommerce/app/config/AppSettings.java

77 lines
2.1 KiB
Java
Raw Normal View History

2020-05-10 21:23:44 +02:00
package org.hso.ecommerce.app.config;
2020-06-16 18:52:33 +02:00
import java.io.*;
2020-05-10 21:23:44 +02:00
import java.util.ArrayList;
import java.util.List;
2020-05-10 22:19:58 +02:00
import org.hso.ecommerce.app.config.YAMLData.Address;
2020-06-16 18:52:33 +02:00
import org.springframework.stereotype.Component;
2020-05-10 21:23:44 +02:00
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
2020-06-16 18:52:33 +02:00
@Component
2020-05-10 21:23:44 +02:00
public class AppSettings {
2020-06-16 18:52:33 +02:00
private static AppSettings instance;
2020-05-10 21:23:44 +02:00
private AppSettings() {
2020-06-16 18:52:33 +02:00
// constructor
2020-05-10 21:23:44 +02:00
}
public static AppSettings getInstance() {
2020-06-16 18:52:33 +02:00
if (instance == null) {
instance = new AppSettings();
2020-05-10 21:23:44 +02:00
}
2020-06-16 18:52:33 +02:00
return instance;
2020-05-10 21:23:44 +02:00
}
public void writeDemoConfig() {
YAMLData data = new YAMLData();
data.setInstallationName("Fast-Web-Shop");
data.setCompanyName("newCommerce GmbH");
2020-06-16 18:52:33 +02:00
data.setCompanyAddress(new Address(
"Kupfergraben",
"6",
"10117",
"Berlin",
"Germany"
));
2020-05-10 21:23:44 +02:00
data.setNumberOfStorageSpaces(128);
2020-06-16 18:52:33 +02:00
// List<YAMLData.Supplier> suppliers = new ArrayList<YAMLData.Supplier>();
// suppliers.add(new YAMLData.Supplier("Reichelt elektronik GmbH & Co. KG", "d41d8cd98f00b204e9800998ecf8427e",
// "https://reichelt.api.ecommerce.mosad.xyz",
// new Address("Elektronikring", "1", "26452", "Sande", "Germany"), 4));
// suppliers.add(new YAMLData.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);
2020-05-10 21:23:44 +02:00
data.setParcelServiceName("DHL International GmbH");
data.setParcelServiceApiURL("https://dhl.api.ecommerce.mosad.xyz");
2020-06-16 18:52:33 +02:00
try (FileWriter writer = new FileWriter("./eCommerce_config.yml")) {
Yaml yaml = new Yaml();
2020-05-10 21:23:44 +02:00
yaml.dump(data, writer);
} catch (IOException e) {
e.printStackTrace();
}
}
2020-06-16 18:52:33 +02:00
public YAMLData readConfig() {
YAMLData data = new YAMLData();
2020-05-10 22:19:58 +02:00
2020-06-16 18:52:33 +02:00
try (InputStream inputStream = new FileInputStream("./eCommerce_config.yml")) {
Yaml yaml = new Yaml(new Constructor(YAMLData.class));
data = yaml.load(inputStream);
2020-05-10 22:19:58 +02:00
2020-06-16 18:52:33 +02:00
System.out.println(data.getCompanyName());
} catch (IOException e) {
2020-05-10 22:19:58 +02:00
e.printStackTrace();
}
2020-06-16 18:52:33 +02:00
return data;
2020-05-10 21:23:44 +02:00
}
}