package com.juick.command; import com.juick.User; import com.juick.service.MessagesService; import lombok.Getter; import org.apache.commons.lang3.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.regex.Pattern; /** * @author ma1uta */ @Getter @Component public class DeleteMessage extends MultiArgsCommand { private static final Pattern PATTERN = Pattern.compile("^d\\s*\\#([0-9]+)$", Pattern.CASE_INSENSITIVE); private final MessagesService messagesService; @Autowired public DeleteMessage(MessagesService messagesService) { this.messagesService = messagesService; } @Override public Pattern pattern() { return PATTERN; } @Override public String help() { return "D #12345 - delete the message"; } @Override protected String execute(User sender, MessageListener protocolListener, String... arguments) { int mid = NumberUtils.toInt(arguments[0], 0); if (getMessagesService().deleteMessage(sender.getUid(), mid)) { return String.format("Message %s deleted", mid); } return "Error"; } }