package com.example.datacollect.command; import com.example.datacollect.model.Article; import com.example.datacollect.model.DataService; import com.example.datacollect.view.ConsoleView; import java.util.List; public class SearchCommand implements Command{ private final ConsoleView view; public SearchCommand(ConsoleView view){ this.view=view; } @Override public String getName(){ return "search"; } public void execute(String[] args, DataService dataService){ if (args.length < 2) { view.printError("Usage: search "); return; } String keyword=args[1].toLowerCase(); List
allArticles=dataService.getAllArticles(); int count=0; view.printInfo("Searching for..."+keyword); for(Article article: allArticles){ if(article.getTitle().toLowerCase().contains(keyword)||article.getUrl().toLowerCase().contains(keyword)){ count++; System.out.println((count) + ". " + article.getTitle() + " | " + article.getUrl()); } } if(count==0){ view.printInfo("not search matched article"); } else{ view.printSuccess("Successfully search "+count+" articles"); } } }