Skip to content

Commit

Permalink
Merge pull request #60 from Paul2708/development
Browse files Browse the repository at this point in the history
Bug fixes
  • Loading branch information
Paul2708 committed Apr 14, 2020
2 parents 7d0e1be + a3ce140 commit 9477ab3
Show file tree
Hide file tree
Showing 41 changed files with 964 additions and 267 deletions.
21 changes: 21 additions & 0 deletions .github/workflows/maven.yml
@@ -0,0 +1,21 @@
name: Java CI with Maven

on:
push:
branches: [ master ]
pull_request:
branches: [ master, development ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 14
uses: actions/setup-java@v1
with:
java-version: 14
- name: Build with Maven
run: mvn clean install
- name: Verify checkstyle rules
run: mvn checkstyle:check
6 changes: 0 additions & 6 deletions .travis.yml

This file was deleted.

4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -36,7 +36,7 @@ Just add the following repository and dependency to your Maven project.
<dependency>
<groupId>com.github.Paul2708</groupId>
<artifactId>simple-commands</artifactId>
<version>0.2.4</version>
<version>0.3.0</version>
</dependency>
```

Expand All @@ -51,7 +51,7 @@ If you don't use a build tool like Maven or Gradle, you can download the latest
<dependency>
<groupId>de.paul2708</groupId>
<artifactId>simple-commands-core</artifactId>
<version>0.2.4</version>
<version>0.3.0</version>
</dependency>
```

Expand Down
21 changes: 3 additions & 18 deletions arguments/pom.xml
Expand Up @@ -5,25 +5,18 @@
<parent>
<artifactId>simple-commands</artifactId>
<groupId>de.paul2708</groupId>
<version>0.2.4</version>
<version>0.3.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>simple-commands-arguments</artifactId>

<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>

<dependencies>
<!-- Language -->
<dependency>
<groupId>de.paul2708</groupId>
<artifactId>simple-commands-language</artifactId>
<version>0.2.4</version>
<version>0.3.0</version>
</dependency>
<!-- Spigot -->
<dependency>
Expand All @@ -36,15 +29,7 @@
<dependency>
<groupId>net.jodah</groupId>
<artifactId>typetools</artifactId>
<version>0.6.1</version>
</dependency>
<!-- JUnit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
<version>0.6.2</version>
</dependency>
</dependencies>

</project>
Expand Up @@ -4,8 +4,6 @@
import de.paul2708.commands.arguments.impl.EnumArgument;
import net.jodah.typetools.TypeResolver;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -87,6 +85,6 @@ public CommandArgument<?> resolve(Class<?> argumentType) {
*/
@Override
public List<CommandArgument<?>> getAll() {
return Collections.unmodifiableList(new ArrayList<>(commandArguments.values()));
return List.copyOf(commandArguments.values());
}
}
Expand Up @@ -10,7 +10,7 @@
* @param <T> The type of this argument
*/
public class OptionalArgument<T> implements CommandArgument<T> {
private CommandArgument<T> internal;
private final CommandArgument<T> internal;

/**
* For internal use only. Use {@link CommandArgument#asOptional()} instead.
Expand All @@ -20,6 +20,15 @@ public class OptionalArgument<T> implements CommandArgument<T> {
this.internal = internal;
}

/**
* Get the internal command argument that is wrapped within the optional argument.
*
* @return internal command argument
*/
public CommandArgument<T> getInternal() {
return internal;
}

@Override
public Validation<T> validate(String argument) {
return internal.validate(argument);
Expand Down
Expand Up @@ -5,7 +5,6 @@
import de.paul2708.commands.language.MessageResource;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -65,12 +64,10 @@ public MessageResource usage() {
*/
@Override
public List<String> autoComplete(String argument) {
List<String> autoComplete = Arrays.stream(enumClass.getEnumConstants())
return Arrays.stream(enumClass.getEnumConstants())
.map(name -> name.toString().toLowerCase())
.filter(name -> name.startsWith(argument.toLowerCase()))
.collect(Collectors.toList());

return Collections.unmodifiableList(autoComplete);
.collect(Collectors.toUnmodifiableList());
}

/**
Expand Down
Expand Up @@ -5,7 +5,6 @@
import de.paul2708.commands.language.MessageResource;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
Expand Down Expand Up @@ -76,10 +75,8 @@ public List<String> autoComplete(String argument) {
Stream<String> stream = Stream.concat(Arrays.stream(BooleanArgument.TRUE_KEYS),
Arrays.stream(BooleanArgument.FALSE_KEYS));

List<String> autoComplete = stream
return stream
.filter(key -> key.startsWith(argument))
.collect(Collectors.toList());

return Collections.unmodifiableList(autoComplete);
.collect(Collectors.toUnmodifiableList());
}
}
Expand Up @@ -6,7 +6,6 @@
import org.bukkit.Bukkit;
import org.bukkit.entity.Entity;

import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -60,13 +59,11 @@ public MessageResource usage() {
*/
@Override
public List<String> autoComplete(String argument) {
List<String> autoComplete = Bukkit.getWorlds().stream()
return Bukkit.getWorlds().stream()
.flatMap(world -> world.getEntities().stream())
.map(entity -> (entity.getCustomName() == null
? entity.getUniqueId().toString() : entity.getCustomName()))
.filter(s -> s.startsWith(argument.toLowerCase()))
.collect(Collectors.toList());

return Collections.unmodifiableList(autoComplete);
.collect(Collectors.toUnmodifiableList());
}
}
Expand Up @@ -6,7 +6,6 @@
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -55,12 +54,10 @@ public MessageResource usage() {
*/
@Override
public List<String> autoComplete(String argument) {
List<String> autoComplete = Bukkit.getOnlinePlayers()
return Bukkit.getOnlinePlayers()
.stream()
.map(player -> player.getName().toLowerCase())
.filter(name -> name.startsWith(argument.toLowerCase()))
.collect(Collectors.toList());

return Collections.unmodifiableList(autoComplete);
.collect(Collectors.toUnmodifiableList());
}
}
Expand Up @@ -6,7 +6,6 @@
import org.bukkit.Bukkit;
import org.bukkit.World;

import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -54,11 +53,9 @@ public MessageResource usage() {
*/
@Override
public List<String> autoComplete(String argument) {
List<String> autoComplete = Bukkit.getWorlds().stream()
return Bukkit.getWorlds().stream()
.map(world -> world.getName().toLowerCase())
.filter(name -> name.startsWith(argument.toLowerCase()))
.collect(Collectors.toList());

return Collections.unmodifiableList(autoComplete);
.collect(Collectors.toUnmodifiableList());
}
}
22 changes: 10 additions & 12 deletions arguments/src/test/java/arguments/AbstractArgumentTest.java
Expand Up @@ -3,12 +3,10 @@
import de.paul2708.commands.arguments.CommandArgument;
import de.paul2708.commands.arguments.Validation;
import de.paul2708.commands.arguments.util.Pair;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.*;

/**
* This abstract test class provides two methods, that tests valid and invalid arguments.
Expand All @@ -22,7 +20,7 @@ public abstract class AbstractArgumentTest {
/**
* Create a new command argument.
*/
@Before
@BeforeEach
public void setUp() {
this.commandArgument = create();
}
Expand All @@ -35,10 +33,10 @@ public void testValidArguments() {
for (Pair<String, ?> pair : validArguments()) {
Validation<?> validation = commandArgument.validate(pair.getKey());

assertTrue(String.format("%s is not valid", pair.getKey()), validation.isValid());
assertEquals(String.format("expected: %s != actual: %s",
pair.getValue().toString(), validation.getParsedObject()), pair.getValue(),
validation.getParsedObject());
assertTrue(validation.isValid(), String.format("%s is not valid", pair.getKey()));
assertEquals(pair.getValue(), validation.getParsedObject(),
String.format("expected: %s != actual: %s",
pair.getValue().toString(), validation.getParsedObject()));
}
}

Expand All @@ -50,7 +48,7 @@ public void testInvalidArguments() {
for (String argument : invalidArguments()) {
Validation<?> validation = commandArgument.validate(argument);

assertFalse("argument '" + argument + "' is valid", validation.isValid());
assertFalse(validation.isValid(), "argument '" + argument + "' is valid");
}
}

Expand All @@ -66,7 +64,7 @@ public void testInvalidArguments() {
*
* @return array of pairs
*/
public abstract Pair[] validArguments();
public abstract Pair<String, ?>[] validArguments();

/**
* Get an array of string arguments.
Expand Down
Expand Up @@ -3,11 +3,9 @@
import arguments.AbstractArgumentTest;
import de.paul2708.commands.arguments.CommandArgument;
import de.paul2708.commands.arguments.impl.spigot.GameRuleArgument;
import de.paul2708.commands.arguments.impl.spigot.UuidArgument;
import de.paul2708.commands.arguments.util.Pair;
import org.bukkit.GameRule;

import java.util.UUID;
import java.util.function.Function;

/**
Expand Down
Expand Up @@ -31,7 +31,7 @@ public CommandArgument<?> create() {
* @return array of pairs
*/
@Override
public Pair[] validArguments() {
public Pair<String, ?>[] validArguments() {
List<Pair<String, Boolean>> pairs = new LinkedList<>();

for (String trueKey : BooleanArgument.TRUE_KEYS) {
Expand Down
Expand Up @@ -28,7 +28,7 @@ public CommandArgument<?> create() {
* @return array of pairs
*/
@Override
public Pair[] validArguments() {
public Pair<String, ?>[] validArguments() {
return new Pair[] {
Pair.of("0", (byte) 0),
Pair.of("127", (byte) 127),
Expand Down
8 changes: 4 additions & 4 deletions arguments/src/test/java/component/PersonArgumentTest.java
Expand Up @@ -3,15 +3,15 @@
import de.paul2708.commands.arguments.Validation;
import model.Person;
import model.PersonArgument;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.*;

/**
* This test class tests the person argument test. These tests should all command argument implement.
Expand All @@ -25,7 +25,7 @@ public final class PersonArgumentTest {
/**
* Create a new command argument with a list of persons.
*/
@Before
@BeforeEach
public void setUp() {
List<Person> list = new ArrayList<>();
list.add(new Person("testuser", 1337));
Expand Down
4 changes: 2 additions & 2 deletions arguments/src/test/java/component/ValidationTest.java
Expand Up @@ -2,9 +2,9 @@

import de.paul2708.commands.arguments.Validation;
import de.paul2708.commands.language.MessageResource;
import org.junit.Test;
import org.junit.jupiter.api.Test;

import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.*;

/**
* This component test tests the validation class.
Expand Down

0 comments on commit 9477ab3

Please sign in to comment.