Erinevus lehekülje "ITI0011-2015:harjutus 10" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
21. rida: 21. rida:
 
   
 
   
 
* '''getTotalRecordsInResponse''' tagastab XML tulemusest <code><totalItems>X</totalItems></code> X väärtuse. Kui tulemus puudub või getBookByTitle viskab erindi, siis tagastada 0.  
 
* '''getTotalRecordsInResponse''' tagastab XML tulemusest <code><totalItems>X</totalItems></code> X väärtuse. Kui tulemus puudub või getBookByTitle viskab erindi, siis tagastada 0.  
* getPossibleBookTitles tagastab kõik raamatute nimed (see tähendab kõik väärtused, mis on <title> tagide vahel). Duplikaadid lubatud. Kui tulemus puudub võib getBookByTitle viskab erindi, siis tagatada tühi list.
+
* '''getPossibleBookTitles''' tagastab kõik raamatute nimed (see tähendab kõik väärtused, mis on <title> tagide vahel). Duplikaadid lubatud. Kui tulemus puudub võib getBookByTitle viskab erindi, siis tagatada tühi list.
getBookWithMostPagesTitle,  tagastab raamatu pealkirja(<title>), millel on antud XML korral kõige rohkem lehekülgi. Kui getBookByTitle viskab erindi, siis tagastada tühi string ("")
+
* '''getBookWithMostPagesTitle''',  tagastab raamatu pealkirja(<title>), millel on antud XML korral kõige rohkem lehekülgi. Kui getBookByTitle viskab erindi, siis tagastada tühi string ("")
* getPossbileAuthors, tagastab kõik leitud raamatute autorid,  seejuures tuleb arvestada, et ühte autorit ei tohi olla listis rohkem kui 1 kord. Raamatu autori leiab <authors> tagide vahelt. Tähelepanu <authors> tag sisaldab tegelikult ainulte ühte autorit, mitme autori puhul on lisatud <authors> tage mitu korda. Erindi korral tagastada tühi list.
+
* '''getPossbileAuthors''', tagastab kõik leitud raamatute autorid,  seejuures tuleb arvestada, et ühte autorit ei tohi olla listis rohkem kui 1 kord. Raamatu autori leiab <authors> tagide vahelt. Tähelepanu <authors> tag sisaldab tegelikult ainulte ühte autorit, mitme autori puhul on lisatud <authors> tage mitu korda. Erindi korral tagastada tühi list.
* getBookWithLessThanNPagesTitles tagastab listi pealkirjadest, mille puhul on lehekülgi vähem kui n. Erindi puhul tagastada tühi list.
+
* '''getBookWithLessThanNPagesTitles''' tagastab listi pealkirjadest, mille puhul on lehekülgi vähem kui n. Erindi puhul tagastada tühi list.
 
+
* '''query''' teeb päringu BookShopApi abiga ja salvestab viimase tulemuse klassimuutujasse lastResult. Kui tekib erind, siis viimane tulemus on võrdne tühja stringiga ("").
* query teeb päringu BookShopApi abiga ja salvestab viimase tulemuse klassimuutujasse lastResult. Kui tekib erind, siis viimane tulemus on võrdne tühja stringiga ("").
 
  
 
Kasulikke materjale:
 
Kasulikke materjale:
32. rida: 31. rida:
 
* http://dom4j.sourceforge.net/dom4j-1.6.1/ - xml väljundi mugavamaks parsimiseks
 
* http://dom4j.sourceforge.net/dom4j-1.6.1/ - xml väljundi mugavamaks parsimiseks
 
* http://en.wikipedia.org/wiki/Regular_expression - regulaaravalidstega on võimalik mugavalt matchida konkreetseid elemente
 
* http://en.wikipedia.org/wiki/Regular_expression - regulaaravalidstega on võimalik mugavalt matchida konkreetseid elemente
* http://www.freeformatter.com/xpath-tester.html     - võimaldab kiiresti leida kõik otsitavad elem endid, näiteks //title leiab kohe kõik pealkirjad
+
* http://www.freeformatter.com/xpath-tester.html - võimaldab kiiresti leida kõik otsitavad elem endid, näiteks //title leiab kohe kõik pealkirjad
  
  
45. rida: 44. rida:
  
  
Example BookShopApi call
+
Example BookShopApi call:
 
http://pastebin.com/9DcpBHe7
 
http://pastebin.com/9DcpBHe7
  
 
== Mall ==
 
== Mall ==

Redaktsioon: 24. märts 2015, kell 16:30

Testid alates 25. märtsist (või kui see teade ära kaob :) )

Harjutuse tähtaeg on 26.-27. märts.

Üldine informatsioon harjutuste kohta: ITI0011:harjutused.

Kirjeldus

Tuleb realiseerida klass BookStore, mis sõltub BookShopApi library'st, mille saab tõmmata Meedia:ITI0011-2014-BookStoreApiV01.zip. BookStoreApi library võimaldab pealkirjade (või pealkirja osa) järgi pärida infot raamatu(te) kohta.

Näiteks: <BookStoreInstance>.getBookByTitle("Tõde ja Õigus")

tagastab xml dokumendi http://pastebin.com/dSfNCHH8

BookStore peab laiendama SimpleBookStore klassi, mis tuleb kaasa BookShopApi teegiga.

BookStore peab olema eraldi defineeritud klass, mille konstruktor võtab argumendina ette BookShopApi objekti. BookShop klassis peab olema defineeritud 5 meetodit: getTotalRecordsInResponse, getPossibleBookTitles, getBookWithMostPagesTitle, getPossbileAuthors, query.

  • getTotalRecordsInResponse tagastab XML tulemusest <totalItems>X</totalItems> X väärtuse. Kui tulemus puudub või getBookByTitle viskab erindi, siis tagastada 0.
  • getPossibleBookTitles tagastab kõik raamatute nimed (see tähendab kõik väärtused, mis on <title> tagide vahel). Duplikaadid lubatud. Kui tulemus puudub võib getBookByTitle viskab erindi, siis tagatada tühi list.
  • getBookWithMostPagesTitle, tagastab raamatu pealkirja(<title>), millel on antud XML korral kõige rohkem lehekülgi. Kui getBookByTitle viskab erindi, siis tagastada tühi string ("")
  • getPossbileAuthors, tagastab kõik leitud raamatute autorid, seejuures tuleb arvestada, et ühte autorit ei tohi olla listis rohkem kui 1 kord. Raamatu autori leiab <authors> tagide vahelt. Tähelepanu <authors> tag sisaldab tegelikult ainulte ühte autorit, mitme autori puhul on lisatud <authors> tage mitu korda. Erindi korral tagastada tühi list.
  • getBookWithLessThanNPagesTitles tagastab listi pealkirjadest, mille puhul on lehekülgi vähem kui n. Erindi puhul tagastada tühi list.
  • query teeb päringu BookShopApi abiga ja salvestab viimase tulemuse klassimuutujasse lastResult. Kui tekib erind, siis viimane tulemus on võrdne tühja stringiga ("").

Kasulikke materjale:


Loodavat funktsioonid

  • public int getTotalRecordsInResponse()
  • public ArrayList<String> getPossibleBookTitles()
  • public String getBookWithMostPagesTitle()
  • public ArrayList<String> getPossibleAuthors()
  • public ArrayList<String> getBookWithLessThanNPagesTitles()
  • public void query(String search)


Example BookShopApi call: http://pastebin.com/9DcpBHe7

Mall