package services;
import akka.actor.Props;
import akka.actor.UntypedActor;
import akka.japi.Creator;
import models.Commit;
/**
* Created by fo on 05.04.16.
*/
public class IndexQueue extends UntypedActor {
public static Props props(final ResourceIndexer aResourceIndexer) {
return Props.create(new Creator<IndexQueue>() {
@Override
public IndexQueue create() {
return new IndexQueue(aResourceIndexer);
}
});
}
private final ResourceIndexer mResourceIndexer;
public IndexQueue(ResourceIndexer aResourceIndexer) {
mResourceIndexer = aResourceIndexer;
}
@Override
public void onReceive(Object aMessage) {
if (aMessage instanceof Commit.Diff) {
Commit.Diff diff = (Commit.Diff) aMessage;
mResourceIndexer.index(diff);
} else if(aMessage instanceof String) {
String id = (String) aMessage;
mResourceIndexer.index(id);
} else {
unhandled(aMessage);
}
}
}