EN · DE · RU · FR · ES

#321: LantFinalizeScreen.kt

projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt Clase Kotlin, projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt 230 líneas · 172 código · 29 comentarios · 29 en blanco
Propósito: Archivo fuente: setup/wizard/lanterna/LantFinalizeScreen.kt. LantFinalizeScreen.kt es parte de la aplicación de gestión de proyectos de código abierto ProjectForge.

Fuente (primeras 100 líneas)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge tiene doble licencia.
//
// Esta edición comunitaria es software libre; puedes redistribuirla y/o
// modificarla bajo los términos de la Licencia Pública General GNU publicada
// por la Free Software Foundation; versión 3 de la Licencia.
//
// Esta edición comunitaria se distribuye con la esperanza de que sea útil,
// pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
// COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
// Licencia Pública General GNU para más detalles.
//
// Deberías haber recibido una copia de la Licencia Pública General GNU junto
// con este programa; si no, visita http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.setup.wizard.lanterna

import com.googlecode.lanterna.TerminalSize
import com.googlecode.lanterna.gui2.*
import org.projectforge.common.CanonicalFileUtils
import org.projectforge.setup.SetupContext
import org.projectforge.setup.wizard.FinalizeScreenSupport
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfDatabases
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfLocales
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfTimeNotations
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfWeekdays
import org.projectforge.setup.wizard.Texts
import java.io.File
import java.util.regex.Pattern


class LantFinalizeScreen(context: LantGUIContext) : LantAbstractWizardWindow(context, "Finalizando la configuración del directorio") {
  private lateinit var dirLabel: Label
  private lateinit var domainTextBox: TextBox
  private lateinit var portTextBox: TextBox

  private lateinit var databaseCombobox: ComboBox<String>
  private lateinit var jdbcSettingsButton: Button

  private lateinit var currencyTextBox: TextBox
  private lateinit var defaultLocaleCombobox: ComboBox<String>
  private lateinit var defaultTimeNotationCombobox: ComboBox<String>
  private lateinit var defaultFirstDayOfWeekCombobox: ComboBox<String>

  private lateinit var startCheckBox: CheckBox
  private lateinit var developmentCheckBox: CheckBox

  private lateinit var hintLabel: Label

  override fun getContentPanel(): Panel {
    val panel = Panel()
    val setupContext = context.setupContext
    panel.layoutManager = GridLayout(3)

    dirLabel = Label("")
    panel.addComponent(Label(Texts.FS_DIRECTORY).setSize(TerminalSize(10, 1)))
      .addComponent(dirLabel.setLayoutData(GridLayout.createHorizontallyFilledLayoutData(2)))

    panel.addComponent(EmptySpace().setLayoutData(GridLayout.createHorizontallyFilledLayoutData(3)))

    domainTextBox = TextBox("http://localhost:8080")
      .setPreferredSize(TerminalSize(30, 1))
    panel.addComponent(Label(Texts.FS_DOMAIN))
      .addComponent(domainTextBox)
      .addComponent(Label(Texts.FS_DOMAIN_DESC))

    portTextBox = TextBox("8080")
      .setValidationPattern(Pattern.compile("[0-9]{1,5}?"))
      .setPreferredSize(TerminalSize(7, 1))
    if (!setupContext.customizedPortSupported) {
      // En contenedores docker, el puerto personalizado no es compatible
      panel.addComponent(Label(Texts.FS_PORT))
        .addComponent(portTextBox)
        .addComponent(EmptySpace())
    }

    panel.addComponent(EmptySpace().setLayoutData(GridLayout.createHorizontallyFilledLayoutData(3)))

    databaseCombobox = ComboBox()
    listOfDatabases.forEach { databaseCombobox.addItem(it.label) }
    if (setupContext.embeddedDatabaseSupported) {
      // Listener solo requerido si la base de datos embebida es compatible, así como PostgreSQL.
      databaseCombobox.addListener { selectedIndex, previousSelection, _ ->
        if (previousSelection != selectedIndex) {
          if (selectedIndex > 0) {
            jdbcSettingsButton.setEnabled(true)
            showJdbcSettingsDialog()
            context.setupData.useEmbeddedDatabase = false
          } else {
            jdbcSettingsButton.setEnabled(false)
            context.setupData.useEmbeddedDatabase = true
          }

Historial Git

868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index b85fe6013..bde487385 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.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

Encabezados de archivos fuente: 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index beab538ef..b85fe6013 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.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.
 //

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index 55c031e9f..beab538ef 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.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/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index 62e350484..55c031e9f 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.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.
 //

5f7ef41b8

Copyright 2021 -> 2022
5f7ef41b8cbbf29b1bff094f0c0b708dcaecb19e
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index 74e4fcd61..62e350484 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2021 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2022 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //