From 91d9c33128a49995d02b29a4c1ae7d0864f106d5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 7 Apr 2024 20:28:56 +0100 Subject: [PATCH] replace some more wrong uses of dictionary containskey and other cosmetics --- OpenSim/Data/MySQL/MySQLRegionData.cs | 27 ++++++---------- OpenSim/Data/Null/NullAuthenticationData.cs | 10 ++---- OpenSim/Data/Null/NullPresenceData.cs | 20 +++++------- OpenSim/Data/Null/NullRegionData.cs | 26 ++++++--------- OpenSim/Data/Null/NullSimulationData.cs | 35 +++++---------------- OpenSim/Data/PGSQL/PGSQLRegionData.cs | 27 ++++++---------- OpenSim/Framework/AnimationSet.cs | 16 +++++----- 7 files changed, 51 insertions(+), 110 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLRegionData.cs b/OpenSim/Data/MySQL/MySQLRegionData.cs index d10fba4173..ecde8ac92a 100644 --- a/OpenSim/Data/MySQL/MySQLRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLRegionData.cs @@ -288,24 +288,15 @@ namespace OpenSim.Data.MySQL public bool Store(RegionData data) { - if (data.Data.ContainsKey("uuid")) - data.Data.Remove("uuid"); - if (data.Data.ContainsKey("ScopeID")) - data.Data.Remove("ScopeID"); - if (data.Data.ContainsKey("regionName")) - data.Data.Remove("regionName"); - if (data.Data.ContainsKey("posX")) - data.Data.Remove("posX"); - if (data.Data.ContainsKey("posY")) - data.Data.Remove("posY"); - if (data.Data.ContainsKey("sizeX")) - data.Data.Remove("sizeX"); - if (data.Data.ContainsKey("sizeY")) - data.Data.Remove("sizeY"); - if (data.Data.ContainsKey("locX")) - data.Data.Remove("locX"); - if (data.Data.ContainsKey("locY")) - data.Data.Remove("locY"); + data.Data.Remove("uuid"); + data.Data.Remove("ScopeID"); + data.Data.Remove("regionName"); + data.Data.Remove("posX"); + data.Data.Remove("posY"); + data.Data.Remove("sizeX"); + data.Data.Remove("sizeY"); + data.Data.Remove("locX"); + data.Data.Remove("locY"); if (data.RegionName.Length > 128) data.RegionName = data.RegionName.Substring(0, 128); diff --git a/OpenSim/Data/Null/NullAuthenticationData.cs b/OpenSim/Data/Null/NullAuthenticationData.cs index 620deb9786..72a0b95cc4 100644 --- a/OpenSim/Data/Null/NullAuthenticationData.cs +++ b/OpenSim/Data/Null/NullAuthenticationData.cs @@ -45,10 +45,7 @@ namespace OpenSim.Data.Null public AuthenticationData Get(UUID principalID) { - if (m_DataByUUID.ContainsKey(principalID)) - return m_DataByUUID[principalID]; - - return null; + return m_DataByUUID.TryGetValue(principalID, out AuthenticationData ad) ? ad :null; } public bool Store(AuthenticationData data) @@ -71,10 +68,7 @@ namespace OpenSim.Data.Null public bool CheckToken(UUID principalID, string token, int lifetime) { - if (m_Tokens.ContainsKey(principalID)) - return m_Tokens[principalID] == token; - - return false; + return m_Tokens.TryGetValue(principalID, out string tk) ? tk == token : false; } } } \ No newline at end of file diff --git a/OpenSim/Data/Null/NullPresenceData.cs b/OpenSim/Data/Null/NullPresenceData.cs index 8c442c9c5b..ec031fab69 100644 --- a/OpenSim/Data/Null/NullPresenceData.cs +++ b/OpenSim/Data/Null/NullPresenceData.cs @@ -71,12 +71,7 @@ namespace OpenSim.Data.Null if (Instance != this) return Instance.Get(sessionID); - if (m_presenceData.ContainsKey(sessionID)) - { - return m_presenceData[sessionID]; - } - - return null; + return m_presenceData.TryGetValue(sessionID, out PresenceData pd) ? pd : null; } public void LogoutRegionAgents(UUID regionID) @@ -101,9 +96,9 @@ namespace OpenSim.Data.Null if (Instance != this) return Instance.ReportAgent(sessionID, regionID); - if (m_presenceData.ContainsKey(sessionID)) + if (m_presenceData.TryGetValue(sessionID, out PresenceData pd)) { - m_presenceData[sessionID].RegionID = regionID; + pd.RegionID = regionID; return true; } @@ -134,13 +129,12 @@ namespace OpenSim.Data.Null } else if (field == "SessionID") { - UUID session = UUID.Zero; - if (!UUID.TryParse(data, out session)) + if (!UUID.TryParse(data, out UUID session)) return presences.ToArray(); - if (m_presenceData.ContainsKey(session)) + if (m_presenceData.TryGetValue(session, out PresenceData pd)) { - presences.Add(m_presenceData[session]); + presences.Add(pd); return presences.ToArray(); } } @@ -158,7 +152,7 @@ namespace OpenSim.Data.Null { foreach (PresenceData p in m_presenceData.Values) { - if (p.Data.ContainsKey(field) && p.Data[field] == data) + if (p.Data.TryGetValue(field, out string spd) && spd == data) presences.Add(p); } return presences.ToArray(); diff --git a/OpenSim/Data/Null/NullRegionData.cs b/OpenSim/Data/Null/NullRegionData.cs index 60d16e48d6..77ae12ff62 100644 --- a/OpenSim/Data/Null/NullRegionData.cs +++ b/OpenSim/Data/Null/NullRegionData.cs @@ -176,11 +176,8 @@ namespace OpenSim.Data.Null lock (m_regionData) { - if (m_regionData.ContainsKey(regionID)) - return m_regionData[regionID]; + return m_regionData.TryGetValue(regionID, out RegionData rd) ? rd : null; } - - return null; } public List Get(int startX, int startY, int endX, int endY, UUID scopeID) @@ -226,13 +223,13 @@ namespace OpenSim.Data.Null lock (m_regionData) { - if (!m_regionData.ContainsKey(regionID)) - return false; - - m_regionData[regionID].Data[item] = value; + if(m_regionData.TryGetValue(regionID, out RegionData rd)) + { + rd.Data[item] = value; + return true; + } + return false; } - - return true; } public bool Delete(UUID regionID) @@ -240,17 +237,12 @@ namespace OpenSim.Data.Null if (m_useStaticInstance && Instance != this) return Instance.Delete(regionID); -// m_log.DebugFormat("[NULL REGION DATA]: Deleting region {0}", regionID); + //m_log.DebugFormat("[NULL REGION DATA]: Deleting region {0}", regionID); lock (m_regionData) { - if (!m_regionData.ContainsKey(regionID)) - return false; - - m_regionData.Remove(regionID); + return m_regionData.Remove(regionID); } - - return true; } public List GetDefaultRegions(UUID scopeID) diff --git a/OpenSim/Data/Null/NullSimulationData.cs b/OpenSim/Data/Null/NullSimulationData.cs index 97e4b797f1..0744f4ae47 100644 --- a/OpenSim/Data/Null/NullSimulationData.cs +++ b/OpenSim/Data/Null/NullSimulationData.cs @@ -83,11 +83,7 @@ namespace OpenSim.Data.Null public string LoadRegionEnvironmentSettings(UUID regionUUID) { lock (EnvironmentSettings) - { - if (EnvironmentSettings.ContainsKey(regionUUID)) - return EnvironmentSettings[regionUUID]; - } - return string.Empty; + return EnvironmentSettings.TryGetValue(regionUUID, out string es) ? es : string.Empty; } public void StoreRegionEnvironmentSettings(UUID regionUUID, string settings) @@ -102,8 +98,7 @@ namespace OpenSim.Data.Null { lock (EnvironmentSettings) { - if (EnvironmentSettings.ContainsKey(regionUUID)) - EnvironmentSettings.Remove(regionUUID); + EnvironmentSettings.Remove(regionUUID); } } #endregion @@ -136,16 +131,12 @@ namespace OpenSim.Data.Null Dictionary m_bakedterrains = new Dictionary(); public void StoreTerrain(TerrainData ter, UUID regionID) { - if (m_terrains.ContainsKey(regionID)) - m_terrains.Remove(regionID); - m_terrains.Add(regionID, ter); + m_terrains[regionID] = ter; } public void StoreBakedTerrain(TerrainData ter, UUID regionID) { - if (m_bakedterrains.ContainsKey(regionID)) - m_bakedterrains.Remove(regionID); - m_bakedterrains.Add(regionID, ter); + m_bakedterrains[regionID] = ter; } // Legacy. Just don't do this. @@ -159,29 +150,17 @@ namespace OpenSim.Data.Null // Returns 'null' if region not found public double[,] LoadTerrain(UUID regionID) { - if (m_terrains.ContainsKey(regionID)) - { - return m_terrains[regionID].GetDoubles(); - } - return null; + return m_terrains.TryGetValue(regionID, out TerrainData terrData) ? terrData.GetDoubles() : null; } public TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ) { - if (m_terrains.ContainsKey(regionID)) - { - return m_terrains[regionID]; - } - return null; + return m_terrains.TryGetValue(regionID, out TerrainData terrData) ? terrData : null; } public TerrainData LoadBakedTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ) { - if (m_bakedterrains.ContainsKey(regionID)) - { - return m_bakedterrains[regionID]; - } - return null; + return m_bakedterrains.TryGetValue(regionID, out TerrainData terrData) ? terrData : null; } public void RemoveLandObject(UUID globalID) diff --git a/OpenSim/Data/PGSQL/PGSQLRegionData.cs b/OpenSim/Data/PGSQL/PGSQLRegionData.cs index 5577226c66..96a86f1cb6 100644 --- a/OpenSim/Data/PGSQL/PGSQLRegionData.cs +++ b/OpenSim/Data/PGSQL/PGSQLRegionData.cs @@ -293,24 +293,15 @@ namespace OpenSim.Data.PGSQL public bool Store(RegionData data) { - if (data.Data.ContainsKey("uuid")) - data.Data.Remove("uuid"); - if (data.Data.ContainsKey("ScopeID")) - data.Data.Remove("ScopeID"); - if (data.Data.ContainsKey("regionName")) - data.Data.Remove("regionName"); - if (data.Data.ContainsKey("posX")) - data.Data.Remove("posX"); - if (data.Data.ContainsKey("posY")) - data.Data.Remove("posY"); - if (data.Data.ContainsKey("sizeX")) - data.Data.Remove("sizeX"); - if (data.Data.ContainsKey("sizeY")) - data.Data.Remove("sizeY"); - if (data.Data.ContainsKey("locX")) - data.Data.Remove("locX"); - if (data.Data.ContainsKey("locY")) - data.Data.Remove("locY"); + data.Data.Remove("uuid"); + data.Data.Remove("ScopeID"); + data.Data.Remove("regionName"); + data.Data.Remove("posX"); + data.Data.Remove("posY"); + data.Data.Remove("sizeX"); + data.Data.Remove("sizeY"); + data.Data.Remove("locX"); + data.Data.Remove("locY"); string[] fields = new List(data.Data.Keys).ToArray(); diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index ea2ba5d346..0cc39d8fed 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs @@ -27,6 +27,7 @@ using System; using System.Collections.Generic; +using System.Text; using OpenMetaverse; namespace OpenSim.Framework @@ -127,20 +128,19 @@ namespace OpenSim.Framework Console.WriteLine("--------------------"); } + public static readonly byte[] ZeroCountBytesReply = osUTF8.GetASCIIBytes("version 1\ncount 0\n"); public Byte[] ToBytes() { // If there was an error parsing the input, we give back an // empty set rather than the original data. - if (m_parseError) - { - string dummy = "version 1\ncount 0\n"; - return System.Text.Encoding.ASCII.GetBytes(dummy); - } + if (m_parseError || m_animations.Count == 0) + return ZeroCountBytesReply; - string assetData = String.Format("version 1\ncount {0}\n", m_animations.Count); + osUTF8 sb = OSUTF8Cached.Acquire(); + sb.AppendASCII("$version 1\ncount {m_animations.Count}\n"); foreach (KeyValuePair> kvp in m_animations) - assetData += String.Format("{0} {1} {2}\n", kvp.Key, kvp.Value.Value.ToString(), kvp.Value.Key); - return System.Text.Encoding.ASCII.GetBytes(assetData); + sb.AppendASCII($"{kvp.Key} {kvp.Value.Value} {kvp.Value.Key}\n"); + return OSUTF8Cached.GetArrayAndRelease(sb); } /* public bool Validate(AnimationSetValidator val)