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
}
}