diff --git a/permissionsex-bukkit/src/main/java/ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java b/permissionsex-bukkit/src/main/java/ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java index 8ecb5cf10..277521755 100644 --- a/permissionsex-bukkit/src/main/java/ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java +++ b/permissionsex-bukkit/src/main/java/ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java @@ -47,6 +47,7 @@ import java.io.File; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.nio.file.Path; import java.util.Set; import java.util.UUID; import java.util.concurrent.ExecutionException; @@ -76,6 +77,7 @@ public class PermissionsExPlugin extends JavaPlugin implements Listener { // Permissions subscriptions handling private PEXPermissionSubscriptionMap subscriptionHandler; private volatile boolean enabled; + private Path dataPath; /** * Because of Bukkit's special logging fun, we have to get an slf4j wrapper using specifically the logger that Bukkit provides us... @@ -94,6 +96,7 @@ private TranslatableLogger createLogger() { @Override public void onEnable() { + this.dataPath = getDataFolder().toPath(); logger = createLogger(); ConfigurationLoader configLoader = YAMLConfigurationLoader.builder() .setFile(new File(getDataFolder(), "config.yml")) @@ -285,8 +288,8 @@ private class BukkitImplementationInterface implements ImplementationInterface { }; @Override - public File getBaseDirectory() { - return getDataFolder(); + public Path getBaseDirectory() { + return dataPath; } @Override diff --git a/permissionsex-bukkit/src/main/po/keys.pot b/permissionsex-bukkit/src/main/po/keys.pot index f64ba717d..909c5c0bf 100644 --- a/permissionsex-bukkit/src/main/po/keys.pot +++ b/permissionsex-bukkit/src/main/po/keys.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-10-04 19:17-0700\n" +"POT-Creation-Date: 2015-11-01 17:14-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,41 +25,41 @@ msgstr "" msgid "Click to view more info" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:111 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:114 msgid "Error occurred while enabling %s" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:167 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:170 msgid "Error while loading data for user %s/%s during prelogin: %s" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:141 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:144 msgid "Hooked into Vault for Permission and Chat interfaces" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:264 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:267 msgid "" "No Permissible injector found for your server implementation (while " "uninjecting for %s)!" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:226 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:229 msgid "No Permissible injector found for your server implementation!" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:234 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:237 msgid "Permissions handler for %s successfully injected" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:266 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:269 msgid "Permissions handler for %s successfully uninjected" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:228 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:231 msgid "Unable to inject PEX's permissible for %s" msgstr "" -#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:237 +#: ninja/leaping/permissionsex/bukkit/PermissionsExPlugin.java:240 msgid "Unable to inject permissible for %s" msgstr "" diff --git a/permissionsex-core/pom.xml b/permissionsex-core/pom.xml index 81a9424c0..af34ea609 100644 --- a/permissionsex-core/pom.xml +++ b/permissionsex-core/pom.xml @@ -9,7 +9,7 @@ permissionsex-core - 2.0 + 3.0 diff --git a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/ImplementationInterface.java b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/ImplementationInterface.java index 67667cdb0..386f45f3e 100644 --- a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/ImplementationInterface.java +++ b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/ImplementationInterface.java @@ -16,15 +16,13 @@ */ package ninja.leaping.permissionsex; -import com.google.common.base.Functions; import ninja.leaping.permissionsex.util.command.CommandSpec; import org.slf4j.Logger; import javax.sql.DataSource; -import java.io.File; +import java.nio.file.Path; import java.util.Set; import java.util.concurrent.Executor; -import java.util.function.Function; /** * Methods that are specific to a certain implementation of PermissionsEx (Sponge, Forge, etc) @@ -35,7 +33,7 @@ public interface ImplementationInterface { * * @return The base directory */ - File getBaseDirectory(); + Path getBaseDirectory(); /** * Gets the appropriate logger * @return diff --git a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/PermissionsEx.java b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/PermissionsEx.java index d59a8908e..fdca9fbd5 100644 --- a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/PermissionsEx.java +++ b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/PermissionsEx.java @@ -48,6 +48,7 @@ import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; +import java.nio.file.Path; import java.util.Collections; import java.util.Map; import java.util.Set; @@ -326,7 +327,7 @@ public void close() { } @Override - public File getBaseDirectory() { + public Path getBaseDirectory() { return impl.getBaseDirectory(); } diff --git a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/backend/file/FileDataStore.java b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/backend/file/FileDataStore.java index 2de7403b5..ad50f5f58 100644 --- a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/backend/file/FileDataStore.java +++ b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/backend/file/FileDataStore.java @@ -42,8 +42,9 @@ import ninja.leaping.permissionsex.rank.RankLadder; import ninja.leaping.permissionsex.util.Util; -import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Map; import java.util.Set; import java.util.concurrent.CompletableFuture; @@ -73,9 +74,9 @@ public FileDataStore() { } - private ConfigurationLoader createLoader(File file) { + private ConfigurationLoader createLoader(Path file) { return GsonConfigurationLoader.builder() - .setFile(file) + .setPath(file) .setIndent(4) .setLenient(true) .build(); @@ -86,15 +87,15 @@ private ConfigurationLoader createLoader(File file) }*/ } - private File migrateLegacy(File permissionsFile, String extension, ConfigurationLoader loader, String formatName) throws PermissionsLoadingException { - File legacyPermissionsFile = permissionsFile; + private Path migrateLegacy(Path permissionsFile, String extension, ConfigurationLoader loader, String formatName) throws PermissionsLoadingException { + Path legacyPermissionsFile = permissionsFile; file = file.replace(extension, ".json"); - permissionsFile = new File(getManager().getBaseDirectory(), file); + permissionsFile = getManager().getBaseDirectory().resolve(file); permissionsFileLoader = createLoader(permissionsFile); try { permissionsConfig = loader.load(); permissionsFileLoader.save(permissionsConfig); - legacyPermissionsFile.renameTo(new File(legacyPermissionsFile.getCanonicalPath() + ".legacy-backup")); + Files.move(legacyPermissionsFile, legacyPermissionsFile.resolveSibling(legacyPermissionsFile.getFileName().toString() + ".legacy-backup")); } catch (IOException e) { throw new PermissionsLoadingException(t("While loading legacy %s permissions from %s", formatName, permissionsFile), e); } @@ -103,11 +104,11 @@ private File migrateLegacy(File permissionsFile, String extension, Configuration @Override protected void initializeInternal() throws PermissionsLoadingException { - File permissionsFile = new File(getManager().getBaseDirectory(), file); + Path permissionsFile = getManager().getBaseDirectory().resolve(file); if (file.endsWith(".yml")) { - permissionsFile = migrateLegacy(permissionsFile, ".yml", YAMLConfigurationLoader.builder().setFile(permissionsFile).build(), "YML"); + permissionsFile = migrateLegacy(permissionsFile, ".yml", YAMLConfigurationLoader.builder().setPath(permissionsFile).build(), "YML"); } else if (file.endsWith(".conf")) { - permissionsFile = migrateLegacy(permissionsFile, ".conf", HoconConfigurationLoader.builder().setFile(permissionsFile).build(), "HOCON"); + permissionsFile = migrateLegacy(permissionsFile, ".conf", HoconConfigurationLoader.builder().setPath(permissionsFile).build(), "HOCON"); } else { permissionsFileLoader = createLoader(permissionsFile); } diff --git a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/data/SubjectDataReference.java b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/data/SubjectDataReference.java index bf5e14329..1fe41f6cc 100644 --- a/permissionsex-core/src/main/java/ninja/leaping/permissionsex/data/SubjectDataReference.java +++ b/permissionsex-core/src/main/java/ninja/leaping/permissionsex/data/SubjectDataReference.java @@ -22,7 +22,6 @@ import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentSkipListSet; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; diff --git a/permissionsex-core/src/main/po/de.po b/permissionsex-core/src/main/po/de.po index 82e277e18..1a3f857d0 100644 --- a/permissionsex-core/src/main/po/de.po +++ b/permissionsex-core/src/main/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-03 17:09-0700\n" +"POT-Creation-Date: 2015-11-01 17:13-0800\n" "PO-Revision-Date: 2015-04-02 17:09-0700\n" "Last-Translator: \n" "Language-Team: German\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:139 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:140 msgid "%s schema version updated from %s to %s" msgstr "" @@ -26,7 +26,7 @@ msgstr "" msgid "%s subjects" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:179 +#: ninja/leaping/permissionsex/PermissionsEx.java:180 msgid "%s user successfully converted from name to UUID" msgid_plural "%s users successfully converted from name to UUID!" msgstr[0] "" @@ -143,7 +143,7 @@ msgstr "" msgid "Destination subject already existed or target subject did not!" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:149 +#: ninja/leaping/permissionsex/PermissionsEx.java:150 msgid "Duplicate entry for %s found while converting to UUID" msgstr "" @@ -164,11 +164,11 @@ msgid "" "details: %s" msgstr "Fehler während das Laufen des Befehles: %s" -#: ninja/leaping/permissionsex/PermissionsEx.java:184 +#: ninja/leaping/permissionsex/PermissionsEx.java:185 msgid "Error converting users to UUID" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:131 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:132 msgid "Error creating initial data for file backend" msgstr "" @@ -191,11 +191,11 @@ msgstr "Fehler während das Laufen des Befehles: %s" msgid "Error while deserializing backend %s" msgstr "Fehler während das Laufen des Befehles: %s" -#: ninja/leaping/permissionsex/PermissionsEx.java:174 +#: ninja/leaping/permissionsex/PermissionsEx.java:175 msgid "Error while fetching UUIDs for users" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:288 +#: ninja/leaping/permissionsex/PermissionsEx.java:289 #, fuzzy msgid "Error while loading configuration: %s" msgstr "Fehler während das Laufen des Befehles: %s" @@ -350,7 +350,7 @@ msgstr "" msgid "Successfully imported data from backend %s into current backend" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:312 +#: ninja/leaping/permissionsex/PermissionsEx.java:313 msgid "Successfully migrated old-style default data to new location" msgstr "" @@ -387,7 +387,7 @@ msgstr "" msgid "Transient permissions:" msgstr "Hat Berechtigung: %s" -#: ninja/leaping/permissionsex/PermissionsEx.java:138 +#: ninja/leaping/permissionsex/PermissionsEx.java:139 msgid "Trying to convert users stored by name to UUID" msgstr "" @@ -395,7 +395,7 @@ msgstr "" msgid "Unable to get data for subject %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:188 +#: ninja/leaping/permissionsex/PermissionsEx.java:189 msgid "" "Unable to resolve Mojang API for UUID conversion. Do you have an internet " "connection? UUID conversion will not proceed (but may not be necessary)." @@ -423,23 +423,23 @@ msgstr "Unbefertigtes quoted Satz befunden" msgid "Usage: %s" msgstr "Nutzung: %s" -#: ninja/leaping/permissionsex/PermissionsEx.java:402 +#: ninja/leaping/permissionsex/PermissionsEx.java:403 msgid "While calculating subject data for %s:%s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:182 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:183 msgid "While deserializing subject data for %s:" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:99 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:100 msgid "While loading legacy %s permissions from %s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:118 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:119 msgid "While loading permissions file from %s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:143 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:144 msgid "While performing version upgrade" msgstr "" diff --git a/permissionsex-core/src/main/po/keys.pot b/permissionsex-core/src/main/po/keys.pot index f431c3834..74e505b46 100644 --- a/permissionsex-core/src/main/po/keys.pot +++ b/permissionsex-core/src/main/po/keys.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-10-04 19:17-0700\n" +"POT-Creation-Date: 2015-11-01 17:14-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:139 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:140 msgid "%s schema version updated from %s to %s" msgstr "" @@ -26,7 +26,7 @@ msgstr "" msgid "%s subjects" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:179 +#: ninja/leaping/permissionsex/PermissionsEx.java:180 msgid "%s user successfully converted from name to UUID" msgid_plural "%s users successfully converted from name to UUID!" msgstr[0] "" @@ -140,7 +140,7 @@ msgstr "" msgid "Destination subject already existed or target subject did not!" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:149 +#: ninja/leaping/permissionsex/PermissionsEx.java:150 msgid "Duplicate entry for %s found while converting to UUID" msgstr "" @@ -160,11 +160,11 @@ msgid "" "details: %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:184 +#: ninja/leaping/permissionsex/PermissionsEx.java:185 msgid "Error converting users to UUID" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:131 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:132 msgid "Error creating initial data for file backend" msgstr "" @@ -184,11 +184,11 @@ msgstr "" msgid "Error while deserializing backend %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:174 +#: ninja/leaping/permissionsex/PermissionsEx.java:175 msgid "Error while fetching UUIDs for users" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:288 +#: ninja/leaping/permissionsex/PermissionsEx.java:289 msgid "Error while loading configuration: %s" msgstr "" @@ -338,7 +338,7 @@ msgstr "" msgid "Successfully imported data from backend %s into current backend" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:312 +#: ninja/leaping/permissionsex/PermissionsEx.java:313 msgid "Successfully migrated old-style default data to new location" msgstr "" @@ -374,7 +374,7 @@ msgstr "" msgid "Transient permissions:" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:138 +#: ninja/leaping/permissionsex/PermissionsEx.java:139 msgid "Trying to convert users stored by name to UUID" msgstr "" @@ -382,7 +382,7 @@ msgstr "" msgid "Unable to get data for subject %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:188 +#: ninja/leaping/permissionsex/PermissionsEx.java:189 msgid "" "Unable to resolve Mojang API for UUID conversion. Do you have an internet " "connection? UUID conversion will not proceed (but may not be necessary)." @@ -409,23 +409,23 @@ msgstr "" msgid "Usage: %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:402 +#: ninja/leaping/permissionsex/PermissionsEx.java:403 msgid "While calculating subject data for %s:%s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:182 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:183 msgid "While deserializing subject data for %s:" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:99 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:100 msgid "While loading legacy %s permissions from %s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:118 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:119 msgid "While loading permissions file from %s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:143 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:144 msgid "While performing version upgrade" msgstr "" diff --git a/permissionsex-core/src/main/po/zh_HK.po b/permissionsex-core/src/main/po/zh_HK.po index d264512b1..80cd15c96 100644 --- a/permissionsex-core/src/main/po/zh_HK.po +++ b/permissionsex-core/src/main/po/zh_HK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PermissionsEx git\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-03 17:09-0700\n" +"POT-Creation-Date: 2015-11-01 17:13-0800\n" "PO-Revision-Date: 2015-04-17 16:19-0700\n" "Last-Translator: \n" "Language-Team: Chinese (Hong Kong)\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:139 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:140 msgid "%s schema version updated from %s to %s" msgstr "" @@ -25,7 +25,7 @@ msgstr "" msgid "%s subjects" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:179 +#: ninja/leaping/permissionsex/PermissionsEx.java:180 msgid "%s user successfully converted from name to UUID" msgid_plural "%s users successfully converted from name to UUID!" msgstr[0] "" @@ -139,7 +139,7 @@ msgstr "" msgid "Destination subject already existed or target subject did not!" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:149 +#: ninja/leaping/permissionsex/PermissionsEx.java:150 msgid "Duplicate entry for %s found while converting to UUID" msgstr "" @@ -159,11 +159,11 @@ msgid "" "details: %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:184 +#: ninja/leaping/permissionsex/PermissionsEx.java:185 msgid "Error converting users to UUID" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:131 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:132 msgid "Error creating initial data for file backend" msgstr "" @@ -183,11 +183,11 @@ msgstr "" msgid "Error while deserializing backend %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:174 +#: ninja/leaping/permissionsex/PermissionsEx.java:175 msgid "Error while fetching UUIDs for users" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:288 +#: ninja/leaping/permissionsex/PermissionsEx.java:289 msgid "Error while loading configuration: %s" msgstr "" @@ -337,7 +337,7 @@ msgstr "" msgid "Successfully imported data from backend %s into current backend" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:312 +#: ninja/leaping/permissionsex/PermissionsEx.java:313 msgid "Successfully migrated old-style default data to new location" msgstr "" @@ -373,7 +373,7 @@ msgstr "" msgid "Transient permissions:" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:138 +#: ninja/leaping/permissionsex/PermissionsEx.java:139 msgid "Trying to convert users stored by name to UUID" msgstr "" @@ -381,7 +381,7 @@ msgstr "" msgid "Unable to get data for subject %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:188 +#: ninja/leaping/permissionsex/PermissionsEx.java:189 msgid "" "Unable to resolve Mojang API for UUID conversion. Do you have an internet " "connection? UUID conversion will not proceed (but may not be necessary)." @@ -408,23 +408,23 @@ msgstr "" msgid "Usage: %s" msgstr "" -#: ninja/leaping/permissionsex/PermissionsEx.java:402 +#: ninja/leaping/permissionsex/PermissionsEx.java:403 msgid "While calculating subject data for %s:%s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:182 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:183 msgid "While deserializing subject data for %s:" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:99 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:100 msgid "While loading legacy %s permissions from %s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:118 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:119 msgid "While loading permissions file from %s" msgstr "" -#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:143 +#: ninja/leaping/permissionsex/backend/file/FileDataStore.java:144 msgid "While performing version upgrade" msgstr "" diff --git a/permissionsex-core/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java b/permissionsex-core/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java index e149a72e3..0acaa58c5 100644 --- a/permissionsex-core/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java +++ b/permissionsex-core/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java @@ -39,7 +39,7 @@ public void setUp() throws PermissionsLoadingException, ObjectMappingException, PermissionsExConfiguration config = populate(); config.validate(); - manager = new PermissionsEx(config, new TestImplementationInterface(tempFolder.newFolder())); + manager = new PermissionsEx(config, new TestImplementationInterface(tempFolder.newFolder().toPath())); } @After diff --git a/permissionsex-core/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java b/permissionsex-core/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java index 2cae04184..77e779432 100644 --- a/permissionsex-core/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java +++ b/permissionsex-core/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java @@ -23,19 +23,20 @@ import javax.sql.DataSource; import java.io.File; +import java.nio.file.Path; import java.util.Set; import java.util.concurrent.Executor; public class TestImplementationInterface implements ImplementationInterface { - private final File baseDirectory; + private final Path baseDirectory; private final Logger logger = LoggerFactory.getLogger("TestImpl"); - public TestImplementationInterface(File baseDirectory) { + public TestImplementationInterface(Path baseDirectory) { this.baseDirectory = baseDirectory; } @Override - public File getBaseDirectory() { + public Path getBaseDirectory() { return baseDirectory; } diff --git a/permissionsex-core/src/test/java/ninja/leaping/permissionsex/backend/file/SchemaMigrationsTest.java b/permissionsex-core/src/test/java/ninja/leaping/permissionsex/backend/file/SchemaMigrationsTest.java index f59f35414..332fca782 100644 --- a/permissionsex-core/src/test/java/ninja/leaping/permissionsex/backend/file/SchemaMigrationsTest.java +++ b/permissionsex-core/src/test/java/ninja/leaping/permissionsex/backend/file/SchemaMigrationsTest.java @@ -16,11 +16,11 @@ */ package ninja.leaping.permissionsex.backend.file; -import com.google.common.io.Files; import com.google.common.io.Resources; import ninja.leaping.configurate.ConfigurationNode; import ninja.leaping.configurate.gson.GsonConfigurationLoader; import ninja.leaping.configurate.loader.ConfigurationLoader; +import ninja.leaping.configurate.transformation.ConfigurationTransformation; import ninja.leaping.configurate.yaml.YAMLConfigurationLoader; import ninja.leaping.permissionsex.logging.TranslatableLogger; import org.junit.Rule; @@ -29,10 +29,11 @@ import org.slf4j.LoggerFactory; import org.yaml.snakeyaml.DumperOptions; -import java.io.File; import java.io.IOException; -import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.Assert.*; public class SchemaMigrationsTest { @@ -42,58 +43,54 @@ public class SchemaMigrationsTest { @Test public void testThreeToFour() throws IOException { - final File testFile = tempFolder.newFile(); - ConfigurationLoader jsonLoader = GsonConfigurationLoader.builder() - .setSource(Resources.asCharSource(getClass().getResource("test3to4.pre.json"), StandardCharsets.UTF_8)) - .setSink(Files.asCharSink(testFile, StandardCharsets.UTF_8)) - .build(); - ConfigurationNode node = jsonLoader.load(); - SchemaMigrations.threeToFour().apply(node); - jsonLoader.save(node); - assertEquals(Resources.toString(getClass().getResource("test3to4.post.json"), StandardCharsets.UTF_8), Files.toString(testFile, StandardCharsets.UTF_8)); + doTest("test3to4.pre.json", "test3to4.post.json", SchemaMigrations.threeToFour()); } @Test public void testTwoToThree() throws IOException { - final File testFile = tempFolder.newFile(); - ConfigurationLoader jsonLoader = GsonConfigurationLoader.builder() - .setSource(Resources.asCharSource(getClass().getResource("test2to3.pre.json"), StandardCharsets.UTF_8)) - .setSink(Files.asCharSink(testFile, StandardCharsets.UTF_8)) - .build(); - ConfigurationNode node = jsonLoader.load(); - SchemaMigrations.twoTo3().apply(node); - jsonLoader.save(node); - assertEquals(Resources.toString(getClass().getResource("test2to3.post.json"), StandardCharsets.UTF_8), Files.toString(testFile, StandardCharsets.UTF_8)); - + doTest("test2to3.pre.json", "test2to3.post.json", SchemaMigrations.twoTo3()); } @Test public void testOneToTwo() throws IOException { - final File testFile = tempFolder.newFile(); + final Path testFile = tempFolder.newFile().toPath(); ConfigurationLoader yamlLoader = YAMLConfigurationLoader.builder() - .setSource(Resources.asCharSource(getClass().getResource("test1to2.pre.yml"), StandardCharsets.UTF_8)) + .setURL(getClass().getResource("test1to2.pre.yml")) .build(); ConfigurationLoader jsonSaver = GsonConfigurationLoader.builder() - .setFile(testFile) + .setPath(testFile) .build(); ConfigurationNode node = yamlLoader.load(); SchemaMigrations.oneTo2(TranslatableLogger.forLogger(LoggerFactory.getLogger(getClass()))).apply(node); jsonSaver.save(node); - assertEquals(Resources.toString(getClass().getResource("test1to2.post.json"), StandardCharsets.UTF_8), Files.toString(testFile, StandardCharsets.UTF_8)); + assertEquals(Resources.readLines(getClass().getResource("test1to2.post.json"), UTF_8), Files.readAllLines(testFile, UTF_8)); } @Test public void testInitialToOne() throws IOException { - final File testFile = tempFolder.newFile(); + final Path testFile = tempFolder.newFile().toPath(); ConfigurationLoader yamlLoader = YAMLConfigurationLoader.builder() - .setSource(Resources.asCharSource(getClass().getResource("test0to1.pre.yml"), StandardCharsets.UTF_8)) - .setSink(Files.asCharSink(testFile, StandardCharsets.UTF_8)) + .setPath(testFile) + .setURL(getClass().getResource("test0to1.pre.yml")) .setFlowStyle(DumperOptions.FlowStyle.BLOCK) .build(); ConfigurationNode node = yamlLoader.load(); SchemaMigrations.initialTo1().apply(node); yamlLoader.save(node); - assertEquals(Resources.toString(getClass().getResource("test0to1.post.yml"), StandardCharsets.UTF_8), Files.toString(testFile, StandardCharsets.UTF_8)); + assertEquals(Resources.readLines(getClass().getResource("test0to1.post.yml"), UTF_8), Files.readAllLines(testFile, UTF_8)); + } + + private void doTest(String preName, String postName, ConfigurationTransformation xform) throws IOException { + final Path testFile = tempFolder.newFile().toPath(); + ConfigurationLoader jsonLoader = GsonConfigurationLoader.builder() + .setPath(testFile) + .setURL(getClass().getResource(preName)) + .build(); + ConfigurationNode node = jsonLoader.load(); + xform.apply(node); + jsonLoader.save(node); + assertEquals(Resources.readLines(getClass().getResource(postName), UTF_8), Files.readAllLines(testFile, UTF_8)); + } } diff --git a/permissionsex-sponge/src/main/java/ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java b/permissionsex-sponge/src/main/java/ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java index df5493e00..4cac35f8d 100644 --- a/permissionsex-sponge/src/main/java/ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java +++ b/permissionsex-sponge/src/main/java/ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java @@ -66,6 +66,7 @@ import javax.sql.DataSource; import java.io.File; import java.io.IOException; +import java.nio.file.Path; import java.sql.SQLException; import java.util.Collection; import java.util.List; @@ -346,8 +347,8 @@ public List getContextCalculators() { } @Override - public File getBaseDirectory() { - return configDir; + public Path getBaseDirectory() { + return configDir.toPath(); } @Override diff --git a/permissionsex-sponge/src/main/po/keys.pot b/permissionsex-sponge/src/main/po/keys.pot index 676cdf21e..e63718c1e 100644 --- a/permissionsex-sponge/src/main/po/keys.pot +++ b/permissionsex-sponge/src/main/po/keys.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-10-04 19:17-0700\n" +"POT-Creation-Date: 2015-11-01 17:14-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,43 +25,43 @@ msgstr "" msgid "Click to view more info" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:247 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:248 msgid "Could not rename old Bukkit configuration file to old name" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:205 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:206 msgid "Disabling %s" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:135 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:136 msgid "Error occurred while enabling %s" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:199 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:200 msgid "Error while loading data for user %s/%s during prelogin: %s" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:236 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:237 msgid "Migrating configuration data from Bukkit" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:126 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:127 msgid "Pre-init of %s v%s" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:367 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:368 msgid "Unable to get data source for jdbc url %s" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:290 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:291 msgid "Unable to get subject collection for type %s" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:238 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:239 msgid "Unable to move Bukkit configuration directory to location for Sponge!" msgstr "" -#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:190 +#: ninja/leaping/permissionsex/sponge/PermissionsExPlugin.java:191 msgid "Your appear to already be using a different permissions plugin: %s" msgstr "" diff --git a/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java b/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java index e149a72e3..0acaa58c5 100644 --- a/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java +++ b/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/PermissionsExTest.java @@ -39,7 +39,7 @@ public void setUp() throws PermissionsLoadingException, ObjectMappingException, PermissionsExConfiguration config = populate(); config.validate(); - manager = new PermissionsEx(config, new TestImplementationInterface(tempFolder.newFolder())); + manager = new PermissionsEx(config, new TestImplementationInterface(tempFolder.newFolder().toPath())); } @After diff --git a/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java b/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java index 143cbf73f..f1678f4e4 100644 --- a/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java +++ b/permissionsex-sponge/src/test/java/ninja/leaping/permissionsex/TestImplementationInterface.java @@ -22,23 +22,22 @@ import org.slf4j.LoggerFactory; import javax.sql.DataSource; -import java.io.File; +import java.nio.file.Path; import java.util.Set; import java.util.concurrent.Executor; -import java.util.function.Function; /** */ public class TestImplementationInterface implements ImplementationInterface { - private final File baseDirectory; + private final Path baseDirectory; private final Logger logger = LoggerFactory.getLogger("TestImpl"); - public TestImplementationInterface(File baseDirectory) { + public TestImplementationInterface(Path baseDirectory) { this.baseDirectory = baseDirectory; } @Override - public File getBaseDirectory() { + public Path getBaseDirectory() { return baseDirectory; }