package am.ik.categolj2.infra.db; import lombok.Getter; import lombok.ToString; import java.net.URI; import java.net.URISyntaxException; @Getter @ToString public class UrlStringDevider { private final String url; private final String username; private final String password; public UrlStringDevider(String databaseUrl) throws URISyntaxException { this(databaseUrl, ""); } public UrlStringDevider(String databaseUrl, String appendUrl) throws URISyntaxException { URI dbUri = new URI(databaseUrl); url = "jdbc:" + dbUri.getScheme() + "://" + dbUri.getHost() + (dbUri.getPort() > 0 ? ":" + dbUri.getPort() : "") + dbUri.getPath() + (appendUrl.startsWith("?") ? appendUrl + "&" + dbUri.getQuery() : "?" + dbUri.getQuery() + (appendUrl.isEmpty() ? "" : "&" + appendUrl)); username = dbUri.getUserInfo().split(":")[0]; password = dbUri.getUserInfo().split(":")[1]; } }