org.melati.poem.test
Class TableTest

Package class diagram package TableTest
java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.melati.poem.test.PoemTestCase
              extended by org.melati.poem.test.TableTest
All Implemented Interfaces:
junit.framework.Test
Direct Known Subclasses:
TableTest

public class TableTest
extends PoemTestCase

Author:
timp

Field Summary
 
Fields inherited from class org.melati.poem.test.PoemTestCase
maxTrans, result
 
Constructor Summary
TableTest(String arg0)
          Constructor for PoemTest.
 
Method Summary
protected  void setUp()
           
protected  void tearDown()
           
 void test_getColumn()
           
 void test_newPersistent()
           
 void testAddColumnAndCommitBigDecimal()
           
 void testAddColumnAndCommitBinary()
           
 void testAddColumnAndCommitBoolean()
           
 void testAddColumnAndCommitDate()
           
 void testAddColumnAndCommitDeleted()
           
 void testAddColumnAndCommitDisplaylevel()
           
 void testAddColumnAndCommitDouble()
           
 void testAddColumnAndCommitInteger()
           
 void testAddColumnAndCommitIntegrityfix()
           
 void testAddColumnAndCommitLong()
           
 void testAddColumnAndCommitNullableInteger()
           
 void testAddColumnAndCommitPassword()
           
 void testAddColumnAndCommitSearchability()
           
 void testAddColumnAndCommitString()
           
 void testAddColumnAndCommitTimestamp()
           
 void testAddColumnAndCommitTroid()
           
 void testAddColumnAndCommitType()
           
 void testAddListener()
           
 void testAppendWhereClause()
           
 void testCachedCountPersistent()
           
 void testCachedCountPersistentBooleanBoolean()
          Ensure that sqlBooleanValue is tested.
 void testCachedCountString()
           
 void testCachedCountStringBoolean()
           
 void testCachedCountStringBooleanBoolean()
           
 void testCachedExists()
           
 void testCachedSelection()
           
 void testCachedSelectionField()
           
 void testCachedSelectionType()
           
 void testCanDeleteColumn()
           
 void testCanReadColumn()
           
 void testCanSelectColumn()
           
 void testCanWriteColumn()
           
 void testCnfWhereClauseEnumeration()
           
 void testCnfWhereClauseEnumerationBooleanBoolean()
           
 void testColumns()
          Assert that all columns are currently returned at the detail level.
 void testColumnWithColumnInfoID()
          Null return not testable from public name space.
 void testCount()
           
 void testCountSQLString()
           
 void testCountSQLStringStringBooleanBoolean()
           
 void testCountString()
           
 void testCountStringBoolean()
           
 void testCountStringBooleanBoolean()
           
 void testCreateInitialiser()
           
 void testCreatePersistent()
           
 void testCreateTableInfo()
           
 void testDbModifyStructure()
           
 void testDefaultCacheLimit()
           
 void testDefaultCategory()
           
 void testDefaultDescription()
           
 void testDefaultDisplayName()
           
 void testDefaultDisplayOrder()
           
 void testDefaultOrderByClause()
           
 void testDefaultRememberAllTroids()
           
 void testDefineColumnColumn()
           
 void testDefineColumnColumnBoolean()
           
 void testDelete_unsafe()
          Looks like you can sucessfully delete the same record twice.
 void testDelete()
           
 void testDeletedColumn()
           
 void testDisplayColumn()
           
 void testDisplayColumns()
           
 void testDisplayColumnsCount()
           
 void testDump()
           
 void testDumpCacheAnalysis()
           
 void testEqualsObject()
           
 void testExistsPersistent()
           
 void testExistsString()
           
 void testExtrasCount()
           
 void testFirstSelection()
           
 void testGetCacheInfo()
          Used in cache dump servlet.
 void testGetCanCreate()
           
 void testGetCategory()
           
 void testGetColumn()
           
 void testGetColumnsCount()
          Not actually used in java, maybe in templates.
 void testGetDatabase()
           
 void testGetDefaultCanDelete()
           
 void testGetDefaultCanRead()
           
 void testGetDefaultCanWrite()
           
 void testGetDescription()
           
 void testGetDetailDisplayColumns()
           
 void testGetDetailDisplayColumnsCount()
           
 void testGetDisplayName()
           
 void testGetDsdName()
           
 void testGetInfo()
           
 void testGetName()
           
 void testGetObjectInt()
           
 void testGetObjectInteger()
           
 void testGetRecordDisplayColumns()
           
 void testGetRecordDisplayColumnsCount()
           
 void testGetSearchCriterionColumns()
           
 void testGetSearchCriterionColumnsCount()
          Not used in the java, possibly in templates.
 void testGetSummaryDisplayColumns()
           
 void testGetSummaryDisplayColumnsCount()
           
 void testGetTableInfo()
           
 void testHashCode()
           
 void testInit()
           
 void testLoad()
           
 void testNewPersistent()
           
 void testNotifyColumnInfo()
           
 void testNotifyTouched()
           
 void testPostInitialise()
           
 void testPrimaryCriterionColumn()
           
 void testQuotedName()
           
 void testReadLock()
           
 void testReferencesToPersistent()
           
 void testReferencesToTable()
           
 void testRememberAllTroids()
           
 void testSelection()
           
 void testSelectionPersistent()
           
 void testSelectionPersistentString()
           
 void testSelectionPersistentStringBooleanBoolean()
           
 void testSelectionSQLStringStringBoolean()
           
 void testSelectionSQLStringStringStringBooleanBoolean()
           
 void testSelectionString()
           
 void testSelectionStringStringBoolean()
           
 void testSerial()
           
 void testSetCacheLimit()
           
 void testSetDisplayColumn()
           
 void testSetSearchColumn()
           
 void testSetTableInfo()
           
 void testTable()
           
 void testTableInfoID()
           
 void testToString()
           
 void testTrimCache()
           
 void testTroidColumn()
           
 void testTroidFor()
           
 void testTroidSelectionPersistentStringBooleanBooleanPoemTransaction()
           
 void testTroidSelectionStringStringBoolean()
           
 void testTroidSelectionStringStringBooleanPoemTransaction()
           
 void testUncacheContents()
           
 void testUnifyWithColumnInfo()
           
 void testUnifyWithDB()
           
 void testWhereClausePersistent()
           
 void testWhereClausePersistentBooleanBoolean()
           
 void testWriteDown()
           
 
