package com.juick.command; import com.juick.User; import com.juick.server.protocol.ProtocolListener; import com.juick.service.TagService; import com.juick.service.UserService; import lombok.Getter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; import java.util.regex.Pattern; /** * @author ma1uta */ @Component @Getter public class ShowBlacklist implements Command { private static final Pattern PATTERN = Pattern.compile("^bl$", Pattern.CASE_INSENSITIVE); private final UserService userService; private final TagService tagService; @Autowired public ShowBlacklist(UserService userService, TagService tagService) { this.userService = userService; this.tagService = tagService; } @Override public Pattern pattern() { return PATTERN; } @Override public String help() { return "BL - Show your blacklist"; } @Override public String execute(User sender, ProtocolListener protocolListener, String command) { List blusers = getUserService().getUserBLUsers(sender.getUid()); List bltags = getTagService().getUserBLTags(sender.getUid()); StringBuilder txt = new StringBuilder(); if (bltags.size() > 0) { for (String bltag : bltags) { txt.append("*").append(bltag).append("\n"); } if (blusers.size() > 0) { txt.append("\n"); } } if (blusers.size() > 0) { for (User bluser : blusers) { txt.append("@").append(bluser.getName()).append("\n"); } } if (txt.length() == 0) { txt.append("You don't have any users or tags in your blacklist."); } return txt.toString(); } }