diff options
author | ElgarL <ElgarL@palmergames.com> | 2011-11-20 02:27:25 +0000 |
---|---|---|
committer | ElgarL <ElgarL@palmergames.com> | 2011-11-20 02:27:25 +0000 |
commit | e33c2940be2b6dc7faa9547a2403bea6368caa98 (patch) | |
tree | 142d74e9ae4641991ff39f737be53a1407e8f948 /EssentialsGroupManager/src | |
parent | ed272e3feeb904bc79840d0207a40f57ad55c743 (diff) | |
download | Essentials-e33c2940be2b6dc7faa9547a2403bea6368caa98.tar Essentials-e33c2940be2b6dc7faa9547a2403bea6368caa98.tar.gz Essentials-e33c2940be2b6dc7faa9547a2403bea6368caa98.tar.lz Essentials-e33c2940be2b6dc7faa9547a2403bea6368caa98.tar.xz Essentials-e33c2940be2b6dc7faa9547a2403bea6368caa98.zip |
better groups match checking for globalgroups
Diffstat (limited to 'EssentialsGroupManager/src')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java index 8ae272328..924da3616 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java @@ -39,10 +39,19 @@ public abstract class DataUnit { public boolean equals(Object o) { if (o instanceof DataUnit) { DataUnit go = (DataUnit) o; - if (this.getName().equalsIgnoreCase(go.getName()) - && ((this.dataSource == null && go.getDataSource() == null) - || (this.dataSource.getName().equalsIgnoreCase(go.getDataSource().getName())))) { - return true; + if (this.getName().equalsIgnoreCase(go.getName())) { + // Global Group match. + if (this.dataSource == null && go.getDataSource() == null) + return true; + // This is a global group, the object to test isn't. + if (this.dataSource == null && go.getDataSource() != null) + return false; + // This is not a global group, but the object to test is. + if (this.dataSource != null && go.getDataSource() == null) + return false; + // Match on group name and world name. + if (this.dataSource.getName().equalsIgnoreCase(go.getDataSource().getName())) + return true; } } return false; |