no.ntnu.item.router.utilities
Class Parser

java.lang.Object
  extended by no.ntnu.item.router.utilities.Parser

public class Parser
extends java.lang.Object

A class containing parsers. To externalize the parsing of objects

Author:
Kristian Haugene

Constructor Summary
Parser()
           
 
Method Summary
private  java.util.List<java.lang.Integer> buildListFromString(java.lang.String bitrates)
          Helper method.
private  java.net.InetSocketAddress getAddressFromString(java.lang.String input)
          Helper method.
private  java.lang.Integer getDownloadBitRateOrZero(java.lang.String bitRateString)
          Helper method to extract videoDownloadBitrate.
private  PlayState getPlayStateOrDefaultToUnknown(java.lang.String playStateString)
          Helper method to extract PlayState.
 SilverlightMeasurement getSilverlightMeasurementFromString(java.lang.String measurement)
           
 java.util.HashMap<java.lang.String,java.lang.Integer> getUserPreferencesMapFromString(java.lang.String userPreferences)
          Takes user preferences on the form "clientId=bitRate&clientId2=bitRate2"
I.e, regular HTTP POST way of relaying information.
private  java.lang.String removeTextBeforeAndIncludingEqualityCharacter(java.lang.String parameter)
          Helper method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Parser

public Parser()
Method Detail

getSilverlightMeasurementFromString

public SilverlightMeasurement getSilverlightMeasurementFromString(java.lang.String measurement)

getPlayStateOrDefaultToUnknown

private PlayState getPlayStateOrDefaultToUnknown(java.lang.String playStateString)
Helper method to extract PlayState. If no PlayState is recognizer by our enum, it will default to UNKNOWN

Parameters:
playStateString - the playState represented by a string
Returns:
corresponding PlayState object

getDownloadBitRateOrZero

private java.lang.Integer getDownloadBitRateOrZero(java.lang.String bitRateString)
Helper method to extract videoDownloadBitrate. If no rate is given it will default to 0

Parameters:
bitRateString - as string
Returns:
videoDownloadBitrate as Integer, or 0 if a parse-error occurs

buildListFromString

private java.util.List<java.lang.Integer> buildListFromString(java.lang.String bitrates)
Helper method. Avaliable bitrates is a String formatted like "bitRate - bitRate - bitRate". We want to take all the bitRates and put them in a List

Parameters:
bitrates - String containing "-" separated bitRates
Returns:
the bitRates in a List

getAddressFromString

private java.net.InetSocketAddress getAddressFromString(java.lang.String input)
Helper method. Takes a string parameter and constructs a InetSocketAddress

Parameters:
input - string on the form ip:port
Returns:
InetSocketAddress representing the ip:port given

removeTextBeforeAndIncludingEqualityCharacter

private java.lang.String removeTextBeforeAndIncludingEqualityCharacter(java.lang.String parameter)
Helper method. Given that parameters are written like this:
"event=InitialInformation". This method will return what is after the "=" sign.

Parameters:
parameter - as received in the POST message
Returns:
the value

getUserPreferencesMapFromString

public java.util.HashMap<java.lang.String,java.lang.Integer> getUserPreferencesMapFromString(java.lang.String userPreferences)
Takes user preferences on the form "clientId=bitRate&clientId2=bitRate2"
I.e, regular HTTP POST way of relaying information. Will return them as a
HashMap of key,value pairs like clientId,bitRate

Parameters:
userPreferences - string representation of cliendID and bitRate pairs
Returns:
the clientId,bitRate pairs in a HashMap