Removed LegacyPluginPermissionsResolver.

Wrapping at the PermissionsProvider level instead, which removes some code duplication and fixes 2 warnings :)
This commit is contained in:
TomyLobo
2011-12-05 04:20:38 +01:00
parent deea1f7655
commit 50bdb2332a
4 changed files with 67 additions and 105 deletions

View File

@ -0,0 +1,62 @@
package com.sk89q.wepif;
import org.bukkit.OfflinePlayer;
import org.bukkit.plugin.Plugin;
@SuppressWarnings("deprecation")
public class LegacyPermissionsProviderWrapper implements PermissionsProvider {
private final com.sk89q.bukkit.migration.PermissionsProvider legacyPermissionsProvider;
static PermissionsProvider wrap(Plugin plugin) {
if (!(plugin instanceof com.sk89q.bukkit.migration.PermissionsProvider)) {
return null;
}
final com.sk89q.bukkit.migration.PermissionsProvider legacyPermissionsProvider = (com.sk89q.bukkit.migration.PermissionsProvider) plugin;
return new LegacyPermissionsProviderWrapper(legacyPermissionsProvider);
}
private LegacyPermissionsProviderWrapper(com.sk89q.bukkit.migration.PermissionsProvider legacyPermissionsProvider) {
this.legacyPermissionsProvider = legacyPermissionsProvider;
}
@Override
public boolean hasPermission(String name, String permission) {
return legacyPermissionsProvider.hasPermission(name, permission);
}
@Override
public boolean hasPermission(String worldName, String name, String permission) {
return legacyPermissionsProvider.hasPermission(worldName, name, permission);
}
@Override
public boolean inGroup(String player, String group) {
return legacyPermissionsProvider.inGroup(player, group);
}
@Override
public String[] getGroups(String player) {
return legacyPermissionsProvider.getGroups(player);
}
@Override
public boolean hasPermission(OfflinePlayer player, String permission) {
return legacyPermissionsProvider.hasPermission(player.getName(), permission);
}
@Override
public boolean hasPermission(String worldName, OfflinePlayer player, String permission) {
return legacyPermissionsProvider.hasPermission(worldName, player.getName(), permission);
}
@Override
public boolean inGroup(OfflinePlayer player, String group) {
return legacyPermissionsProvider.inGroup(player.getName(), group);
}
@Override
public String[] getGroups(OfflinePlayer player) {
return legacyPermissionsProvider.getGroups(player.getName());
}
}

View File

@ -19,7 +19,6 @@
package com.sk89q.wepif;
import com.sk89q.bukkit.migration.LegacyPluginPermissionsResolver;
import com.sk89q.util.yaml.YAMLFormat;
import com.sk89q.util.yaml.YAMLProcessor;
import org.bukkit.OfflinePlayer;
@ -86,7 +85,6 @@ public class PermissionsResolverManager implements PermissionsResolver {
@SuppressWarnings("unchecked")
protected Class<? extends PermissionsResolver>[] availableResolvers = new Class[] {
PluginPermissionsResolver.class,
LegacyPluginPermissionsResolver.class,
PermissionsExResolver.class,
NijiPermissionsResolver.class,
DinnerPermsResolver.class,

View File

@ -43,6 +43,11 @@ public class PluginPermissionsResolver implements PermissionsResolver {
if (plugin instanceof PermissionsProvider) {
return new PluginPermissionsResolver((PermissionsProvider) plugin, plugin);
}
final PermissionsProvider legacyPermissionsProvider = LegacyPermissionsProviderWrapper.wrap(plugin);
if (legacyPermissionsProvider != null) {
return new PluginPermissionsResolver(legacyPermissionsProvider, plugin);
}
}
return null;