diff --git a/src/main/java/com/epita/guereza/CrawlerApp.java b/src/main/java/com/epita/guereza/CrawlerApp.java index 0d5d526..825c064 100644 --- a/src/main/java/com/epita/guereza/CrawlerApp.java +++ b/src/main/java/com/epita/guereza/CrawlerApp.java @@ -3,6 +3,7 @@ import com.epita.domain.Crawler; import com.epita.domain.RawDocument; import com.epita.eventbus.EventBusClient; +import com.fasterxml.jackson.databind.ObjectMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,9 +41,16 @@ private void storeUrls(final String[] urls) { public void run() { eventBus.subscribe(subscribeUrl, msg -> { if (msg != null) { - LOGGER.info("Receive url: {}", msg.getContent()); - final String[] urls = crawlAndExtract(msg.getContent()); - storeUrls(urls); + try { + Class c = ClassLoader.getSystemClassLoader().loadClass(msg.getMessageType()); + String url = (String)new ObjectMapper().readValue(msg.getContent(), c); + LOGGER.info("Receive url: {}", url); + final String[] urls = crawlAndExtract(url); + storeUrls(urls); + } catch (Exception e) { + e.printStackTrace(); + } + requestNextUrl(); } else {