Methods inherited from class org.melati.poem.test.PoemTestCase
assertEquals, assertEquals, assertEquals, checkColumns, checkDbUnchanged, checkTables, checkTablesAndColumns, databaseUnchanged, dropTable, dumpTable, getDatabase, getDatabaseName, getDb, getDb, getName, getOrDie, getProperties, getPropertiesFileName, getUserToRunAs, run, runTest, setDatabaseName, setName, setPropertiesFileName, setUserToRunAs, testNothing
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, run, runBare, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface junit.framework.Test
countTestCases
 

Constructor Detail

TableTest

public TableTest(String arg0)
Constructor for PoemTest.

Parameters:
arg0 -
Method Detail

setUp

protected void setUp()
              throws Exception
Overrides:
setUp in class PoemTestCase
Throws:
Exception
See Also:
TestCase#setUp()

tearDown

protected void tearDown()
                 throws Exception
Overrides:
tearDown in class PoemTestCase
Throws:
Exception
See Also:
TestCase#tearDown()

testTable

public void testTable()
See Also:
org.melati.poem.Table#Table(Database, String, DefinitionSource)

testPostInitialise

public void testPostInitialise()
See Also:
Table.postInitialise()

testGetDatabase

public void testGetDatabase()
See Also:
Table.getDatabase()

testGetName

public void testGetName()
See Also:
Table.getName()

testQuotedName

public void testQuotedName()
See Also:
Table.quotedName()

testGetDisplayName

