diff options
author | Grzegorz Kossakowski <grek@google.com> | 2009-08-13 13:46:33 -0700 |
---|---|---|
committer | Grzegorz Kossakowski <grek@google.com> | 2009-08-13 13:46:33 -0700 |
commit | 098115e80179c23819de7fb3a0862c15ed6467a2 (patch) | |
tree | 9bfbba31b4a7cb5c0909a1eb5160ef477cc53c39 | |
parent | 028b925e77bf015a37d38d8901a20bbea0fe88e9 (diff) | |
download | gimd-098115e80179c23819de7fb3a0862c15ed6467a2.tar.gz |
Change method UserType.toUserType into UserType.toUserObject.
Previous method name was rather misleading. It's good to introduce clear
distinction between two concepts: UserType[T] and UserObject == T.
Signed-off-by: Grzegorz Kossakowski <grek@google.com>
7 files changed, 15 insertions, 10 deletions
diff --git a/src/main/scala/com/google/gimd/UserType.scala b/src/main/scala/com/google/gimd/UserType.scala index 0e3712c..ae3c388 100644 --- a/src/main/scala/com/google/gimd/UserType.scala +++ b/src/main/scala/com/google/gimd/UserType.scala @@ -14,10 +14,15 @@ package com.google.gimd +/** + * UserType[T] defines how to perform conversion between generic Message class and and type T. + * + * UserType[T] has children method used to define references to other UserTypes. + */ abstract class UserType[T] { def userTypeClass: Class[T] = ClassUtils.beanTypeOf(this.getClass, classOf[UserType[T]]) - def toUserType(itr: Message): T + def toUserObject(itr: Message): T def toMessage(obj: T) = toMessageBuffer(obj).readOnly def toMessageBuffer(obj: T): MessageBuffer def children: Seq[NestedMember[_]] = Seq() diff --git a/src/main/scala/com/google/gimd/jgit/JGitFile.scala b/src/main/scala/com/google/gimd/jgit/JGitFile.scala index 6c6c13c..a2ffc15 100644 --- a/src/main/scala/com/google/gimd/jgit/JGitFile.scala +++ b/src/main/scala/com/google/gimd/jgit/JGitFile.scala @@ -23,7 +23,7 @@ final class JGitFile[T](val path: String, val blobId: ObjectId, val fileType: Fi val jgitRepository: Repository) extends File[T] { lazy val message = Parser.parse(new InputStreamReader(blobInputStream, "UTF-8")) - lazy val userObject = fileType.userType.toUserType(message) + lazy val userObject = fileType.userType.toUserObject(message) private lazy val blobInputStream = { val objectLoader = jgitRepository.openBlob(blobId) diff --git a/src/main/scala/com/google/gimd/query/MessageQuery.scala b/src/main/scala/com/google/gimd/query/MessageQuery.scala index 5ca115f..ec3e0ca 100644 --- a/src/main/scala/com/google/gimd/query/MessageQuery.scala +++ b/src/main/scala/com/google/gimd/query/MessageQuery.scala @@ -18,7 +18,7 @@ object MessageQuery { def simpleQuery[U, W](ut: UserType[W], m: Message, p: Predicate[U]): List[U] = { val matched = if (p.isType(ut.userTypeClass)) { - val value = ut.toUserType(m).asInstanceOf[U] + val value = ut.toUserObject(m).asInstanceOf[U] if (p.isMatch(value)) List(value) diff --git a/src/test/scala/com/google/gimd/UserTypeTestCase.scala b/src/test/scala/com/google/gimd/UserTypeTestCase.scala index ce1911c..af2f6b8 100644 --- a/src/test/scala/com/google/gimd/UserTypeTestCase.scala +++ b/src/test/scala/com/google/gimd/UserTypeTestCase.scala @@ -22,7 +22,7 @@ class UserTypeTestCase { class MyUserType extends UserType[String] { def toMessageBuffer(obj: String): MessageBuffer = new MessageBuffer() - def toUserType(itr: Message): String = "" + def toUserObject(itr: Message): String = "" } class MyChildUserType extends MyUserType @@ -30,7 +30,7 @@ class UserTypeTestCase { abstract class MyWrongUserTypeBase[T] extends UserType[T] class MyWrongUserType extends MyWrongUserTypeBase[String] { def toMessageBuffer(obj: String): MessageBuffer = new MessageBuffer() - def toUserType(itr: Message): String = "" + def toUserObject(itr: Message): String = "" } @Test diff --git a/src/test/scala/com/google/gimd/jgit/JGitDatabaseTestCase.scala b/src/test/scala/com/google/gimd/jgit/JGitDatabaseTestCase.scala index 21a3cf2..8dc017f 100644 --- a/src/test/scala/com/google/gimd/jgit/JGitDatabaseTestCase.scala +++ b/src/test/scala/com/google/gimd/jgit/JGitDatabaseTestCase.scala @@ -26,7 +26,7 @@ final class JGitDatabaseTestCase extends AbstractJGitTestCase { object SimpleMessageType extends UserType[SimpleMessage] { def toMessageBuffer(sm: SimpleMessage) = (new MessageBuffer()) ++ List(Field("name", sm.name), Field("value", sm.value)) - def toUserType(m: Message): SimpleMessage = { + def toUserObject(m: Message): SimpleMessage = { val name = m.one("name").stringField.value val value = m.one("value").intField.value SimpleMessage(name, value) diff --git a/src/test/scala/com/google/gimd/jgit/JGitFileTestCase.scala b/src/test/scala/com/google/gimd/jgit/JGitFileTestCase.scala index 2f0da79..a4d3fcb 100644 --- a/src/test/scala/com/google/gimd/jgit/JGitFileTestCase.scala +++ b/src/test/scala/com/google/gimd/jgit/JGitFileTestCase.scala @@ -27,7 +27,7 @@ class JGitFileTestCase extends AbstractJGitTestCase { object SimpleMessageType extends UserType[SimpleMessage] { def toMessageBuffer(sm: SimpleMessage) = (new MessageBuffer()) ++ List(Field("name", sm.name), Field("value", sm.value)) - def toUserType(m: Message): SimpleMessage = { + def toUserObject(m: Message): SimpleMessage = { val name = m.one("name").stringField.value val value = m.one("value").intField.value SimpleMessage(name, value) diff --git a/src/test/scala/com/google/gimd/query/MessageQueryTestCase.scala b/src/test/scala/com/google/gimd/query/MessageQueryTestCase.scala index ecd8f7b..2753320 100644 --- a/src/test/scala/com/google/gimd/query/MessageQueryTestCase.scala +++ b/src/test/scala/com/google/gimd/query/MessageQueryTestCase.scala @@ -25,7 +25,7 @@ class MessageQueryTestCase { class ChildType extends UserType[Child] { def toMessageBuffer(child: Child) = (new MessageBuffer()) ++ List(Field("name", child.name), Field("property1", child.property1.toString)) - def toUserType(m: Message): Child = + def toUserObject(m: Message): Child = new Child(m.one("name").stringField.value, m.one("property1").stringField.value.toBoolean) } @@ -35,9 +35,9 @@ class MessageQueryTestCase { class SimpleMessageType extends UserType[SimpleMessage] { def toMessageBuffer(sm: SimpleMessage) = (new MessageBuffer()) ++ List(Field("name", sm.name)) - def toUserType(m: Message): SimpleMessage = { + def toUserObject(m: Message): SimpleMessage = { val childType = new ChildType() - val children = m.all("child").map(_.messageField.value).map(childType.toUserType(_)) + val children = m.all("child").map(_.messageField.value).map(childType.toUserObject(_)) val name = m.one("name").stringField.value new SimpleMessage(name, children.toList) } |