From 56b5a128f5d0dc1cd017bf48a1116d360931388b Mon Sep 17 00:00:00 2001 From: KHobbits Date: Sat, 29 Oct 2011 02:06:27 +0100 Subject: [PATCH] GM permission handler... Look mum, no bridge. --- Essentials/nbproject/build-impl.xml | 14 ++++ Essentials/nbproject/genfiles.properties | 4 +- Essentials/nbproject/project.properties | 3 + Essentials/nbproject/project.xml | 11 ++- .../essentials/perm/GroupManagerHandler.java | 69 +++++++++++++++++++ 5 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 Essentials/src/com/earth2me/essentials/perm/GroupManagerHandler.java diff --git a/Essentials/nbproject/build-impl.xml b/Essentials/nbproject/build-impl.xml index 21661c925..0816b04c9 100644 --- a/Essentials/nbproject/build-impl.xml +++ b/Essentials/nbproject/build-impl.xml @@ -601,6 +601,13 @@ is divided into following sections: + + + + + + + @@ -1038,6 +1045,13 @@ is divided into following sections: + + + + + + + diff --git a/Essentials/nbproject/genfiles.properties b/Essentials/nbproject/genfiles.properties index 9242cfd2b..d39edfe18 100644 --- a/Essentials/nbproject/genfiles.properties +++ b/Essentials/nbproject/genfiles.properties @@ -3,8 +3,8 @@ build.xml.script.CRC32=3233ee78 build.xml.stylesheet.CRC32=28e38971@1.38.2.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=4b596d89 -nbproject/build-impl.xml.script.CRC32=dbc81ee1 +nbproject/build-impl.xml.data.CRC32=a830bc14 +nbproject/build-impl.xml.script.CRC32=64a00ba6 nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 nbproject/profiler-build-impl.xml.data.CRC32=ab78ce15 nbproject/profiler-build-impl.xml.script.CRC32=abda56ed diff --git a/Essentials/nbproject/project.properties b/Essentials/nbproject/project.properties index 58d4e7241..0093f68f2 100644 --- a/Essentials/nbproject/project.properties +++ b/Essentials/nbproject/project.properties @@ -90,6 +90,7 @@ javac.classpath=\ ${file.reference.bPermissions.jar}:\ ${file.reference.PermissionsBukkit-1.2.jar}:\ ${file.reference.lombok-0.10.1.jar} + ${reference.EssentialsGroupManager.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false @@ -127,6 +128,8 @@ jnlp.signing.keystore= meta.inf.dir=${src.dir}/META-INF mkdist.disabled=true platform.active=default_platform +project.EssentialsGroupManager=../EssentialsGroupManager +reference.EssentialsGroupManager.jar=${project.EssentialsGroupManager}/dist/EssentialsGroupManager.jar run.classpath=\ ${javac.classpath}:\ ${build.classes.dir} diff --git a/Essentials/nbproject/project.xml b/Essentials/nbproject/project.xml index 354722f09..ac9690fc3 100644 --- a/Essentials/nbproject/project.xml +++ b/Essentials/nbproject/project.xml @@ -14,6 +14,15 @@ ../lib/nblibraries.properties - + + + EssentialsGroupManager + jar + + jar + clean + jar + + diff --git a/Essentials/src/com/earth2me/essentials/perm/GroupManagerHandler.java b/Essentials/src/com/earth2me/essentials/perm/GroupManagerHandler.java new file mode 100644 index 000000000..038030879 --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/perm/GroupManagerHandler.java @@ -0,0 +1,69 @@ +package com.earth2me.essentials.perm; + +import java.util.Arrays; +import java.util.List; +import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; + +import org.anjocaido.groupmanager.GroupManager; +import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler; + + +public class GroupManagerHandler implements IPermissionsHandler +{ + private final transient GroupManager groupManager; + + public GroupManagerHandler(final Plugin permissionsPlugin) + { + groupManager = ((GroupManager)permissionsPlugin); + } + + @Override + public String getGroup(final Player base) + { + final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base); + return handler.getGroup(base.getName()); + } + + @Override + public List getGroups(final Player base) + { + final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base); + return Arrays.asList(handler.getGroups(base.getName())); + } + + @Override + public boolean canBuild(final Player base, final String group) + { + final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base); + return handler.canUserBuild(base.getName()); + } + + @Override + public boolean inGroup(final Player base, final String group) + { + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base); + return handler.inGroup(base.getName(), group); + } + + @Override + public boolean hasPermission(final Player base, final String node) + { + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base); + return handler.has(base, node); + } + + @Override + public String getPrefix(final Player base) + { + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base); + return handler.getUserPrefix(base.getName()); + } + + @Override + public String getSuffix(final Player base) + { + AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base); + return handler.getUserSuffix(base.getName()); + } +}