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

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);
}
}
}