summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils
diff options
context:
space:
mode:
authorsnowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb>2011-03-19 22:39:51 +0000
committersnowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb>2011-03-19 22:39:51 +0000
commit59d0415c7d7c1aa1a1720734d73f9aada9c38c89 (patch)
tree751109b805d814fb4d290ce5b03fb19dc52f11f2 /EssentialsGroupManager/src/org/anjocaido/groupmanager/utils
parentea668bf9d0733ad1ec6dd0653b1d243b3d979a59 (diff)
downloadEssentials-59d0415c7d7c1aa1a1720734d73f9aada9c38c89.tar
Essentials-59d0415c7d7c1aa1a1720734d73f9aada9c38c89.tar.gz
Essentials-59d0415c7d7c1aa1a1720734d73f9aada9c38c89.tar.lz
Essentials-59d0415c7d7c1aa1a1720734d73f9aada9c38c89.tar.xz
Essentials-59d0415c7d7c1aa1a1720734d73f9aada9c38c89.zip
Moving all files to trunk.
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@969 e251c2fe-e539-e718-e476-b85c1f46cddb
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/utils')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GMLoggerHandler.java26
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java51
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/PermissionCheckResult.java66
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java50
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java111
5 files changed, 304 insertions, 0 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GMLoggerHandler.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GMLoggerHandler.java
new file mode 100644
index 000000000..87b6806ab
--- /dev/null
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GMLoggerHandler.java
@@ -0,0 +1,26 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.anjocaido.groupmanager.utils;
+
+import java.util.logging.ConsoleHandler;
+import java.util.logging.Level;
+import java.util.logging.LogRecord;
+
+/**
+ *
+ * @author gabrielcouto
+ */
+public class GMLoggerHandler extends ConsoleHandler {
+
+ @Override
+ public void publish(LogRecord record) {
+ String message = "GroupManager - " + record.getLevel() + " - " + record.getMessage();
+ if (record.getLevel().equals(Level.SEVERE) || record.getLevel().equals(Level.WARNING)) {
+ System.err.println(message);
+ } else {
+ System.out.println(message);
+ }
+ }
+}
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java
new file mode 100644
index 000000000..781f2753c
--- /dev/null
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java
@@ -0,0 +1,51 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.anjocaido.groupmanager.utils;
+
+/**
+ * Just a list of commands for this plugin
+ * @author gabrielcouto
+ */
+public enum GroupManagerPermissions {
+ manuadd,
+ manudel,
+ manuaddsub,
+ manudelsub,
+ mangadd,
+ mangdel,
+ manuaddp,
+ manudelp,
+ manulistp,
+ manucheckp,
+ mangaddp,
+ mangdelp,
+ manglistp,
+ mangcheckp,
+ mangaddi,
+ mangdeli,
+ manuaddv,
+ manudelv,
+ manulistv,
+ manucheckv,
+ mangaddv,
+ mangdelv,
+ manglistv,
+ mangcheckv,
+ manwhois,
+ tempadd,
+ tempdel,
+ templist,
+ tempdelall,
+ mansave,
+ manload,
+ listgroups,
+ manpromote,
+ mandemote,
+ mantogglevalidate,
+ mantogglesave,
+ manworld,
+ manselect,
+ manclear
+}
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/PermissionCheckResult.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/PermissionCheckResult.java
new file mode 100644
index 000000000..3ee6fdf30
--- /dev/null
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/PermissionCheckResult.java
@@ -0,0 +1,66 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.anjocaido.groupmanager.utils;
+
+import org.anjocaido.groupmanager.data.DataUnit;
+
+/**
+ *
+ * @author gabrielcouto
+ */
+public class PermissionCheckResult {
+ /**
+ * It should be the owner of the access level found.
+ *
+ * Use instanceof to find the owner type
+ */
+ public DataUnit owner;
+ /**
+ * The permission node found in the DataUnit.
+ */
+ public String accessLevel;
+ /**
+ * The full name of the permission you are looking for
+ */
+ public String askedPermission;
+ /**
+ * The result conclusion of the search.
+ * It determines if the owner can do, or not.
+ *
+ * It even determines if it has an owner.
+ */
+ public Type resultType = Type.NOTFOUND;
+
+ /**
+ * The type of result the search can give.
+ */
+ public enum Type {
+
+ /**
+ * If found a matching node starting with '+'.
+ * It means the user CAN do the permission.
+ */
+ EXCEPTION,
+ /**
+ * If found a matching node starting with '-'.
+ * It means the user CANNOT do the permission.
+ */
+ NEGATION,
+ /**
+ * If just found a common matching node.
+ * IT means the user CAN do the permission.
+ */
+ FOUND,
+ /**
+ * If no matchin node was found.
+ * It means the user CANNOT do the permission.
+ *
+ * owner field and accessLevel field should not be considered,
+ * when type is
+ * NOTFOUND
+ */
+ NOTFOUND
+ }
+}
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java
new file mode 100644
index 000000000..2e192118d
--- /dev/null
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java
@@ -0,0 +1,50 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.anjocaido.groupmanager.utils;
+
+import java.util.Comparator;
+
+/**
+ *
+ * @author gabrielcouto
+ */
+public class StringPermissionComparator implements Comparator<String> {
+
+ @Override
+ public int compare(String permA, String permB) {
+ boolean ap = permA.startsWith("+");
+ boolean bp = permB.startsWith("+");
+ boolean am = permA.startsWith("-");
+ boolean bm = permB.startsWith("-");
+ if(ap&&bp){
+ return 0;
+ }
+ if(ap&&!bp){
+ return -1;
+ }
+ if(!ap&&bp){
+ return 1;
+ }
+ if(am&&bm){
+ return 0;
+ }
+ if(am&&!bm){
+ return -1;
+ }
+ if(!am&&bm){
+ return 1;
+ }
+ return permA.compareToIgnoreCase(permB);
+ }
+ private static StringPermissionComparator instance;
+ public static StringPermissionComparator getInstance(){
+ if(instance==null){
+ instance = new StringPermissionComparator();
+ }
+ return instance;
+ }
+
+}
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java
new file mode 100644
index 000000000..64bdb6209
--- /dev/null
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java
@@ -0,0 +1,111 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.anjocaido.groupmanager.utils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.GregorianCalendar;
+import java.util.List;
+import org.anjocaido.groupmanager.data.Group;
+
+/**
+ *
+ * @author gabrielcouto
+ */
+public abstract class Tasks {
+
+ public static void copy(InputStream src, File dst) throws IOException {
+ InputStream in = src;
+ OutputStream out = new FileOutputStream(dst);
+
+ // Transfer bytes from in to out
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ out.close();
+ try {
+ in.close();
+ } catch (Exception e) {
+ }
+ }
+
+ public static void copy(File src, File dst) throws IOException {
+ InputStream in = new FileInputStream(src);
+ copy(in, dst);
+ }
+
+ public static void removeOldFiles(File folder) {
+ if (folder.isDirectory()) {
+ long oldTime = System.currentTimeMillis() - 86400000L;
+ for (File olds : folder.listFiles()) {
+ if (olds.isFile()) {
+ if (olds.lastModified() < oldTime) {
+ try {
+ olds.delete();
+ } catch (Exception e) {
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public static String getDateString() {
+ GregorianCalendar now = new GregorianCalendar();
+ String date = "";
+ date += now.get(GregorianCalendar.DAY_OF_MONTH);
+ date += "-";
+ date += now.get(GregorianCalendar.HOUR);
+ date += "-";
+ date += now.get(GregorianCalendar.MINUTE);
+ return date;
+ }
+ public static String getStringListInString(List<String> list){
+ if(list==null){
+ return "";
+ }
+ String result="";
+ for(int i=0;i<list.size();i++){
+ result+=list.get(i);
+ if(i<list.size()-1){
+ result+=", ";
+ }
+ }
+ return result;
+ }
+ public static String getStringArrayInString(String[] list){
+ if(list==null){
+ return "";
+ }
+ String result="";
+ for(int i=0;i<list.length;i++){
+ result+=list[i];
+ if(i<((list.length)-1)){
+ result+=", ";
+ }
+ }
+ return result;
+ }
+ public static String getGroupListInString(List<Group> list){
+ if(list==null){
+ return "";
+ }
+ String result="";
+ for(int i=0;i<list.size();i++){
+ result+=list.get(i).getName();
+ if(i<list.size()-1){
+ result+=", ";
+ }
+ }
+ return result;
+ }
+}