EN · DE · RU · FR · ES

#62: TransactionsImporter.kt

plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt Kotlin class, plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt 62 lines · 34 code · 23 comments · 5 blank
Purpose: Source file: projectforge/plugins/banking/TransactionsImporter.kt. TransactionsImporter.kt is part of the ProjectForge open-source project management application.

Source (first 100 lines)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge is dual-licensed.
//
// This community edition is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation; version 3 of the License.
//
// This community edition is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.plugins.banking

import mu.KotlinLogging
import org.projectforge.rest.core.ExpiringSessionAttributes
import org.projectforge.rest.importer.AbstractImportPageRest
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service
import jakarta.servlet.http.HttpServletRequest

private val log = KotlinLogging.logger {}

@Service
class TransactionsImporter {
  @Autowired
  private lateinit var bankAccountRecordDao: BankAccountRecordDao

  fun import(
    request: HttpServletRequest,
    bankAccountDO: BankAccountDO,
    importStorage: BankingImportStorage,
  ) {
    importStorage.analyzeReadTransactions()
    val fromDate = importStorage.fromDate
    val untilDate = importStorage.untilDate
    log.info { "Trying to import account records from $fromDate-$untilDate for account '${bankAccountDO.name}': ${bankAccountDO.iban}" }
    ExpiringSessionAttributes.setAttribute(
      request,
      AbstractImportPageRest.getSessionAttributeName(BankAccountRecordImportPageRest::class.java),
      importStorage,
      20,
    )
    if (fromDate == null || untilDate == null) {
      return
    }
    // Ordered by date:
    importStorage.reconcileImportStorage()
    importStorage.databaseTransactions = null // Save memory, not needed anymore.
  }
}

Git History

868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
77bade6df javax.* -> jakarta.*
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
index c6d6de4da..0bdd6f4c8 100644
--- a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
+++ b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

63081666f

Source file headers: 2024-> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
index 000b7d560..c6d6de4da 100644
--- a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
+++ b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

77bade6df

javax.* -> jakarta.*
77bade6dfb148c87638c71951accb03942157fcf
diff --git a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
index 450cbb944..000b7d560 100644
--- a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
+++ b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
@@ -28,7 +28,7 @@ import org.projectforge.rest.core.ExpiringSessionAttributes
 import org.projectforge.rest.importer.AbstractImportPageRest
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Service
-import javax.servlet.http.HttpServletRequest
+import jakarta.servlet.http.HttpServletRequest
 
 private val log = KotlinLogging.logger {}
 

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
index bdee12cb6..450cbb944 100644
--- a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
+++ b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

ab45d51fa

Copyright 2001-2022 -> 2001-2023.
ab45d51fa419ede6174b31d69987f96d4b841ff9
diff --git a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
index 9a486eb1a..bdee12cb6 100644
--- a/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
+++ b/plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/TransactionsImporter.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2022 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //