From 3d6b03e367b0402061f37e1c63f62fd27208bc97 Mon Sep 17 00:00:00 2001 From: Nicolas Arkkila Date: Fri, 13 Dec 2013 20:26:51 +0200 Subject: [PATCH] Final touches --- apidocs/allclasses-frame.html | 25 + apidocs/allclasses-noframe.html | 25 + apidocs/constant-values.html | 117 +++++ apidocs/deprecated-list.html | 117 +++++ apidocs/help-doc.html | 222 ++++++++ apidocs/index-all.html | 373 ++++++++++++++ apidocs/index.html | 70 +++ apidocs/overview-frame.html | 25 + apidocs/overview-summary.html | 147 ++++++ apidocs/overview-tree.html | 143 ++++++ apidocs/package-list | 5 + apidocs/resources/background.gif | Bin 0 -> 2313 bytes apidocs/resources/tab.gif | Bin 0 -> 291 bytes apidocs/resources/titlebar.gif | Bin 0 -> 10701 bytes apidocs/resources/titlebar_end.gif | Bin 0 -> 849 bytes apidocs/stylesheet.css | 474 ++++++++++++++++++ apidocs/wad/jlab/data/TwitterCache.html | 384 ++++++++++++++ .../wad/jlab/data/class-use/TwitterCache.html | 224 +++++++++ apidocs/wad/jlab/data/package-frame.html | 20 + apidocs/wad/jlab/data/package-summary.html | 137 +++++ apidocs/wad/jlab/data/package-tree.html | 130 +++++ apidocs/wad/jlab/data/package-use.html | 173 +++++++ apidocs/wad/jlab/logic/TwitterCrunch.html | 412 +++++++++++++++ .../jlab/logic/class-use/TwitterCrunch.html | 117 +++++ apidocs/wad/jlab/logic/package-frame.html | 20 + apidocs/wad/jlab/logic/package-summary.html | 137 +++++ apidocs/wad/jlab/logic/package-tree.html | 130 +++++ apidocs/wad/jlab/logic/package-use.html | 117 +++++ apidocs/wad/jlab/repo/TwitterHistory.html | 352 +++++++++++++ .../jlab/repo/class-use/TwitterHistory.html | 158 ++++++ apidocs/wad/jlab/repo/package-frame.html | 20 + apidocs/wad/jlab/repo/package-summary.html | 137 +++++ apidocs/wad/jlab/repo/package-tree.html | 130 +++++ apidocs/wad/jlab/repo/package-use.html | 152 ++++++ .../wad/jlab/service/EvaluatorService.html | 227 +++++++++ .../wad/jlab/service/TwitterEvaluator.html | 336 +++++++++++++ apidocs/wad/jlab/service/UpdaterThread.html | 278 ++++++++++ .../service/class-use/EvaluatorService.html | 173 +++++++ .../service/class-use/TwitterEvaluator.html | 117 +++++ .../jlab/service/class-use/UpdaterThread.html | 117 +++++ apidocs/wad/jlab/service/package-frame.html | 25 + apidocs/wad/jlab/service/package-summary.html | 160 ++++++ apidocs/wad/jlab/service/package-tree.html | 135 +++++ apidocs/wad/jlab/service/package-use.html | 152 ++++++ apidocs/wad/jlab/servlet/FotmServlet.html | 394 +++++++++++++++ .../jlab/servlet/class-use/FotmServlet.html | 117 +++++ apidocs/wad/jlab/servlet/package-frame.html | 20 + apidocs/wad/jlab/servlet/package-summary.html | 137 +++++ apidocs/wad/jlab/servlet/package-tree.html | 130 +++++ apidocs/wad/jlab/servlet/package-use.html | 117 +++++ src/main/java/wad/jlab/data/TwitterCache.java | 9 +- .../java/wad/jlab/logic/TwitterCrunch.java | 31 +- .../java/wad/jlab/repo/TwitterHistory.java | 3 +- .../wad/jlab/service/EvaluatorService.java | 1 - .../wad/jlab/service/TwitterEvaluator.java | 1 - .../java/wad/jlab/service/UpdaterThread.java | 10 +- .../java/wad/jlab/servlet/FotmServlet.java | 15 +- .../uitexts/descriptions_en.properties | 17 +- src/main/webapp/WEB-INF/pages/about.jsp | 2 +- src/main/webapp/WEB-INF/pages/history.jsp | 3 +- src/main/webapp/WEB-INF/pages/index.jsp | 2 +- src/test/java/wad/data/TestStatus.java | 1 - 62 files changed, 7379 insertions(+), 44 deletions(-) create mode 100644 apidocs/allclasses-frame.html create mode 100644 apidocs/allclasses-noframe.html create mode 100644 apidocs/constant-values.html create mode 100644 apidocs/deprecated-list.html create mode 100644 apidocs/help-doc.html create mode 100644 apidocs/index-all.html create mode 100644 apidocs/index.html create mode 100644 apidocs/overview-frame.html create mode 100644 apidocs/overview-summary.html create mode 100644 apidocs/overview-tree.html create mode 100644 apidocs/package-list create mode 100644 apidocs/resources/background.gif create mode 100644 apidocs/resources/tab.gif create mode 100644 apidocs/resources/titlebar.gif create mode 100644 apidocs/resources/titlebar_end.gif create mode 100644 apidocs/stylesheet.css create mode 100644 apidocs/wad/jlab/data/TwitterCache.html create mode 100644 apidocs/wad/jlab/data/class-use/TwitterCache.html create mode 100644 apidocs/wad/jlab/data/package-frame.html create mode 100644 apidocs/wad/jlab/data/package-summary.html create mode 100644 apidocs/wad/jlab/data/package-tree.html create mode 100644 apidocs/wad/jlab/data/package-use.html create mode 100644 apidocs/wad/jlab/logic/TwitterCrunch.html create mode 100644 apidocs/wad/jlab/logic/class-use/TwitterCrunch.html create mode 100644 apidocs/wad/jlab/logic/package-frame.html create mode 100644 apidocs/wad/jlab/logic/package-summary.html create mode 100644 apidocs/wad/jlab/logic/package-tree.html create mode 100644 apidocs/wad/jlab/logic/package-use.html create mode 100644 apidocs/wad/jlab/repo/TwitterHistory.html create mode 100644 apidocs/wad/jlab/repo/class-use/TwitterHistory.html create mode 100644 apidocs/wad/jlab/repo/package-frame.html create mode 100644 apidocs/wad/jlab/repo/package-summary.html create mode 100644 apidocs/wad/jlab/repo/package-tree.html create mode 100644 apidocs/wad/jlab/repo/package-use.html create mode 100644 apidocs/wad/jlab/service/EvaluatorService.html create mode 100644 apidocs/wad/jlab/service/TwitterEvaluator.html create mode 100644 apidocs/wad/jlab/service/UpdaterThread.html create mode 100644 apidocs/wad/jlab/service/class-use/EvaluatorService.html create mode 100644 apidocs/wad/jlab/service/class-use/TwitterEvaluator.html create mode 100644 apidocs/wad/jlab/service/class-use/UpdaterThread.html create mode 100644 apidocs/wad/jlab/service/package-frame.html create mode 100644 apidocs/wad/jlab/service/package-summary.html create mode 100644 apidocs/wad/jlab/service/package-tree.html create mode 100644 apidocs/wad/jlab/service/package-use.html create mode 100644 apidocs/wad/jlab/servlet/FotmServlet.html create mode 100644 apidocs/wad/jlab/servlet/class-use/FotmServlet.html create mode 100644 apidocs/wad/jlab/servlet/package-frame.html create mode 100644 apidocs/wad/jlab/servlet/package-summary.html create mode 100644 apidocs/wad/jlab/servlet/package-tree.html create mode 100644 apidocs/wad/jlab/servlet/package-use.html diff --git a/apidocs/allclasses-frame.html b/apidocs/allclasses-frame.html new file mode 100644 index 0000000..48d4657 --- /dev/null +++ b/apidocs/allclasses-frame.html @@ -0,0 +1,25 @@ + + + + + + +All Classes (jlab 1.0-SNAPSHOT API) + + + + +

