public static void checkRepository(
      long repositoryId,
      Map<String, String> parameters,
      UnicodeProperties typeSettingsProperties,
      String typeSettingsKey)
      throws PortalException, RepositoryException {

    if (!typeSettingsProperties.containsKey(typeSettingsKey)) {
      org.apache.chemistry.opencmis.client.api.Repository cmisRepository =
          _sessionFactory.getRepositories(parameters).get(0);

      typeSettingsProperties.setProperty(typeSettingsKey, cmisRepository.getId());

      try {
        Repository repository = RepositoryUtil.findByPrimaryKey(repositoryId);

        repository.setTypeSettingsProperties(typeSettingsProperties);

        RepositoryUtil.update(repository, false);
      } catch (Exception e) {
        throw new RepositoryException(e);
      }
    }

    parameters.put(
        SessionParameter.REPOSITORY_ID,
        getTypeSettingsValue(typeSettingsProperties, typeSettingsKey));
  }