package config;
import java.io.File;
import java.io.IOException;
import org.ini4j.Wini;
public class config_file {
private String configPath = null;
public boolean createConfig() throws IOException{
// Unterscheide zwischen Windows/Unix
String OSName = System.getProperty("os.name").toLowerCase();
System.out.println("Machine's OS: " + OSName);
if (OSName.contains("windows"))
{
// Windows machine. Use the environment variable 'APPDATA' which
// should point to a path similar to:
// C:\Users\<user>\AppData\Roaming
String appDataPath = System.getenv("APPDATA");
if (!appDataPath.isEmpty())
{
System.out.println("APPDATA: " + appDataPath);
configPath = appDataPath + "\\bwSuite\\config.ini";
}
else
{
// APPDATA was empty, let's build it ourselves...
System.out.println("APPDATA ist leer.");
configPath = System.getProperty("user.home") + "\\AppData\\Roaming\\bwSuite\\config.ini"
}
}
else if (OSName.contains("linux"))
{
configPath=System.getProperty("user.home") + "/.config/bwSuite/config.ini";
}
if (configPath == null)
{
System.out.println("Config file path could not be determined.");
}
//config_file="C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Roaming\\bwLehrpoolSuite";
//File fuer den Ordner erzeugen
File configFile=new File(configPath);
Wini ini;
//Pruefen ob Ordner schon existiert
if(!configFile.exists())
{
System.out.println("Ordner \"bwLehrpoolSuite\" exisitiert nicht - lege ihn jetzt an.");
//Wenn nicht erzeuge Ordner
if (!configFile.getParentFile().mkdirs())
{
System.out.print("Konnte Verzeichnisstruktur nicht erstellen: " + configFile.getParentFile());
System.out.println(" - keine weitere Aktion");
// jetzt nichts mehr
}
//Erzeuge eine neue Datei
configFile.createNewFile();
ini=new Wini(configFile);
//Wenn in die Datei geschrieben werden kann
if(configFile.canWrite()==true)
{
System.out.println("Erzeuge \"config.ini.\"");
//Schreibe Config
ini.put("main", "BillOfRights", false);
ini.put("main", "vmware", false);
ini.put("main", "Benutzername speichern", false);
ini.put("main", "Benutzername", "");
ini.put("main", "Letzter Downloadpfad", "");
ini.put("main", "Letzter Uploadpfad", "");
ini.store();
return true;
} else {
System.out.println("Konnte \"config.ini\" nicht anlegen - keine weitere Aktion.");
}
}
else
{
System.out.println("Ordner \"bwLehrpoolSuite\" existiert bereits - keine weitere Aktion.");
//Wenn Ordner schon existiert, pruefe ob Datei existiert
if(!configFile.exists())
{
System.out.println("\"config.ini\" existiert nicht - lege jetzt an.");
//Wenn nicht, erzeuge diese
configFile.createNewFile();
ini=new Wini(configFile);
if(configFile.canWrite()==true)
{
System.out.println("Schreibe jetzt \"config.ini\".");
//Schreibe Konfig in File
ini.put("main", "BillOfRights",false);
ini.put("main", "vmware", false);
ini.put("main", "Benutzername speichern", false);
ini.put("main", "Benutzername", "");
ini.put("main", "Letzter Downloadpfad", "");
ini.put("main", "Letzter Uploadpfad", "");
ini.store();
return true;
} else {
System.out.println("Kann \"config.ini\" nicht schreiben - keine weitere Aktion.");
}
} else {
System.out.println("\"config.ini\" existiert bereits - keine weitere Aktion.");
}
}
return true;
}
}