Deprecated bad practice StatSet setters with returning values.
Also using simple HashMap instead of ConcurrentHashMap.
This commit is contained in:
@@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager<CeremonyOfChaos
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getTimers().addTimer("count_down", StatSet.valueOf("time", 60), 60 * 1000, null, null);
|
||||
final StatSet params = new StatSet();
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("count_down", params, 60 * 1000, null, null);
|
||||
}
|
||||
|
||||
@ScheduleTarget
|
||||
@@ -268,15 +269,18 @@ public class CeremonyOfChaosManager extends AbstractEventManager<CeremonyOfChaos
|
||||
// Reschedule
|
||||
if (time == 60)
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", 10), 50 * 1000, null, null);
|
||||
params.set("time", 10);
|
||||
getTimers().addTimer(event, params, 50 * 1000, null, null);
|
||||
}
|
||||
else if (time == 10)
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", 5), 5 * 1000, null, null);
|
||||
params.set("time", 5);
|
||||
getTimers().addTimer(event, params, 5 * 1000, null, null);
|
||||
}
|
||||
else if ((time > 1) && (time <= 5))
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", time - 1), 1000, null, null);
|
||||
params.set("time", time - 1);
|
||||
getTimers().addTimer(event, params, 1000, null, null);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -70,10 +70,7 @@ public class GlobalVariablesManager extends AbstractVariables
|
||||
LOGGER.warning(getClass().getSimpleName() + ": Couldn't restore global variables.");
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
compareAndSetChanges(true, false);
|
||||
}
|
||||
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + getSet().size() + " variables.");
|
||||
return true;
|
||||
}
|
||||
@@ -81,12 +78,6 @@ public class GlobalVariablesManager extends AbstractVariables
|
||||
@Override
|
||||
public boolean storeMe()
|
||||
{
|
||||
// No changes, nothing to store.
|
||||
if (!hasChanges())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
Statement del = con.createStatement();
|
||||
PreparedStatement st = con.prepareStatement(INSERT_QUERY))
|
||||
@@ -108,10 +99,7 @@ public class GlobalVariablesManager extends AbstractVariables
|
||||
LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't save global variables to database.", e);
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
compareAndSetChanges(true, false);
|
||||
}
|
||||
|
||||
LOGGER.info(getClass().getSimpleName() + ": Stored " + getSet().size() + " variables.");
|
||||
return true;
|
||||
}
|
||||
|
@@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.model;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@@ -49,7 +48,7 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public StatSet()
|
||||
{
|
||||
this(ConcurrentHashMap::new);
|
||||
this(HashMap::new);
|
||||
}
|
||||
|
||||
public StatSet(Supplier<Map<String, Object>> mapFactory)
|
||||
@@ -98,7 +97,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public boolean getBoolean(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -127,7 +125,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public boolean getBoolean(String key, boolean defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -150,7 +147,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public byte getByte(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -173,7 +169,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public byte getByte(String key, byte defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -209,8 +204,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public byte[] getByteArray(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -242,8 +235,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public List<Byte> getByteList(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final List<Byte> result = new ArrayList<>();
|
||||
for (Byte i : getByteArray(key, splitOn))
|
||||
{
|
||||
@@ -255,7 +246,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public short getShort(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -278,7 +268,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public short getShort(String key, short defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -315,7 +304,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public int getInt(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -340,7 +328,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public int getInt(String key, int defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -376,8 +363,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public int[] getIntArray(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -409,8 +394,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public List<Integer> getIntegerList(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final List<Integer> result = new ArrayList<>();
|
||||
for (int i : getIntArray(key, splitOn))
|
||||
{
|
||||
@@ -422,7 +405,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public long getLong(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -445,7 +427,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public long getLong(String key, long defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -482,7 +463,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public float getFloat(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -505,7 +485,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public float getFloat(String key, float defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -542,7 +521,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public double getDouble(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -565,7 +543,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public double getDouble(String key, double defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -602,7 +579,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public String getString(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -614,7 +590,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public String getString(String key, String defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -626,7 +601,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public Duration getDuration(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -638,7 +612,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public Duration getDuration(String key, Duration defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -651,8 +624,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends Enum<T>> T getEnum(String key, Class<T> enumClass)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(enumClass);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -676,8 +647,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends Enum<T>> T getEnum(String key, Class<T> enumClass, T defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(enumClass);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -700,8 +669,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <A> A getObject(String name, Class<A> type)
|
||||
{
|
||||
Objects.requireNonNull(name);
|
||||
Objects.requireNonNull(type);
|
||||
final Object obj = _set.get(name);
|
||||
if ((obj == null) || !type.isAssignableFrom(obj.getClass()))
|
||||
{
|
||||
@@ -714,8 +681,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <A> A getObject(String name, Class<A> type, A defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(name);
|
||||
Objects.requireNonNull(type);
|
||||
final Object obj = _set.get(name);
|
||||
if ((obj == null) || !type.isAssignableFrom(obj.getClass()))
|
||||
{
|
||||
@@ -727,7 +692,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public SkillHolder getSkillHolder(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object obj = _set.get(key);
|
||||
if (!(obj instanceof SkillHolder))
|
||||
{
|
||||
@@ -739,7 +703,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public Location getLocation(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object obj = _set.get(key);
|
||||
if (!(obj instanceof Location))
|
||||
{
|
||||
@@ -751,7 +714,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<MinionHolder> getMinionList(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object obj = _set.get(key);
|
||||
if (!(obj instanceof List<?>))
|
||||
{
|
||||
@@ -764,8 +726,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> List<T> getList(String key, Class<T> clazz)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(clazz);
|
||||
final Object obj = _set.get(key);
|
||||
if (!(obj instanceof List<?>))
|
||||
{
|
||||
@@ -871,83 +831,61 @@ public class StatSet implements IParserAdvUtils
|
||||
return (Map<K, V>) obj;
|
||||
}
|
||||
|
||||
public StatSet set(String name, Object value)
|
||||
public void set(String name, Object value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return this;
|
||||
return;
|
||||
}
|
||||
_set.put(name, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, boolean value)
|
||||
public void set(String key, byte value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, byte value)
|
||||
public void set(String key, short value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, short value)
|
||||
public void set(String key, int value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, int value)
|
||||
public void set(String key, long value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, long value)
|
||||
public void set(String key, float value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, float value)
|
||||
public void set(String key, double value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, double value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, String value)
|
||||
public void set(String key, String value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return this;
|
||||
return;
|
||||
}
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, Enum<?> value)
|
||||
public void set(String key, Enum<?> value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return this;
|
||||
return;
|
||||
}
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public static StatSet valueOf(String key, Object value)
|
||||
{
|
||||
final StatSet set = new StatSet();
|
||||
set.set(key, value);
|
||||
return set;
|
||||
}
|
||||
|
||||
public void remove(String key)
|
||||
|
@@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
player.teleToLocation(_instance.getEnterLocations().get(index++), 0, _instance);
|
||||
}
|
||||
|
||||
getTimers().addTimer("match_start_countdown", StatSet.valueOf("time", 60), 100, null, null);
|
||||
final StatSet params = new StatSet();
|
||||
params.set("time", 60);
|
||||
getTimers().addTimer("match_start_countdown", params, 100, null, null);
|
||||
|
||||
getTimers().addTimer("teleport_message1", 10000, null, null);
|
||||
getTimers().addTimer("teleport_message2", 14000, null, null);
|
||||
@@ -394,7 +396,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
}
|
||||
}
|
||||
getTimers().cancelTimer("update", null, null);
|
||||
getTimers().addTimer("match_end_countdown", StatSet.valueOf("time", 30), 30 * 1000, null, null);
|
||||
final StatSet params = new StatSet();
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
}
|
||||
@@ -530,19 +534,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
// Reschedule
|
||||
if (time == 60)
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", 30), 30 * 1000, null, null);
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer(event, params, 30 * 1000, null, null);
|
||||
}
|
||||
else if ((time == 30) || (time == 20))
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", time - 10), 10 * 1000, null, null);
|
||||
params.set("time", time - 10);
|
||||
getTimers().addTimer(event, params, 10 * 1000, null, null);
|
||||
}
|
||||
else if (time == 10)
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", 5), 5 * 1000, null, null);
|
||||
params.set("time", 5);
|
||||
getTimers().addTimer(event, params, 5 * 1000, null, null);
|
||||
}
|
||||
else if ((time > 1) && (time <= 5))
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", time - 1), 1000, null, null);
|
||||
params.set("time", time - 1);
|
||||
getTimers().addTimer(event, params, 1000, null, null);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -556,11 +564,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
// Reschedule
|
||||
if ((time == 30) || (time == 20))
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", time - 10), 10 * 1000, null, null);
|
||||
params.set("time", time - 10);
|
||||
getTimers().addTimer(event, params, 10 * 1000, null, null);
|
||||
}
|
||||
else if ((time > 0) && (time <= 10))
|
||||
{
|
||||
getTimers().addTimer(event, params.set("time", time - 1), 1000, null, null);
|
||||
params.set("time", time - 1);
|
||||
getTimers().addTimer(event, params, 1000, null, null);
|
||||
}
|
||||
else if (time == 0)
|
||||
{
|
||||
|
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.variables;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
@@ -31,55 +30,43 @@ public abstract class AbstractVariables extends StatSet implements IRestorable,
|
||||
{
|
||||
private final AtomicBoolean _hasChanges = new AtomicBoolean(false);
|
||||
|
||||
public AbstractVariables()
|
||||
{
|
||||
super(new ConcurrentHashMap<>());
|
||||
}
|
||||
|
||||
/**
|
||||
* Overriding following methods to prevent from doing useless database operations if there is no changes since player's login.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, boolean value)
|
||||
public void set(String name, double value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, double value)
|
||||
public void set(String name, Enum<?> value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, Enum<?> value)
|
||||
public void set(String name, int value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, int value)
|
||||
public void set(String name, long value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, long value)
|
||||
public void set(String name, String value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, String value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,15 +74,14 @@ public abstract class AbstractVariables extends StatSet implements IRestorable,
|
||||
* @param name
|
||||
* @param value
|
||||
* @param markAsChanged
|
||||
* @return
|
||||
*/
|
||||
public StatSet set(String name, String value, boolean markAsChanged)
|
||||
public void set(String name, String value, boolean markAsChanged)
|
||||
{
|
||||
if (markAsChanged)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
}
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user