No description
  • Kotlin 97.1%
  • Python 2.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Domantas Adomėlis 0fc6025d42 chore: initial
2026-10-13 17:39:27 +03:00
gradle chore: initial 2026-10-13 17:39:27 +03:00
scripts chore: initial 2026-10-13 17:39:27 +03:00
src/main chore: initial 2026-10-13 17:39:27 +03:00
.editorconfig chore: initial 2026-10-13 17:39:27 +03:00
.gitignore chore: initial 2026-10-13 17:39:27 +03:00
.java-version chore: initial 2026-10-13 17:39:27 +03:00
ASSIGNMENT.md chore: initial 2026-10-13 17:39:27 +03:00
build.gradle.kts chore: initial 2026-10-13 17:39:27 +03:00
gradle.properties chore: initial 2026-10-13 17:39:27 +03:00
gradlew chore: initial 2026-10-13 17:39:27 +03:00
gradlew.bat chore: initial 2026-10-13 17:39:27 +03:00
HEADER chore: initial 2026-10-13 17:39:27 +03:00
LICENSE chore: initial 2026-10-13 17:39:27 +03:00
README.md chore: initial 2026-10-13 17:39:27 +03:00
settings.gradle.kts chore: initial 2026-10-13 17:39:27 +03:00

Warning

PASTABA

Šį README failą sugeneravo LLM Claude Opus 5.5, kad būtų lengviau įvertinti projektą. Šis failas NĖRA projekto dalis.

README sugeneruotas remiantis projekto failais (programos kodu, Gradle konfigūracija ir užduoties aprašu).

Jokia kita projekto dalis nebuvo sugeneruota naudojant LLM.


Skambučių bufferio simuliacija (SD2)

Darbalaukio programa, simuliuojanti klientų skambučių aptarnavimą. Skambučių eilės realizuotos deko struktūra (kotlin.collections.ArrayDeque).

Programos kodas: https://git.denaerium.com/Denaerium/ads-sd2

Reikalavimai

Vienintelis privalomas įrankis yra JDK 26 (pvz., Eclipse Temurin). Gradle, Kotlin kompiliatorius ir visos bibliotekos atsisiunčiami automatiškai per gradlew pirmo paleidimo metu, todėl reikia interneto ryšio.

Neprivaloma:

  • Git – projektui atsisiųsti (galima ir atsisiųsti ZIP iš repozitorijos puslapio).
  • JetBrains IntelliJ IDEA – rekomenduojama aplinka.

Paleidimas

Įeigos taškas: funkcija main() faile src/main/kotlin/com/denaerium/vgtu/algo/Entrypoint.kt (klasė com.denaerium.vgtu.algo.EntrypointKt).

Windows

  1. Įdiegti JDK 26 ir Git (PowerShell):

    winget install EclipseAdoptium.Temurin.26.JDK
    winget install Git.Git
    

    Arba atsisiųsti JDK rankiniu būdu iš https://adoptium.net/temurin/releases/?version=26.

  2. Atidaryti naują terminalo langą ir patikrinti, ar java -version rodo 26.

  3. Atsisiųsti ir paleisti projektą:

    git clone https://git.denaerium.com/Denaerium/ads-sd2.git
    cd ads-sd2
    .\gradlew.bat run
    
macOS
  1. Įdiegti JDK 26 per SDKMAN! (Git macOS sistemoje pasiūlomas įdiegti automatiškai pirmą kartą paleidus git):

    curl -s "https://get.sdkman.io" | bash
    sdk list java
    sdk install java 26.0.2+1.1-tem
    

    Tiksli versija (26.x.x-tem) imama iš sdk list java sąrašo. Arba atsisiųsti .pkg iš https://adoptium.net/temurin/releases/?version=26.

  2. Patikrinti, ar java -version rodo 26.

  3. Atsisiųsti ir paleisti projektą:

    git clone https://git.denaerium.com/Denaerium/ads-sd2.git
    cd ads-sd2
    ./gradlew run
    
Linux
  1. Įdiegti Git per sistemos paketų tvarkyklę (pvz., sudo apt install git curl zip unzip), o JDK 26 per SDKMAN!:

    curl -s "https://get.sdkman.io" | bash
    sdk list java
    sdk install java 26.0.2+1.1-tem
    

    Tiksli versija (26.x.x-tem) imama iš sdk list java sąrašo.

  2. Patikrinti, ar java -version rodo 26.

  3. Atsisiųsti ir paleisti projektą:

    git clone https://git.denaerium.com/Denaerium/ads-sd2.git
    cd ads-sd2
    ./gradlew run
    

IntelliJ IDEA

Atidaryti projekto aplanką ir paleisti main() iš Entrypoint.kt arba Gradle užduotį run. Jei JDK 26 neįdiegtas, IntelliJ gali jį atsisiųsti: File → Project Structure → SDK → Download JDK.

Duomenų failai

  • src/main/resources/clients.json – klientų sąrašas (vip ir clients telefono numeriai).
  • call-reports.json – aptarnautų skambučių sąrašas. Sukuriamas aplanke, iš kurio paleista programa, ir išvalomas kiekvieno paleidimo metu.

Naujas klientų sąrašas generuojamas taip (reikia Python 3.8+):

python3 scripts/generate_call_lists.py