EN · DE · RU · FR · ES

#78: DataTransferFileSizeChecker.kt

plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/DataTransferFileSizeChecker.kt Type: Kotlin · Role: Plugin Registration · Source: plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/DataTransferFileSizeChecker.kt 55 lines · 24 code · 25 comments · 6 blank
Source code file at plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/DataTransferFileSizeChecker.kt containing Kotlin code for the Plugin Registration layer.

Code Structure

Annotations: author, micromata

Classes: DataTransferFileSizeChecker

Supertype(s): FileSizeChecker

Functions (1): checkSize

Properties (3): globalMaxFileSizeOfDataTransfer, capacity, maxFileSize

Imports: 4 packages

Package: org.projectforge.plugins.datatransfer

Source Code (abridged)

package org.projectforge.plugins.datatransfer

import mu.KotlinLogging
import org.projectforge.jcr.FileInfo
import org.projectforge.jcr.FileSizeChecker
import org.projectforge.plugins.datatransfer.DataTransferAreaDao.Companion.calculateMaxUploadFileSize

private val log = KotlinLogging.logger {}

/**
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
class DataTransferFileSizeChecker(val globalMaxFileSizeOfDataTransfer: Long) : FileSizeChecker {

  override fun checkSize(file: FileInfo, data: Any?, displayUserMessage: Boolean) {
    checkSize(
      file,
      globalMaxFileSizeOfDataTransfer,
      DataTransferAreaDao.MAX_FILE_SIZE_SPRING_PROPERTY,
      displayUserMessage
    )
    if (data == null || data !is DataTransferAreaDO) {
      log.warn { "maxUploadsizeKB of area not given. area not given or not of Type DataTransferAreadDO: $data" }
      return
    }
    val capacity = calculateMaxUploadFileSize(data)
    checkSize(file, capacity, null)
  }

  override val maxFileSize: Long
    get() = throw java.lang.IllegalArgumentException("Use DataTransferAreaDao.getFreeCapacity instead.")
}

Git History

868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
e8ebaa7a4 WIP: multi upload