private void updateAffinityDomain(
      String truststorePath, String truststorePass, String keystorePath, String keystorePass)
      throws URISyntaxException, SecurityDomainException {
    // set secure destinations
    Destination pdqDestination =
        new Destination(ORGANIZATIONAL_ID, new URI(PDQ_REQUEST_URL), keystorePath, keystorePass);
    pdqDestination.setSenderApplicationOid(ORGANIZATIONAL_ID);
    pdqDestination.setReceiverApplicationOid(PDQ_REQUEST_PATID_OID);
    pdqDestination.setReceiverFacilityOid(PDQ_REQUEST_PATID_OID);

    Destination xdsRegistryDestination =
        new Destination(ORGANIZATIONAL_ID, new URI(XDS_REGISTRY_URL), keystorePath, keystorePass);
    Destination xdsRepositoryDestination =
        new Destination(ORGANIZATIONAL_ID, new URI(XDS_REPOSITORY_URL), keystorePath, keystorePass);
    xdsRegistryDestination.setReceiverApplicationOid(XDS_REPOSITORY_OID);
    xdsRegistryDestination.setReceiverFacilityOid(XDS_REPOSITORY_OID);

    affinityDomain = new AffinityDomain();
    affinityDomain.setPdqDestination(pdqDestination);
    affinityDomain.setRegistryDestination(xdsRegistryDestination);
    affinityDomain.addRepository(xdsRepositoryDestination);
    affinityDomain.setPixDestination(pdqDestination);

    final AtnaSecurityConfiguration atnaSecConfig = new AtnaSecurityConfiguration();
    atnaSecConfig.setKeyStoreFile(new File(keystorePath));
    atnaSecConfig.setKeyStorePassword(keystorePass);
    atnaSecConfig.setKeyStoreType("PKCS12");
    atnaSecConfig.setTrustStoreFile(new File(truststorePath));
    atnaSecConfig.setTrustStorePassword(truststorePass);
    atnaSecConfig.setTrustStoreType("JKS");
    atnaSecConfig.setUri(new URI(ATNA_URL));

    SecurityDomainManager.generateSecurityDomain("suisse-open-exchange.healthcare", atnaSecConfig);
    SecurityDomainManager.addUriToSecurityDomain(
        "suisse-open-exchange.healthcare", atnaSecConfig.getUri());
  }