Browse Source

Continue ...

master
SimSonic 9 years ago
parent
commit
eae749baae
  1. 6
      src/main/java/ru/simsonic/rscPermissions/API/Destination.java
  2. 4
      src/main/java/ru/simsonic/rscPermissions/API/EntityType.java
  3. 8
      src/main/java/ru/simsonic/rscPermissions/API/RowEntity.java
  4. 10
      src/main/java/ru/simsonic/rscPermissions/API/RowInheritance.java
  5. 8
      src/main/java/ru/simsonic/rscPermissions/API/RowPermission.java
  6. 8
      src/main/java/ru/simsonic/rscPermissions/API/Settings.java
  7. 91
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java
  8. 38
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java
  9. 12
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseContents.java
  10. 14
      src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java
  11. 0
      src/main/resources/sqlt/UpdateEntity.sqlt

6
src/main/java/ru/simsonic/rscPermissions/API/Destination.java

@ -31,7 +31,7 @@ public class Destination
if(this.world == null || this.world.isEmpty() || "*".equals(this.world)) if(this.world == null || this.world.isEmpty() || "*".equals(this.world))
return true; return true;
final String instantiated = (instantiator != null && !instantiator.isEmpty()) final String instantiated = (instantiator != null && !instantiator.isEmpty())
? this.world.replace(Settings.INSTANTIATOR, instantiator) ? this.world.replace(Settings.INSTANCE_PHOLDER, instantiator)
: this.world; : this.world;
return wildcardTest(world, instantiated); return wildcardTest(world, instantiated);
} }
@ -40,7 +40,7 @@ public class Destination
if(this.region == null || "".equals(this.region) || "*".equals(this.region)) if(this.region == null || "".equals(this.region) || "*".equals(this.region))
return true; return true;
final String instantiated = (instantiator != null && !"".equals(instantiator)) final String instantiated = (instantiator != null && !"".equals(instantiator))
? this.region.replace(Settings.INSTANTIATOR, instantiator) ? this.region.replace(Settings.INSTANCE_PHOLDER, instantiator)
: this.region; : this.region;
for(String regionId : regions) for(String regionId : regions)
if(wildcardTest(regionId, instantiated)) if(wildcardTest(regionId, instantiated))
@ -52,7 +52,7 @@ public class Destination
if(this.region == null || "".equals(this.region) || "*".equals(this.region)) if(this.region == null || "".equals(this.region) || "*".equals(this.region))
return true; return true;
final String instantiated = (instantiator != null && !"".equals(instantiator)) final String instantiated = (instantiator != null && !"".equals(instantiator))
? this.region.replace(Settings.INSTANTIATOR, instantiator) ? this.region.replace(Settings.INSTANCE_PHOLDER, instantiator)
: this.region; : this.region;
for(String regionId : regions) for(String regionId : regions)
if(wildcardTest(regionId, instantiated)) if(wildcardTest(regionId, instantiated))

4
src/main/java/ru/simsonic/rscPermissions/API/EntityType.java

