Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

  • public constructor(recID:String, recData:String)

Mutators

  • public setData(newData:String, operator:Class<?>) : void
  • public setProcessed(operator:Class<?>) : void

Accessors

  • public getID() : String
  • public getData() : String

...

  • protected constructor(operationDate:Calendar, operatorClass:Class<?>, operationType:RecordMetaDataType, md5:String)
  • protected constructor(operatorClass:Class<?>, operationType:RecordMetaDataType, md5:String)
    • simply creates cal:Calendar (based on now in GMT, with USA locale) and calls constructor(cal, operatorClass, operationType, md5)

Accessors

  • public getDate() : Calendar
  • public getOperator() : Class<?>
  • public getOperation() : RecordMetaDataType
  • public getMD5() : String

Utilities

  • public static enum RecordMetaDataType
    • written
    • processed
    • error
  • public static makeMD5Hash(text:String) : String
  • public compareTo(RecordMetaData o) : int
    • for Comparable<RecordMetaData>
    • will allow sorting in reverse-chronological order

...

By extending Iterable, you will be able to do fun stuff like:

Panelnoformat

  RecordHandler recSet = new ExampleRecordHandler();


  for(Record rec : recSet){


    log.trace("
h4. h4. h4. h4. h4. h4. h2. ");
===============================================================");
    log.trace("Record "+rec.getID()+":");


    log.trace("---------------------------------------------------------------");


    log.trace(rec.getData());


  }

Mutators

  • public abstract addRecord(rec:Record, creator:Class<?>, overwrite:boolean) : void
  • public addRecord(recID:String, recData:String, creator:Class<?>, overwrite:boolean) : void
    • simply creates rec:Record using the params and calls addRecord(rec, creator, overwrite)
  • public addRecord(rec:Record, creator:Class<?>) : void
    • simply calls addRecord(rec, creator, isOverwriteDefault())
  • public addRecord(recID:String, recData:String, creator:Class<?>) : void
    • simply creates rec:Record using the params and calls addRecord(rec, creator, isOverwriteDefault())
  • protected abstract addMetaData(rec:Record, rmd:RecordMetaData)
  • protected addMetaData(rec:Record, operator:Class<?>, type:RecordMetaDataType) : void
    • simply calls addMetaData(rec, new RecordMetaData(operator, type, RecordMetaData.makeMD5Hash(rec.getData())))
  • protected setProcessed(rec:Record, operator:Class<?>) : void
    • simply calls addMetaData(rec, operator, RecordMetaDataType.processed)
  • protected setWritten(rec:Record, operator:Class<?>) : void
    • simply calls addMetaData(rec, operator, RecordMetaDataType.written)
  • protected abstract delMetaData(recID:String) : void
  • public delRecord(recID:String) : void
  • public abstract setParams(params:Map<String,String>) : void
  • public setOverwriteDefault(overwrite:boolean) : void

Accessors

  • public abstract getRecordData(recID:String) : String
  • public getRecord(recID:String) : Record
    • simply returns a Record created using recID and getRecordData(recID)
  • public abstract getRecordMetaData(recID:String) : SortedSet<RecordMetaData>
  • protected getLastMetaData(recID:String, type:RecordMetaDataType) : RecordMetaData
    • iterates through results of getRecordMetaData(recID) in descending order till it finds and returns a metadata of matching type
  • public getLastMetaData(recID:String) : RecordMetaData
    • simply returns getRecordMetaData(recID, null)
  • public getLastWrittenMetaData(recID:String) : RecordMetaData
    • simply returns getRecordMetaData(recID, RecordMetaDataType.written)
  • public getLastProcessedMetaData(recID:String) : RecordMetaData
    • simply returns getRecordMetaData(recID, RecordMetaDataType.processd)
  • public isOverwriteDefault() : boolean

Utilities

  • public static parseConfig(filename:String) : RecordHandler

Map Record Handler

...

Stores records using Map<String,String> and metadata using Map<String,SortedSet<RecordMetaData>>

Constructors

  • public constructor()

Mutators

  • public addRecord(rec:Record, creator:Class<?>, overwrite:boolean) : void
  • public delRecord(recID:String) : void
  • public setParams(params:Map<String,String>) : void
    • unused as no params exist
  • protected addMetaData(rec:Record, rmd:RecordMetaData) : void
  • protected delMetaData(recID:String) : void

Accessors

  • public getRecordData(recID:String) : String
  • public getRecordMetaData(recID:String) : SortedSet<RecordMetaData>

Utilities

  • public iterator() : Iterator<Record>

Text File Record Handler

...

public class TextFileRecordHandler implements RecordHandler

Stores each record in location fileDir (resolved using apache commons vfs) with filename recID filled with recData. Allows for access to files located in (S)FTP, Local File System, HTTP(S), Temporary Files, Archive Files (Zip, Jar, Tartgz/tbz2, gzip, bzip2), res, ram, mime. Meta data for each record is stored in subdirectory fileDir/.metadata in individual files.

...

  • protected constructor()
    • called by RecordHandler config parser... actually initialized by setParams(params)
  • public constructor(fileDir:String)

    ftp://username:password@127.0.0.1:21/path/to/dir

    ");

    Panel

    new TextFileRecordHandler("XMLVault");
    new TextFileRecordHandler("

    No Format

Mutators

  • public addRecord(rec:Record, operator:Class<?>, overwrite:boolean) : void
  • public delRecord(recID:String) : void
  • public setParams(params:Map<String,String>) : void
  • protected addMetaData(rec:Record, rmd:RecordMetaData) : void
  • protected delMetaData(recID:String) : void

Accessors

  • public getRecordData(recID:String) : string
  • public getRecordMetaData(recID:String) : SortedSet<RecordMetaData>

Utilities

  • public iterator() : Iterator<Record>

JDBC Record Handler

...

class JDBCRecordHandler implements RecordHandler

Records are stored in a single, 3 column table:

...

  • protected constructor()
    • called by RecordHandler config parser... actually initialized by setParams(params)
  • public constructor(jdbcDriverClass:String, connLine:String, username:String, password:String, tableName:String, dataFieldName:String)panel
    connLine strings have the following format: "jdbc:%connType%://%host%:%port%/%dbName%"
    Panel

    new JDBCRecordHandler("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1:3306/dbName", "username", "password", "tableName", "dataFieldName");

  • public constructor(jdbcDriverClass:String, connType:String, host:String, port:String, dbName:String, username:String, password:String, tableName:String, dataFieldName:String)panel
    builds a connLine from the connType, host, port, and dbName and calls the constructor that takes a connLine
    Panel

    new JDBCRecordHandler("com.mysql.jdbc.Driver", "mysql", "127.0.0.1", "3306", "dbName", "username", "password", "tableName", "dataFieldName");

Mutators

  • public addRecord(rec:Record, operator:Class<?>, overwrite:boolean) : void
  • public delRecord(recID:String) : void
  • public setParams(params:Map<String,String>) : void
  • protected addMetaData(rec:Record, rmd:RecordMetaData) : void
  • protected delMetaData(recID:String) : void

Accessors

  • public getRecordData(recID:String) : string
  • public getRecordMetaData(recID:String) : SortedSet<RecordMetaData>

Utilities

  • protected finalize() : void
    • called upon desctruction... closes db connection
  • public iterator() : Iterator<Record>

Jena Record Handler

...

public class JenaRecordHandler implements RecordHandler

Each record is stored as 3 triples:

...

  • protected constructor()
    • called by RecordHandler config parser... actually initialized by setParams(params)
  • public constructor(jdbcDriverClass:String, connType:String, host:String, port:String, dbName:String, username:String, password:String, dbType:String, modelName:String, dataFieldType:String)

    http://localhost/demo#data

    ");

    Panel

    new JenaRecordHandler("com.mysql.jdbc.Driver", "mysql", "127.0.0.1", "3306", "dbName", "username", "password", "MySQL", "modelName", "

    No Format
  • public constructor(jdbcDriverClass:String, connType:String, host:String, port:String, dbName:String, username:String, password:String, dbType:String, dataFieldType:String)

    http://localhost/demo#data

    ");

    Panel

    new JenaRecordHandler("com.mysql.jdbc.Driver", "mysql", "127.0.0.1", "3306", "dbName", "username", "password", "MySQL", "

    No Format
  • public constructor(configFile:String, dataFieldType:String)

    http://localhost/demo#data

    ");

    Panel

    new JenaRecordHandler("JenaModelConfigFile.xml", "

    No Format

Mutators

  • public addRecord(rec:Record, operator:Class<?>, overwrite:boolean) : void
  • public delRecord(recID:String) : void
  • public setParams(params:Map<String,String>) : void
  • protected addMetaData(rec:Record, rmd:RecordMetaData) : void
  • protected delMetaData(recID:String) : void

Accessors

  • public getRecordData(recID:String) : string
  • public getRecordMetaData(recID:String) : SortedSet<RecordMetaData>

Utilities

  • public iterator() : Iterator<Record>