1533303
1) Il jar risulta non leggibile. Ad esempio, provando con:
jar tf 1533303.jar
si ottiene:
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:145)
at java.util.zip.ZipFile.(ZipFile.java:106)
at sun.tools.jar.Main.list(Main.java:1051)
at sun.tools.jar.Main.run(Main.java:243)
at sun.tools.jar.Main.main(Main.java:1221)
2) Invocando il cmdLine, ad esempio così:
java it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte dirLogs/ cmdsFile
si ottiene quanto segue:
Exception in thread "main" java.lang.NullPointerException
at it.uniroma1.lcl.dietrolequinte.search.Searcher.filter(Searcher.java:290)
at it.uniroma1.lcl.dietrolequinte.search.Searcher.search(Searcher.java:435)
at it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte.iterattivo(DietroLeQuinte.java:35)
at it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte.main(DietroLeQuinte.java:141)
3) Ogni invocazione del Loader solleva un'eccezione. Ad esempio:
java it.uniroma1.lcl.dietrolequinte.loader.Loader dirLogs/
dà come risultato:
Error: Main method not found in class it.uniroma1.lcl.dietrolequinte.loader.Loader, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
4) Ogni invocazione del di TestSearcher.java ritorna un errore. Ad esempio:
java TestSearcher ../../../../dirLogs/ 0
ritorna:
Errore getUsers: query.first_lines_of_user-ct-test-collection-01.txt.gz (No such file or directory)
1649441
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:. TestSearcher dirLogs/ 0
tra le altre cose dice:
Dimensione per tipo azione e modalita' 0 per l'utente kmlussier: 4
quando in realtà le azioni per quell'utente sono solo 3.
Inoltre, dice anche:
Elemento in mezzo per tipo interrogazione e modalita' 0 per l'utente 18623: Utente: 18623
Stringa Immessa: will char
Tempo: 2006-03-24T17:04:15
Link Cliccato: p://www.800padutch.com
Posizione Link Cliccato: 2800
dove pertanto sono spariti i primi 3 caratteri ("htt") dal link cliccato, e la posizione del link cliccato è chiaramente errata. Ci sono analoghi errori anche per altri casi (sempre delle query).
2) Il toString degli oggetti SearchResult devono rispettare le maiuscole/minuscole date nelle specifiche. Quindi non "Link Cliccato", ma "Link cliccato", non "Posizione Link Cliccato" ma "Posizione link cliccato"; non "Stringa Immessa" ma "Stringa immessa"
1644537
1) Manca completamnte il JAR richiesto dalle specifiche
2) Qualsiasi invocazione a TestSearcher.java ritorna sempre:
Errore getUsers: it.uniroma1.lcl.dietrolequinte.Utente cannot be cast to java.lang.Comparable
1533022
1) Invocando
java -cp 1533022.jar:. TestSearcher dirLogs/ 2 chat.evergreen.01.01-Thu-2015.log
svariate dimensioni risultano errate. Ad esempio:
Dimensione per tipo azione e modalita' 2 per l'utente jcamins: 263
anziché
Dimensione per tipo azione e modalita' 2 per l'utente jcamins: 1
Analogamente, invocando
java -cp 1533022.jar:. TestSearcher dirLogs/ 2 query.first_lines_of_user-ct-test-collection-01.txt.gz
si ottiene, ad esempio:
Dimensione per tipo interrogazione e modalita' 2 per l'utente 1268: 408
anziché
Dimensione per tipo interrogazione e modalita' 2 per l'utente 1268: 24
2) 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 1533022.jar:. TestSearcherThird dirLogs/ 2 query.user-ct-test-collection-05.txt.gz
Alla fine solleva un'eccezione:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.lang.String.substring(String.java:1957)
at java.lang.String.split(String.java:2341)
at java.lang.String.split(String.java:2410)
at it.uniroma1.lcl.dietrolequinte.loader.query.LoaderAol.readGzSingoloFileSearcher(LoaderAol.java:82)
at it.uniroma1.lcl.dietrolequinte.loader.query.LoaderAol.getListUtentiAolSingoloFile(LoaderAol.java:61)
at it.uniroma1.lcl.dietrolequinte.search.Searcher.search(Searcher.java:142)
at TestSearcherThird.main(TestSearcherThird.java:34)
Una cosa simile accade su TestSearcher:
java -cp 1533022.jar:. TestSearcher dirLogs/ 2 query.user-ct-test-collection-05.txt.gz
solleva:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOf(Arrays.java:3181)
at java.util.ArrayList.grow(ArrayList.java:261)
at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235)
at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227)
at java.util.ArrayList.add(ArrayList.java:458)
at java.lang.String.split(String.java:2341)
at java.lang.String.split(String.java:2410)
at it.uniroma1.lcl.dietrolequinte.loader.query.LoaderAol.readGzSingoloFileSearcher(LoaderAol.java:82)
at it.uniroma1.lcl.dietrolequinte.loader.query.LoaderAol.getListUtentiAolSingoloFile(LoaderAol.java:61)
at it.uniroma1.lcl.dietrolequinte.search.Searcher.search(Searcher.java:142)
at TestSearcher.main(TestSearcher.java:36)
769377
1) Manca completamnte il JAR richiesto dalle specifiche
2) Invocando:
java it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte dirLogs/ cmdsFile
si ottiene:
Error: Main method not found in class it.uniroma1.lcl.dietrolequinte.cmdline.DietroLeQuinte, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
3) Invocando:
java it.uniroma1.lcl.dietrolequinte.loader.Loader dirLogs/
si ottiene:
Exception in thread "main" java.lang.NullPointerException
at it.uniroma1.lcl.dietrolequinte.loader.Loader.(Loader.java:44)
at it.uniroma1.lcl.dietrolequinte.loader.Loader.main(Loader.java:112)
4) Compilando
javac TestSearcher.java
Si ottengono i seguenti errori:
TestSearcher.java:2: error: cannot find symbol
import it.uniroma1.lcl.dietrolequinte.search.SearchResult;
^
symbol: class SearchResult
location: package it.uniroma1.lcl.dietrolequinte.search
TestSearcher.java:44: error: cannot find symbol
for (SearchResult sr : searcher.search(types[i], u)) {
^
symbol: class SearchResult
location: class TestSearcher
TestSearcher.java:54: error: cannot find symbol
for (SearchResult sr : searcher.search(types[i], u, LocalDateTime.parse(args[2]), LocalDateTime.parse(args[3]))) {
^
symbol: class SearchResult
1218402
1) L'output del Loader contiene alcune inesattezze nelle intestazioni. Come prima cosa, ci dev'essere un solo spazio di separazione tra il nome del fie e la statistica. In secondo luogo, non "Numero totale dei Login/Logout", ma "Numero totale di login/logout"; non "Tipo di File", ma "Tipo di file", non "Numero delle byte" ma "Numero totale di byte" etc. (ricontrollarli tutti). Infine, nella prima riga dell'output, non occorre mettere l'intero path assoluto del file, ma basta quello relativo passato come argomento al Loader stesso.
2) 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 1218402.jar it.uniroma1.lcl.dietrolequinte.loader.Loader dirLogs/
si ottiene:
Exception in thread "main" java.time.format.DateTimeParseException: Text 'cruise america.com' 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 it.uniroma1.lcl.dietrolequinte.loader.Query.scanFile(Query.java:130)
at it.uniroma1.lcl.dietrolequinte.loader.Loader.loaderScan(Loader.java:63)
at it.uniroma1.lcl.dietrolequinte.loader.Loader.main(Loader.java:125)
Lo stesso errore viene sollevato anche dal modulo cmdLine, se invocato sulla stessa directory
3) Invocando:
java -cp 1218402.jar:. TestSearcher dirLogs/ 0
ci sono alcuni utenti che risultano ripetuti 2 volte nell'iterable ritornato da getUsers: artunit, Griff`Lebron, pinesol_green, RBecker
1468732
1) Il jar risulta inutilizzabile. Infatti,
jar tf 1468732.jar
dà il seguente risultato (ci dovrebbero essere dentro i vari class):
META-INF/MANIFEST.MF
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties
2) Ogni stampa di TestSearcher.java solleva un'eccezione. Ad esempio, invocando:
java TestSearcher dirLogs/ 0
si ottiene:
Informazioni sull'utente: tsbere
Errore in interrogazione e modalita' 0 per l'utente tsbere
interrogazione
Errore in loginout e modalita' 0 per l'utente tsbere
loginout
Errore in messaggio e modalita' 0 per l'utente tsbere
messaggio
Errore in azione e modalita' 0 per l'utente tsbere
azione
e così via per tutti gli utenti
1647574
1) Nell'output del Loader, nella prima riga non occorre mettere l'intero path assoluto del file, ma basta quello relativo passato come argomento al Loader stesso
2) L'iterable ritornato dalla search non risulta ordinato. Ad esempio, invocando:
java -cp 1647574.jar:. TestSearcher dirLogs/ 0
si ottiene, tra le altre cose:
Elemento in mezzo per tipo interrogazione e modalita' 0 per l'utente 1020: Utente: 1020
Stringa Immessa: lexmark z42-z43
Tempo: 2006-03-01 09:58:22
Link cliccato: http://www.lexmark.com
Posizione link cliccato: 2
mentre in realtà quello riportato è il secondo elemento su 108. La risposta corretta sarebbe dovuto essere quella relativa a questa linea del file di log:
1020 absecon light house 2006-04-18 12:12:16 1 http://www.abseconlighthouse.org
1601396
1) La prima riga dell'output del Loader deve contenere la directory passata come argomento al Loader stesso. Ad esempio, se l'invocazione è la seguente:
java -cp 1601396.jar 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