Revize 9ebc6f0f
Přidáno uživatelem Daniel Stuš před téměř 6 roky(ů)
src/data/BitmapBuilder.java | ||
---|---|---|
348 | 348 |
window.printMessage("- spoj: "+currentJoin); |
349 | 349 |
|
350 | 350 |
Bitmap generatedBitmap = new Bitmap(dateFrom, dateTo, currentLine, currentJoin, currentTimeCode, spoj.hardCodesToString(pevnykod), spoj.getNumberLineVersion()); |
351 |
int numberOfTimeCodes = 0; //Počet časových kódu aplikovaných na daný spoj |
|
351 |
int numberOfTimeCodes = 0; //Počet časových kódu daného spoje |
|
352 |
int timeCodesInRange = 0; //Počet časových kódu aplikovaných na spoj |
|
352 | 353 |
|
353 | 354 |
previousTimeCode = ""; |
354 | 355 |
|
355 | 356 |
for (JDFCaskodyRecord caskod : caskody) { |
356 |
currentTimeCode = caskod.getTimeCode(); |
|
357 |
|
|
357 | 358 |
|
358 | 359 |
// Zda se jedná o aktuálně zkoumanou linku a spoj |
359 | 360 |
if (currentLine.equals(caskod.getNumberLine()) && currentJoin.equals(caskod.getNumberJoin())) { |
360 | 361 |
|
362 |
currentTimeCode = caskod.getTimeCode(); |
|
363 |
generatedBitmap.setTimeCode(currentTimeCode); |
|
364 |
numberOfTimeCodes++; |
|
365 |
|
|
366 |
// Pokud se jedná o stejný spoj, ale jiný časový kód vytvoř novou bitmapu a přidej předchozí |
|
367 |
if (!currentTimeCode.equals(previousTimeCode) && isNumeric(currentTimeCode) && !previousTimeCode.equals("")) { |
|
368 |
bitmaps.add(generatedBitmap); |
|
369 |
generatedBitmap = new Bitmap(dateFrom, dateTo, currentLine, currentJoin, currentTimeCode, spoj.hardCodesToString(pevnykod), spoj.getNumberLineVersion()); |
|
370 |
} |
|
361 | 371 |
|
362 |
//Pokud je zkoumaný časový kód v rozsahu bitmapy |
|
363 |
if (isInRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate())) { |
|
364 | 372 |
|
365 |
generatedBitmap.setTimeCode(currentTimeCode); |
|
366 |
numberOfTimeCodes++; |
|
367 |
hardCodeRange = setHardCodeRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate()); |
|
373 |
//Pokud je zkoumaný časový kód v rozsahu bitmapy |
|
374 |
if (isInRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate())) { |
|
375 |
timeCodesInRange++; |
|
376 |
hardCodeRange = setHardCodeRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate()); |
|
377 |
fillBitmap(generatedBitmap, hardCodeRange[0], hardCodeRange[1], Integer.parseInt(caskod.getTypeTimeCode())); |
|
378 |
} |
|
368 | 379 |
|
369 |
// Pokud se jedná o stejný spoj, ale jiný časový kód vytvoř novou bitmapu a přidej předchozí |
|
370 |
if (!currentTimeCode.equals(previousTimeCode) && isNumeric(currentTimeCode) && !previousTimeCode.equals("")) { |
|
371 |
bitmaps.add(generatedBitmap); |
|
372 |
generatedBitmap = new Bitmap(dateFrom, dateTo, currentLine, currentJoin, currentTimeCode, spoj.hardCodesToString(pevnykod), spoj.getNumberLineVersion()); |
|
373 |
fillBitmap(generatedBitmap, hardCodeRange[0], hardCodeRange[1], Integer.parseInt(caskod.getTypeTimeCode())); |
|
374 |
} |
|
380 |
previousTimeCode = currentTimeCode; |
|
381 |
} |
|
382 |
} |
|
375 | 383 |
|
376 |
else { |
|
377 |
fillBitmap(generatedBitmap, hardCodeRange[0], hardCodeRange[1], Integer.parseInt(caskod.getTypeTimeCode())); |
|
378 |
} |
|
379 | 384 |
|
380 |
previousTimeCode = currentTimeCode; |
|
381 | 385 |
|
382 |
} |
|
383 |
} |
|
386 |
//Pokud nemá žádné časové omezení a žádný pevnýkód -> naplň jedničkami |
|
387 |
if (numberOfTimeCodes == 0 && spoj.getHardCodes().size() == 0) { |
|
388 |
generatedBitmap.fillWithOnes(); |
|
389 |
bitmaps.add(generatedBitmap); |
|
384 | 390 |
} |
385 | 391 |
|
386 |
//Pokud nemá spoj žádná omezení -> napln bitmapu a přidej |
|
387 |
if (numberOfTimeCodes == 0) {
|
|
392 |
//Pokud nemá spoj žádná omezení -> napln bitmapu podle pevnych kodu a přidej
|
|
393 |
else if (timeCodesInRange == 0 && spoj.getHardCodes().size() > 0) {
|
|
388 | 394 |
generatedBitmap.setHardCodeDays(dateFrom, dateTo, 1); |
389 | 395 |
bitmaps.add(generatedBitmap); |
390 | 396 |
} |
Také k dispozici: Unified diff
Opraveny drobné odchylky od vzorových souborů v logice generovaní bitmap. (Re #7535)