Skip to content

Commit

Permalink
Fixed compilation
Browse files Browse the repository at this point in the history
  • Loading branch information
zzorn committed Aug 19, 2010
1 parent 9424f22 commit bd93e6b
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions src/main/scala/org/cloudfun/data/Data.scala
@@ -1,6 +1,6 @@
package org.cloudfun.data

import org.cloudfun.storage.{NoRef, Ref}
import org.cloudfun.storage.{Storable, NoRef, Ref}

/**
* Collection of key-value properties.
Expand All @@ -26,7 +26,7 @@ trait Data {
protected def string(name: Symbol, value: String = "") = makeField[String](name, value)
protected def data(name: Symbol, value: Data = null) = makeField[Data](name, value)
protected def list[E](name: Symbol, value: List[E] = Nil) = makeField[List[E]](name, value)
protected def ref[E](name: Symbol, value: Ref[E] = NoRef[E]()) = makeField[Ref[E]](name, value)
protected def ref[E <: Storable](name: Symbol, value: Ref[E] = NoRef[E]()) = makeField[Ref[E]](name, value)

private def makeField[T](name: Symbol, value: T): Field[T] = {
set(name, value.asInstanceOf[Object])
Expand Down Expand Up @@ -66,7 +66,7 @@ trait Data {
def getBoolean(name: Symbol, default: Boolean) = getAs[Boolean](name).getOrElse(default)
def getString(name: Symbol, default: String = "") = getAs[String](name).getOrElse(default)
def getList(name: Symbol, default: List[Object] = Nil) = getAs[List[Object]](name).getOrElse(default)
def getRef[E](name: Symbol, default: Ref[E] = NoRef[E]()) = getAs[Ref[E]](name).getOrElse(default)
def getRef[E <: Storable](name: Symbol, default: Ref[E] = NoRef[E]()) = getAs[Ref[E]](name).getOrElse(default)
def getData(name: Symbol, default: Data = EmptyData) = getAs[Data](name).getOrElse(default)


Expand Down
6 changes: 3 additions & 3 deletions src/main/scala/org/cloudfun/entity/Entity.scala
Expand Up @@ -33,7 +33,7 @@ class Entity extends MutableData with Storable with MessageReceiver with LogMeth
val r = facet.ref
if (facets().contains(r)) {
facets.set(facets().filterNot(_ == r))
facet.entity := NoRef[Facet]()
facet.entity := NoRef[Entity]()
}
}

Expand All @@ -46,12 +46,12 @@ class Entity extends MutableData with Storable with MessageReceiver with LogMeth
* Get a facet with the specified name, or None if not found.
*/
// TODO: Store the facets in a map instead, for faster access?
def facet[T <: Facet](name: Symbol): Option[T] = facets().map(_.apply()).find(f => f.name == name).asInstanceOf[Option[T]]
def facet[T <: Facet](name: Symbol): Option[T] = facets().map(_.apply()).find(f => f.facetType == name).asInstanceOf[Option[T]]

final def onMessage(message: Data) = {
message.get('facet) match {
case None => fallbackMessageHandler(message)
case Some(name: Symbol) => facet(name) match {
case Some(name: Symbol) => facet[Facet](name) match {
case None => fallbackMessageHandler(message)
case Some(facet: Facet) => facet.onMessage(message)
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/org/cloudfun/entity/Facet.scala
Expand Up @@ -19,7 +19,7 @@ trait Facet extends MutableData with Storable with Taskable with MessageReceiver
/**
* Name for this type of facet.
*/
def name: Symbol = Symbol(getClass.getSimpleName())
def facetType: Symbol = Symbol(getClass.getSimpleName())

protected[entity] final def initialize(parameters: Data) {init(parameters)}

Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/org/cloudfun/examples/ChatGame.scala
Expand Up @@ -19,7 +19,7 @@ class ChatGame extends Game {

def createEntityForNewUser(userName: String, context: GameServer) = {
new Entity() {
override def onMessage(message: Data) {
override def fallbackMessageHandler(message: Data) {
println(message)

// TODO: Tell message to other users
Expand Down
Expand Up @@ -38,7 +38,7 @@ class InMemoryStorage extends Storage {
names.put(name, get(ref))
}

private def getReferencedObject[T](ref: Ref[T]): T = {
private def getReferencedObject[T <: Storable](ref: Ref[T]): T = {
ref match {
case NoRef() => throw new ElementNotFoundException("Reference to nothing")
case MemoryRef(obj) => obj
Expand Down

0 comments on commit bd93e6b

Please sign in to comment.