Package org.platformlayer.service.gerrit.ops.db

Source Code of org.platformlayer.service.gerrit.ops.db.GerritDatabaseTemplate

package org.platformlayer.service.gerrit.ops.db;

import javax.inject.Inject;

import org.platformlayer.InetAddressChooser;
import org.platformlayer.core.model.ItemBase;
import org.platformlayer.core.model.PlatformLayerKey;
import org.platformlayer.core.model.Secret;
import org.platformlayer.ops.OpsContext;
import org.platformlayer.ops.OpsException;
import org.platformlayer.ops.databases.DatabaseHelper;
import org.platformlayer.ops.databases.DatabaseServer;
import org.platformlayer.ops.machines.PlatformLayerHelpers;
import org.platformlayer.service.gerrit.model.GerritDatabase;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class GerritDatabaseTemplate {

  private static final Logger log = LoggerFactory.getLogger(GerritDatabaseTemplate.class);

  public GerritDatabase getModel() {
    GerritDatabase model = OpsContext.get().getInstance(GerritDatabase.class);
    return model;
  }

  @Inject
  PlatformLayerHelpers platformLayer;

  @Inject
  DatabaseHelper databases;

  public String getDatabaseUsername() throws OpsException {
    return getModel().username;
  }

  public Secret getDatabasePassword() throws OpsException {
    return getModel().password;
  }

  public PlatformLayerKey getDatabaseServerKey() throws OpsException {
    PlatformLayerKey serverKey = getModel().server;
    return serverKey;
  }

  public String getDatabaseName() throws OpsException {
    return getModel().databaseName;
  }

  protected String getAuthJdbcUrl() throws OpsException {
    PlatformLayerKey serverKey = getModel().server;

    ItemBase serverItem = (ItemBase) platformLayer.getItem(serverKey);
    DatabaseServer server = databases.toDatabase(serverItem);

    String jdbc = server.getJdbcUrl(getDatabaseName(), InetAddressChooser.preferIpv6());
    return jdbc;
  }

}
TOP

Related Classes of org.platformlayer.service.gerrit.ops.db.GerritDatabaseTemplate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.