package io.monokkel.actors; import akka.actor.Props; import akka.actor.UntypedActor; import io.monokkel.core.DataCleaner; import io.monokkel.domain.PageData; import io.monokkel.messages.CleanTransformedContent; import io.monokkel.messages.CleanerDone; /** * Created by tarjei on 11/09/14. */ public class CleanerActor extends UntypedActor { private final DataCleaner dataCleaner; public CleanerActor(final DataCleaner dataCleaner) { this.dataCleaner = dataCleaner; } public static Props props(final DataCleaner dataCleaner) { return Props.create(CleanerActor.class, () -> new CleanerActor(dataCleaner)); } @Override public void onReceive(Object message) throws Exception { if(message instanceof CleanTransformedContent){ CleanTransformedContent cleanTransformedContent = (CleanTransformedContent)message; final PageData cleanedData = dataCleaner.clean(cleanTransformedContent.getPageData()); getSender().tell(new CleanerDone(cleanedData, cleanTransformedContent.getUrlSet(), cleanTransformedContent.getDepth(), cleanTransformedContent.getMaxDept()),getSelf()); } else { unhandled(message); } } }