You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
34 lines
1.2 KiB
package com.example.datacollect;
|
|
|
|
import com.example.datacollect.controller.CrawlerController;
|
|
import com.example.datacollect.repository.ArticleRepository;
|
|
import com.example.datacollect.strategy.StrategyFactory;
|
|
import com.example.datacollect.view.ConsoleView;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
public class Main {
|
|
private static final Logger logger = LoggerFactory.getLogger(Main.class);
|
|
|
|
public static void main(String[] args) {
|
|
logger.info("Starting CLI Crawler (w10_3)");
|
|
ConsoleView view = new ConsoleView();
|
|
ArticleRepository repository = new ArticleRepository();
|
|
StrategyFactory strategyFactory = new StrategyFactory();
|
|
CrawlerController controller = new CrawlerController(view, repository, strategyFactory);
|
|
|
|
String welcomeMsg = "Welcome to CLI Crawler (w10_3)! Type help for commands.";
|
|
logger.info(welcomeMsg);
|
|
view.printSuccess(welcomeMsg);
|
|
|
|
try {
|
|
while (true) {
|
|
controller.handle(view.readLine());
|
|
}
|
|
} catch (Exception e) {
|
|
logger.error("Unexpected error in main loop", e);
|
|
view.printError("System error: " + e.getMessage());
|
|
System.exit(1);
|
|
}
|
|
}
|
|
}
|