123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { JavaObject, cast_java_lang_Object } from '../../java/lang/JavaObject';
- import { KursblockungOutput, cast_de_nrw_schule_svws_core_data_kursblockung_KursblockungOutput } from '../../core/data/kursblockung/KursblockungOutput';
- import { KursblockungOutputs, cast_de_nrw_schule_svws_core_data_kursblockung_KursblockungOutputs } from '../../core/data/kursblockung/KursblockungOutputs';
- import { KursblockungInput, cast_de_nrw_schule_svws_core_data_kursblockung_KursblockungInput } from '../../core/data/kursblockung/KursblockungInput';
- import { KursblockungAlgorithmusS, cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusS } from '../../core/kursblockung/KursblockungAlgorithmusS';
- import { KursblockungAlgorithmusKMatching, cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusKMatching } from '../../core/kursblockung/KursblockungAlgorithmusKMatching';
- import { KursblockungDynDaten, cast_de_nrw_schule_svws_core_kursblockung_KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten';
- import { Service, cast_de_nrw_schule_svws_core_Service } from '../../core/Service';
- import { KursblockungAlgorithmusSZufaellig, cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusSZufaellig } from '../../core/kursblockung/KursblockungAlgorithmusSZufaellig';
- import { KursblockungAlgorithmusK, cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusK } from '../../core/kursblockung/KursblockungAlgorithmusK';
- import { Vector, cast_java_util_Vector } from '../../java/util/Vector';
- import { System, cast_java_lang_System } from '../../java/lang/System';
- export class KursblockungAlgorithmus extends Service<KursblockungInput, KursblockungOutputs> {
- public constructor() {
- super();
- }
- public handle(input : KursblockungInput) : KursblockungOutputs {
- this.logger.modifyIndent(+4);
- let kursblockungOutputs : KursblockungOutputs = new KursblockungOutputs();
- kursblockungOutputs.outputs = new Vector();
- let dynDaten : KursblockungDynDaten = new KursblockungDynDaten(this.logger, input);
- let timeMaxGlobal : number = dynDaten.gibBlockungszeitMillis();
- let algorithmenK : Array<KursblockungAlgorithmusK> = [new KursblockungAlgorithmusKMatching(this.logger, dynDaten)];
- let algorithmenS : Array<KursblockungAlgorithmusS> = [new KursblockungAlgorithmusSZufaellig(this.logger, dynDaten, false)];
- let timeStart : number = System.currentTimeMillis();
- let timeMaxLocal : number = 1000;
- do {
- for (let iK : number = 0; iK < algorithmenK.length; iK++){
- for (let iS : number = 0; iS < algorithmenS.length; iS++){
- algorithmenK[iK].berechne(timeMaxLocal);
- algorithmenS[iS].berechne(timeMaxLocal);
- let out : KursblockungOutput = dynDaten.gibErzeugtesKursblockungOutput();
- kursblockungOutputs.outputs.add(out);
- }
- }
- timeMaxLocal += 100;
- } while (System.currentTimeMillis() - timeStart < timeMaxGlobal);
- this.logger.modifyIndent(-4);
- return kursblockungOutputs;
- }
- isTranspiledInstanceOf(name : string): boolean {
- return ['de.nrw.schule.svws.core.Service', 'de.nrw.schule.svws.core.kursblockung.KursblockungAlgorithmus'].includes(name);
- }
- }
- export function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmus(obj : unknown) : KursblockungAlgorithmus {
- return obj as KursblockungAlgorithmus;
- }
|