Hi Zusammen,
für ein grösseres Projekt bin ich auf der Suche nach einer "eleganten" methode um je nachdem in welchem Branch von Git man sich aktuell befindet, eine bestimmte Konfiguration zu laden. Sprich eine Variable z.B DATABASE mit dem "korrektem" wert zuzuweisen.
Und das ohne zuviel Code in der Funktion selbst:
pseudo func:
Ich hab mit dem gedanken gespielt das ganze über eine Annotation zu lösen:
pseudo func:
Aber aktuell sehe ich den weg nicht das elegant zu lösen, so wie ich es aktuell mach ist:
pseudo func:
für ein grösseres Projekt bin ich auf der Suche nach einer "eleganten" methode um je nachdem in welchem Branch von Git man sich aktuell befindet, eine bestimmte Konfiguration zu laden. Sprich eine Variable z.B DATABASE mit dem "korrektem" wert zuzuweisen.
Und das ohne zuviel Code in der Funktion selbst:
pseudo func:
Java:
private Data getData(){
Database db = new Database( DATABASE );
return db.getData();
}
Java:
private Data getData(){
Database db = new Database( [I]DATABASE );
return db.getData();[/I]
}
pseudo func:
Java:
@LoadCorrectDatabase
private Data getData(){
Database db = new Database( [I]DATABASE );
return db.getData();[/I]
}
pseudo func:
Java:
private Data getData(){
Database db = new Database( getCorrectDatabase()[I] );
return db.getData();[/I]
}
private String getCorrectDatabase() {
Process process = Runtime.getRuntime().exec("git rev-parse --abbrev-ref HEAD");
process.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader( process.getInputStream() ));
String branchName = reader.readLine();
String DATABASE;
if (branchName.equals( "main" )) {
DATABASE = "123.123.123.123";
} else if (branchName.equals( "dev" )) {
DATABASE = "321.321.321.321";
} else {
DATABASE = "localhost";
}
return DATABASE;
}