GroupManager update to Permissions 3.1.6 API done by ElgarL

This commit is contained in:
snowleo 2011-08-14 21:56:40 +02:00
parent 76eb00575b
commit a2fa666fd5
32 changed files with 816 additions and 416 deletions

View file

@ -4,6 +4,19 @@ annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=EssentialsGroupBridge
application.vendor=gabrielcouto
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=true
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=2
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=2
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.tab-size=2
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=120
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap=none
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=project
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.expand-tabs=true
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.indent-shift-width=4
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.spaces-per-tab=4
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.tab-size=4
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-limit-width=120
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-line-wrap=none
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
@ -26,16 +39,16 @@ dist.jar=${dist.dir}/EssentialsGroupBridge.jar
dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
excludes=
file.reference.craftbukkit-0.0.1-SNAPSHOT.jar=..\\lib\\craftbukkit-0.0.1-SNAPSHOT.jar
file.reference.Permissions.jar=..\\lib\\Permissions.jar
file.reference.bukkit-0.0.1-SNAPSHOT.jar=../lib/bukkit-0.0.1-SNAPSHOT.jar
file.reference.Permissions3.jar=../lib/Permissions3.jar
includes=**
jar.archive.disabled=${jnlp.enabled}
jar.compress=true
jar.index=${jnlp.enabled}
javac.classpath=\
${reference.EssentialsGroupManager.jar}:\
${file.reference.craftbukkit-0.0.1-SNAPSHOT.jar}:\
${file.reference.Permissions.jar}
${file.reference.Permissions3.jar}:\
${file.reference.bukkit-0.0.1-SNAPSHOT.jar}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false

View file