@ -11,6 +11,10 @@ public enum EntityType
{ {
this.value = value; this.value = value;
} }
public int getValue()
{
return value;
}
public static EntityType byValue(int value) public static EntityType byValue(int value)
{ {
for(EntityType constant : EntityType.values()) for(EntityType constant : EntityType.values())

8
src/main/java/ru/simsonic/rscPermissions/API/RowEntity.java

@ -14,6 +14,14 @@ public class RowEntity implements Cloneable, Comparable<RowEntity>
public transient PlayerType playerType; public transient PlayerType playerType;
public transient RowPermission[] permissions; public transient RowPermission[] permissions;
public transient RowInheritance[] inheritance; public transient RowInheritance[] inheritance;
public boolean isMappedInDB()
{
return splittedId != null && !"".equals(splittedId);
}
public boolean hasClonesInRow()
{
return splittedId != null && splittedId.contains(Settings.SPLITTED_ID_SEP);
}
@Override @Override
public RowEntity clone() throws CloneNotSupportedException public RowEntity clone() throws CloneNotSupportedException
{ {

10
src/main/java/ru/simsonic/rscPermissions/API/RowInheritance.java

@ -24,7 +24,7 @@ public class RowInheritance implements Cloneable, Comparable<RowInheritance>
{ {
if(parent != null) if(parent != null)
{ {
final String[] splitted = parent.split(Settings.REGEXP_SEPARATOR); final String[] splitted = parent.split(Settings.REGEXP_INSTANCE);
if(splitted.length > 1) if(splitted.length > 1)
{ {
parent = GenericChatCodes.glue(Arrays.copyOf(splitted, splitted.length - 1), Settings.INSTANCE_SEP); parent = GenericChatCodes.glue(Arrays.copyOf(splitted, splitted.length - 1), Settings.INSTANCE_SEP);
@ -38,6 +38,14 @@ public class RowInheritance implements Cloneable, Comparable<RowInheritance>
{ {
return this.parent + (instance.isEmpty() ? "" : "." + instance); return this.parent + (instance.isEmpty() ? "" : "." + instance);
} }
public boolean isMappedInDB()
{
return splittedId != null && !"".equals(splittedId);
}
public boolean hasClonesInRow()
{
return splittedId != null && splittedId.contains(Settings.SPLITTED_ID_SEP);
}
@Override @Override
public RowInheritance clone() throws CloneNotSupportedException public RowInheritance clone() throws CloneNotSupportedException
{ {

8
src/main/java/ru/simsonic/rscPermissions/API/RowPermission.java

@ -16,6 +16,14 @@ public class RowPermission implements Cloneable, Comparable<RowPermission>
public transient PlayerType playerType; public transient PlayerType playerType;
public transient String destinationSource; public transient String destinationSource;
public transient RowEntity entityObject; public transient RowEntity entityObject;
public boolean isMappedInDB()
{
return splittedId != null && !"".equals(splittedId);
}
public boolean hasClonesInRow()
{
return splittedId != null && splittedId.contains(Settings.SPLITTED_ID_SEP);
}
@Override @Override
public RowPermission clone() throws CloneNotSupportedException public RowPermission clone() throws CloneNotSupportedException
{ {

8
src/main/java/ru/simsonic/rscPermissions/API/Settings.java

@ -1,6 +1,7 @@
package ru.simsonic.rscPermissions.API; package ru.simsonic.rscPermissions.API;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern;
import ru.simsonic.rscCommonsLibrary.ConnectionMySQL.ConnectionParams; import ru.simsonic.rscCommonsLibrary.ConnectionMySQL.ConnectionParams;
public interface Settings public interface Settings
@ -9,11 +10,12 @@ public interface Settings
public static final String CHAT_PREFIX = "{GOLD}[rscp] {_LS}"; public static final String CHAT_PREFIX = "{GOLD}[rscp] {_LS}";
public static final String UPDATE_CMD = "/rscp update do"; public static final String UPDATE_CMD = "/rscp update do";
public static final String TEXT_INHERITER = "%"; public static final String PREFIX_PHOLDER = "%";
public static final char SHOW_GROUP_LEVEL = '┏'; public static final char SHOW_GROUP_LEVEL = '┏';
public static final String INSTANTIATOR = "?"; public static final String SPLITTED_ID_SEP = ":";
public static final String INSTANCE_SEP = "."; public static final String INSTANCE_SEP = ".";
public static final String REGEXP_SEPARATOR = "\\."; public static final String INSTANCE_PHOLDER = "?";
public static final String REGEXP_INSTANCE = Pattern.quote(INSTANCE_SEP);
public static final String REGEXP_ROW_SPLIT = "\\s*[;,\\r\\n\\s]+\\s*"; public static final String REGEXP_ROW_SPLIT = "\\s*[;,\\r\\n\\s]+\\s*";
public static final String REGEXP_NICKNAME = "^[\\*a-zA-Z0-9_-]{3,16}$"; public static final String REGEXP_NICKNAME = "^[\\*a-zA-Z0-9_-]{3,16}$";
public static final String REGEXP_UUID_DASH = "^(?:[a-f\\d]{8}(?:-[a-f\\d]{4}){3}-[a-f\\d]{12})$"; public static final String REGEXP_UUID_DASH = "^(?:[a-f\\d]{8}(?:-[a-f\\d]{4}){3}-[a-f\\d]{12})$";

91
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java

@ -15,6 +15,7 @@ import ru.simsonic.rscPermissions.API.RowEntity;
import ru.simsonic.rscPermissions.API.RowInheritance; import ru.simsonic.rscPermissions.API.RowInheritance;
import ru.simsonic.rscPermissions.API.RowPermission; import ru.simsonic.rscPermissions.API.RowPermission;
import ru.simsonic.rscPermissions.Bukkit.BukkitUtilities; import ru.simsonic.rscPermissions.Bukkit.BukkitUtilities;
import ru.simsonic.rscPermissions.Bukkit.Commands.ArgumentUtilities.CommandParams;
import ru.simsonic.rscPermissions.BukkitPluginMain; import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscPermissions.Engine.Matchers; import ru.simsonic.rscPermissions.Engine.Matchers;
import ru.simsonic.rscPermissions.Engine.ResolutionResult; import ru.simsonic.rscPermissions.Engine.ResolutionResult;
@ -107,16 +108,16 @@ public class CommandEntity
case "prefix": case "prefix":
case "p": case "p":
if(result != null) if(result != null)
viewPlayerPrefix(result, targetName); showPlayerPrefix(result, targetName);
else else
viewEntityPrefix(entity); showEntityPrefix(entity);
break; break;
case "suffix": case "suffix":
case "s": case "s":
if(result != null) if(result != null)
viewPlayerSuffix(result, targetName); showPlayerSuffix(result, targetName);
else else
viewEntitySuffix(entity); showEntitySuffix(entity);
break; break;
case "listpermissions": case "listpermissions":
case "permissions": case "permissions":
@ -134,33 +135,49 @@ public class CommandEntity
else else
showEntityParents(entity); showEntityParents(entity);
break; break;
case "info":
if(entity != null)
throw new CommandAnswerException(showEntityDetails(entity));
case "help":
throw new CommandAnswerException(getHelpForType(type));
}
if(args.length < 3)
throw new CommandAnswerException("FEW ARGUMENTS");
final String target = args[2];
args = Arrays.copyOfRange(args, 3, args.length);
CommandParams optional = ArgumentUtilities.parseCommandParams(args);
switch(subcommand)
{
case "addgroup": case "addgroup":
case "ag": case "ag":
// TO DO HERE // TO DO HERE
addGroup(entity, "group", null, null); addGroup(entity, target, optional);
break; break;
case "addpermission": case "addpermission":
case "ap": case "ap":
// TO DO HERE // TO DO HERE
addPermission(entity, "permission", null, null); addPermission(entity, target, optional);
break; break;
case "removegroup": case "removegroup":
case "rg": case "rg":
// TO DO HERE // TO DO HERE
removeGroup(entity, "group"); removeGroup(entity, target);
break; break;
case "removepermission": case "removepermission":
case "rp": case "rp":
// TO DO HERE // TO DO HERE
this.removePermission(entity, "permission"); removePermission(entity, target);
break;
case "setprefix":
case "sp":
// TO DO HERE
break;
case "setsuffix":
case "ss":
// TO DO HERE
break; break;
case "info":
if(entity != null)
throw new CommandAnswerException(showEntityDetails(entity));
case "help":
default:
throw new CommandAnswerException(getHelpForType(type));
} }
throw new CommandAnswerException(getHelpForType(type));
} }
public void listGroups(CommandSender sender) throws CommandAnswerException public void listGroups(CommandSender sender) throws CommandAnswerException
{ {
@ -309,23 +326,33 @@ public class CommandEntity
answer.add("{_LG}" + group); answer.add("{_LG}" + group);
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);
} }
private void viewEntityPrefix(RowEntity entity) throws CommandAnswerException private void showEntityPrefix(RowEntity entity) throws CommandAnswerException
{ {
final ArrayList<String> answer = new ArrayList<>(); if(entity.prefix != null)
answer.add("Own prefix for " + (entity.entityType == EntityType.GROUP ? "group" : "user") throw new CommandAnswerException(String.format(
+ " {_YL}" + entity.entity + "{_LS} is:"); "Own prefix for %s {_YL}%s{_LS} is {_R}\"%s{_R}\"",
answer.add("{_R}\"" + (entity.prefix != null ? entity.prefix : "") + "{_R}\""); entity.entityType.equals(EntityType.GROUP) ? "group" : "user",
throw new CommandAnswerException(answer); entity.entity,
entity.prefix));
throw new CommandAnswerException(String.format(
"Own prefix for %s {_YL}%s{_LS} is not set (null).",
entity.entityType.equals(EntityType.GROUP) ? "group" : "user",
entity.entity));
} }
private void viewEntitySuffix(RowEntity entity) throws CommandAnswerException private void showEntitySuffix(RowEntity entity) throws CommandAnswerException
{ {
final ArrayList<String> answer = new ArrayList<>(); if(entity.suffix != null)
answer.add("Own suffix for " + (entity.entityType == EntityType.GROUP ? "group" : "user") throw new CommandAnswerException(String.format(
+ " {_YL}" + entity.entity + "{_LS} is:"); "Own suffix for %s {_YL}%s{_LS} is {_R}\"%s{_R}\"",
answer.add("{_R}\"" + (entity.suffix != null ? entity.suffix : "") + "{_R}\""); entity.entityType.equals(EntityType.GROUP) ? "group" : "user",
throw new CommandAnswerException(answer); entity.entity,
entity.suffix));
throw new CommandAnswerException(String.format(
"Own suffix for %s {_YL}%s{_LS} is not set (null).",
entity.entityType.equals(EntityType.GROUP) ? "group" : "user",
entity.entity));
} }
private void viewPlayerPrefix(ResolutionResult result, String user) throws CommandAnswerException private void showPlayerPrefix(ResolutionResult result, String user) throws CommandAnswerException
{ {
if(Matchers.isCorrectDashlessUUID(user)) if(Matchers.isCorrectDashlessUUID(user))
user = Matchers.uuidAddDashes(user); user = Matchers.uuidAddDashes(user);
@ -334,7 +361,7 @@ public class CommandEntity
answer.add("{_R}\"" + result.getPrefix() + "{_R}\""); answer.add("{_R}\"" + result.getPrefix() + "{_R}\"");
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);
} }
private void viewPlayerSuffix(ResolutionResult result, String user) throws CommandAnswerException private void showPlayerSuffix(ResolutionResult result, String user) throws CommandAnswerException
{ {
if(Matchers.isCorrectDashlessUUID(user)) if(Matchers.isCorrectDashlessUUID(user))
user = Matchers.uuidAddDashes(user); user = Matchers.uuidAddDashes(user);
@ -343,12 +370,12 @@ public class CommandEntity
answer.add("{_R}\"" + result.getSuffix() + "{_R}\""); answer.add("{_R}\"" + result.getSuffix() + "{_R}\"");
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);
} }
private void addGroup(RowEntity entity, String parent, String destination, Integer seconds) throws CommandAnswerException private void addGroup(RowEntity entity, String parent, CommandParams optional) throws CommandAnswerException
{ {
final ArrayList<String> answer = new ArrayList<>(); final ArrayList<String> answer = new ArrayList<>();
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);
} }
private void addPermission(RowEntity entity, String parent, String destination, Integer seconds) throws CommandAnswerException private void addPermission(RowEntity entity, String parent, CommandParams optional) throws CommandAnswerException
{ {
final ArrayList<String> answer = new ArrayList<>(); final ArrayList<String> answer = new ArrayList<>();
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);
@ -356,11 +383,15 @@ public class CommandEntity
private void removeGroup(RowEntity entity, String whatToRemove) throws CommandAnswerException private void removeGroup(RowEntity entity, String whatToRemove) throws CommandAnswerException
{ {
final ArrayList<String> answer = new ArrayList<>(); final ArrayList<String> answer = new ArrayList<>();
// Find out what does entered identifier mean?
rscp.connection.removeInheritanceById(1200);
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);
} }
private void removePermission(RowEntity entity, String whatToRemove) throws CommandAnswerException private void removePermission(RowEntity entity, String whatToRemove) throws CommandAnswerException
{ {
final ArrayList<String> answer = new ArrayList<>(); final ArrayList<String> answer = new ArrayList<>();
// Find out what does entered identifier mean?
rscp.connection.removePermissionsById(1200);
throw new CommandAnswerException(answer); throw new CommandAnswerException(answer);
} }
} }

38
src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java

@ -111,18 +111,6 @@ public class BackendDatabase extends ConnectionMySQL
} }
return result.toArray(new RowInheritance[result.size()]); return result.toArray(new RowInheritance[result.size()]);
} }
public synchronized void updateEntityText(String entity, boolean entity_type, String text, boolean isPrefix)
{
if("".equals(entity))
return;
if("".equals(text) || "\"\"".equals(text))
text = null;
setupQueryTemplate("{ENTITY}", entity);
setupQueryTemplate("{ENTITY_TYPE}", entity_type ? "1" : "0");
setupQueryTemplate("{TEXT_TYPE}", isPrefix ? "prefix" : "suffix");
setupQueryTemplate("{TEXT}", (text != null) ? "'" + text + "'" : "NULL");
executeUpdateT("Update_entity_text");
}
public synchronized void lockTableEntities() public synchronized void lockTableEntities()
{ {
executeUpdate("LOCK TABLES `{DATABASE}`.`{PREFIX}entities`;"); executeUpdate("LOCK TABLES `{DATABASE}`.`{PREFIX}entities`;");
@ -151,10 +139,34 @@ public class BackendDatabase extends ConnectionMySQL
{ {
executeUpdate("ROLLBACK;"); executeUpdate("ROLLBACK;");
} }
public synchronized void updateEntityPrefix(String entity, EntityType type, String prefix)
{
if("".equals(entity))
return;
if("".equals(prefix) || "\"\"".equals(prefix))
prefix = null;
setupQueryTemplate("{ENTITY}", entity);
setupQueryTemplate("{ENTITY_TYPE}", String.valueOf(type.getValue()));
setupQueryTemplate("{TEXT_TYPE}", "prefix");
setupQueryTemplate("{TEXT}", (prefix != null) ? "'" + prefix + "'" : "NULL");
executeUpdateT("UpdateEntity");
}
public synchronized void updateEntitySuffix(String entity, EntityType type, String suffix)
{
if("".equals(entity))
return;
if("".equals(suffix) || "\"\"".equals(suffix))
suffix = null;
setupQueryTemplate("{ENTITY}", entity);
setupQueryTemplate("{ENTITY_TYPE}", String.valueOf(type.getValue()));
setupQueryTemplate("{TEXT_TYPE}", "suffix");
setupQueryTemplate("{TEXT}", (suffix != null) ? "'" + suffix + "'" : "NULL");
executeUpdateT("UpdateEntity");
}
public synchronized void removeEntityById(long id) public synchronized void removeEntityById(long id)
{ {
setupQueryTemplate("{ID}", Long.toString(id)); setupQueryTemplate("{ID}", Long.toString(id));
executeUpdateT("DELETE FROM `{DATABASE}`.`{PREFIX}entities` WHERE `id` = '{ID}';"); executeUpdateT("DELETE FROM `{DATABASE}`.`{PREFIX}entities` WHERE `id` = '{ID}';");
} }
public synchronized void removePermissionsById(long id) public synchronized void removePermissionsById(long id)
{ {

12
src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseContents.java

@ -38,8 +38,8 @@ public class DatabaseContents
for(String oneEntity : splittedByE) for(String oneEntity : splittedByE)
{ {
final RowEntity clone = row.clone(); final RowEntity clone = row.clone();
clone.splittedId = String.format(isAlone ? "e%d" : "e%d:%d", clone.splittedId = String.format(isAlone ? "e%d" : "e%d%s%d",
row.id, subRowEntry); row.id, Settings.SPLITTED_ID_SEP, subRowEntry);
clone.entity = PlayerType.normalize(oneEntity); clone.entity = PlayerType.normalize(oneEntity);
le.add(clone); le.add(clone);
subRowEntry += 1; subRowEntry += 1;
@ -61,8 +61,8 @@ public class DatabaseContents
for(String entity : splittedByE) for(String entity : splittedByE)
{ {
final RowPermission clone = row.clone(); final RowPermission clone = row.clone();
clone.splittedId = String.format(isAlone ? "p%d" : "p%d:%d", clone.splittedId = String.format(isAlone ? "p%d" : "p%d%s%d",
row.id, subRowEntry); row.id, Settings.SPLITTED_ID_SEP, subRowEntry);
clone.entity = PlayerType.normalize(entity); clone.entity = PlayerType.normalize(entity);
clone.permission = permission; clone.permission = permission;
clone.destination = destination; clone.destination = destination;
@ -87,8 +87,8 @@ public class DatabaseContents
for(String entity : splittedByE) for(String entity : splittedByE)
{ {
final RowInheritance clone = row.clone(); final RowInheritance clone = row.clone();
clone.splittedId = String.format(isAlone ? "i%d" : "i%d:%d", clone.splittedId = String.format(isAlone ? "i%d" : "i%d%s%d",
row.id, subRowEntry); row.id, Settings.SPLITTED_ID_SEP, subRowEntry);
clone.entity = PlayerType.normalize(entity); clone.entity = PlayerType.normalize(entity);
clone.parent = parent; clone.parent = parent;
clone.deriveInstance(); clone.deriveInstance();

14
src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java

@ -168,9 +168,9 @@ public class InternalCache extends InternalStorage
result.prefix = params.parentEntity.prefix; result.prefix = params.parentEntity.prefix;
result.suffix = params.parentEntity.suffix; result.suffix = params.parentEntity.suffix;
if(result.prefix == null || "".equals(result.prefix)) if(result.prefix == null || "".equals(result.prefix))
result.prefix = (gipp ? Settings.TEXT_INHERITER : ""); result.prefix = (gipp ? Settings.PREFIX_PHOLDER : "");
if(result.suffix == null || "".equals(result.suffix)) if(result.suffix == null || "".equals(result.suffix))
result.suffix = (gipp ? Settings.TEXT_INHERITER : ""); result.suffix = (gipp ? Settings.PREFIX_PHOLDER : "");
final StringBuilder sbp = new StringBuilder(); final StringBuilder sbp = new StringBuilder();
final StringBuilder sbs = new StringBuilder(); final StringBuilder sbs = new StringBuilder();
for(ResolutionResult inherited : intermediate) for(ResolutionResult inherited : intermediate)
@ -180,10 +180,10 @@ public class InternalCache extends InternalStorage
if(inherited.suffix != null) if(inherited.suffix != null)
sbs.append(inherited.suffix); sbs.append(inherited.suffix);
} }
result.prefix = result.prefix.replace(Settings.TEXT_INHERITER, sbp.toString()); result.prefix = result.prefix.replace(Settings.PREFIX_PHOLDER, sbp.toString());
result.suffix = result.suffix.replace(Settings.TEXT_INHERITER, sbs.toString()); result.suffix = result.suffix.replace(Settings.PREFIX_PHOLDER, sbs.toString());
result.prefix = result.prefix.replace(Settings.INSTANTIATOR, params.instantiator); result.prefix = result.prefix.replace(Settings.INSTANCE_PHOLDER, params.instantiator);
result.suffix = result.suffix.replace(Settings.INSTANTIATOR, params.instantiator); result.suffix = result.suffix.replace(Settings.INSTANCE_PHOLDER, params.instantiator);
return result; return result;
} }
private void processPermissions(ResolutionParams params, List<RowPermission> permissions) private void processPermissions(ResolutionParams params, List<RowPermission> permissions)
@ -191,7 +191,7 @@ public class InternalCache extends InternalStorage
for(RowPermission row : permissions) for(RowPermission row : permissions)
if(isPermissionApplicable(params, row)) if(isPermissionApplicable(params, row))
params.finalPerms.put( params.finalPerms.put(
row.permission.replace(Settings.INSTANTIATOR, params.instantiator), row.permission.replace(Settings.INSTANCE_PHOLDER, params.instantiator),
row.value); row.value);
} }
private boolean isPermissionApplicable(ResolutionParams params, RowPermission row) private boolean isPermissionApplicable(ResolutionParams params, RowPermission row)

0
src/main/resources/sqlt/Update_entity_text.sqlt → src/main/resources/sqlt/UpdateEntity.sqlt

Loading…
Cancel
Save