public void testGetDisplayName()
See Also:
Table.getDisplayName()

testGetDescription

public void testGetDescription()
See Also:
Table.getDescription()

testGetCategory

public void testGetCategory()
See Also:
Table.getCategory()

testGetInfo

public void testGetInfo()
See Also:
Table.getInfo()

testTableInfoID

public void testTableInfoID()
See Also:
Table.tableInfoID()

testGetColumn

public void testGetColumn()
See Also:
Table.getColumn(String)

test_getColumn

public void test_getColumn()
See Also:
org.melati.poem.Table#_getColumn(String)

testColumns

public void testColumns()
Assert that all columns are currently returned at the detail level. It would be possible to exclude range for example.

See Also:
Table.columns()

testGetColumnsCount

public void testGetColumnsCount()
Not actually used in java, maybe in templates.

See Also:
Table.getColumnsCount()

testColumnWithColumnInfoID

public void testColumnWithColumnInfoID()
Null return not testable from public name space.

See Also:
Table.columnWithColumnInfoID(int)

testTroidColumn

public void testTroidColumn()
See Also:
Table.troidColumn()

testDeletedColumn

public void testDeletedColumn()
See Also:
Table.deletedColumn()

testDisplayColumn

public void testDisplayColumn()
See Also:
Table.displayColumn()

testSetDisplayColumn

public void testSetDisplayColumn()
See Also:
Table.setDisplayColumn(Column)

testPrimaryCriterionColumn

public void testPrimaryCriterionColumn()
See Also:
Table.primaryCriterionColumn()

testSetSearchColumn

public void testSetSearchColumn()
See Also:
Table.setSearchColumn(Column)

testDefaultOrderByClause

public void testDefaultOrderByClause()
See Also:
Table.defaultOrderByClause()

testNotifyColumnInfo

public void testNotifyColumnInfo()
See Also:
Table.notifyColumnInfo(ColumnInfo)

testDisplayColumns

public void testDisplayColumns()
See Also:
Table.displayColumns(DisplayLevel)

testDisplayColumnsCount

public void testDisplayColumnsCount()
See Also:
Table.displayColumnsCount(DisplayLevel)

testGetDetailDisplayColumns

public void testGetDetailDisplayColumns()
See Also:
Table.getDetailDisplayColumns()

testGetDetailDisplayColumnsCount

public void testGetDetailDisplayColumnsCount()
See Also:
Table.getDetailDisplayColumnsCount()

testGetRecordDisplayColumns

public void testGetRecordDisplayColumns()
See Also:
Table.getRecordDisplayColumns()

testGetRecordDisplayColumnsCount

public void testGetRecordDisplayColumnsCount()
See Also:
Table.getRecordDisplayColumnsCount()

testGetSummaryDisplayColumns

public void testGetSummaryDisplayColumns()
See Also:
Table.getSummaryDisplayColumns()

testGetSummaryDisplayColumnsCount

public void testGetSummaryDisplayColumnsCount()
See Also:
Table.getSummaryDisplayColumnsCount()

testGetSearchCriterionColumns

public void testGetSearchCriterionColumns()
See Also:
Table.getSearchCriterionColumns()

testGetSearchCriterionColumnsCount

public void testGetSearchCriterionColumnsCount()
Not used in the java, possibly in templates.

See Also:
Table.getSearchCriterionColumnsCount()

testDbModifyStructure

public void testDbModifyStructure()
See Also:
Table.dbModifyStructure(String)

testLoad

public void testLoad()
See Also:
Table.load(PoemTransaction, Persistent)

testDelete

public void testDelete()
See Also:
Table.delete(Integer, PoemTransaction)

testWriteDown

public void testWriteDown()
See Also:
Table.writeDown(PoemTransaction, Persistent)

testUncacheContents

public void testUncacheContents()
See Also:
Table.uncache()

testTrimCache

public void testTrimCache()
See Also:
Table.trimCache(int)

testGetCacheInfo

public void testGetCacheInfo()
Used in cache dump servlet.

See Also:
Table.getCacheInfo()

testAddListener

public void testAddListener()
See Also:
Table.addListener(TableListener)

testNotifyTouched

public void testNotifyTouched()
See Also:
Table.notifyTouched(PoemTransaction, Persistent)

testSerial

public void testSerial()
See Also:
Table.serial(PoemTransaction)

testReadLock

public void testReadLock()
See Also:
Table.readLock()

testGetObjectInteger

public void testGetObjectInteger()
See Also:
Table.getObject(Integer)

testGetObjectInt

public void testGetObjectInt()
See Also:
Table.getObject(int)

testSelectionSQLStringStringBoolean

public void testSelectionSQLStringStringBoolean()
See Also:
org.melati.poem.Table#selectionSQL(String, String, boolean)

testSelectionSQLStringStringStringBooleanBoolean

public void testSelectionSQLStringStringStringBooleanBoolean()
See Also:
Table.selectionSQL(String, String, String, boolean, boolean)

testTroidSelectionStringStringBooleanPoemTransaction

public void testTroidSelectionStringStringBooleanPoemTransaction()
See Also:
Table.troidSelection(String, String, boolean, PoemTransaction)

testTroidSelectionPersistentStringBooleanBooleanPoemTransaction

public void testTroidSelectionPersistentStringBooleanBooleanPoemTransaction()
See Also:
Table.troidSelection(Persistent, String, boolean, boolean, PoemTransaction)

testRememberAllTroids

public void testRememberAllTroids()
See Also:
Table.rememberAllTroids(boolean)

testSetCacheLimit

public void testSetCacheLimit()
See Also:
Table.setCacheLimit(Integer)

testTroidSelectionStringStringBoolean

public void testTroidSelectionStringStringBoolean()
See Also:
Table.troidSelection(String, String, boolean)

testSelection

public void testSelection()
See Also:
Table.selection()

testSelectionString

public void testSelectionString()
See Also:
Table.selection(String)

testFirstSelection

public void testFirstSelection()
See Also:
Table.firstSelection(String)

testSelectionStringStringBoolean

public void testSelectionStringStringBoolean()
See Also:
Table.selection(String, String, boolean)

testSelectionPersistent

public void testSelectionPersistent()
See Also:
Table.selection(Persistent)

testSelectionPersistentString

public void testSelectionPersistentString()
See Also:
Table.selection(Persistent, String)

testSelectionPersistentStringBooleanBoolean

public void testSelectionPersistentStringBooleanBoolean()
See Also:
Table.selection(Persistent, String, boolean, boolean)

testCountSQLString

public void testCountSQLString()
See Also:
Table.countSQL(String)

testCountSQLStringStringBooleanBoolean

public void testCountSQLStringStringBooleanBoolean()
See Also:
Table.countSQL(String, String, boolean, boolean)

testCountStringBooleanBoolean

public void testCountStringBooleanBoolean()
See Also:
Table.count(String, boolean, boolean)

testCountStringBoolean

public void testCountStringBoolean()
See Also:
Table.count(String, boolean)

testCountString

public void testCountString()
See Also:
Table.count(String)

testCount

public void testCount()
See Also:
Table.count()

testExistsString

public void testExistsString()
See Also:
Table.exists(String)

testExistsPersistent

public void testExistsPersistent()
See Also:
Table.exists(Persistent)

testAppendWhereClause

public void testAppendWhereClause()
See Also:
Table.appendWhereClause(StringBuffer, Persistent)

testWhereClausePersistent

public void testWhereClausePersistent()
See Also:
Table.whereClause(Persistent)

testWhereClausePersistentBooleanBoolean

public void testWhereClausePersistentBooleanBoolean()
See Also:
Table.whereClause(Persistent, boolean, boolean)

testCnfWhereClauseEnumeration

public void testCnfWhereClauseEnumeration()
See Also:
Table.cnfWhereClause(Enumeration)

testCnfWhereClauseEnumerationBooleanBoolean

public void testCnfWhereClauseEnumerationBooleanBoolean()
See Also:
Table.cnfWhereClause(Enumeration, boolean, boolean)

testReferencesToPersistent

public void testReferencesToPersistent()
See Also:
Table.referencesTo(Persistent)

testReferencesToTable

public void testReferencesToTable()
See Also:
Table.referencesTo(Table)

testTroidFor

public void testTroidFor()
See Also:
Table.troidFor(Persistent)

testCreatePersistent

public void testCreatePersistent()
See Also:
Table.create(Persistent)

testCreateInitialiser

public void testCreateInitialiser()
See Also:
Table.create(Initialiser)

testNewPersistent

public void testNewPersistent()
See Also:
Table.newPersistent()

test_newPersistent

public void test_newPersistent()
See Also:
org.melati.poem.Table#_newPersistent()

testDelete_unsafe

public void testDelete_unsafe()
Looks like you can sucessfully delete the same record twice.

See Also:
Table.delete_unsafe(String)

testExtrasCount

public void testExtrasCount()
See Also:
Table.extrasCount()

testGetDefaultCanRead

public void testGetDefaultCanRead()
See Also:
Table.getDefaultCanRead()

testGetDefaultCanWrite

public void testGetDefaultCanWrite()
See Also:
Table.getDefaultCanWrite()

testGetDefaultCanDelete

public void testGetDefaultCanDelete()
See Also:
Table.getDefaultCanDelete()

testGetCanCreate

public void testGetCanCreate()
See Also:
Table.getCanCreate()

testCanReadColumn

public void testCanReadColumn()
See Also:
Table.canReadColumn()

testCanSelectColumn

public void testCanSelectColumn()
See Also:
Table.canSelectColumn()

testCanWriteColumn

public void testCanWriteColumn()
See Also:
Table.canWriteColumn()

testCanDeleteColumn

public void testCanDeleteColumn()
See Also:
Table.canDeleteColumn()

testAddColumnAndCommitTroid

public void testAddColumnAndCommitTroid()
See Also:
DynamicTableTest.testAddColumnAndCommitTroid(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitDeleted

public void testAddColumnAndCommitDeleted()
                                   throws Exception
Throws:
Exception
See Also:
DynamicTableTest.testAddColumnAndCommitDeleted(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitType

public void testAddColumnAndCommitType()
See Also:
DynamicTableTest.testAddColumnAndCommitType(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitBoolean

public void testAddColumnAndCommitBoolean()
See Also:
DynamicTableTest.testAddColumnAndCommitBoolean(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitInteger

public void testAddColumnAndCommitInteger()
See Also:
DynamicTableTest.testAddColumnAndCommitInteger(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitNullableInteger

public void testAddColumnAndCommitNullableInteger()
See Also:
DynamicTableTest.testAddColumnAndCommitNullableInteger(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitDouble

public void testAddColumnAndCommitDouble()
See Also:
DynamicTableTest.testAddColumnAndCommitDouble(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitLong

public void testAddColumnAndCommitLong()
See Also:
DynamicTableTest.testAddColumnAndCommitLong(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitBigDecimal

public void testAddColumnAndCommitBigDecimal()
See Also:
DynamicTableTest.testAddColumnAndCommitBigDecimal(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitString

public void testAddColumnAndCommitString()
See Also:
DynamicTableTest.testAddColumnAndCommitString(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitPassword

public void testAddColumnAndCommitPassword()
See Also:
DynamicTableTest.testAddColumnAndCommitPassword(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitDate

public void testAddColumnAndCommitDate()
See Also:
DynamicTableTest.testAddColumnAndCommitDate(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitTimestamp

public void testAddColumnAndCommitTimestamp()
See Also:
DynamicTableTest.testAddColumnAndCommitTimestamp(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitBinary

public void testAddColumnAndCommitBinary()
See Also:
DynamicTableTest.testAddColumnAndCommitBinary(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitDisplaylevel

public void testAddColumnAndCommitDisplaylevel()
See Also:
DynamicTableTest#testAddColumnAndCommitDisplayLevel(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitSearchability

public void testAddColumnAndCommitSearchability()
See Also:
DynamicTableTest.testAddColumnAndCommitSearchability(), Table.addColumnAndCommit(ColumnInfo)

testAddColumnAndCommitIntegrityfix

public void testAddColumnAndCommitIntegrityfix()
See Also:
DynamicTableTest.testAddColumnAndCommitIntegrityfix(), Table.addColumnAndCommit(ColumnInfo)

testToString

public void testToString()
See Also:
Table.toString()

testDumpCacheAnalysis

public void testDumpCacheAnalysis()
See Also:
Table.dumpCacheAnalysis()

testDump

public void testDump()
See Also:
Table.dump()

testCachedSelection

public void testCachedSelection()
See Also:
Table.cachedSelection(String, String)

testCachedCountStringBoolean

public void testCachedCountStringBoolean()
See Also:
Table.cachedCount(String, boolean)

testCachedCountStringBooleanBoolean

public void testCachedCountStringBooleanBoolean()
See Also:
Table.cachedCount(String, boolean, boolean)

testCachedCountPersistentBooleanBoolean

public void testCachedCountPersistentBooleanBoolean()
Ensure that sqlBooleanValue is tested.

See Also:
Table.cachedCount(Persistent, boolean, boolean)

testCachedCountString

public void testCachedCountString()
See Also:
Table.cachedCount(String)

testCachedCountPersistent

public void testCachedCountPersistent()
See Also:
Table.cachedCount(Persistent)

testCachedExists

public void testCachedExists()
See Also:
Table.cachedExists(String)

testCachedSelectionType

public void testCachedSelectionType()
See Also:
Table.cachedSelectionType(String, String, boolean)

testCachedSelectionField

public void testCachedSelectionField()
See Also:
Table.cachedSelectionField(String, String, boolean, Integer, String)

testDefineColumnColumnBoolean

public void testDefineColumnColumnBoolean()
See Also:
org.melati.poem.Table#defineColumn(Column, boolean)

testDefineColumnColumn

public void testDefineColumnColumn()
See Also:
Table.defineColumn(Column)

testSetTableInfo

public void testSetTableInfo()
See Also:
Table.setTableInfo(TableInfo)

testGetTableInfo

public void testGetTableInfo()
See Also:
Table.getTableInfo()

testDefaultDisplayName

public void testDefaultDisplayName()
See Also:
org.melati.poem.Table#defaultDisplayName()

testGetDsdName

public void testGetDsdName()
See Also:
Table.getDsdName()

testDefaultDisplayOrder

public void testDefaultDisplayOrder()
See Also:
org.melati.poem.Table#defaultDisplayOrder()

testDefaultDescription

public void testDefaultDescription()
See Also:
org.melati.poem.Table#defaultDescription()

testDefaultCacheLimit

public void testDefaultCacheLimit()
See Also:
org.melati.poem.Table#defaultCacheLimit()

testDefaultRememberAllTroids

public void testDefaultRememberAllTroids()
See Also:
org.melati.poem.Table#defaultRememberAllTroids()

testDefaultCategory

public void testDefaultCategory()
See Also:
org.melati.poem.Table#defaultCategory()

testCreateTableInfo

public void testCreateTableInfo()
See Also:
Table.createTableInfo()

testUnifyWithColumnInfo

public void testUnifyWithColumnInfo()
See Also:
Table.unifyWithColumnInfo()

testUnifyWithDB

public void testUnifyWithDB()
See Also:
Table.unifyWithDB(ResultSet)

testInit

public void testInit()
See Also:
Table.init()

testHashCode

public void testHashCode()
See Also:
org.melati.poem.Table#hashCode()

testEqualsObject

public void testEqualsObject()
See Also:
org.melati.poem.Table#equals(Object)


Copyright © 2000-2010 PanEris. All Rights Reserved.