1) Se alla directory dirLogs si aggiungono anche i files chat.evergreen.03.11-Wed-2015.log e query.user-ct-test-collection-05.txt.gz, invocando java -cp 1649441.jar it.uniroma1.lcl.dietrolequinte.loader.Loader dirLogs/ si ottiene, tra le altre cose: Numero totale di byte: 81907 mentre dovrebbe essere:: Numero totale di byte: 215043 2) Invocando java -cp 1649441.jar:. TestSearcherThird dirLogs/ 0 dove dirLogs è modificata come sopra, i seguenti utenti non vengono considerato nel for (Utente u : searcher.getUsers()): dkyle ningalls sandbergja TaraC_ wjr 3) Il toString dell'oggetto SearchResult non deve comincaire con un'andata a capo, e non deve mettere uno spazio dopo ogni andata a capo.
1) In TestSearcherThird.java, il metodo search ritorna sempre l'iterabile vuoto quando viene chiamato con "loginout" 2) Il toString sugli oggetti SearchResult ritorna solamente una stringa contenente una data. Invece, deve tornare una stringa formattata come indicato a pag. 3-4 delle specifiche,
1) Il toString sugli oggetti SearchResult mostra uno strano errore (non sempre, ma solo in alcuni casi): la "Posizione link cliccato" risulta sbagliata. Ad esempio, prendendo l'elemento di indice 16 nell'iterabile ritornato dalla search con modalità 1 (vedere TestSearcherTihrd.java)il risultato è: Utente: 2421 Stringa immessa: poker Tempo: 2006-03-14T22:03:46 Link cliccato: http://www.planetpoker.com Posizione link cliccato: 1 Mentre la corrispondente riga sui gile di log di AOL è: 2421 poker 2006-03-14 22:03:46 13 http://www.planetpoker.com quindi "Posizione link cliccato" avrebbe dovuto essere 13. Vedendo anche altri esempi, è probabile che venga presa solo la prima cifra, e non l'intero numero.
1) Il package cmdline non esiste (probabile misspell con cmdlin). Qesto impedisce di testare il modulo cmdLine 2) Invocando javac TestSearcherThird.java si ottiene: TestSearcherThird.java:12: error: cannot find symbol searcher = Searcher.getIstanza(args[0]); ^ symbol: method getIstanza(String) location: class Searcher 1 error
1) Nel cmdLine, l'output del Loader *non* deve essere mostrato. Lo stesso vale per TestSearcherThird. 2) Il modulo cmdLine non legge correttamente le date. Ad esempio, per 2015-01-01T00:00:00 solleva la seguente eccezione: Exception in thread "main" java.time.format.DateTimeParseException: Text '01T00:00:00T00:00' could not be parsed at index 0 at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1947) at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1849) at java.time.LocalDateTime.parse(LocalDateTime.java:492) at java.time.LocalDateTime.parse(LocalDateTime.java:477) at it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte.aggiungiOra(DietroLeQuinte.java:47) at it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte.cerca(DietroLeQuinte.java:128) at it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte.main(DietroLeQuinte.java:301) 3) Invocando direttamente il Loader java -cp 1218402.jar it.uniroma1.lcl.dietrolequinte.loader.Loader dirLogs/ L'output atteso viene scritto 2 volte, anziché una sola. Inoltre, l'output del Loader deve attenersi a quello riportato nelle specifiche (pag. 4-5); quindi non "Numero dei Login/Logout", ma "Numero totale di login/logout" Infine, la prima riga deve contenere la directory passata come argomento al Loader stesso. Ad esempio, se l'invocazione è la seguente: java it.uniroma1.lcl.dietrolequinte.loader.Loader ../../../../esempio_test_studenti/dirLogs/ Allora la prima riga dell'output dev'essere: Numero di file in ../../../esempio_test_studenti/dirLogs/: 4 4) Invocando java -cp 1218402.jar:. TestSearcherThird ../../../esempio_test_studenti/dirLogs/ 0 viene sollevata un'eccezione (con messaggio null) per ogni chiamata a search che ritorna un iterabile vuoto. È sufficiente ritornare semplicemente l'iterabile vuoto.
1) È eccessivo sollevare un'eccezione nel cmdLine ogniqualvolta ci sia un'interrogazione non supportata. È sufficiente un messaggio di una riga (ad esempio, "interrogazione non supportata") 2) Invocando java -cp 1468732.jar:. TestSearcherThird dirLogs/ 0 si ottengono un gran numero di eccezioni, praticamente ad ogni chiamata di search. Ad esempio: Informazioni sull'utente: 507 Errore in interrogazione e modalita' 0 per l'utente 507 interrogazione Errore in loginout e modalita' 0 per l'utente 507 loginout Errore in messaggio e modalita' 0 per l'utente 507 messaggio Errore in azione e modalita' 0 per l'utente 507 azione
1) Il jar si deve chiamare matricola.jar. 2) Nel cmdLine, invocato sulla directory dirLogs, i seguenti 2 comandi: num_login abowling num_logout abowling danno la risposta sbagliata (ritornano 0 anziché 1). 3) Invocando java it.uniroma1.lcl.dietrolequinte.loader.Loader dirLogs/ non si ottiene nessun output (dovrebbe mostrare quello descitto alle pagine 4-5 delle specifiche) 4) il toString della classe SearchResult dev'essere formattato come indicato tra fine pag. 3 e inizio pag. 4 delle specifiche
1) La modalità interattiva non deve aprire una finestra per far immettere l'input: va immessa direttamente sullo standard input 2) Invocando java -cp 1533022.jar it.uniroma1.lcl.dietrolequinte.loader.Loader dirLogs/ (dove dirLogs ovviamente esiste) il risultato è: Exception in thread "main" java.nio.file.NoSuchFileException: dirLogs at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55) at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144) at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99) at java.nio.file.Files.readAttributes(Files.java:1737) at java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:219) at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:276) at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:322) at java.nio.file.FileTreeIterator.(FileTreeIterator.java:72) at java.nio.file.Files.walk(Files.java:3574) at java.nio.file.Files.walk(Files.java:3625) at it.uniroma1.lcl.dietrolequinte.loader.Loader.readFolder(Loader.java:115) at it.uniroma1.lcl.dietrolequinte.loader.Loader. (Loader.java:61) at it.uniroma1.lcl.dietrolequinte.loader.Loader.main(Loader.java:322) 3) Invocando javac -cp 1533022.jar TestSearcherThird.java si ottengono i seguenti errori di compilazione: TestSearcherThird.java:1: error: package it.uniroma1.lcl.dietrolequinte.search does not exist import it.uniroma1.lcl.dietrolequinte.search.Searcher; ^ TestSearcherThird.java:2: error: package it.uniroma1.lcl.dietrolequinte.search does not exist import it.uniroma1.lcl.dietrolequinte.search.SearchResult; ^ TestSearcherThird.java:9: error: cannot find symbol Searcher searcher = null; ^ symbol: class Searcher location: class TestSearcherThird TestSearcherThird.java:12: error: cannot find symbol searcher = Searcher.getIstanza(args[0]); ^ symbol: variable Searcher location: class TestSearcherThird 4 errors
1) Il jar si deve chiamare con matricola.jar (la stessa matricola che figura nel nome dello zip sottomesso) 2) Svariati errori nel Loader: a) Le scritte di output devono essere *esattamente* quelle indicate a pag. 4 delle specifiche. Quindi ci vogliono i plurali (ad esempio, non "azione", ma "azioni"; non "messaggio", ma "messaggi") e le etichette "login", "logout" e "loginout" non esistono (invece, c'è il solo "login/logout") b) Anche assumendo che "loginout" sia in realtà "login/logout", i conti non tornano: ad esempio, sul file chat.evergreen.01.01-Thu-2015.log dovrebbero essere 18, mentre voi dite 21 3) Invocando java TestSearcherThird dirLogs/ 0 mancano all'appello 4 utenti, che non vengono stampati dal for (Utente u : searcher.getUsers()): bshum eeevil pinesol_green tsbere 4) Il toString sugli oggetti SearchResult non è preciso: di nuovo, occorre che sia esattamente come descritto tra fine pagina 3 e inizio pagina 4 delle specifiche. Quindi, non è "Link Cliccato", ma "Link cliccato", e soprattutto non è "Posizione Link", ma "Posizione link cliccato".
1) L'iterabile ritornato da search dev'essere ordinato temporalmente. Ad esempio, invocando: ~/assegnoRoma1/ricerca/software/java8/jdk1.8.0_45/bin/java -cp 1594635.jar:. TestSearcher dirLogs/ 1 2006-03-01T00:00:00 2006-04-01T00:00:00 (TestSearcher.java è ora disponibile sul sito) si ottiene, tra le altre cose: Dimensione per tipo interrogazione e modalita' 1 per l'utente 507: 57 Elemento in mezzo per tipo interrogazione e modalita' 1 per l'utente 507: Utente: 507 Stringa immessa: ghost hunting equipment Tempo: 2006-03-05T16:48:43 Link cliccato: http://www.hollowhill.com Posizione link cliccato: 22 che però, guardando il corrispondente file di log AOL, non è il 29-esimo elemento (cioè, quello di indice 28), ma il 33-esimo (di indice 32). 2) Il toString dell'oggetto SearchResult è formattato male: dev'essere sempre come descritto tra fine pag. 3 ed inizio pag. 4 delle specifiche. Quindi, niente "Azione effettuata", ma "Stringa immessa"; niente "Loginout", ma "Stringa immessa" (con il messaggio corrispondente, ad es. "has quit IRC")
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |