nz.ac.waikato.mcennis.rat.dataAquisition
Class CrawlLastFM

java.lang.Object
  extended by nz.ac.waikato.mcennis.rat.graph.model.ModelShell
      extended by nz.ac.waikato.mcennis.rat.dataAquisition.CrawlLastFM
All Implemented Interfaces:
Component, DataAquisition, Model

public class CrawlLastFM
extends ModelShell
implements DataAquisition

Class for parsing the LastFM web services with a multi-threaded parser. Files are stored to the directory structure as follows:

<directory>/<UserName>/Profile.xml
<directory>/<UserName>/Tags.xml
<directory>/<UserName>/Friends.xml
<directory>/<UserName>/Neighbours.xml
<directory>/<UserName>/topArtists.xml
<directory>/ArtistDirectory/<ArtistName>.xml
<directory>/<UserName>/<ArtistName>.xml

Profile.xml contains demographic information about a user.

Tags.xml contains the set of the top 50 tags this user has used

Friends.xml contains all users this user has declared as a friend

Neighbors.xml contains the top 50 users suffeciently similar to this user

topArtists.xml contains the top 50 artists this user has listened to by playcount
<ArtistName>.xml are the tags used to describe this artist. In a user directory, these are the tags applied to this artist by that user only.


Field Summary
 
Fields inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
listener
 
Constructor Summary
CrawlLastFM()
           
 
Method Summary
 void cancel()
          Stop all collection at the end of the next entity (file, web-page, etc.)
 Graph get()
          Obtain a reference to the graph this object holds
 InputDescriptor[] getInputType()
          The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object.
 OutputDescriptor[] getOutputType()
          The output type describes all the different kinds of graph objects that are created during the execution of this algorithm.
 Parameter[] getParameter()
          List of all parameters this component accepts.
 Parameter getParameter(java.lang.String param)
          Returns the specific parameter identified by its key-name.
 SettableParameter[] getSettableParameter()
          Returns settable (i.e.
 SettableParameter getSettableParameter(java.lang.String param)
          Return the settable parameter namede by this key-name.
 void init(java.util.Properties map)
          Initialize the object by setting parameters using the given properties map
protected  boolean isArtistParsed(java.io.File userDirectory)
           
protected  void parseArtists(java.io.File artistDirectory)
           
 void set(Graph g)
          Set the graph to be populated by this object
 void start()
          Begin executing the data aquisition module
 
Methods inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
addListener, fireChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface nz.ac.waikato.mcennis.rat.graph.model.Model
addListener
 

Constructor Detail

CrawlLastFM

public CrawlLastFM()
Method Detail

start

public void start()
Description copied from interface: DataAquisition
Begin executing the data aquisition module

Specified by:
start in interface DataAquisition

isArtistParsed

protected boolean isArtistParsed(java.io.File userDirectory)

parseArtists

protected void parseArtists(java.io.File artistDirectory)

set

public void set(Graph g)
Description copied from interface: DataAquisition
Set the graph to be populated by this object

Specified by:
set in interface DataAquisition
Parameters:
g - graph to be created for analysis

get

public Graph get()
Description copied from interface: DataAquisition
Obtain a reference to the graph this object holds

Specified by:
get in interface DataAquisition
Returns:
graph created by this object

cancel

public void cancel()
Description copied from interface: DataAquisition
Stop all collection at the end of the next entity (file, web-page, etc.)

Specified by:
cancel in interface DataAquisition

getOutputType

public OutputDescriptor[] getOutputType()
Description copied from interface: Component
The output type describes all the different kinds of graph objects that are created during the execution of this algorithm. The result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no output.

Specified by:
getOutputType in interface Component
Returns:
OutputDescriptor array for this component
See Also:
OutputDescriptor

getInputType

public InputDescriptor[] getInputType()
Description copied from interface: Component
The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object. This result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no input.

Specified by:
getInputType in interface Component
Returns:
InputDescriptor array for this component
See Also:
InputDescriptor

getParameter

public Parameter[] getParameter()
Description copied from interface: Component
List of all parameters this component accepts. Each parameter also has a distinct key-name used when initializing the object using the init method. If there are no parameters, null is returned.

Specified by:
getParameter in interface Component
Returns:
read-only array of Parameters

getParameter

public Parameter getParameter(java.lang.String param)
Description copied from interface: Component
Returns the specific parameter identified by its key-name. If no parameter is found with this key-name, null is returned.

Specified by:
getParameter in interface Component
Parameters:
param - key-name of the parameter
Returns:
named parameter

getSettableParameter

public SettableParameter[] getSettableParameter()
Description copied from interface: Component
Returns settable (i.e. editable while running) parameters. If none exist, null is returned.

Specified by:
getSettableParameter in interface Component
Returns:
array of settable parameters

getSettableParameter

public SettableParameter getSettableParameter(java.lang.String param)
Description copied from interface: Component
Return the settable parameter namede by this key-name. If this parameter is not found or is not settable, null is returned.

Specified by:
getSettableParameter in interface Component
Parameters:
param - key-name of the parameter
Returns:
named settable parameter

init

public void init(java.util.Properties map)
Description copied from interface: Component
Initialize the object by setting parameters using the given properties map

Specified by:
init in interface Component
Parameters:
map - properties to load - null is permitted.