All Classes

+
+ +
+ + diff --git a/apidocs/allclasses-noframe.html b/apidocs/allclasses-noframe.html new file mode 100644 index 0000000..c900191 --- /dev/null +++ b/apidocs/allclasses-noframe.html @@ -0,0 +1,25 @@ + + + + + + +All Classes (jlab 1.0-SNAPSHOT API) + + + + +

All Classes

+
+ +
+ + diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html new file mode 100644 index 0000000..ae07a97 --- /dev/null +++ b/apidocs/constant-values.html @@ -0,0 +1,117 @@ + + + + + + +Constant Field Values (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Constant Field Values

+

Contents

+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/deprecated-list.html b/apidocs/deprecated-list.html new file mode 100644 index 0000000..68c951a --- /dev/null +++ b/apidocs/deprecated-list.html @@ -0,0 +1,117 @@ + + + + + + +Deprecated List (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Deprecated API

+

Contents

+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/help-doc.html b/apidocs/help-doc.html new file mode 100644 index 0000000..f2745bd --- /dev/null +++ b/apidocs/help-doc.html @@ -0,0 +1,222 @@ + + + + + + +API Help (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+ +This help file applies to API documentation generated using the standard doclet.
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/index-all.html b/apidocs/index-all.html new file mode 100644 index 0000000..c531779 --- /dev/null +++ b/apidocs/index-all.html @@ -0,0 +1,373 @@ + + + + + + +Index (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
A C E F G H I R S T U W  + + +

A

+
+
addToHistory(TwitterCache) - Method in class wad.jlab.repo.TwitterHistory
+
+
Adds cache objects to the repo.
+
+
+ + + +

C

+
+
collisionsInScores(Map<String, Integer>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
Checks whether there are two identical dateScores in the flow by making a valueset.
+
+
compareHashtags(SortedMap<String, Integer>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
Compares score mappings together.
+
+
crunchTrendingTag(SortedMap<String, List<Status>>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
The "main" method.
+
+
+ + + +

E

+
+
evaluate() - Method in interface wad.jlab.service.EvaluatorService
+
 
+
evaluate() - Method in class wad.jlab.service.TwitterEvaluator
+
+
Interface compliant method.
+
+
EvaluatorService - Interface in wad.jlab.service
+
+
EvaluatorServices simply provide some string to any user classes.
+
+
+ + + +

F

+
+
findMaxScore(Collection<Integer>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
Returns the highest value from a Collection.
+
+
FotmServlet - Class in wad.jlab.servlet
+
+
The default controller.
+
+
FotmServlet() - Constructor for class wad.jlab.servlet.FotmServlet
+
 
+
+ + + +

G

+
+
generateCountMap() - Method in class wad.jlab.repo.TwitterHistory
+
+
Helper method to shorten getMonthsTrending().
+
+
getAbout(Model) - Method in class wad.jlab.servlet.FotmServlet
+
+
Controller for the about page.
+
+
getCacheTime() - Method in class wad.jlab.data.TwitterCache
+
 
+
getCacheTimeout() - Method in class wad.jlab.data.TwitterCache
+
 
+
getDateFetched() - Method in class wad.jlab.data.TwitterCache
+
 
+
getHashtag() - Method in class wad.jlab.data.TwitterCache
+
+
To access the locale properties we pass a substring by default to the servlet.
+
+
getHashtagDateScore(List<Status>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
Gets the datescore for a hashtag.
+
+
getHashtagTimeScore(List<Status>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
Computes the timescore of a list of tweets.
+
+
getHashtagWithHash() - Method in class wad.jlab.data.TwitterCache
+
+
Returns the hashtag with leading hash.
+
+
getHistory() - Method in class wad.jlab.repo.TwitterHistory
+
 
+
getHistory(Model) - Method in class wad.jlab.servlet.FotmServlet
+
+
Controller for the history view.
+
+
getJsonMonth() - Method in class wad.jlab.servlet.FotmServlet
+
+
REST mapping for getting Fotm + Creates a simple JSON object.
+
+
getJsonNow() - Method in class wad.jlab.servlet.FotmServlet
+
+
REST mapping for getting Fotn + Creates a simple JSON object.
+
+
getLatest() - Method in class wad.jlab.repo.TwitterHistory
+
+
Get the newest cache.
+
+
getMonthsTrending() - Method in class wad.jlab.repo.TwitterHistory
+
+
Return the month's trending hashtag calculated from + the current cache.
+
+
getNow(Model) - Method in class wad.jlab.servlet.FotmServlet
+
+
Mapping for the "now" page.
+
+
getTruncated() - Method in class wad.jlab.repo.TwitterHistory
+
+
Truncated list for the servlet.
+
+
getTweets(String) - Method in class wad.jlab.service.TwitterEvaluator
+
+
Gets the most recent 100 (or less) tweets for any given hashtag.
+
+
giveResult() - Method in interface wad.jlab.service.EvaluatorService
+
 
+
giveResult() - Method in class wad.jlab.service.TwitterEvaluator
+
+
Interface compliant method.
+
+
+ + + +

H

+
+
hasTimedOut() - Method in class wad.jlab.data.TwitterCache
+
+
Returns whether the cache has timed out or not.
+
+
+ + + +

I

+
+
incrementCacheTime() - Method in class wad.jlab.data.TwitterCache
+
+
Increments the current cachetime.
+
+
+ + + +

R

+
+
removeNonCollidingTimeScores(Map<String, Integer>, Map<String, Integer>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
Special helper for the general flow.
+
+
removeOlderTweets(List<Status>) - Method in class wad.jlab.logic.TwitterCrunch
+
+
Remove all tweets from this not this month.
+
+
run() - Method in class wad.jlab.service.UpdaterThread
+
+
Enable syslogging if you need it.
+
+
+ + + +

S

+
+
setCacheTimeout(int) - Method in class wad.jlab.data.TwitterCache
+
 
+
setHashtag(String) - Method in class wad.jlab.data.TwitterCache
+
 
+
setNewCache() - Method in class wad.jlab.servlet.FotmServlet
+
+
Helper method to avoid copypasting while setting caches.
+
+
+ + + +

T

+
+
threadCheck() - Method in class wad.jlab.servlet.FotmServlet
+
+
Launch the thread if it's not running.
+
+
TwitterCache - Class in wad.jlab.data
+
+
Simple data class to store the latest winning result.
+
+
TwitterCache(String) - Constructor for class wad.jlab.data.TwitterCache
+
+
Constructs the new cache and sets a date to it.
+
+
TwitterCrunch - Class in wad.jlab.logic
+
+
A helper class for TwitterEvaluator.
+
+
TwitterCrunch() - Constructor for class wad.jlab.logic.TwitterCrunch
+
 
+
TwitterEvaluator - Class in wad.jlab.service
+
+
Evaluator service with Twitter integration.
+
+
TwitterEvaluator() - Constructor for class wad.jlab.service.TwitterEvaluator
+
+
Default constructor.
+
+
TwitterHistory - Class in wad.jlab.repo
+
+
A simple list repository to cache 100 latest results.
+
+
TwitterHistory() - Constructor for class wad.jlab.repo.TwitterHistory
+
 
+
+ + + +

U

+
+
UpdaterThread - Class in wad.jlab.service
+
+
Helping thread.
+
+
UpdaterThread(TwitterHistory, EvaluatorService) - Constructor for class wad.jlab.service.UpdaterThread
+
+
Pass the servlet's history and api handler here
+
+
+ + + +

W

+
+
wad.jlab.data - package wad.jlab.data
+
 
+
wad.jlab.logic - package wad.jlab.logic
+
 
+
wad.jlab.repo - package wad.jlab.repo
+
 
+
wad.jlab.service - package wad.jlab.service
+
 
+
wad.jlab.servlet - package wad.jlab.servlet
+
 
+
+A C E F G H I R S T U W 
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/index.html b/apidocs/index.html new file mode 100644 index 0000000..1913b2c --- /dev/null +++ b/apidocs/index.html @@ -0,0 +1,70 @@ + + + + + + +jlab 1.0-SNAPSHOT API + + + + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> + + + diff --git a/apidocs/overview-frame.html b/apidocs/overview-frame.html new file mode 100644 index 0000000..42ca414 --- /dev/null +++ b/apidocs/overview-frame.html @@ -0,0 +1,25 @@ + + + + + + +Overview List (jlab 1.0-SNAPSHOT API) + + + + +
All Classes
+
+

Packages

+ +
+

 

+ + diff --git a/apidocs/overview-summary.html b/apidocs/overview-summary.html new file mode 100644 index 0000000..2e81d80 --- /dev/null +++ b/apidocs/overview-summary.html @@ -0,0 +1,147 @@ + + + + + + +Overview (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

jlab 1.0-SNAPSHOT API

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Packages 
PackageDescription
wad.jlab.data 
wad.jlab.logic 
wad.jlab.repo 
wad.jlab.service 
wad.jlab.servlet 
+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html new file mode 100644 index 0000000..72422e8 --- /dev/null +++ b/apidocs/overview-tree.html @@ -0,0 +1,143 @@ + + + + + + +Class Hierarchy (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/package-list b/apidocs/package-list new file mode 100644 index 0000000..a43d915 --- /dev/null +++ b/apidocs/package-list @@ -0,0 +1,5 @@ +wad.jlab.data +wad.jlab.logic +wad.jlab.repo +wad.jlab.service +wad.jlab.servlet diff --git a/apidocs/resources/background.gif b/apidocs/resources/background.gif new file mode 100644 index 0000000000000000000000000000000000000000..f471940fde2f39ef8943a6af9569bcf986b1579b GIT binary patch literal 2313 zcmV+k3HJ6!Nk%w1VKM-40OkMy00030|NlK(aXwsfKV5S}VtGJbbVOr%L0@%CZH88Q zl{{NzcR^uxNo<2iYk@pjY)*5FJz8x~bc{)B zfk z+1T6M-s9WdW8dcJ-wO*3@9+W*5AY543-j^$^!EPz_4eHZ2#>)41`h@dc!2OAgN6$a zCS2I?;lqgx6IR4nkpTe;1RN0f=zxMq2O=q`94V5d$&e>Unta)^<;;^G3>e7yp=ZvW z6DIW3xpSvaogXF?_4%`@(V;s}NR^5J!3hrtJV@1QRV&r5S*L!zYE|rss${iFkg&!? zTN5V#)~=bmMorwgZsEpdOE)iExo+FO-8;8Kga{=HbSQCnF=E6W3?o*|ID%uwi5**> zJXy127Y9m+=HQ|PhXWi+xNwoWv}n_%Pq%(e+H~mGqhq5kv4Mo|-n~g|7!F*xZ{xv< zCpXS~dGg^IGK?4@J-T%b(XnUHFul6n<@2&4)zzyO2) z3Q8`i0+UKY*`$}e9mmp;tg*))`|PsK1|hAo%u0K$vDwm4gaSkm0j{`26k#qAKmbuhxZ#cquDR>B zD{s8+&TH-uNg$C#68QG}1HMBHfrP&L@@w$F_!itRzXdCN@V|LDAu%3!IDtq1#1UV7 z#1RxvT=B(DWbCoU5l=ia$Pp`Hgb_?Mp@hmtxZDI2N-)v#$}PXVvdm1d>@v(v`0TUJ zF)Pu89(q`zv=w^nVTIF3@3BYIPA}c`(@ZCAwbNBEt@PDUKe5CTR8aB66IE1!w%Amt zy+jpcn~k>GZpVFg+H6x{_uOksvBlq0OyT$6TyQZ37k(cOxZr|JEx1sGm<(M9gH z-~PMqyn|tT=))UN`|-FFFUA#KToK0fUOaz=7}Z~KeHhVC&%O27cTfHQ^WBU8z4p&T zp#>D|V}XShTD;Hx745Iz{`>K-Z$A|7!*Boo{mY;G21vjH8t{M!OrQc6$iN0V@PQDF zpadsK!3tXNf*8!81~qnXWuHZ)kytd=_y+ADWvw31ouV;CdZ#ya*(l7-A-C-Y^+iit8O zBy3*`Ls$|5Hn4m_^I^|C7{m7EFn|5vTk;|oywIgCc9Bb*=L+Y$)M>9GC<|HGs@6NB zHLY%03!dDf=eDRt2O6lVSFRcsuWZEwU?=z$CZ0W?#VJfdN>HG(l%oKpyiftJc|Y)xkjSJYCrQal-0PC~()T9xwF!Jf zVi1UA#3BBbh(i8r5&v#Pz!cF41KjbCc?4u2@@Q~oKLirt2TM30;y6b+zyX2`Yl9u; z`0$3;v0-YUp&7NdPT#q`cZlbij$jvbRk6R>8g*>}*b9E+WDwmpHAAxYzyT aU_pX{M6b8i>#Dq3onfZy}_nli%!Q$ZV%e&!tN2 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 YpWXKgmku8Vj|K)Vje`mzEKCg608Q#dYybcN literal 0 HcmV?d00001 diff --git a/apidocs/stylesheet.css b/apidocs/stylesheet.css new file mode 100644 index 0000000..0aeaa97 --- /dev/null +++ b/apidocs/stylesheet.css @@ -0,0 +1,474 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ +body { + background-color:#ffffff; + color:#353833; + font-family:Arial, Helvetica, sans-serif; + font-size:76%; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4c6b87; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4c6b87; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-size:1.3em; +} +h1 { + font-size:1.8em; +} +h2 { + font-size:1.5em; +} +h3 { + font-size:1.4em; +} +h4 { + font-size:1.3em; +} +h5 { + font-size:1.2em; +} +h6 { + font-size:1.1em; +} +ul { + list-style-type:disc; +} +code, tt { + font-size:1.2em; +} +dt code { + font-size:1.2em; +} +table tr td dt code { + font-size:1.2em; + vertical-align:top; +} +sup { + font-size:.6em; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:.8em; + z-index:200; + margin-top:-7px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + background-image:url(resources/titlebar.gif); + background-position:left top; + background-repeat:no-repeat; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:1em; + margin:0; +} +.topNav { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.bottomNav { + margin-top:10px; + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.subNav { + background-color:#dee3e9; + border-bottom:1px solid #9eadc0; + float:left; + width:100%; + overflow:hidden; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding:3px 6px; +} +ul.subNavList li{ + list-style:none; + float:left; + font-size:90%; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; +} +.navBarCell1Rev { + background-image:url(resources/tab.gif); + background-color:#a88834; + color:#FFFFFF; + margin: auto 5px; + border:1px solid #c9aa44; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader h1 { + font-size:1.3em; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 25px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:1.2em; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:1.0em; +} +.indexContainer h2 { + font-size:1.1em; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:1.1em; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:10px 0 10px 20px; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:25px; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #9eadc0; + background-color:#f9f9f9; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:1px solid #9eadc0; + border-top:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; + border-bottom:1px solid #9eadc0; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.contentContainer table, .classUseContainer table, .constantValuesContainer table { + border-bottom:1px solid #9eadc0; + width:100%; +} +.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table { + width:100%; +} +.contentContainer .description table, .contentContainer .details table { + border-bottom:none; +} +.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{ + vertical-align:top; + padding-right:20px; +} +.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast, +.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast, +.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne, +.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne { + padding-right:3px; +} +.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#FFFFFF; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + margin:0px; +} +caption a:link, caption a:hover, caption a:active, caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span { + white-space:nowrap; + padding-top:8px; + padding-left:8px; + display:block; + float:left; + background-image:url(resources/titlebar.gif); + height:18px; +} +.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd { + width:10px; + background-image:url(resources/titlebar_end.gif); + background-repeat:no-repeat; + background-position:top right; + position:relative; + float:left; +} +ul.blockList ul.blockList li.blockList table { + margin:0 0 12px 0px; + width:100%; +} +.tableSubHeadingColor { + background-color: #EEEEFF; +} +.altColor { + background-color:#eeeeef; +} +.rowColor { + background-color:#ffffff; +} +.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td { + text-align:left; + padding:3px 3px 3px 7px; +} +th.colFirst, th.colLast, th.colOne, .constantValuesContainer th { + background:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + text-align:left; + padding:3px 3px 3px 7px; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +td.colFirst, th.colFirst { + border-left:1px solid #9eadc0; + white-space:nowrap; +} +td.colLast, th.colLast { + border-right:1px solid #9eadc0; +} +td.colOne, th.colOne { + border-right:1px solid #9eadc0; + border-left:1px solid #9eadc0; +} +table.overviewSummary { + padding:0px; + margin-left:0px; +} +table.overviewSummary td.colFirst, table.overviewSummary th.colFirst, +table.overviewSummary td.colOne, table.overviewSummary th.colOne { + width:25%; + vertical-align:middle; +} +table.packageSummary td.colFirst, table.overviewSummary th.colFirst { + width:25%; + vertical-align:middle; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:.9em; +} +.block { + display:block; + margin:3px 0 0 0; +} +.strong { + font-weight:bold; +} diff --git a/apidocs/wad/jlab/data/TwitterCache.html b/apidocs/wad/jlab/data/TwitterCache.html new file mode 100644 index 0000000..99ce5ae --- /dev/null +++ b/apidocs/wad/jlab/data/TwitterCache.html @@ -0,0 +1,384 @@ + + + + + + +TwitterCache (jlab 1.0-SNAPSHOT API) + + + + + + + + + + + +
+
wad.jlab.data
+

Class TwitterCache

+
+
+ +
+
    +
  • +
    +
    +
    public class TwitterCache
    +extends Object
    +
    Simple data class to store the latest winning result. + Use to avoid getting rate-limited.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TwitterCache

        +
        public TwitterCache(String hashtag)
        +
        Constructs the new cache and sets a date to it. Cachetime is for testing if needed.
        +
        Parameters:
        hashtag - as a string object. Use the leading hashtag when passing a String.
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getCacheTimeout

        +
        public int getCacheTimeout()
        +
      • +
      + + + +
        +
      • +

        setCacheTimeout

        +
        public void setCacheTimeout(int cacheTimeout)
        +
      • +
      + + + +
        +
      • +

        getCacheTime

        +
        public int getCacheTime()
        +
      • +
      + + + +
        +
      • +

        incrementCacheTime

        +
        public void incrementCacheTime()
        +
        Increments the current cachetime.
        +
      • +
      + + + +
        +
      • +

        getHashtag

        +
        public String getHashtag()
        +
        To access the locale properties we pass a substring by default to the servlet.
        +
        Returns:
        String the hashtag without leading hash.
        +
      • +
      + + + +
        +
      • +

        getHashtagWithHash

        +
        public String getHashtagWithHash()
        +
        Returns the hashtag with leading hash. This is used for caching purposes in the history level.
        +
        Returns:
        String hashtag with leading hash.
        +
      • +
      + + + +
        +
      • +

        setHashtag

        +
        public void setHashtag(String hashtag)
        +
      • +
      + + + +
        +
      • +

        getDateFetched

        +
        public Date getDateFetched()
        +
      • +
      + + + +
        +
      • +

        hasTimedOut

        +
        public boolean hasTimedOut()
        +
        Returns whether the cache has timed out or not. + Currently checks if over an hour has passed since the last query. This is to avoid getting rate-limited.
        +
        Returns:
        boolean timeout value.
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/data/class-use/TwitterCache.html b/apidocs/wad/jlab/data/class-use/TwitterCache.html new file mode 100644 index 0000000..e2c334b --- /dev/null +++ b/apidocs/wad/jlab/data/class-use/TwitterCache.html @@ -0,0 +1,224 @@ + + + + + + +Uses of Class wad.jlab.data.TwitterCache (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Class
wad.jlab.data.TwitterCache

+
+
+ +
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/data/package-frame.html b/apidocs/wad/jlab/data/package-frame.html new file mode 100644 index 0000000..a60072e --- /dev/null +++ b/apidocs/wad/jlab/data/package-frame.html @@ -0,0 +1,20 @@ + + + + + + +wad.jlab.data (jlab 1.0-SNAPSHOT API) + + + + +

wad.jlab.data

+
+

Classes

+ +
+ + diff --git a/apidocs/wad/jlab/data/package-summary.html b/apidocs/wad/jlab/data/package-summary.html new file mode 100644 index 0000000..eaa42d8 --- /dev/null +++ b/apidocs/wad/jlab/data/package-summary.html @@ -0,0 +1,137 @@ + + + + + + +wad.jlab.data (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Package wad.jlab.data

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    TwitterCache +
    Simple data class to store the latest winning result.
    +
    +
  • +
+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/data/package-tree.html b/apidocs/wad/jlab/data/package-tree.html new file mode 100644 index 0000000..66f173b --- /dev/null +++ b/apidocs/wad/jlab/data/package-tree.html @@ -0,0 +1,130 @@ + + + + + + +wad.jlab.data Class Hierarchy (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For Package wad.jlab.data

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/data/package-use.html b/apidocs/wad/jlab/data/package-use.html new file mode 100644 index 0000000..2ecae26 --- /dev/null +++ b/apidocs/wad/jlab/data/package-use.html @@ -0,0 +1,173 @@ + + + + + + +Uses of Package wad.jlab.data (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Package
wad.jlab.data

+
+
+ +
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/logic/TwitterCrunch.html b/apidocs/wad/jlab/logic/TwitterCrunch.html new file mode 100644 index 0000000..43ad9ed --- /dev/null +++ b/apidocs/wad/jlab/logic/TwitterCrunch.html @@ -0,0 +1,412 @@ + + + + + + +TwitterCrunch (jlab 1.0-SNAPSHOT API) + + + + + + + + + + + +
+
wad.jlab.logic
+

Class TwitterCrunch

+
+
+ +
+
    +
  • +
    +
    +
    public class TwitterCrunch
    +extends Object
    +
    A helper class for TwitterEvaluator. + + Takes a SortedMap> containing a String as a key, + and a list of tweets associated to it, and calculates which hashtag + the best score. + + The "main" method is crunchTrendingTag, which returns the value.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TwitterCrunch

        +
        public TwitterCrunch()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getHashtagDateScore

        +
        public int getHashtagDateScore(List<twitter4j.Status> tagTweets)
        +
        Gets the datescore for a hashtag. + Since the most popular tags easily get their full 100 tweets in ~3 days, + we can count the days of month together to get an indicator which has the + most recent tweets per 100 tweet range. If two or more hashtags hit the + top possible score (that means 100 tweets on the day of query, ie. all tweets + on the same day), fallback to getTimeScore().
        +
        Parameters:
        tagTweets - a List you can get with getTweets().
        +
        Returns:
        Integer of the score. Total maximum is 3100.
        +
      • +
      + + + +
        +
      • +

        getHashtagTimeScore

        +
        public int getHashtagTimeScore(List<twitter4j.Status> tagTweets)
        +
        Computes the timescore of a list of tweets. This is done by simply adding + the hours of day together. Note that usually other tweets than tweets
        +
        Parameters:
        tagTweets - a List you can get with getTweets().
        +
        Returns:
        Integer value of a score.
        +
      • +
      + + + +
        +
      • +

        removeOlderTweets

        +
        public List<twitter4j.Status> removeOlderTweets(List<twitter4j.Status> tagTweets)
        +
        Remove all tweets from this not this month. + To get reliable results, suppress any other months than the ongoing one.
        +
        Parameters:
        tagTweets - A list of Status objects.
        +
        Returns:
        The list without tweets from previous months.
        +
      • +
      + + + +
        +
      • +

        removeNonCollidingTimeScores

        +
        public Map<String,Integer> removeNonCollidingTimeScores(Map<String,Integer> dateScores,
        +                                               Map<String,Integer> timeScores)
        +
        Special helper for the general flow. + We need to remove the lower daily tags to compare the correct timescores, + so we can use this method in the main crunchTrendingTag if there is collision in the + dateScores method.
        +
        Parameters:
        dateScores -
        timeScores -
        +
        Returns:
        The timescore table with the non-colliding (lower) scores removed.
        +
      • +
      + + + +
        +
      • +

        findMaxScore

        +
        public int findMaxScore(Collection<Integer> scores)
        +
        Returns the highest value from a Collection.
        +
        Parameters:
        scores -
        +
        Returns:
        The highest value in the collection.
        +
      • +
      + + + +
        +
      • +

        collisionsInScores

        +
        public boolean collisionsInScores(Map<String,Integer> dateScore)
        +
        Checks whether there are two identical dateScores in the flow by making a valueset.
        +
        Parameters:
        dateScore -
        +
        Returns:
        boolean value
        +
      • +
      + + + +
        +
      • +

        crunchTrendingTag

        +
        public String crunchTrendingTag(SortedMap<String,List<twitter4j.Status>> hashtagsAndTweets)
        +
        The "main" method. Uses the helper methods to determine the result as String. + Toggle comments to see them in the server log. They help a lot when debugging the fetched results. + + NOTE that if you need syslogging, uncomment the indented system outs.
        +
        Parameters:
        hashtagsAndTweets - A Map of hashtags and their latest tweets.
        +
        Returns:
        A string of the most popular hashtag.
        +
      • +
      + + + +
        +
      • +

        compareHashtags

        +
        public String compareHashtags(SortedMap<String,Integer> scores)
        +
        Compares score mappings together. Takes the first value in treemap, and traverses + through the map comparing each scoremap to the leading score.
        +
        Parameters:
        scores -
        +
        Returns:
        The string of the most trending tag.
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/logic/class-use/TwitterCrunch.html b/apidocs/wad/jlab/logic/class-use/TwitterCrunch.html new file mode 100644 index 0000000..3700dfc --- /dev/null +++ b/apidocs/wad/jlab/logic/class-use/TwitterCrunch.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class wad.jlab.logic.TwitterCrunch (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Class
wad.jlab.logic.TwitterCrunch

+
+
No usage of wad.jlab.logic.TwitterCrunch
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/logic/package-frame.html b/apidocs/wad/jlab/logic/package-frame.html new file mode 100644 index 0000000..9082be3 --- /dev/null +++ b/apidocs/wad/jlab/logic/package-frame.html @@ -0,0 +1,20 @@ + + + + + + +wad.jlab.logic (jlab 1.0-SNAPSHOT API) + + + + +

wad.jlab.logic

+
+

Classes

+ +
+ + diff --git a/apidocs/wad/jlab/logic/package-summary.html b/apidocs/wad/jlab/logic/package-summary.html new file mode 100644 index 0000000..3c1fdc4 --- /dev/null +++ b/apidocs/wad/jlab/logic/package-summary.html @@ -0,0 +1,137 @@ + + + + + + +wad.jlab.logic (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Package wad.jlab.logic

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    TwitterCrunch +
    A helper class for TwitterEvaluator.
    +
    +
  • +
+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/logic/package-tree.html b/apidocs/wad/jlab/logic/package-tree.html new file mode 100644 index 0000000..bfac77b --- /dev/null +++ b/apidocs/wad/jlab/logic/package-tree.html @@ -0,0 +1,130 @@ + + + + + + +wad.jlab.logic Class Hierarchy (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For Package wad.jlab.logic

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/logic/package-use.html b/apidocs/wad/jlab/logic/package-use.html new file mode 100644 index 0000000..3561905 --- /dev/null +++ b/apidocs/wad/jlab/logic/package-use.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Package wad.jlab.logic (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Package
wad.jlab.logic

+
+
No usage of wad.jlab.logic
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/repo/TwitterHistory.html b/apidocs/wad/jlab/repo/TwitterHistory.html new file mode 100644 index 0000000..ee13c67 --- /dev/null +++ b/apidocs/wad/jlab/repo/TwitterHistory.html @@ -0,0 +1,352 @@ + + + + + + +TwitterHistory (jlab 1.0-SNAPSHOT API) + + + + + + + + + + + +
+
wad.jlab.repo
+

Class TwitterHistory

+
+
+ +
+
    +
  • +
    +
    +
    @Repository
    +public class TwitterHistory
    +extends Object
    +
    A simple list repository to cache 100 latest results. + This is used to calculate the top trending tag of the month, + and to retrieve the most current cached result.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TwitterHistory

        +
        public TwitterHistory()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addToHistory

        +
        public void addToHistory(TwitterCache entry)
        +
        Adds cache objects to the repo. Removes the first if limit is exceeded.
        +
        Parameters:
        entry - a TwitterCache object to add to repo.
        +
      • +
      + + + + + + + +
        +
      • +

        getTruncated

        +
        public List<TwitterCache> getTruncated()
        +
        Truncated list for the servlet. + To keep the view clean, we reverse the actual history and truncate it to 10. + Return the original if the list is less than 10 in length.
        +
        Returns:
        List a truncated+reversed list of current history
        +
      • +
      + + + +
        +
      • +

        getLatest

        +
        public TwitterCache getLatest()
        +
        Get the newest cache. Null if the list is empty. + The controller uses this null return to determine some of its logic.
        +
        Returns:
        TwitterCache latest cache object
        +
      • +
      + + + +
        +
      • +

        getMonthsTrending

        +
        public TwitterCache getMonthsTrending()
        +
        Return the month's trending hashtag calculated from + the current cache.
        +
        Returns:
        TwitterCache this months trending hashtag
        +
      • +
      + + + +
        +
      • +

        generateCountMap

        +
        public Map<String,Integer> generateCountMap()
        +
        Helper method to shorten getMonthsTrending().
        +
        Returns:
        Map map of tag entry counts in the list
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/repo/class-use/TwitterHistory.html b/apidocs/wad/jlab/repo/class-use/TwitterHistory.html new file mode 100644 index 0000000..f330d33 --- /dev/null +++ b/apidocs/wad/jlab/repo/class-use/TwitterHistory.html @@ -0,0 +1,158 @@ + + + + + + +Uses of Class wad.jlab.repo.TwitterHistory (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Class
wad.jlab.repo.TwitterHistory

+
+
+ +
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/repo/package-frame.html b/apidocs/wad/jlab/repo/package-frame.html new file mode 100644 index 0000000..c0f3b4a --- /dev/null +++ b/apidocs/wad/jlab/repo/package-frame.html @@ -0,0 +1,20 @@ + + + + + + +wad.jlab.repo (jlab 1.0-SNAPSHOT API) + + + + +

wad.jlab.repo

+
+

Classes

+ +
+ + diff --git a/apidocs/wad/jlab/repo/package-summary.html b/apidocs/wad/jlab/repo/package-summary.html new file mode 100644 index 0000000..1993a35 --- /dev/null +++ b/apidocs/wad/jlab/repo/package-summary.html @@ -0,0 +1,137 @@ + + + + + + +wad.jlab.repo (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Package wad.jlab.repo

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    TwitterHistory +
    A simple list repository to cache 100 latest results.
    +
    +
  • +
+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/repo/package-tree.html b/apidocs/wad/jlab/repo/package-tree.html new file mode 100644 index 0000000..0777357 --- /dev/null +++ b/apidocs/wad/jlab/repo/package-tree.html @@ -0,0 +1,130 @@ + + + + + + +wad.jlab.repo Class Hierarchy (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For Package wad.jlab.repo

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/repo/package-use.html b/apidocs/wad/jlab/repo/package-use.html new file mode 100644 index 0000000..76306ba --- /dev/null +++ b/apidocs/wad/jlab/repo/package-use.html @@ -0,0 +1,152 @@ + + + + + + +Uses of Package wad.jlab.repo (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Package
wad.jlab.repo

+
+
+ +
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/EvaluatorService.html b/apidocs/wad/jlab/service/EvaluatorService.html new file mode 100644 index 0000000..8cb90a8 --- /dev/null +++ b/apidocs/wad/jlab/service/EvaluatorService.html @@ -0,0 +1,227 @@ + + + + + + +EvaluatorService (jlab 1.0-SNAPSHOT API) + + + + + + + + + + + +
+
wad.jlab.service
+

Interface EvaluatorService

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    TwitterEvaluator
    +
    +
    +
    +
    public interface EvaluatorService
    +
    EvaluatorServices simply provide some string to any user classes. + By this setting, using a privately scoped result is recommended.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      Methods 
      Modifier and TypeMethod and Description
      voidevaluate() 
      StringgiveResult() 
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        evaluate

        +
        void evaluate()
        +
      • +
      + + + +
        +
      • +

        giveResult

        +
        String giveResult()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/TwitterEvaluator.html b/apidocs/wad/jlab/service/TwitterEvaluator.html new file mode 100644 index 0000000..a343d13 --- /dev/null +++ b/apidocs/wad/jlab/service/TwitterEvaluator.html @@ -0,0 +1,336 @@ + + + + + + +TwitterEvaluator (jlab 1.0-SNAPSHOT API) + + + + + + + + + + + +
+
wad.jlab.service
+

Class TwitterEvaluator

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    EvaluatorService
    +
    +
    +
    +
    public class TwitterEvaluator
    +extends Object
    +implements EvaluatorService
    +
    Evaluator service with Twitter integration. Uses twitter4j library for functionality. + The class evaluates the 1. trending hashtag of the month, and can return it for later usage. + Use string returns. + + API keys are set in the default constructor + via the apiconfig.ini located in src/main/resources/config/apiconfig.ini + Use it to set your keys
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TwitterEvaluator

        +
        public TwitterEvaluator()
        +
        Default constructor. Use try-catch to avoid bleeding exception declaration + + Try-catch for the configparser - it logs an error if it cannot find a suitable .ini. + Since error handling is logged and the servlet has it's own error logic, we don't need to terminate.
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        evaluate

        +
        public void evaluate()
        +
        Interface compliant method. Here we start the evaluation chain, + and determine our class return value. + + Goes through a list of hashtags, puts them in a Map of + and gives the Map to TwitterCrunch. Sets the current result as based on TwitterCrunch result. + + Set the desired hashtags in the class attribute queryHashtags. + NOTE: The result is not semantic, so consider what tags you use if you want to + query something specific!
        +
        +
        Specified by:
        +
        evaluate in interface EvaluatorService
        +
        +
      • +
      + + + +
        +
      • +

        getTweets

        +
        public List<twitter4j.Status> getTweets(String hashtag)
        +                                 throws twitter4j.TwitterException
        +
        Gets the most recent 100 (or less) tweets for any given hashtag. + Twitter4j stores a list of tweets in a QueryResult-instance, available through + getTweets().
        +
        Parameters:
        hashtag - The hashtag to query
        +
        Returns:
        Returns the list of 100 most recent tweets
        +
        Throws:
        +
        twitter4j.TwitterException
        +
      • +
      + + + +
        +
      • +

        giveResult

        +
        public String giveResult()
        +
        Interface compliant method. + Simply returns the latest result. Evaluation and caching have been moved to + TwitterHistory and controller level.
        +
        +
        Specified by:
        +
        giveResult in interface EvaluatorService
        +
        Returns:
        The current result in a String format.
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/UpdaterThread.html b/apidocs/wad/jlab/service/UpdaterThread.html new file mode 100644 index 0000000..585c0e9 --- /dev/null +++ b/apidocs/wad/jlab/service/UpdaterThread.html @@ -0,0 +1,278 @@ + + + + + + +UpdaterThread (jlab 1.0-SNAPSHOT API) + + + + + + + + + + + +
+
wad.jlab.service
+

Class UpdaterThread

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Runnable
    +
    +
    +
    +
    public class UpdaterThread
    +extends Object
    +implements Runnable
    +
    Helping thread. Checks whether there is need to update cache, and updates + if there is. Takes the object pointers from the servlet as an argument and updates them.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UpdaterThread

        +
        public UpdaterThread(TwitterHistory history,
        +             EvaluatorService twitter)
        +
        Pass the servlet's history and api handler here
        +
        Parameters:
        history -
        twitter -
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        run

        +
        public void run()
        +
        Enable syslogging if you need it.
        +
        +
        Specified by:
        +
        run in interface Runnable
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/class-use/EvaluatorService.html b/apidocs/wad/jlab/service/class-use/EvaluatorService.html new file mode 100644 index 0000000..faf269f --- /dev/null +++ b/apidocs/wad/jlab/service/class-use/EvaluatorService.html @@ -0,0 +1,173 @@ + + + + + + +Uses of Interface wad.jlab.service.EvaluatorService (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Interface
wad.jlab.service.EvaluatorService

+
+
+ +
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/class-use/TwitterEvaluator.html b/apidocs/wad/jlab/service/class-use/TwitterEvaluator.html new file mode 100644 index 0000000..a4fae6a --- /dev/null +++ b/apidocs/wad/jlab/service/class-use/TwitterEvaluator.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class wad.jlab.service.TwitterEvaluator (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Class
wad.jlab.service.TwitterEvaluator

+
+
No usage of wad.jlab.service.TwitterEvaluator
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/class-use/UpdaterThread.html b/apidocs/wad/jlab/service/class-use/UpdaterThread.html new file mode 100644 index 0000000..8e3550b --- /dev/null +++ b/apidocs/wad/jlab/service/class-use/UpdaterThread.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class wad.jlab.service.UpdaterThread (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Class
wad.jlab.service.UpdaterThread

+
+
No usage of wad.jlab.service.UpdaterThread
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/package-frame.html b/apidocs/wad/jlab/service/package-frame.html new file mode 100644 index 0000000..f73c851 --- /dev/null +++ b/apidocs/wad/jlab/service/package-frame.html @@ -0,0 +1,25 @@ + + + + + + +wad.jlab.service (jlab 1.0-SNAPSHOT API) + + + + +

wad.jlab.service

+
+

Interfaces

+ +

Classes

+ +
+ + diff --git a/apidocs/wad/jlab/service/package-summary.html b/apidocs/wad/jlab/service/package-summary.html new file mode 100644 index 0000000..8a28725 --- /dev/null +++ b/apidocs/wad/jlab/service/package-summary.html @@ -0,0 +1,160 @@ + + + + + + +wad.jlab.service (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Package wad.jlab.service

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    EvaluatorService +
    EvaluatorServices simply provide some string to any user classes.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    TwitterEvaluator +
    Evaluator service with Twitter integration.
    +
    UpdaterThread +
    Helping thread.
    +
    +
  • +
+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/package-tree.html b/apidocs/wad/jlab/service/package-tree.html new file mode 100644 index 0000000..a44ffa3 --- /dev/null +++ b/apidocs/wad/jlab/service/package-tree.html @@ -0,0 +1,135 @@ + + + + + + +wad.jlab.service Class Hierarchy (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For Package wad.jlab.service

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/service/package-use.html b/apidocs/wad/jlab/service/package-use.html new file mode 100644 index 0000000..1d550a7 --- /dev/null +++ b/apidocs/wad/jlab/service/package-use.html @@ -0,0 +1,152 @@ + + + + + + +Uses of Package wad.jlab.service (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Package
wad.jlab.service

+
+
+ +
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/servlet/FotmServlet.html b/apidocs/wad/jlab/servlet/FotmServlet.html new file mode 100644 index 0000000..d6b3ea7 --- /dev/null +++ b/apidocs/wad/jlab/servlet/FotmServlet.html @@ -0,0 +1,394 @@ + + + + + + +FotmServlet (jlab 1.0-SNAPSHOT API) + + + + + + + + + + + +
+
wad.jlab.servlet
+

Class FotmServlet

+
+
+ +
+
    +
  • +
    +
    +
    @Controller
    +public class FotmServlet
    +extends Object
    +
    The default controller. Handles all 3 pages. + Repository/Cache handling and utilizing the services are responsibilities of this class.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FotmServlet

        +
        public FotmServlet()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getNow

        +
        @RequestMapping(value="/",
        +                method=GET)
        +public String getNow(org.springframework.ui.Model model)
        +
        Mapping for the "now" page. If cache has timed out, fetches a new result with + TwitterEvaluator. Use setCache() method for saving new caches to the repository. + + The evaluation function is now running in another thread. This is to avoid stressing + the server when a cache timeout occurs within. Thread is checked on most GET requests so + it's safe to browse. + + Note that an "oresult" string is passed to the model if errors occur within core logic.
        +
        Parameters:
        model - Spring model
        +
        Returns:
        path to a .jsp view
        See Also:
        setNewCache()
        +
      • +
      + + + +
        +
      • +

        threadCheck

        +
        public void threadCheck()
        +
        Launch the thread if it's not running. + Invoke at GET requests to verify that cache has something.
        +
      • +
      + + + +
        +
      • +

        setNewCache

        +
        public TwitterCache setNewCache()
        +
        Helper method to avoid copypasting while setting caches.
        +
        Returns:
        TwitterCache returns the saved cache.
        +
      • +
      + + + +
        +
      • +

        getHistory

        +
        @RequestMapping(value="/history",
        +                method=GET)
        +public String getHistory(org.springframework.ui.Model model)
        +
        Controller for the history view. + Check first if there's a new cache object.
        +
        Parameters:
        model - Spring model
        +
        Returns:
        path to a .jsp view
        +
      • +
      + + + +
        +
      • +

        getAbout

        +
        @RequestMapping(value="/about",
        +                method=GET)
        +public String getAbout(org.springframework.ui.Model model)
        +
        Controller for the about page.
        +
        Parameters:
        model - Spring model
        +
        Returns:
        .jsp view
        +
      • +
      + + + +
        +
      • +

        getJsonNow

        +
        @RequestMapping(value="/now.json",
        +                method=GET)
        +@ResponseBody
        +public String getJsonNow()
        +
        REST mapping for getting Fotn + Creates a simple JSON object.
        +
        Returns:
        FOTN as a String
        +
      • +
      + + + +
        +
      • +

        getJsonMonth

        +
        @RequestMapping(value="/month.json",
        +                method=GET)
        +@ResponseBody
        +public String getJsonMonth()
        +
        REST mapping for getting Fotm + Creates a simple JSON object.
        +
        Returns:
        FOTM as a String
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/servlet/class-use/FotmServlet.html b/apidocs/wad/jlab/servlet/class-use/FotmServlet.html new file mode 100644 index 0000000..26b5e6e --- /dev/null +++ b/apidocs/wad/jlab/servlet/class-use/FotmServlet.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Class wad.jlab.servlet.FotmServlet (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Class
wad.jlab.servlet.FotmServlet

+
+
No usage of wad.jlab.servlet.FotmServlet
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/servlet/package-frame.html b/apidocs/wad/jlab/servlet/package-frame.html new file mode 100644 index 0000000..0e7b374 --- /dev/null +++ b/apidocs/wad/jlab/servlet/package-frame.html @@ -0,0 +1,20 @@ + + + + + + +wad.jlab.servlet (jlab 1.0-SNAPSHOT API) + + + + +

wad.jlab.servlet

+
+

Classes

+ +
+ + diff --git a/apidocs/wad/jlab/servlet/package-summary.html b/apidocs/wad/jlab/servlet/package-summary.html new file mode 100644 index 0000000..07cd366 --- /dev/null +++ b/apidocs/wad/jlab/servlet/package-summary.html @@ -0,0 +1,137 @@ + + + + + + +wad.jlab.servlet (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Package wad.jlab.servlet

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    FotmServlet +
    The default controller.
    +
    +
  • +
+
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/servlet/package-tree.html b/apidocs/wad/jlab/servlet/package-tree.html new file mode 100644 index 0000000..fba1afb --- /dev/null +++ b/apidocs/wad/jlab/servlet/package-tree.html @@ -0,0 +1,130 @@ + + + + + + +wad.jlab.servlet Class Hierarchy (jlab 1.0-SNAPSHOT API) + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For Package wad.jlab.servlet

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + +
+ + +

Copyright © 2013. All rights reserved.

+ + diff --git a/apidocs/wad/jlab/servlet/package-use.html b/apidocs/wad/jlab/servlet/package-use.html new file mode 100644 index 0000000..d8ca49c --- /dev/null +++ b/apidocs/wad/jlab/servlet/package-use.html @@ -0,0 +1,117 @@ + + + + + + +Uses of Package wad.jlab.servlet (jlab 1.0-SNAPSHOT API) + + + + + + + + + + +
+

Uses of Package
wad.jlab.servlet

+
+
No usage of wad.jlab.servlet
+ + + + +

Copyright © 2013. All rights reserved.

+ + diff --git a/src/main/java/wad/jlab/data/TwitterCache.java b/src/main/java/wad/jlab/data/TwitterCache.java index 1f8f579..7e70631 100755 --- a/src/main/java/wad/jlab/data/TwitterCache.java +++ b/src/main/java/wad/jlab/data/TwitterCache.java @@ -6,7 +6,6 @@ /** * Simple data class to store the latest winning result. * Use to avoid getting rate-limited. - * @param hashtag Simply provide the hashtag. Everything else is generated. */ public class TwitterCache { /** @@ -16,7 +15,7 @@ public class TwitterCache { /** * The date when this cache entry was created. */ - private Date dateFetched; + private final Date dateFetched; /** * These two are just to enable testing by hand if you need them. */ @@ -26,7 +25,7 @@ public class TwitterCache { /** * Constructs the new cache and sets a date to it. Cachetime is for testing if needed. - * @param hashtag as a string object. + * @param hashtag as a string object. Use the leading hashtag when passing a String. */ public TwitterCache(String hashtag) { this.hashtag=hashtag; @@ -34,7 +33,7 @@ public TwitterCache(String hashtag) { this.cacheTime+=1; } - + public int getCacheTimeout() { return cacheTimeout; } @@ -84,7 +83,7 @@ public Date getDateFetched() { * @return boolean timeout value. */ public boolean hasTimedOut() { - //return true; // enable to test per hand + //return true; // use this + updater thread to test by hand Calendar cachetime = Calendar.getInstance(); cachetime.setTime(dateFetched); return cachetime.get(Calendar.HOUR_OF_DAY) != Calendar.getInstance().get(Calendar.HOUR_OF_DAY); diff --git a/src/main/java/wad/jlab/logic/TwitterCrunch.java b/src/main/java/wad/jlab/logic/TwitterCrunch.java index a73b3f4..27ce184 100755 --- a/src/main/java/wad/jlab/logic/TwitterCrunch.java +++ b/src/main/java/wad/jlab/logic/TwitterCrunch.java @@ -16,7 +16,11 @@ /** * A helper class for TwitterEvaluator. * - * Takes + * Takes a SortedMap> containing a String as a key, + * and a list of tweets associated to it, and calculates which hashtag + * the best score. + * + * The "main" method is crunchTrendingTag, which returns the value. */ public class TwitterCrunch { @@ -66,7 +70,7 @@ public int getHashtagTimeScore(List tagTweets) { * Remove all tweets from this not this month. * To get reliable results, suppress any other months than the ongoing one. * - * @param List tagTweets A list of Status objects. + * @param tagTweets A list of Status objects. * @return The list without tweets from previous months. */ public List removeOlderTweets(List tagTweets) { @@ -92,7 +96,8 @@ public List removeOlderTweets(List tagTweets) { * so we can use this method in the main crunchTrendingTag if there is collision in the * dateScores method. * - * @params Map dateScores, Map timeScores + * @param dateScores + * @param timeScores * @return The timescore table with the non-colliding (lower) scores removed. */ public Map removeNonCollidingTimeScores(Map dateScores, Map timeScores) { @@ -112,6 +117,7 @@ public Map removeNonCollidingTimeScores(Map da /** * Returns the highest value from a Collection. + * * @param scores * @return The highest value in the collection. */ @@ -127,7 +133,7 @@ public int findMaxScore(Collection scores) { /** * Checks whether there are two identical dateScores in the flow by making a valueset. - * @param Map dateScore + * @param dateScore * @return boolean value */ public boolean collisionsInScores(Map dateScore) { @@ -139,7 +145,8 @@ public boolean collisionsInScores(Map dateScore) { * The "main" method. Uses the helper methods to determine the result as String. * Toggle comments to see them in the server log. They help a lot when debugging the fetched results. * - * @param HashMap> A Map of hashtags and their latest tweets. + * NOTE that if you need syslogging, uncomment the indented system outs. + * @param hashtagsAndTweets A Map of hashtags and their latest tweets. * @return A string of the most popular hashtag. */ public String crunchTrendingTag(SortedMap> hashtagsAndTweets) { @@ -149,16 +156,16 @@ public String crunchTrendingTag(SortedMap> hashtagsAndTweet String winner = "notfound"; // you should not see this populateScores(dateScores, timeScores, hashtagsAndTweets); - System.out.println("Determining tag..."); + //System.out.println("Determining tag..."); if (collisionsInScores(dateScores)) { - System.out.println("Datescores: "+ dateScores); + //System.out.println("Datescores: "+ dateScores); removeNonCollidingTimeScores(dateScores, timeScores); - System.out.println("Removing lower scores from timescores..."); - System.out.println(timeScores); + //System.out.println("Removing lower scores from timescores..."); + //System.out.println(timeScores); winner = compareHashtags(timeScores); } else { - System.out.println("No datescore collisions!"); - System.out.println(dateScores); + //System.out.println("No datescore collisions!"); + //System.out.println(dateScores); winner = compareHashtags(dateScores); } @@ -169,7 +176,7 @@ public String crunchTrendingTag(SortedMap> hashtagsAndTweet * Compares score mappings together. Takes the first value in treemap, and traverses * through the map comparing each scoremap to the leading score. * - * @param SortedMap scores + * @param scores * @return The string of the most trending tag. */ public String compareHashtags(SortedMap scores) { diff --git a/src/main/java/wad/jlab/repo/TwitterHistory.java b/src/main/java/wad/jlab/repo/TwitterHistory.java index 1341540..6c85de9 100644 --- a/src/main/java/wad/jlab/repo/TwitterHistory.java +++ b/src/main/java/wad/jlab/repo/TwitterHistory.java @@ -75,6 +75,7 @@ public TwitterCache getLatest() { /** * Return the month's trending hashtag calculated from * the current cache. + * * @return TwitterCache this months trending hashtag */ public TwitterCache getMonthsTrending() { @@ -100,7 +101,7 @@ public TwitterCache getMonthsTrending() { * @return Map map of tag entry counts in the list */ public Map generateCountMap() { - Map counts = new HashMap(); + Map counts = new HashMap<>(); for (TwitterCache t : history) { String tag = t.getHashtagWithHash(); diff --git a/src/main/java/wad/jlab/service/EvaluatorService.java b/src/main/java/wad/jlab/service/EvaluatorService.java index b176010..2a46e0e 100755 --- a/src/main/java/wad/jlab/service/EvaluatorService.java +++ b/src/main/java/wad/jlab/service/EvaluatorService.java @@ -1,7 +1,6 @@ package wad.jlab.service; /** - * * EvaluatorServices simply provide some string to any user classes. * By this setting, using a privately scoped result is recommended. */ diff --git a/src/main/java/wad/jlab/service/TwitterEvaluator.java b/src/main/java/wad/jlab/service/TwitterEvaluator.java index b06d6e4..f4c40b9 100755 --- a/src/main/java/wad/jlab/service/TwitterEvaluator.java +++ b/src/main/java/wad/jlab/service/TwitterEvaluator.java @@ -16,7 +16,6 @@ import twitter4j.TwitterFactory; import twitter4j.auth.AccessToken; import wad.jlab.logic.TwitterCrunch; -import wad.jlab.repo.TwitterHistory; /** * Evaluator service with Twitter integration. Uses twitter4j library for functionality. diff --git a/src/main/java/wad/jlab/service/UpdaterThread.java b/src/main/java/wad/jlab/service/UpdaterThread.java index c5210f5..99ff966 100644 --- a/src/main/java/wad/jlab/service/UpdaterThread.java +++ b/src/main/java/wad/jlab/service/UpdaterThread.java @@ -33,18 +33,20 @@ public UpdaterThread(TwitterHistory history, EvaluatorService twitter) { this.twitter=twitter; } - + /** + * Enable syslogging if you need it. + */ @Override public void run() { - System.out.println("Thread started"); + //System.out.println("Thread started"); while(true) { try { TimeUnit.MINUTES.sleep(30); - System.out.println("Checking cache..."); + //System.out.println("Checking cache..."); if (history.getLatest().hasTimedOut()) { twitter.evaluate(); history.addToHistory(new TwitterCache(twitter.giveResult())); - System.out.println("Finished."); + //System.out.println("Finished."); } } catch (InterruptedException ex) { diff --git a/src/main/java/wad/jlab/servlet/FotmServlet.java b/src/main/java/wad/jlab/servlet/FotmServlet.java index 6760682..042a591 100755 --- a/src/main/java/wad/jlab/servlet/FotmServlet.java +++ b/src/main/java/wad/jlab/servlet/FotmServlet.java @@ -1,6 +1,5 @@ package wad.jlab.servlet; -import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @@ -52,7 +51,7 @@ public class FotmServlet { * Note that an "oresult" string is passed to the model if errors occur within core logic. * * @see setNewCache() - * @param model + * @param model Spring model * @return path to a .jsp view */ @RequestMapping(value="/", method=RequestMethod.GET) @@ -69,19 +68,19 @@ public String getNow(Model model) { * Invoke at GET requests to verify that cache has something. */ public void threadCheck() { - System.out.println("thread check"); if (!threadStarted) { setNewCache().getHashtag(); //populate cache so thread can continue working threadStarted=true; Runnable r = thread; - Thread thread = new Thread(r); - thread.start(); + Thread updatingThread = new Thread(r); + updatingThread.start(); } } /** * Helper method to avoid copypasting while setting caches. + * * @return TwitterCache returns the saved cache. */ public TwitterCache setNewCache() { @@ -96,7 +95,7 @@ public TwitterCache setNewCache() { * Controller for the history view. * Check first if there's a new cache object. * - * @param model + * @param model Spring model * @return path to a .jsp view */ @RequestMapping(value="/history", method=RequestMethod.GET) @@ -114,7 +113,7 @@ public String getHistory(Model model) { /** * Controller for the about page. * - * @param model + * @param model Spring model * @return .jsp view */ @RequestMapping(value="/about", method=RequestMethod.GET) @@ -126,6 +125,7 @@ public String getAbout(Model model) { /** * REST mapping for getting Fotn + * Creates a simple JSON object. * @return FOTN as a String */ @RequestMapping(value="/now.json", method=RequestMethod.GET) @@ -137,6 +137,7 @@ public String getJsonNow() { } /** * REST mapping for getting Fotm + * Creates a simple JSON object. * @return FOTM as a String */ @RequestMapping(value="/month.json", method=RequestMethod.GET) diff --git a/src/main/resources/uitexts/descriptions_en.properties b/src/main/resources/uitexts/descriptions_en.properties index b95c539..a859329 100644 --- a/src/main/resources/uitexts/descriptions_en.properties +++ b/src/main/resources/uitexts/descriptions_en.properties @@ -32,17 +32,18 @@ couchdb.title=CouchDB couchdb.feature1=Grab a beer couchdb.feature2=Sit on your couch couchdb.feature3=Relax -couchdb.image=http://svn.apache.org/repos/asf/couchdb/supplement/logo/couchdb-logo.png +couchdb.image=http://couchdb.apache.org/image/couch.png redis.title=Redis -redis.feature1=asd -redis.feature2=asd -redis.feature3=asd +redis.feature1=No persistence +redis.feature2=Subjective benchmarks +redis.feature3=Support singlethreading redis.image=http://redis.io/images/redis-300dpi.png #noresult :) +#by this version, this is sort of deprecated, keep just to avoid any funny error behaviour oresult.title=No result -oresult.feature1=asd -oresult.feature2=asd -oresult.feature3=asd -oresult.image=asd \ No newline at end of file +oresult.feature1=No result +oresult.feature2=No result +oresult.feature3=No result +oresult.image=No result \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/pages/about.jsp b/src/main/webapp/WEB-INF/pages/about.jsp index b205476..4410048 100644 --- a/src/main/webapp/WEB-INF/pages/about.jsp +++ b/src/main/webapp/WEB-INF/pages/about.jsp @@ -3,7 +3,7 @@ - + About