@ -1,16 +1,11 @@
package com.nijikokun.bukkit.Permissions;
import com.nijiko.Misc;
import com.nijiko.configuration.DefaultConfiguration;
import com.nijiko.permissions.PermissionHandler;
import java.util.logging.Logger;
import org.anjocaido.groupmanager.GroupManager;
import org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy;
import org.bukkit.Server;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.Event.Type;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.event.server.ServerListener;
import org.bukkit.plugin.Plugin;
@ -19,46 +14,24 @@ import org.bukkit.plugin.java.JavaPlugin;
public class Permissions extends JavaPlugin {
private class Listener extends PlayerListener {
private Permissions plugin;
public Listener(Permissions plugin) {
//compiled code
throw new RuntimeException("Compiled Code");
}
public void onPlayerCommand(PlayerChatEvent event) {
//compiled code
throw new RuntimeException("Compiled Code");
}
}
public static final Logger log = Logger.getLogger("Fake Permissions");
public static String name = "Permissions";
public static String codename = "Hacked Permissions by AnjoCaido";
public static String version = "2.0";
public static PermissionHandler Security = null;
public static Misc Misc = new Misc();
public static Server Server;
private Listener Listener = null;
private DefaultConfiguration config = null;
private GroupManager groupManager;
@Override
public void onDisable() {
//compiled code
//throw new RuntimeException("Compiled Code");
// EXAMPLE: Custom code, here we just output some info so we can check all is well
PluginDescriptionFile pdfFile = this.getDescription();
System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is disabled!");
}
@Override
public void onEnable() {
Server = this.getServer();
PluginDescriptionFile pdfFile = this.getDescription();
if (Security == null) {//make sure we have only one instance
if (Security == null) {
//make sure we have only one instance
Security = new NijikoPermissionsProxy(null);
}
@ -71,13 +44,11 @@ public class Permissions extends JavaPlugin {
this.getServer().getPluginManager().registerEvent(Type.PLUGIN_ENABLE, new ServerListener() {
@Override
public void onPluginEnable(PluginEnableEvent event)
{
public void onPluginEnable(PluginEnableEvent event) {
if (event.getPlugin().getDescription().getName().equals("GroupManager")) {
Permissions.this.setGM(event.getPlugin());
}
}
}, Priority.Normal, this);
}
}
@ -85,44 +56,27 @@ public class Permissions extends JavaPlugin {
System.err.println("OOOPS! Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " couldn't find GroupManager!");
this.getPluginLoader().disablePlugin(this);
}
// EXAMPLE: Custom code, here we just output some info so we can check all is well
if (pdfFile != null)
if (pdfFile != null) {
System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!");
}
private void registerEvents() {
//compiled code
//throw new RuntimeException("Compiled Code");
}
private void setGM(Plugin p) {
groupManager = (GroupManager)p;
private void setGM(final Plugin p) {
GroupManager groupManager = (GroupManager) p;
((NijikoPermissionsProxy) Security).setGM(p);
}
public PermissionHandler getHandler() {
//compiled code
//throw new RuntimeException("Compiled Code");
//System.out.println("Alguem chamou o handler");
if (Security == null)
{
if (Security == null) {
Security = new NijikoPermissionsProxy(null);
}
//checkEnable();
return Security;
}
public void setupPermissions() {
if (Security == null)
{
if (Security == null) {
Security = new NijikoPermissionsProxy(null);
}
//checkEnable();
}
private void checkEnable() {
if (!this.isEnabled() && Security == null && this.getServer() != null) {
this.getServer().getPluginManager().enablePlugin(this);
}
}
}

View file

@ -4,13 +4,19 @@
*/
package org.anjocaido.groupmanager.permissions;
import com.nijiko.permissions.Control;
import com.nijiko.permissions.Group;
import com.nijiko.permissions.PermissionHandler;
import com.nijiko.permissions.User;
import java.io.File;
import java.util.Collection;
import java.util.Comparator;
import java.util.Map;
import java.util.Set;
import org.anjocaido.groupmanager.GroupManager;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.util.config.Configuration;
/**
* Everything here maintains the model created by Nijikokun
@ -20,10 +26,12 @@ import org.bukkit.util.config.Configuration;
*
* @author gabrielcouto
*/
public class NijikoPermissionsProxy extends Control {
public class NijikoPermissionsProxy extends PermissionHandler {
GroupManager plugin;
public NijikoPermissionsProxy(GroupManager plugin) {
super(null);
super();
this.plugin = plugin;
}
@ -39,12 +47,12 @@ public class NijikoPermissionsProxy extends Control {
@Override
public void addGroupInfo(String world, String group, String node, Object data) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().addGroupInfo(group, node, data);
}
@Override
public void removeGroupInfo(String world, String group, String node) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeGroupInfo(group, node);
}
@Override
@ -59,62 +67,62 @@ public class NijikoPermissionsProxy extends Control {
@Override
public void addUserInfo(String world, String user, String node, Object data) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().addUserInfo(user, node, data);
}
@Override
public void removeUserInfo(String world, String user, String node) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeUserInfo(user, node);
}
@Override
@Deprecated
public void removeUserInfo(String user, String node) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeUserInfo(user, node);
}
@Override
@Deprecated
public void addGroupPermission(String group, String node) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@Deprecated
public void removeGroupPermission(String group, String node) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@Deprecated
public void addGroupInfo(String group, String node, Object data) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addGroupInfo(group, node, data);
}
@Override
@Deprecated
public void removeGroupInfo(String group, String node) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeGroupInfo(group, node);
}
@Override
@Deprecated
public void addUserPermission(String user, String node) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@Deprecated
public void removeUserPermission(String user, String node) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@Deprecated
public void addUserInfo(String user, String node, Object data) {
throw new UnsupportedOperationException("Not supported yet.");
plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addUserInfo(user, node, data);
}
@Override
public void setDefaultWorld(String world) {
//throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@Deprecated
public void setDirectory(File directory) {
//throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@ -124,7 +132,7 @@ public class NijikoPermissionsProxy extends Control {
@Override
public void forceLoadWorld(String world) {
//throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@ -134,12 +142,7 @@ public class NijikoPermissionsProxy extends Control {
@Override
public void load() {
//throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void load(String world, Configuration config) {
//throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@ -154,71 +157,6 @@ public class NijikoPermissionsProxy extends Control {
return true;
}
@Override
public void setCache(Map<String, Boolean> Cache) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setCache(String world, Map<String, Boolean> Cache) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setCacheItem(String player, String permission, boolean data) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setCacheItem(String world, String player, String permission, boolean data) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Map<String, Boolean> getCache() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Map<String, Boolean> getCache(String world) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getCacheItem(String player, String permission) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getCacheItem(String world, String player, String permission) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void removeCachedItem(String player, String permission) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void removeCachedItem(String world, String player, String permission) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void clearCache() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void clearCache(String world) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void clearAllCache() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean has(Player player, String permission) {
//throw new UnsupportedOperationException("Not supported yet.");
@ -243,12 +181,41 @@ public class NijikoPermissionsProxy extends Control {
}
@Override
public String getGroup(String world, String name) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(name);
public String getGroupRawPrefix(String world, String group) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group);
}
@Override
public String getGroupRawSuffix(String world, String group) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group);
}
@Override
public String getUserPrefix(String world, String user) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPrefix(user);
}
@Override
public String getUserSuffix(String world, String user) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserSuffix(user);
}
@Override
public String getGroup(String world, String user) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user);
}
@Override
public String getPrimaryGroup(String world, String user) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user);
}
@Override
public boolean canUserBuild(String world, String user) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canUserBuild(user);
}
@Deprecated
@Override
public String getGroup(String name) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroup(name);
}
@ -258,19 +225,12 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroups(name);
}
@Deprecated
@Override
public String[] getGroups(String name) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroups(name);
}
@Override
public boolean inGroup(String world, String name, String group) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(name, group);
}
@Deprecated
@Override
public boolean inGroup(String name, String group) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().inGroup(name, group);
}
@ -280,7 +240,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group);
}
@Override
@Deprecated
public String getGroupPrefix(String group) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPrefix(group);
}
@ -290,7 +250,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group);
}
@Override
@Deprecated
public String getGroupSuffix(String group) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupSuffix(group);
}
@ -301,7 +261,6 @@ public class NijikoPermissionsProxy extends Control {
}
@Deprecated
@Override
public boolean canGroupBuild(String group) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().canGroupBuild(group);
}
@ -311,7 +270,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionString(group, permission);
}
@Override
@Deprecated
public String getGroupPermissionString(String group, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionString(group, permission);
}
@ -321,7 +280,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionInteger(group, permission);
}
@Override
@Deprecated
public int getGroupPermissionInteger(String group, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionInteger(group, permission);
}
@ -331,7 +290,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionBoolean(group, permission);
}
@Override
@Deprecated
public boolean getGroupPermissionBoolean(String group, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionBoolean(group, permission);
}
@ -341,7 +300,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionDouble(group, permission);
}
@Override
@Deprecated
public double getGroupPermissionDouble(String group, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionDouble(group, permission);
}
@ -351,7 +310,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionString(name, permission);
}
@Override
@Deprecated
public String getUserPermissionString(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionString(name, permission);
}
@ -361,7 +320,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionInteger(name, permission);
}
@Override
@Deprecated
public int getUserPermissionInteger(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionInteger(name, permission);
}
@ -371,7 +330,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionBoolean(name, permission);
}
@Override
@Deprecated
public boolean getUserPermissionBoolean(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionBoolean(name, permission);
}
@ -381,7 +340,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionDouble(name, permission);
}
@Override
@Deprecated
public double getUserPermissionDouble(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionDouble(name, permission);
}
@ -391,7 +350,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionString(name, permission);
}
@Override
@Deprecated
public String getPermissionString(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionString(name, permission);
}
@ -401,7 +360,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionInteger(name, permission);
}
@Override
@Deprecated
public int getPermissionInteger(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionInteger(name, permission);
}
@ -411,7 +370,7 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionBoolean(name, permission);
}
@Override
@Deprecated
public boolean getPermissionBoolean(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionBoolean(name, permission);
}
@ -421,14 +380,208 @@ public class NijikoPermissionsProxy extends Control {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionDouble(name, permission);
}
@Override
@Deprecated
public double getPermissionDouble(String name, String permission) {
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionDouble(name, permission);
}
public void setGM(Plugin p)
{
public void setGM(Plugin p) {
this.plugin = (GroupManager) p;
}
@Override
public boolean canGroupRawBuild(String world, String group) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group);
}
@Override
public void closeAll() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int compareWeights(String firstWorld, String first, String secondWorld, String second) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int compareWeights(String world, String first, String second) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Map<String, Set<String>> getAllGroups(String world, String name) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Group getDefaultGroup(String world) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Group getGroupObject(String world, String group) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getGroupProperName(String world, String group) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Boolean getInfoBoolean(String world, String entryName, String path,
boolean isGroup) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoBoolean(entryName, path, isGroup);
}
@Override
public Boolean getInfoBoolean(String world, String entryName, String path,
boolean isGroup, Comparator<Boolean> comparator) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Double getInfoDouble(String world, String entryName, String path, boolean isGroup) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoDouble(entryName, path, isGroup);
}
@Override
public Double getInfoDouble(String world, String entryName, String path,
boolean isGroup, Comparator<Double> comparator) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Integer getInfoInteger(String world, String entryName, String path,
boolean isGroup) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoInteger(entryName, path, isGroup);
}
@Override
public Integer getInfoInteger(String world, String entryName, String path,
boolean isGroup, Comparator<Integer> comparator) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getInfoString(String world, String entryName, String path, boolean isGroup) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoString(entryName, path, isGroup);
}
@Override
public String getInfoString(String world, String entryName, String path,
boolean isGroup, Comparator<String> comparator) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Boolean getRawInfoBoolean(String world, String entryName, String path,
boolean isGroup) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Double getRawInfoDouble(String world, String entryName, String path,
boolean isGroup) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Integer getRawInfoInteger(String world, String entryName, String path,
boolean isGroup) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getRawInfoString(String world, String entryName, String path,
boolean isGroup) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Set<String> getTracks(String world) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public User getUserObject(String world, String name) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Collection<User> getUsers(String world) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Set<String> getWorlds() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean has(String world, String playerName, String permission) {
if (permission == null || permission.equals("")) {
return false;
}
if (playerName == null || playerName == "") {
GroupManager.logger.severe("A plugin is asking permission '" + permission + "' for a null player... Which plugin does that? Bastards!");
return false;
}
if (world == null) {
GroupManager.logger.warning("The player " + playerName + " has a null world? Treating as default world!");
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().permission(playerName, permission);
}
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().permission(playerName, permission);
}
@Override
public boolean inGroup(String world, String user, String groupWorld, String group) {
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(user, group);
}
@Override
public boolean inSingleGroup(String world, String user, String group) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean inSingleGroup(String world, String user, String groupWorld, String group) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean permission(String world, String name, String node) {
return has(world, name, node);
}
@Override
public Group safeGetGroup(String world, String name) throws Exception {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public User safeGetUser(String world, String name) throws Exception {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void save(String world) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void saveAll() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Collection<Group> getGroups(String world) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Group getPrimaryGroupObject(String string, String string1) {
throw new UnsupportedOperationException("Not supported yet.");
}
}

View file

@ -1,4 +1,4 @@
name: Permissions
version: 2.7.2
version: 3.1.6
main: com.nijikokun.bukkit.Permissions.Permissions
depend: [GroupManager]

View file

@ -4,6 +4,19 @@ annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=EssentialsGroupManager
application.vendor=gabrielcouto
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=true
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=2
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=2
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.tab-size=2
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=120
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap=none
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=project
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.expand-tabs=true
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.indent-shift-width=4
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.spaces-per-tab=4
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.tab-size=4
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-limit-width=120
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-line-wrap=none
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:

View file

@ -32,6 +32,7 @@ import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
@SuppressWarnings("unused")
/**
*
* @author gabrielcouto
@ -190,6 +191,7 @@ public class GroupManager extends JavaPlugin {
* @param cmd
* @param args
*/
@SuppressWarnings({"null", "deprecation"})
@Override
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
boolean playerCanDo = false;

View file

@ -49,9 +49,6 @@ public abstract class DataUnit {
return hash;
}
/**
* @return the dataSource
*/

View file

View file

@ -4,7 +4,7 @@
*/
package org.anjocaido.groupmanager.data;
import com.sun.org.apache.bcel.internal.generic.AALOAD;
//import com.sun.org.apache.bcel.internal.generic.AALOAD;
import java.util.ArrayList;
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
import java.util.Map;
@ -27,7 +27,6 @@ public class User extends DataUnit implements Cloneable {
*/
private UserVariables variables = new UserVariables(this);
/**
*
* @param name
@ -129,15 +128,19 @@ public class User extends DataUnit implements Cloneable {
subGroups.add(subGroup.getName());
flagAsChanged();
}
public int subGroupsSize() {
return subGroups.size();
}
public boolean isSubGroupsEmpty() {
return subGroups.isEmpty();
}
public boolean containsSubGroup(Group subGroup) {
return subGroups.contains(subGroup.getName());
}
public boolean removeSubGroup(Group subGroup) {
try {
if (subGroups.remove(subGroup.getName())) {
@ -145,10 +148,10 @@ public class User extends DataUnit implements Cloneable {
return true;
}
} catch (Exception e) {
}
return false;
}
public ArrayList<Group> subGroupListCopy() {
ArrayList<Group> val = new ArrayList<Group>();
for (String gstr : subGroups) {
@ -161,6 +164,7 @@ public class User extends DataUnit implements Cloneable {
}
return val;
}
public ArrayList<String> subGroupListStringCopy() {
return (ArrayList<String>) subGroups.clone();
}

View file

@ -2,7 +2,6 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.anjocaido.groupmanager.data;
import java.util.Map;
@ -12,16 +11,20 @@ import java.util.Map;
* @author gabrielcouto
*/
public class UserVariables extends Variables {
private User owner;
public UserVariables(User owner) {
super(owner);
this.owner = owner;
}
public UserVariables(User owner, Map<String, Object> varList) {
super(owner);
this.variables = varList;
this.owner = owner;
}
/**
* A clone of all vars here.
* @return
@ -34,6 +37,7 @@ public class UserVariables extends Variables{
newOwner.flagAsChanged();
return clone;
}
/**
* @return the owner
*/
@ -41,5 +45,4 @@ public class UserVariables extends Variables{
public User getOwner() {
return owner;
}
}

View file

@ -19,12 +19,14 @@ import java.util.Set;
* @author gabrielcouto
*/
public abstract class Variables implements Cloneable {
private DataUnit owner;
protected Map<String, Object> variables = new HashMap<String, Object>();
public Variables(DataUnit owner) {
this.owner = owner;
}
/**
* Add var to the the INFO node.
* examples:

View file

@ -25,6 +25,7 @@ public class OverloadedWorldHolder extends WorldDataHolder {
*
* @param ph
*/
@SuppressWarnings("deprecation")
public OverloadedWorldHolder(WorldDataHolder ph) {
super(ph.getName());
this.f = ph.f;

View file

@ -308,6 +308,7 @@ public class WorldDataHolder {
* @throws Exception
* @deprecated
*/
@SuppressWarnings({"rawtypes", "unchecked"})
@Deprecated
public static WorldDataHolder load(String worldName, File file) throws Exception {
WorldDataHolder ph = new WorldDataHolder(worldName);
@ -455,6 +456,7 @@ public class WorldDataHolder {
* @throws FileNotFoundException
* @throws IOException
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public static WorldDataHolder load(String worldName, File groupsFile, File usersFile) throws FileNotFoundException, IOException {
WorldDataHolder ph = new WorldDataHolder(worldName);
ph.groupsFile = groupsFile;

View file

@ -63,6 +63,7 @@ public class WorldsHolder {
initialWorldLoading();
mirrorSetUp();
}
private void initialWorldLoading() {
//LOAD EVERY WORLD POSSIBLE
loadWorld(serverDefaultWorldName);
@ -77,6 +78,8 @@ public class WorldsHolder {
}
}
}
@SuppressWarnings("rawtypes")
public void mirrorSetUp() {
mirrors.clear();
Map<String, Object> mirrorsMap = plugin.getConfig().getMirrorsMap();
@ -136,7 +139,7 @@ public class WorldsHolder {
continue;
}
if (w.haveGroupsChanged()) {
String groupsFolderName = w.getGroupsFile().getParentFile().getName();
//String groupsFolderName = w.getGroupsFile().getParentFile().getName();
File backupGroups = new File(plugin.getBackupFolder(), "bkp_" + w.getName() + "_g_" + Tasks.getDateString() + ".yml");
try {
Tasks.copy(w.getGroupsFile(), backupGroups);
@ -368,7 +371,7 @@ public class WorldsHolder {
GroupManager.logger.log(Level.SEVERE, null, ex);
return;
}
GroupManager.logger.severe("Failed to load world " + worldName + "...");
//GroupManager.logger.severe("Failed to load world " + worldName + "...");
}
}

View file

@ -13,6 +13,7 @@ import org.anjocaido.groupmanager.data.Group;
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
import org.anjocaido.groupmanager.data.User;
import org.anjocaido.groupmanager.utils.PermissionCheckResult;
import org.anjocaido.groupmanager.utils.PermissionCheckResult.Type;
import org.bukkit.entity.Player;
/**
@ -59,6 +60,16 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
return checkUserPermission(ph.getUser(player.getName()), permission);
}
/**
* Checks if a player can use that permission node.
* @param playerName
* @param permission
* @return
*/
public boolean permission(String playerName, String permission) {
return checkUserPermission(ph.getUser(playerName), permission);
}
/**
* Returns the name of the group of that player name.
* @param userName
@ -98,6 +109,75 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
return false;
}
/**
* Gets the appropriate prefix for the user.
* This method is a utility method for chat plugins to get the user's prefix
* without having to look at every one of the user's ancestors.
* Returns an empty string if user has no parent groups.
* @param user Player's name
* @return Player's prefix
*/
@Override
public String getUserPrefix(String user) {
String prefix = ph.getUser(user).getVariables().getVarString("prefix");
if (prefix.length() != 0) {
return prefix;
}
return getGroupPrefix(getGroup(user));
}
/**
* Gets the appropriate prefix for the user.
* This method is a utility method for chat plugins to get the user's prefix
* without having to look at every one of the user's ancestors.
* Returns an empty string if user has no parent groups.
* @param user Player's name
* @return Player's prefix
*/
@Override
public String getUserSuffix(String user) {
String suffix = ph.getUser(user).getVariables().getVarString("suffix");
if (suffix.length() != 0) {
return suffix;
}
return getGroupSuffix(getGroup(user));
}
/**
* Gets name of the primary group of the user.
* Returns the name of the default group if user has no parent groups,
* or "Default" if there is no default group for that world.
* @param user Player's name
* @return Name of player's primary group
*/
public String getPrimaryGroup(String user) {
return getGroup(user);
}
/**
* Check if user can build.
* @param world Player's world
* @param user Player's name
* @return Whether the user can build
*/
public boolean canUserBuild(String user) {
boolean test = ph.getUser(user).getVariables().getVarBoolean("build");
if (test) {
return test;
}
return canGroupBuild(getGroup(user));
}
/**
* Returns the String prefix for the given group
* @param groupName
@ -107,7 +187,7 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
public String getGroupPrefix(String groupName) {
Group g = ph.getGroup(groupName);
if (g == null) {
return null;
return "";
}
return g.getVariables().getVarString("prefix");
}
@ -121,7 +201,7 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
public String getGroupSuffix(String groupName) {
Group g = ph.getGroup(groupName);
if (g == null) {
return null;
return "";
}
return g.getVariables().getVarString("suffix");
}
@ -619,8 +699,8 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
@Deprecated
public boolean checkGroupPermissionWithInheritance(Group start, String permission, List<Group> alreadyChecked) {
PermissionCheckResult result = checkGroupPermissionWithInheritance(start, permission);
if (result.resultType.equals(result.resultType.EXCEPTION)
|| result.resultType.equals(result.resultType.FOUND)) {
if (result.resultType.equals(Type.EXCEPTION)
|| result.resultType.equals(Type.FOUND)) {
return true;
}
return false;
@ -682,8 +762,8 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
@Deprecated
public Group nextGroupWithPermission(Group start, String permission, List<Group> alreadyChecked) {
PermissionCheckResult result = checkGroupPermissionWithInheritance(start, permission);
if (result.resultType.equals(result.resultType.EXCEPTION)
|| result.resultType.equals(result.resultType.FOUND)) {
if (result.resultType.equals(Type.EXCEPTION)
|| result.resultType.equals(Type.FOUND)) {
return (Group) checkGroupPermissionWithInheritance(start, permission).owner;
}
return null;
@ -807,6 +887,7 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
* @param userName
* @return
*/
@Override
public String[] getGroups(String userName) {
ArrayList<String> allGroups = listAllGroupsInherited(ph.getUser(userName).getGroup());
for (Group subg : ph.getUser(userName).subGroupListCopy()) {
@ -825,6 +906,7 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
* @param targerPermission
* @return
*/
@SuppressWarnings("unused")
private Group breadthFirstSearch(Group start, String targerPermission) {
if (start == null || targerPermission == null) {
return null;
@ -853,4 +935,102 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
}
return null;
}
@Override
public Group getDefaultGroup() {
return ph.getDefaultGroup();
}
@Override
public String getInfoString(String entryName, String path,
boolean isGroup) {
if (isGroup) {
Group data = ph.getGroup(entryName);
if (data == null) {
return null;
}
return data.getVariables().getVarString(path);
} else {
User data = ph.getUser(entryName);
if (data == null) {
return null;
}
return data.getVariables().getVarString(path);
}
}
@Override
public int getInfoInteger(String entryName, String path,
boolean isGroup) {
if (isGroup) {
Group data = ph.getGroup(entryName);
if (data == null) {
return -1;
}
return data.getVariables().getVarInteger(path);
} else {
User data = ph.getUser(entryName);
if (data == null) {
return -1;
}
return data.getVariables().getVarInteger(path);
}
}
@Override
public double getInfoDouble(String entryName, String path,
boolean isGroup) {
if (isGroup) {
Group data = ph.getGroup(entryName);
if (data == null) {
return -1;
}
return data.getVariables().getVarDouble(path);
} else {
User data = ph.getUser(entryName);
if (data == null) {
return -1;
}
return data.getVariables().getVarDouble(path);
}
}
@Override
public boolean getInfoBoolean(String entryName, String path,
boolean isGroup) {
if (isGroup) {
Group data = ph.getGroup(entryName);
if (data == null) {
return false;
}
return data.getVariables().getVarBoolean(path);
} else {
User data = ph.getUser(entryName);
if (data == null) {
return false;
}
return data.getVariables().getVarBoolean(path);
}
}
@Override
public void addUserInfo(String name, String path, Object data) {
ph.getUser(name).getVariables().addVar(path, data);
}
@Override
public void removeUserInfo(String name, String path) {
ph.getUser(name).getVariables().removeVar(path);
}
@Override
public void addGroupInfo(String name, String path, Object data) {
ph.getGroup(name).getVariables().addVar(path, data);
}
@Override
public void removeGroupInfo(String name, String path) {
ph.getGroup(name).getVariables().removeVar(path);
}
}

View file

@ -1,5 +1,10 @@
package org.anjocaido.groupmanager.permissions;
//import java.util.Collection;
//import java.util.Map;
//import java.util.Set;
import org.anjocaido.groupmanager.data.Group;
//import org.anjocaido.groupmanager.data.User;
import org.bukkit.entity.Player;
/**
@ -12,7 +17,6 @@ import org.bukkit.entity.Player;
*/
public abstract class PermissionsReaderInterface {
/**
*
* @param player
@ -160,4 +164,69 @@ public abstract class PermissionsReaderInterface {
* @return
*/
public abstract double getPermissionDouble(String string, String string1);
/////////////////////////////
/**
* Gets the appropriate prefix for the user.
* This method is a utility method for chat plugins to get the user's prefix
* without having to look at every one of the user's ancestors.
* Returns an empty string if user has no parent groups.
* @param world Player's world
* @param user Player's name
* @return Player's prefix
*/
public abstract String getUserPrefix(String user);
/**
* Gets the appropriate suffix for the user.
* This method is a utility method for chat plugins to get the user's suffix
* without having to look at every one of the user's ancestors.
* Returns an empty string if user has no parent groups.
* @param world Player's world
* @param user Player's name
* @return Player's suffix
*/
public abstract String getUserSuffix(String user);
/**
* Returns the group object representing the default group of the given world.
* This method will return null if the object does not exist or the world has no default group.
* @return Group object representing default world, or null if it doesn't exist or is not defined.
*/
public abstract Group getDefaultGroup();
/**
* Gets a array of the names of all parent groups in the same world.
* @param name Target user's name
* @return An array containing the names of all parent groups (including ancestors) that are in the same world
*/
public abstract String[] getGroups(String name);
public abstract String getInfoString(String entryName, String path, boolean isGroup);
//public abstract String getInfoString(String entryName, String path, boolean isGroup, Comparator<String> comparator);
public abstract int getInfoInteger(String entryName, String path, boolean isGroup);
//public abstract int getInfoInteger(String entryName, String path, boolean isGroup, Comparator<Integer> comparator);
/**
* Gets a double from the Info node without inheritance.
* @param entryName
* @param path
* @param isGroup
* @return
*/
public abstract double getInfoDouble(String entryName, String path, boolean isGroup);
//public abstract double getInfoDouble(String entryName, String path, boolean isGroup, Comparator<Double> comparator);
public abstract boolean getInfoBoolean(String entryName, String path, boolean isGroup);
//public abstract boolean getInfoBoolean(String entryName, String path, boolean isGroup, Comparator<Boolean> comparator);
public abstract void addUserInfo(String name, String path, Object data);
public abstract void removeUserInfo(String name, String path);
public abstract void addGroupInfo(String name, String path, Object data);
public abstract void removeGroupInfo(String name, String path);
//////////////////////////////
}

View file

@ -9,6 +9,7 @@ package org.anjocaido.groupmanager.utils;
* @author gabrielcouto
*/
public enum GroupManagerPermissions {
manuadd,
manudel,
manuaddsub,

View file

@ -11,6 +11,7 @@ import org.anjocaido.groupmanager.data.DataUnit;
* @author gabrielcouto
*/
public class PermissionCheckResult {
/**
* It should be the owner of the access level found.
*

View file

@ -2,7 +2,6 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.anjocaido.groupmanager.utils;
import java.util.Comparator;
@ -40,11 +39,11 @@ public class StringPermissionComparator implements Comparator<String> {
return permA.compareToIgnoreCase(permB);
}
private static StringPermissionComparator instance;
public static StringPermissionComparator getInstance() {
if (instance == null) {
instance = new StringPermissionComparator();
}
return instance;
}
}

View file

@ -10,7 +10,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import org.anjocaido.groupmanager.data.Group;
@ -62,13 +62,14 @@ public abstract class Tasks {
public static String getDateString() {
GregorianCalendar now = new GregorianCalendar();
String date = "";
date += now.get(GregorianCalendar.DAY_OF_MONTH);
date += now.get(Calendar.DAY_OF_MONTH);
date += "-";
date += now.get(GregorianCalendar.HOUR);
date += now.get(Calendar.HOUR);
date += "-";
date += now.get(GregorianCalendar.MINUTE);
date += now.get(Calendar.MINUTE);
return date;
}
public static String getStringListInString(List<String> list) {
if (list == null) {
return "";
@ -82,6 +83,7 @@ public abstract class Tasks {
}
return result;
}
public static String getStringArrayInString(String[] list) {
if (list == null) {
return "";
@ -95,6 +97,7 @@ public abstract class Tasks {
}
return result;
}
public static String getGroupListInString(List<Group> list) {
if (list == null) {
return "";