Fix broken logic that uses null owner class
Fixes https://github.com/spring-projects/spring-loaded/issues/173 Fixes https://github.com/spring-projects/spring-loaded/issues/187 Fixes https://github.com/spring-projects/spring-loaded/issues/175§
This commit is contained in:
49
testdata-java8/src/main/java/bugs/Issue173.java
Normal file
49
testdata-java8/src/main/java/bugs/Issue173.java
Normal file
@@ -0,0 +1,49 @@
|
||||
package bugs;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class Issue173 {
|
||||
public static void main(String[] args) {
|
||||
System.out.println(run());
|
||||
}
|
||||
|
||||
public static String run() {
|
||||
return url("path").toString();
|
||||
}
|
||||
|
||||
public static URI url(Object... args) {
|
||||
try {
|
||||
/* flattening the paths */
|
||||
final List<String> paths = Arrays
|
||||
.stream(args)
|
||||
.flatMap(arg -> {
|
||||
if (arg instanceof Collection) {
|
||||
return ((Collection<Object>) arg).stream();
|
||||
} else if (arg instanceof Object[]) {
|
||||
return Arrays.stream((Object[]) arg);
|
||||
}
|
||||
|
||||
return Arrays.stream(new Object[]{
|
||||
arg
|
||||
});
|
||||
})
|
||||
.map(Object::toString)
|
||||
.map(String::toLowerCase)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Path path = Paths.get("/", paths.toArray(new String[0]));
|
||||
URI uri = new URI("https", "www.redacted.com", path.toString(), null);
|
||||
|
||||
return uri;
|
||||
} catch (URISyntaxException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user