Hjälp att förstå java uppgift.

Permalänk
Medlem

Hjälp att förstå java uppgift.

Jag har fått en java uppgift som jag har lite svårt att förstå. Jag förstår en del men när jag väl ska planera ut vad som behövs göra och vilka metoder jag ska använda så blir hjärnan blank. Jag vill bara få hjälp att förstå och lite hjälp att börja. Jag vill lösa uppgiften så mycket på egen hand som möjligt.

Uppgiften går ut på att jag ska bygga ett API som läser in filer och behandlar dom. Jag har 2 filformat som har data i dom som jag ska använda. Lösningen ska innehålla en hanterare för dessa två filformat. Denna hanterare ska anropa metoder från ett interface som jag fick med. Man ska också kunna utöka filhanteringsmodulen med nya filtyper.

Hantering av infiler
Istället för att registrera händelser i systemet manuellt skulle man vilja låta andra system skicka information till modulen i form av filer där varje rad representerar en händelse.
Till exempel, en inbetalningsfil som representerar inbetalningar via en viss inbetalningstjänst för ett visst datum. Varje rad i en sådan fil representerar en inbetalning och säger typiskt att en viss summa har betalats in till en viss försäkring från en viss källa.

En fil med fondkurser är ett annat exempel. En rad representerar då en kurs för en viss fond för en viss punkt i tiden.
Ytterligare ett exempel är personuppgifter. Om en person skulle byta adress eller namn informeras Inca av ett centralt system via en sådan fil. Varje rad innehåller personens namn, personnummer, adress samt övriga relevanta uppgifter.

Din uppgift är att bygga ett API för att hantera sådana filer. Den del av systemet som säkerställer att filer kommer från en säker källa är redan gjord. Dessutom har vi ett system som upptäcker när nya filer dyker upp och ser till att din modul anropas för varje nyinkommen fil. Din programvara ska läsa in filen och behandla den.

Du får två konkreta filtformat att leka med: ”Betalningsservice” och ”Inbetalningstjänsten”. De finns beskrivna i separata dokument, och exempel på indata finns i motsvarande textfiler. Din lösning ska inkludera hanterare för dessa två filformat. Hanteraren ska anropa metoderna i det bifogade Java-interfacet PaymentReceiver. Samtidigt ska man kunna utöka filhanteringsmodulen med stöd för nya filtyper.

Dold text

Här är PaymentReceiver.

import java.math.BigDecimal; import java.util.Date; public interface PaymentReceiver { /** * Called to mark the start of a new payment bundle. * @param accountNumber The account number where funds are deposited. * @param paymentDate The date at which the funds were/will be deposited on the specified account. * @param currency The currency of the payments in the bundle. */ public void startPaymentBundle(String accountNumber, Date paymentDate, String currency); /** * Called to notify the receiver of a single payment within a bundle. * @param amount The payment amount. * @param reference The payment reference. */ public void payment(BigDecimal amount, String reference); /** * Called to mark the end of a payment bundle. This means that there will be no more calls to payment() * for this bundle, and that the receiver can process the bundle. */ public void endPaymentBundle(); }

Dold text

Exempel på hur data i en fil kan se ut beroende på vad det är för filtyp.
Första tecknet säger vad det är för typ av tjänst T.ex "O i O5555" eller "B".
Sen är det annan data som banknr, belopp, valuta etc.

Rader avslutas med två radbrytningstecken CR + LF (ASCII 13 + 10).
Filer använder teckenkodningen ISO-8859-1. Alla filer av denna typ har ett namn som slutar på ”_betalningsservice.txt”

O5555 5555555555 4711,17 420110315SEK B 30001234567890 B 10002345678901 B 300,103456789012 B 400,074567890123

Dold text

Vad jag har förstått är att jag ska göra två PaymentHandlers som implementerar PaymentReceiver. En för varsin filtyp. Läsa in data från filerna med FileInputStream. Men när och vart jag ska kalla på metoderna från paymenthandler är jag osäker om. Om någon skulle vilja förklara lite bättre och hjälpa mig på traven så skulle det vara väldigt omtänksamt.

Permalänk
Medlem

Om du anser att uppgiften är otydlig eller dylikt, då tycker jag du ska kontakta läraren.

Jag har inte läst igenom allt, men låter inte som du ska göra två olika handlers, här vill du nog göra en form utav en "dynamiskhandler".
Den i sin tur ska kunna arbeta på olika filtyper.
Användaren ska inte behöva veta eller bry sig om vad som händer, utan det är upp till ditt API/Handler att kunna hantera en mängd olika filtyper.

Så en metod/funktion som har en parameter med en fil, här i ska det hända magi, användaren ska kunna skicka in "vilken" filtyp som helst.

Kan hända jag inte läst igenom allt noga, men det låter mest troligt.

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770