I praktikumi juhend

Klassi keskkona probleemid

Tühi demorakendus (vabatahtlik)

Et lihtsustada tutvumist Ant'i ja log4j'ga, on soovitatav vaadata tühja rakenduse skeletti, kus Java koodi on lihtsuse huvides minimaalselt. Selle saab alla laadida siit. See peaks andma ettekujutuse maksimaalselt lihtsast projektist, kus on korrektselt konfigureeritud Ant ja log4j ilma igasuguste "kellade ja viledeta".

  • Proovida rakendust käivitada (rakenduse juurkataloogis käsk ant run).
  • Tutvuda rakenduse sisuga:
    • Ant ehitusskriptiga (build.xml).
    • Log4j konfi-failiga (etc/log4j.xml).
    • Java koodiga.

Kassasüsteem

On loodud väikene ja poolik kassasüsteem. Use case asub siin. Realisatsiooni saab alla laadida siit.

  1. Muuta projekti konfikataloogi nimi (praegu ./etc/) ära nimeks conf. Jälgida, et log4j logimine jääks pärast muudatust endiselt töötama.
  2. Lisada logimisele logiteadete väljastamine faili
    • Muuta log4j konfiguratsioonifaili ./conf/log4j.xml
    • Lisada appender, mille klassiks on org.apache.log4j.FileAppender:
        <appender name="fileAppender" class="org.apache.log4j.FileAppender">
          <param name="File" value="templateApp.log"/>
          <param name="Append" value="false"/>
          <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
          </layout>
        </appender>
      
  3. Muuta logimise tähtsus levelile DEBUG ja veenduda, et debug laused jõuavad logisse.
  4. Lisada INFO tähtsusega logimislause, kui programm pannakse kasutaja poolt kinni.
  5. Muuta Ant'i ehitusskripti (build.xml) nii, et ..
    1. .. targeti build käivitamisel kompileeritavad .class-failid paigutatakse kataloogi ./build/compile.
    2. .. targeti javadoc käivitamisel suunatakse genereeritav dokumentatsioon kataloogi ./build/javadoc.
    3. .. targeti dist käivitamisel suunataks distributsiooni loomine ümber kataloogi ./build/dist.
    4. Distributsiooni käivitatava .jar-faili nimi oleks SalesSystem2009.jar.
  6. Hetkel kui lisada ostukorvi sama triipkoodiga kaupa mitu korda, siis tabelisse tuleb mitu kirjet. Teha vajalik muudatus klassi PurchaseInfoTableModel meetodisse addItem(final SoldItem item), et suurendataks olemasoleva rea kogust lisatava koguse võrra.
  • Kes ei jõua praktikumis lahendatavaid ülesandeid kohapeal valmis, peab kodus lõpetama. Ka neid arvestatakse kodutöö hindamisel.

KODUSED ÜLESANDED

  1. Muuta ostu sooritamise kasutajaliidest nii, et kauba ID tekstina sisestamise abil oleks võimalik kaupu valida rippmenüüst, kus näidatakse kõikide kauba-artiklite nimesid. Muu käitumine peab jääma samaks, s.t. kui kasutaja valib rippmenüüst mingi kauba-artikli välja, siis täidetakse automaatselt õigete andmetega ära väljad "Bar code" ja "Price". (Vihje: kasutada komponenti JComboBox).
  2. Ostukorvi koostamise täiendamine
    1. Lisada ostukorvi koostamisel "Shopping cart" tabelisse täiendav veerg "Sum", kus arvutatakse antud rea koguhind (Price * Amount ehk antud kauba ühikhind * ostetav kogus).
    2. Keelata toote lisamist, kui laos ei ole soovitud kogust ja kuvada kasutajale selle kohane teade.
  3. Maksmine
    1. Kui kasutaja on kaubad ostukorvi välja valinud ja vajutab nuppu ostu sooritamiseks, siis kuvada aken, kus on kalkuleeritud ostu kogusumma.
    2. Saab sisestada makstav summa.
    3. Süsteem näitab tagastusraha summat.
    4. Kasutaja saab valida kas nõustuda või keelduda. Nõustumise korral ost sooritatakse, keeldumise korral dialoogiaken peidetakse/suletakse ja ostukorvi koostamine jätkub samast seisust kus enne pooleli jäi.
  4. Ostu salvestamine ja ajalugu
    1. Täiendada süsteemi nii, et kui ost sooritatakse, siis tekib ka kirje "Ajalugu" paani. Selleks lisada JTabel ajalugu paani. Kuvada seal ostude kirjeid. Tabelis peaksid olema väljad ostu sooritamise kuupäev/kellaaeg, koguhind. Kui vajutatakse ostu peale, avaneb tabel, kus on kõik ostetud kaubad koos nime, koguse, ühikhinna ja rea summaga (analoogselt ostukorvi sisu tabeliga Point-of-sale tab'is).
    2. Kindlasti pärast ostu sooritamist vähendada vastavate koguste võrra laoseisu.
  5. Ladu
    1. Täiendada vaadet "Laoseis" võimalusega lisada lattu uusi tooteid. Peaks saama määrata kõiki tabelis olevaid välju.

Lingid kasutatavatele tehnoloogiatele/teekidele:

edit