From e5bd88354655ab345f9be16488ce2e649fd7b4df Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 28 Jan 2020 13:48:46 +0000 Subject: [PATCH] Deprecated bad practice StatSet setters with returning values. Also using simple HashMap instead of ConcurrentHashMap. --- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../l2jmobius/gameserver/model/StatSet.java | 89 +++--------------- .../model/variables/AbstractVariables.java | 42 ++++----- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../model/variables/AbstractVariables.java | 38 +++----- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- .../CeremonyOfChaosManager.java | 14 +-- .../GlobalVariablesManager.java | 16 +--- .../l2jmobius/gameserver/model/StatSet.java | 90 +++---------------- .../ceremonyofchaos/CeremonyOfChaosEvent.java | 26 ++++-- .../model/variables/AbstractVariables.java | 38 +++----- 83 files changed, 917 insertions(+), 2262 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index a1a8472823..e825876fa6 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 8b32364c1a..430be4936f 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index 0fbd35091a..09d781c353 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 8b32364c1a..430be4936f 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index 0fbd35091a..09d781c353 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 8b32364c1a..430be4936f 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index 0fbd35091a..09d781c353 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 8b32364c1a..430be4936f 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index 97b07966a5..c39a55365f 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index ad9a204a01..64b44edb4e 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index bf30080665..1f26f4d649 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 8b32364c1a..430be4936f 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index bf30080665..1f26f4d649 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 8b32364c1a..430be4936f 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index 942dba6dc3..180e4c342a 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 8b32364c1a..430be4936f 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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); @@ -400,7 +402,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent } } 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)); } @@ -536,19 +540,23 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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; } @@ -562,11 +570,13 @@ public class CeremonyOfChaosEvent extends AbstractEvent // 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) { diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java index e196b53a94..9593d8a8ef 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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; @@ -48,7 +47,7 @@ public class StatSet implements IParserAdvUtils public StatSet() { - this(ConcurrentHashMap::new); + this(HashMap::new); } public StatSet(Supplier> mapFactory) @@ -97,7 +96,6 @@ public class StatSet implements IParserAdvUtils @Override public boolean getBoolean(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -126,7 +124,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) { @@ -149,7 +146,6 @@ public class StatSet implements IParserAdvUtils @Override public byte getByte(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -172,7 +168,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) { @@ -208,8 +203,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) { @@ -241,8 +234,6 @@ public class StatSet implements IParserAdvUtils public List getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List result = new ArrayList<>(); for (Byte i : getByteArray(key, splitOn)) { @@ -254,7 +245,6 @@ public class StatSet implements IParserAdvUtils @Override public short getShort(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -277,7 +267,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) { @@ -314,7 +303,6 @@ public class StatSet implements IParserAdvUtils @Override public int getInt(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -339,7 +327,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) { @@ -375,8 +362,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) { @@ -408,8 +393,6 @@ public class StatSet implements IParserAdvUtils public List getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List result = new ArrayList<>(); for (int i : getIntArray(key, splitOn)) { @@ -421,7 +404,6 @@ public class StatSet implements IParserAdvUtils @Override public long getLong(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -444,7 +426,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) { @@ -481,7 +462,6 @@ public class StatSet implements IParserAdvUtils @Override public float getFloat(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -504,7 +484,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) { @@ -541,7 +520,6 @@ public class StatSet implements IParserAdvUtils @Override public double getDouble(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -564,7 +542,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) { @@ -601,7 +578,6 @@ public class StatSet implements IParserAdvUtils @Override public String getString(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -613,7 +589,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) { @@ -625,7 +600,6 @@ public class StatSet implements IParserAdvUtils @Override public Duration getDuration(String key) { - Objects.requireNonNull(key); final Object val = _set.get(key); if (val == null) { @@ -637,7 +611,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) { @@ -650,8 +623,6 @@ public class StatSet implements IParserAdvUtils @SuppressWarnings("unchecked") public > T getEnum(String key, Class enumClass) { - Objects.requireNonNull(key); - Objects.requireNonNull(enumClass); final Object val = _set.get(key); if (val == null) { @@ -675,8 +646,6 @@ public class StatSet implements IParserAdvUtils @SuppressWarnings("unchecked") public > T getEnum(String key, Class enumClass, T defaultValue) { - Objects.requireNonNull(key); - Objects.requireNonNull(enumClass); final Object val = _set.get(key); if (val == null) { @@ -699,8 +668,6 @@ public class StatSet implements IParserAdvUtils @SuppressWarnings("unchecked") public A getObject(String name, Class type) { - Objects.requireNonNull(name); - Objects.requireNonNull(type); final Object obj = _set.get(name); if ((obj == null) || !type.isAssignableFrom(obj.getClass())) { @@ -713,8 +680,6 @@ public class StatSet implements IParserAdvUtils @SuppressWarnings("unchecked") public A getObject(String name, Class type, A defaultValue) { - Objects.requireNonNull(name); - Objects.requireNonNull(type); final Object obj = _set.get(name); if ((obj == null) || !type.isAssignableFrom(obj.getClass())) { @@ -726,7 +691,6 @@ public class StatSet implements IParserAdvUtils public SkillHolder getSkillHolder(String key) { - Objects.requireNonNull(key); final Object obj = _set.get(key); if (!(obj instanceof SkillHolder)) { @@ -738,7 +702,6 @@ public class StatSet implements IParserAdvUtils public Location getLocation(String key) { - Objects.requireNonNull(key); final Object obj = _set.get(key); if (!(obj instanceof Location)) { @@ -750,8 +713,6 @@ public class StatSet implements IParserAdvUtils @SuppressWarnings("unchecked") public List getList(String key, Class clazz) { - Objects.requireNonNull(key); - Objects.requireNonNull(clazz); final Object obj = _set.get(key); if (!(obj instanceof List)) { @@ -857,76 +818,61 @@ public class StatSet implements IParserAdvUtils return (Map) 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; } /** @@ -950,13 +896,6 @@ public class StatSet implements IParserAdvUtils set(name, value); } - public static StatSet valueOf(String key, Object value) - { - final StatSet set = new StatSet(); - set.set(key, value); - return set; - } - public void remove(String key) { _set.remove(key); diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 5a7e7043d0..d8a0ff29a0 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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,58 @@ 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); + super.set(name, value); } - @Override - public StatSet set(String name, String value) + /** + * Put's entry to the variables and marks as changed if required (Useful when restoring to do not save them again). + * @param name + * @param value + * @param markAsChanged + */ + public void set(String name, String value, boolean markAsChanged) { - _hasChanges.compareAndSet(false, true); - return super.set(name, value); + if (markAsChanged) + { + _hasChanges.compareAndSet(false, true); + } + super.set(name, value); } /** diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 50a4f21226..a41a0ab1d9 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -64,10 +64,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; } @@ -75,12 +72,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)) @@ -102,10 +93,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; } diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/StatSet.java index ec175436cd..b885248896 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 1196102e51..d8a0ff29a0 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 50a4f21226..a41a0ab1d9 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -64,10 +64,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; } @@ -75,12 +72,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)) @@ -102,10 +93,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; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/StatSet.java index ec175436cd..b885248896 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 1196102e51..d8a0ff29a0 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index 640e2e60de..dbaaf6156b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 1c341e0c31..2170342551 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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 } } 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 // 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 // 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) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index b329a67097..cb9631af7e 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 1c341e0c31..2170342551 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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 } } 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 // 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 // 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) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index b329a67097..cb9631af7e 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 1c341e0c31..2170342551 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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 } } 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 // 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 // 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) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index b9af19c329..c8c1987455 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 1c341e0c31..2170342551 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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 } } 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 // 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 // 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) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index b9af19c329..c8c1987455 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 1c341e0c31..2170342551 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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 } } 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 // 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 // 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) { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index 839a5af512..c7a33e8f80 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -179,8 +179,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 1c341e0c31..2170342551 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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 } } 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 // 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 // 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) { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /** diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java index b329a67097..cb9631af7e 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/CeremonyOfChaosManager.java @@ -180,8 +180,9 @@ public class CeremonyOfChaosManager extends AbstractEventManager 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; } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java index 250de3d227..a38e87259e 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/GlobalVariablesManager.java @@ -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; } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java index 3c824d9fa4..6368a220f9 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/StatSet.java @@ -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> 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 getByteList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getIntegerList(String key, String splitOn) { - Objects.requireNonNull(key); - Objects.requireNonNull(splitOn); final List 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 getEnum(String key, Class 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 getEnum(String key, Class 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 getObject(String name, Class 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 getObject(String name, Class 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 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 List getList(String key, Class 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) 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) diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java index 1c341e0c31..2170342551 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java @@ -244,7 +244,9 @@ public class CeremonyOfChaosEvent extends AbstractEvent 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 } } 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 // 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 // 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) { diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java index 33cf6ac3bc..0ec459e008 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/variables/AbstractVariables.java @@ -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); } /**