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.
 
 

38 lines
1.2 KiB

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.ArrayList;
import java.util.List;
public class DeleteCommand implements Command{
private final ConsoleView view;
public DeleteCommand(ConsoleView view){
this.view=view;
}
@Override
public String getName(){
return "delete";
}
@Override
public void execute(String[]args,DataService dataService){
if (args.length < 2) {
view.printError("Usage: delete <index>");
return;
}
int index;
try{
index = Integer.parseInt(args[1]) - 1;
}catch (NumberFormatException e){
view.printError("index must be number");
return;
}
List<Article> articles = dataService.getAllArticles();
if (index < 0 || index >= articles.size()) {
view.printError("invalid index " + articles.size() + "article");
return;
}
Article deleted=articles.remove(index);
view.printSuccess("delete:" + deleted.getTitle());
}
}