You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.3 KiB
59 lines
2.3 KiB
package ru.simsonic.rscPermissions; |
|
import java.io.File; |
|
import java.util.ArrayList; |
|
import java.util.Collections; |
|
import java.util.logging.Logger; |
|
import ru.simsonic.rscPermissions.Engine.Backends.BackendDatabase; |
|
import ru.simsonic.rscPermissions.Engine.Backends.BackendJson; |
|
import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents; |
|
import ru.simsonic.rscPermissions.Engine.InternalCache; |
|
import ru.simsonic.rscPermissions.Engine.ResolutionResult; |
|
|
|
public class IndependentMain |
|
{ |
|
private static final BackendJson localJsn = new BackendJson(new File("../")); |
|
private static final BackendDatabase remoteDb = new BackendDatabase(Logger.getGlobal()); |
|
private static final InternalCache intCache = new InternalCache(); |
|
@SuppressWarnings({"DeadBranch", "UnusedAssignment"}) |
|
public static void main(String args[]) |
|
{ |
|
System.out.println("rscPermissions - Bukkit superperms plugin © SimSonic"); |
|
System.out.println("https://github.com/SimSonic/rscPermissions/"); |
|
// TESTING HERE |
|
remoteDb.initialize(null, |
|
"", // DATABASE |
|
"", // USERNAME |
|
"", // PASSWORD |
|
"rscp_"); |
|
if(remoteDb.connect()) |
|
{ |
|
System.out.println("Retrieving permissions from database into json files."); |
|
final DatabaseContents contents = remoteDb.retrieveContents(); |
|
contents.normalize(); |
|
localJsn.cleanup(); |
|
localJsn.saveContents(contents); |
|
} |
|
System.out.println("Loading permissions from json files."); |
|
final DatabaseContents contents = localJsn.retrieveContents(); |
|
System.out.println("Filter and calculating permission tree."); |
|
contents.filterServerId("Primary").filterLifetime(); |
|
if(contents.isEmpty()) |
|
{ |
|
System.out.println("Permission database is empty, stopping."); |
|
return; |
|
} |
|
intCache.setDefaultGroup("Default", true); |
|
intCache.fill(contents); |
|
final ResolutionResult result = intCache.resolvePlayer("87f946d8212440539d685eab07f8e266"); |
|
// Sorted output |
|
ArrayList<String> perms = new ArrayList<>(result.permissions.keySet()); |
|
Collections.sort(perms); |
|
for(String key : perms) |
|
System.out.println("Permission: " + key + " = " + result.permissions.get(key)); |
|
for(String group : result.getOrderedGroups()) |
|
System.out.println("Parent: " + group); |
|
System.out.println("Prefix: " + result.prefix); |
|
System.out.println("Suffix: " + result.suffix); |
|
System.out.println("Done."); |
|
} |
|
}
|
|
|