/**
   * Publica las unidades documentales con acceso restringido que han sobrepasado la fecha de
   * restricción.
   */
  public void publicarUnidadesDocumentales() {
    // Auditoria
    LoggingEvent logEvent = getLogginEvent(ArchivoActions.FONDOS_MODULE_PUBLICACION_ELEMENTO);
    Locale locale = getServiceClient().getLocale();

    // Comprobar permisos
    checkPermission(FondosSecurityManager.PUBLICAR_ELEMENTO_ACTION);

    // Lista de unidades documentales a publicar
    List udocs = _unidadDocumentalDBEntity.getUnidadesDocumentalesPublicacion();

    UnidadDocumentalVO udoc;
    for (int i = 0; i < udocs.size(); i++) {
      udoc = (UnidadDocumentalVO) udocs.get(i);

      iniciarTransaccion();

      // Cambio de nivel de acceso de la unidad documental
      _elementoCuadroClasificacionDBEntity.updateControlAcceso(
          udoc.getIdElementocf(), NivelAcceso.PUBLICO, udoc.getIdLCA());

      // Auditoría
      AuditFondos.addDataLogUpdatePublicacionUdoc(locale, logEvent, udoc);

      if (logger.isDebugEnabled())
        logger.debug("Publicación de la unidad documental con id: " + udoc.getId());

      commit();
    }
  }