TgrepConfigurationService.java

package info.textgrid.rep.service;

import org.eclipse.microprofile.config.inject.ConfigProperty;

import io.quarkus.logging.Log;
import jakarta.annotation.PostConstruct;
import jakarta.enterprise.context.ApplicationScoped;

@ApplicationScoped
public class TgrepConfigurationService {

  @ConfigProperty(name ="textgrid.host")
  String textgridHost;
  @ConfigProperty(name ="tgsearch.url")
  String tgsearchUrl;
  @ConfigProperty(name ="handle.host")
  String handleHost;
  @ConfigProperty(name ="tgauth.getsid.url", defaultValue = "-")
  String tgauthGetsidUrl;
  @ConfigProperty(name ="tool.voyant.host")
  String voyantHost;
  @ConfigProperty(name ="tool.annotate.host")
  String toolAnnotateHost;
  @ConfigProperty(name ="tool.mirador.host")
  String toolMiradorHost;
  @ConfigProperty(name ="tool.digilib.host")
  String toolDigilibHost;
  @ConfigProperty(name ="tool.switchboard.host")
  String toolSwitchboardHost;
  @ConfigProperty(name ="sandbox.enabled")
  Boolean sandboxEnabled;
  @ConfigProperty(name ="sentry.enabled")
  Boolean sentryEnabled;
  @ConfigProperty(name ="tracking.enabled")
  boolean trackingEnabled;
  @ConfigProperty(name ="aggregator.timeout.connect")
  int aggregatorConnectTimeout;
  @ConfigProperty(name ="aggregator.timeout.read")
  int aggregatorReadTimeout;
  @ConfigProperty(name ="iiif.manifests.url")
  String iiifManifestsUrl;
  @ConfigProperty(name ="tool.jupyterconnect.url")
  String toolJupyterconnectUrl;
  @ConfigProperty(name ="textgrid.nonpublic")
  Boolean nonpublicEnabled;
  @ConfigProperty(name ="portal.public.url")
  String portalPublicUrl;
  @ConfigProperty(name ="portal.nonpublic.url")
  String portalNonpublicUrl;

  public String getTextgridHost() {
    return textgridHost;
  }
  public void setTextgridHost(String textgridHost) {
    this.textgridHost = textgridHost;
  }

  public String getTgsearchUrl() {
    return tgsearchUrl;
  }
  public void setTgsearchUrl(String tgsearchUrl) {
    this.tgsearchUrl = tgsearchUrl;
  }

  public String getHandleHost() {
    return handleHost;
  }
  public void setHandleHost(String handleHost) {
    this.handleHost = handleHost;
  }

  public String getVoyantHost() {
    return voyantHost;
  }
  public void setToolVoyantHost(String voyantHost) {
    this.voyantHost = voyantHost;
  }

  public String getToolAnnotateHost() {
    return toolAnnotateHost;
  }
  public void setToolAnnotateHost(String toolAnnotateHost) {
    this.toolAnnotateHost = toolAnnotateHost;
  }

  public String getToolMiradorHost() {
    return toolMiradorHost;
  }
  public void setToolMiradorHost(String toolMiradorHost) {
    this.toolMiradorHost = toolMiradorHost;
  }

  public String getToolDigilibHost() {
    return toolDigilibHost;
  }
  public void setToolDigilibHost(String toolDigilibHost) {
    this.toolDigilibHost = toolDigilibHost;
  }

  public String getToolSwitchboardHost() {
    return toolSwitchboardHost;
  }
  public void setToolSwitchboardHost(String toolSwitchboardHost) {
    this.toolSwitchboardHost = toolSwitchboardHost;
  }

  public Boolean getSandboxEnabled() {
    return sandboxEnabled;
  }
  public void setSandboxEnabled(Boolean sandboxEnabled) {
    this.sandboxEnabled = sandboxEnabled;
  }

  public Boolean getSentryEnabled() {
    return sentryEnabled;
  }
  public void setSentryEnabled(Boolean sentryEnabled) {
    this.sentryEnabled = sentryEnabled;
  }

  public Boolean getTrackingEnabled() {
    return trackingEnabled;
  }
  public void setTrackingEnabled(Boolean trackingEnabled) {
    this.trackingEnabled = trackingEnabled;
  }

  public void setAggregatorConnectTimeout(int aggregatorConnectTimeout) {
    this.aggregatorConnectTimeout = aggregatorConnectTimeout;
  }
  public long getAggregatorConnectTimeout() {
    return aggregatorConnectTimeout;
  }
  public void setAggregatorReadTimeout(int aggregatorReadTimeout) {
    this.aggregatorReadTimeout = aggregatorReadTimeout;
  }
  public long getAggregatorReadTimeout() {
    return aggregatorReadTimeout;
  }
  public String getTgauthGetsidUrl() {
    return tgauthGetsidUrl;
  }
  public void setTgauthGetsidUrl(String tgauthGetsidUrl) {
    this.tgauthGetsidUrl = tgauthGetsidUrl;
  }

  public String getIiifManifestsUrl() {
    return iiifManifestsUrl;
  }
  public void setIiifManifestsUrl(String iiifManifestsUrl) {
    this.iiifManifestsUrl = iiifManifestsUrl;
  }

  public String getToolJupyterconnectUrl() {
    return toolJupyterconnectUrl;
  }
  public void setToolJupyterconnectUrl(String toolJupyterconnectUrl) {
    this.toolJupyterconnectUrl = toolJupyterconnectUrl;
  }

  public Boolean getNonpublicEnabled() {
    return nonpublicEnabled;
  }
  public void setNonpublicEnabled(Boolean nonpublicEnabled) {
    this.nonpublicEnabled = nonpublicEnabled;
  }

  public String getPortalPublicUrl() {
    return portalPublicUrl;
  }

  public String getPortalNonpublicUrl() {
    return portalNonpublicUrl;
  }

  // composed
  public String getAggregatorUrl() {
    return getTextgridHost()+"/1.0/aggregator";
  }

  @PostConstruct
  public void postConstruct() {
    Log.info("textgrid host:       " + textgridHost);
    Log.info("tgsearch url:        " + tgsearchUrl);
    Log.info("sandbox enabled:     " + sandboxEnabled);
    Log.info("handle host:         " + handleHost);
    Log.info("voyant host:         " + voyantHost);
    Log.info("annotate host:       " + toolAnnotateHost);
    Log.info("mirador host:        " + toolMiradorHost);
    Log.info("digilib host:        " + toolDigilibHost);
    Log.info("switchboard host:    " + toolSwitchboardHost);
    Log.info("tgauth getsid:       " + tgauthGetsidUrl);
    Log.info("nonpublic enabled:   " + nonpublicEnabled);
    Log.info("public portal url:   " + portalPublicUrl);
    Log.info("nonpublic portal url:" + portalNonpublicUrl);

  }

}