Browse Source

Fix that id should be long like it is in db.

master
Stanislav Usenkov 9 years ago
parent
commit
a0a5551d5f
  1. 2
      src/main/java/ru/simsonic/rscPermissions/API/GenericRow.java
  2. 2
      src/main/java/ru/simsonic/rscPermissions/API/RowEntity.java
  3. 2
      src/main/java/ru/simsonic/rscPermissions/API/RowInheritance.java
  4. 2
      src/main/java/ru/simsonic/rscPermissions/API/RowPermission.java
  5. 4
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java
  6. 8
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java
  7. 16
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java
  8. 6
      src/main/java/ru/simsonic/rscPermissions/Engine/InternalStorage.java

2
src/main/java/ru/simsonic/rscPermissions/API/GenericRow.java

@ -4,7 +4,7 @@ import java.sql.Timestamp;
public abstract class GenericRow public abstract class GenericRow
{ {
public int id; public long id;
public transient String splittedId; public transient String splittedId;
public String entity; public String entity;
public EntityType entityType; public EntityType entityType;

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

@ -20,7 +20,7 @@ public final class RowEntity extends GenericRow implements Cloneable, Comparable
if(compareByPlayerType != 0) if(compareByPlayerType != 0)
return 0 - compareByPlayerType; return 0 - compareByPlayerType;
} }
final int compareById = Integer.compare(id, other.id); final int compareById = Long.compare(id, other.id);
if(compareById != 0) if(compareById != 0)
return compareById; return compareById;
return entity.compareTo(other.entity); return entity.compareTo(other.entity);

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

@ -48,6 +48,6 @@ public final class RowInheritance extends ConditionalRow implements Cloneable, C
if(compareBySplittedId != 0) if(compareBySplittedId != 0)
return compareBySplittedId; return compareBySplittedId;
} }
return Integer.compare(id, other.id); return Long.compare(id, other.id);
} }
} }

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

@ -22,6 +22,6 @@ public final class RowPermission extends ConditionalRow implements Cloneable, Co
if(compareBySplittedId != 0) if(compareBySplittedId != 0)
return compareBySplittedId; return compareBySplittedId;
} }
return Integer.compare(id, other.id); return Long.compare(id, other.id);
} }
} }

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

@ -398,7 +398,7 @@ public class CommandEntity
final ArrayList<String> answer = new ArrayList<>(); final ArrayList<String> answer = new ArrayList<>();
final RowInheritance row = new RowInheritance(); final RowInheritance row = new RowInheritance();
row.entity = entity.entity; row.entity = entity.entity;
row.childType = entity.entityType; row.entityType = entity.entityType;
row.parent = parent; row.parent = parent;
rscp.connection.addInheritance(row); rscp.connection.addInheritance(row);
throw new CommandAnswerException("{_LG}All is ok? I don't ready to check it myself."); throw new CommandAnswerException("{_LG}All is ok? I don't ready to check it myself.");
@ -436,7 +436,7 @@ public class CommandEntity
if(whatToRemove.equalsIgnoreCase(row.parent)) if(whatToRemove.equalsIgnoreCase(row.parent))
possibleTargets.add(row); possibleTargets.add(row);
} }
if(possibleTargets.size() == 0) if(possibleTargets.isEmpty())
throw new CommandAnswerException("{_LR}Sorry, I don't understand what I have to remove from DB."); throw new CommandAnswerException("{_LR}Sorry, I don't understand what I have to remove from DB.");
if(possibleTargets.size() > 1) if(possibleTargets.size() > 1)
throw new CommandAnswerException("{_LR}There are several possibilities what to remove. Please use unique white id."); throw new CommandAnswerException("{_LR}There are several possibilities what to remove. Please use unique white id.");

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

@ -47,7 +47,7 @@ public class BackendDatabase extends ConnectionMySQL
while(rs.next()) while(rs.next())
{ {
RowEntity row = new RowEntity(); RowEntity row = new RowEntity();
row.id = rs.getInt("id"); row.id = rs.getLong("id");
row.entity = rs.getString("entity"); row.entity = rs.getString("entity");
row.entityType = EntityType.byValue(rs.getInt("entity_type")); row.entityType = EntityType.byValue(rs.getInt("entity_type"));
row.prefix = rs.getString("prefix"); row.prefix = rs.getString("prefix");
@ -70,7 +70,7 @@ public class BackendDatabase extends ConnectionMySQL
while(rs.next()) while(rs.next())
{ {
RowPermission row = new RowPermission(); RowPermission row = new RowPermission();
row.id = rs.getInt("id"); row.id = rs.getLong("id");
row.entity = rs.getString("entity"); row.entity = rs.getString("entity");
row.entityType = EntityType.byValue(rs.getInt("entity_type")); row.entityType = EntityType.byValue(rs.getInt("entity_type"));
row.permission = rs.getString("permission"); row.permission = rs.getString("permission");
@ -95,10 +95,10 @@ public class BackendDatabase extends ConnectionMySQL
while(rs.next()) while(rs.next())
{ {
RowInheritance row = new RowInheritance(); RowInheritance row = new RowInheritance();
row.id = rs.getInt("id"); row.id = rs.getLong("id");
row.entity = rs.getString("entity"); row.entity = rs.getString("entity");
row.parent = rs.getString("parent"); row.parent = rs.getString("parent");
row.childType = EntityType.byValue(rs.getInt("inheritance_type")); row.entityType = EntityType.byValue(rs.getInt("inheritance_type"));
row.priority = rs.getInt("inheritance_priority"); row.priority = rs.getInt("inheritance_priority");
row.destinationSource = rs.getString("destination"); row.destinationSource = rs.getString("destination");
row.expirience = rs.getInt("expirience"); row.expirience = rs.getInt("expirience");

16
src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java

@ -60,25 +60,25 @@ public class DatabaseEditor extends BackendDatabase
public void addPermission(RowPermission row) public void addPermission(RowPermission row)
{ {
super.insertPermissions( super.insertPermissions(
(row.id != 0 ? (long)row.id : null), row.id != 0 ? row.id : null,
row.entity, row.entity,
row.entityType, row.entityType,
row.permission, row.permission,
row.value, row.value,
row.destination.toString(), row.destination != null ? row.destination.toString() : null,
(row.expirience != 0 ? row.expirience : null), row.expirience != 0 ? row.expirience : null,
/* FIX LIFETIME */ null); /* FIX LIFETIME */ null);
} }
public void addInheritance(RowInheritance row) public void addInheritance(RowInheritance row)
{ {
super.insertInheritance( super.insertInheritance(
(row.id != 0 ? (long)row.id : null), row.id != 0 ? row.id : null,
row.entity, row.entity,
row.parent, row.parent,
row.childType, row.entityType,
row.priority, row.priority != 0 ? row.priority : null,
row.destination.toString(), row.destination != null ? row.destination.toString() : null,
(row.expirience != 0 ? row.expirience : null), row.expirience != 0 ? row.expirience : null,
/* FIX LIFETIME */ null); /* FIX LIFETIME */ null);
} }
private DatabaseContents prepareChanges() private DatabaseContents prepareChanges()

6
src/main/java/ru/simsonic/rscPermissions/Engine/InternalStorage.java

@ -56,7 +56,7 @@ class InternalStorage
for(RowInheritance row : contents.inheritance) for(RowInheritance row : contents.inheritance)
{ {
names_g.add(row.parent); names_g.add(row.parent);
if(row.childType == EntityType.GROUP) if(row.entityType == EntityType.GROUP)
names_g.add(row.entity); names_g.add(row.entity);
else else
names_u.add(row.entity); names_u.add(row.entity);
@ -121,7 +121,7 @@ class InternalStorage
final ArrayList<RowInheritance> inheritance_g2g = new ArrayList<>(); final ArrayList<RowInheritance> inheritance_g2g = new ArrayList<>();
final ArrayList<RowInheritance> inheritance_g2u = new ArrayList<>(); final ArrayList<RowInheritance> inheritance_g2u = new ArrayList<>();
for(RowInheritance row : rows) for(RowInheritance row : rows)
if(row.childType == EntityType.GROUP) if(row.entityType == EntityType.GROUP)
{ {
row.entityChild = entities_g.get(row.entity.toLowerCase()); row.entityChild = entities_g.get(row.entity.toLowerCase());
row.entityParent = entities_g.get(row.parent.toLowerCase()); row.entityParent = entities_g.get(row.parent.toLowerCase());
@ -151,7 +151,7 @@ class InternalStorage
Collections.sort(inheritances); Collections.sort(inheritances);
entry.getValue().inheritance = inheritances.toArray(new RowInheritance[inheritances.size()]); entry.getValue().inheritance = inheritances.toArray(new RowInheritance[inheritances.size()]);
} }
defaultInheritance.childType = EntityType.PLAYER; defaultInheritance.entityType = EntityType.PLAYER;
defaultInheritance.entityParent = entities_g.get(defaultInheritance.parent.toLowerCase()); defaultInheritance.entityParent = entities_g.get(defaultInheritance.parent.toLowerCase());
} }
public synchronized RowEntity findUserEntity(String entity) public synchronized RowEntity findUserEntity(String entity)

Loading…
Cancel
Save