All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xyz.my_app.libs.service.environments.UATEnvironment Maven / Gradle / Ivy

There is a newer version: 0.0.15
Show newest version
package xyz.my_app.libs.service.environments;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class UATEnvironment extends Environment
{
    @Value("${db_driver:jdbc:postgresql://}")
    private String dbDriver;

    @Value("${db_driver_class:org.postgresql.Driver}")
    private String dbDriverClass;

    @Value("${JDBC_DATABASE_URL:jdbc:postgresql://localhost:5432}")
    private String dbUrl;

    @Value("${JDBC_DATABASE_USERNAME:postgres}")
    private String dbUser;

    @Value("${JDBC_DATABASE_PASSWORD:secret}")
    private String dbPassword;

    @Value("${db_schema:myappxyz}")
    private String schema;

    @Override
    public String getDatabasePath()
    {
        return dbUrl;
    }

    public String getDatabaseDriverClass()
    {
        return dbDriverClass;
    }

    public String getDatabaseUsername()
    {
        return dbUser;
    }

    public String getDatabasePassword()
    {
        return dbPassword;
    }

    @Override
    public String getSchema()
    {
        return schema;
    }

    @Override public String getURIPrefix()
    {
        return "uat.";
    }

    @Override public String getSearchPathSettingQuery()
    {
        return "ALTER ROLE "
                + getDatabaseUsername()
                + " SET search_path = "
                + getSchema() + ";";
    }

    @Override
    public boolean equals(Object obj)
    {
        if (obj == null)
        {
            return false;
        }
        if (!(obj instanceof DevEnvironment))
        {
            return false;
        }
        DevEnvironment that = (DevEnvironment) obj;
        return getDatabasePath().equals(that.getDatabasePath());
    }

    @Override
    public int hashCode()
    {
        return getDatabasePath().hashCode();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy