finalized code. should start testing

git-svn-id: https://svn.wso2.org/repos/wso2/carbon/platform/trunk@173113 a5903396-d722-0410-b921-86c7d4935375
committing new classes

git-svn-id: https://svn.wso2.org/repos/wso2/carbon/platform/trunk@173114 a5903396-d722-0410-b921-86c7d4935375