[AB-313] ignoring referenced message parameter in parameter handler if not needed

This commit is contained in:
Sheldan
2021-07-25 17:27:32 +02:00
parent 5311cfcc2e
commit a6c3bb5aa2
22 changed files with 44 additions and 13 deletions

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.AChannelParameterHandler;
import dev.sheldan.abstracto.core.command.handler.provided.TextChannelParameterHandler;
@@ -28,7 +29,7 @@ public class AChannelParameterHandlerImpl implements AChannelParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(AChannel.class);
return clazz.equals(AChannel.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.AEmoteParameterHandler;
import dev.sheldan.abstracto.core.command.handler.provided.EmoteParameterHandler;
@@ -28,7 +29,7 @@ public class AEmoteParameterHandlerImpl implements AEmoteParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(AEmote.class);
return clazz.equals(AEmote.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.ARoleParameterHandler;
import dev.sheldan.abstracto.core.command.handler.provided.RoleParameterHandler;
@@ -32,7 +33,7 @@ public class ARoleParameterHandlerImpl implements ARoleParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(ARole.class);
return clazz.equals(ARole.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.AUserInAServerParameterHandler;
import dev.sheldan.abstracto.core.command.handler.provided.MemberParameterHandler;
@@ -56,7 +57,7 @@ public class AUserInAServerParameterHandlerImpl implements AUserInAServerParamet
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(AUserInAServer.class);
return clazz.equals(AUserInAServer.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -4,6 +4,7 @@ import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.exception.IncorrectParameterException;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.parameter.CombinedParameter;
import dev.sheldan.abstracto.core.command.handler.provided.CombinedParametersHandler;
@@ -76,7 +77,7 @@ public class CombinedParameterHandlerImpl implements CombinedParametersHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(CombinedParameter.class);
return clazz.equals(CombinedParameter.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.EmoteParameterHandler;
import net.dv8tion.jda.api.entities.Emote;
@@ -17,7 +18,7 @@ public class EmoteParameterHandlerImpl implements EmoteParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(Emote.class);
return clazz.equals(Emote.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.EmoteParameterHandler;
import dev.sheldan.abstracto.core.command.handler.provided.FullEmoteParameterHandler;
@@ -29,7 +30,7 @@ public class FullEmoteParameterHandlerImpl implements FullEmoteParameterHandler
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(FullEmote.class);
return clazz.equals(FullEmote.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.FullRoleParameterHandler;
import dev.sheldan.abstracto.core.command.handler.provided.RoleParameterHandler;
@@ -29,7 +30,7 @@ public class FullRoleParameterHandlerImpl implements FullRoleParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(FullRole.class);
return clazz.equals(FullRole.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -4,6 +4,7 @@ import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.MemberParameterHandler;
import net.dv8tion.jda.api.entities.Member;
@@ -20,7 +21,7 @@ import java.util.regex.Matcher;
public class MemberParameterHandlerImpl implements MemberParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(Member.class);
return clazz.equals(Member.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.StringParameterHandler;
import net.dv8tion.jda.api.entities.Message;
@@ -22,7 +23,7 @@ public class StringParameterHandlerImpl implements StringParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(String.class);
return clazz.equals(String.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -4,6 +4,7 @@ import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.CommandConstants;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.provided.MemberParameterHandler;
import dev.sheldan.abstracto.core.command.handler.provided.UserParameterHandler;
@@ -24,7 +25,7 @@ public class UserParameterHandlerImpl implements UserParameterHandler {
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(User.class);
return clazz.equals(User.class) && value.getType().equals(ParameterPieceType.STRING);
}
@Override

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.service.ChannelService;
@@ -51,6 +52,7 @@ public class AChannelParameterHandlerImplTest extends AbstractParameterHandlerTe
@Test
public void testSuccessfulCondition() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(AChannel.class, unparsedCommandParameterPiece));
}

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.service.CommandService;
import dev.sheldan.abstracto.core.models.database.AEmote;
@@ -59,6 +60,7 @@ public class AEmoteParameterHandlerImplImplTest extends AbstractParameterHandler
@Test
public void testSuccessfulCondition() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(AEmote.class, unparsedCommandParameterPiece));
}

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.service.CommandService;
import dev.sheldan.abstracto.core.models.database.ARole;
@@ -58,6 +59,7 @@ public class ARoleParameterHandlerImplImplTest extends AbstractParameterHandlerT
@Test
public void testSuccessfulCondition() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(ARole.class, unparsedCommandParameterPiece));
}

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import net.dv8tion.jda.api.entities.Emote;
import net.dv8tion.jda.api.entities.Guild;
@@ -50,6 +51,7 @@ public class EmoteParameterHandlerImplTest extends AbstractParameterHandlerTest
@Test
public void testSuccessfulCondition() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(Emote.class, unparsedCommandParameterPiece));
}

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.service.CommandService;
import dev.sheldan.abstracto.core.models.FullEmote;
@@ -59,6 +60,7 @@ public class FullEmoteParameterHandlerImplImplTest extends AbstractParameterHand
@Test
public void testSuccessfulCondition() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(FullEmote.class, unparsedCommandParameterPiece));
}

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.service.CommandService;
import dev.sheldan.abstracto.core.models.FullRole;
@@ -59,6 +60,7 @@ public class FullRoleParameterHandlerImplImplTest extends AbstractParameterHandl
@Test
public void testSuccessfulCondition() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(FullRole.class, unparsedCommandParameterPiece));
}

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.core.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
@@ -54,6 +55,7 @@ public class MemberParameterHandlerImplTest extends AbstractParameterHandlerTest
@Test
public void testSuccessfulCondition() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(Member.class, unparsedCommandParameterPiece));
}