import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
public class Util {
+ private final static Logger logger = LoggerFactory.getLogger(Util.class);
+
private Util() {
}
}
private static String toCamelCaseString(List<String> strings) {
- if (strings.size() == 0) {
+ if (strings.isEmpty()) {
return "";
}
return strings.get(0) + strings.stream()
.skip(1)
- .filter(s -> s.length() > 0)
+ .filter(s -> !s.isEmpty())
.map(s -> Character.toUpperCase(s.charAt(0)) + s.substring(1).toLowerCase(Locale.ROOT))
.collect(Collectors.joining());
}
return map;
}
+ public static void closeExecutorService(ExecutorService executor) {
+ executor.shutdown();
+ try {
+ if (!executor.awaitTermination(5, TimeUnit.MINUTES)) {
+ executor.shutdownNow();
+ if (!executor.awaitTermination(1, TimeUnit.MINUTES)) {
+ logger.warn("Failed to shutdown executor service");
+ }
+ }
+ } catch (InterruptedException e) {
+ executor.shutdownNow();
+ Thread.currentThread().interrupt();
+ }
+ }
}