Fix FileAlreadyExistsException for sym linked folders

This commit is contained in:
games647
2018-01-27 21:49:32 +01:00
parent 856613a8c7
commit dcef62fa57
6 changed files with 32 additions and 30 deletions

View File

@@ -3,7 +3,6 @@ package com.github.games647.fastlogin.core.mojang;
import com.github.games647.fastlogin.core.CommonUtil;
import com.github.games647.fastlogin.core.shared.LoginSession;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.net.HostAndPort;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -19,6 +18,7 @@ import java.net.URL;
import java.time.Duration;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -60,7 +60,7 @@ public class MojangApiConnector {
this.logger = logger;
this.rateLimit = Math.max(rateLimit, 600);
List<Proxy> proxyBuilder = Lists.newArrayList();
List<Proxy> proxyBuilder = new ArrayList<>();
for (HostAndPort proxy : proxies) {
proxyBuilder.add(new Proxy(Type.HTTP, new InetSocketAddress(proxy.getHostText(), proxy.getPort())));
}

View File

@@ -6,8 +6,6 @@ import com.github.games647.fastlogin.core.hooks.AuthPlugin;
import com.github.games647.fastlogin.core.hooks.DefaultPasswordGenerator;
import com.github.games647.fastlogin.core.hooks.PasswordGenerator;
import com.github.games647.fastlogin.core.mojang.MojangApiConnector;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.google.common.net.HostAndPort;
import java.io.File;
@@ -15,7 +13,9 @@ import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -39,7 +39,7 @@ public class FastLoginCore<P extends C, C, T extends PlatformPlugin<C>> {
protected final Map<String, String> localeMessages = new ConcurrentHashMap<>();
private final ConcurrentMap<String, Object> pendingLogin = CommonUtil.buildCache(5, -1);
private final Set<UUID> pendingConfirms = Sets.newHashSet();
private final Set<UUID> pendingConfirms = new HashSet<>();
private final T plugin;
private Configuration config;
@@ -76,7 +76,7 @@ public class FastLoginCore<P extends C, C, T extends PlatformPlugin<C>> {
List<String> ipAddresses = config.getStringList("ip-addresses");
int requestLimit = config.getInt("mojang-request-limit");
List<String> proxyList = config.get("proxies", Lists.newArrayList());
List<String> proxyList = config.get("proxies", new ArrayList<>());
List<HostAndPort> proxies = proxyList.stream().map(HostAndPort::fromString).collect(Collectors.toList());
this.apiConnector = plugin.makeApiConnector(ipAddresses, requestLimit, proxies);
@@ -170,7 +170,9 @@ public class FastLoginCore<P extends C, C, T extends PlatformPlugin<C>> {
Path dataFolder = plugin.getPluginFolder();
try {
Files.createDirectories(dataFolder);
if (Files.notExists(dataFolder)) {
Files.createDirectories(dataFolder);
}
Path configFile = dataFolder.resolve(fileName);
if (Files.notExists(configFile)) {