aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Materials
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-06-27 23:14:28 +0100
committerJustin Clark-Casey (justincc)2013-06-27 23:14:28 +0100
commitf7d09b898ad6df32b3f07cb64657623980178c2f (patch)
treef7f2b1117e9843267dab89993ad6d5492c1b3cc8 /OpenSim/Region/OptionalModules/Materials
parentUpdate temporary "Unknown UserUMMTGUN2" name to "Unknown UserUMMTGUN3" to see... (diff)
downloadopensim-SC_OLD-f7d09b898ad6df32b3f07cb64657623980178c2f.zip
opensim-SC_OLD-f7d09b898ad6df32b3f07cb64657623980178c2f.tar.gz
opensim-SC_OLD-f7d09b898ad6df32b3f07cb64657623980178c2f.tar.bz2
opensim-SC_OLD-f7d09b898ad6df32b3f07cb64657623980178c2f.tar.xz
Make the concept of namespaces explicit in dynamic attributes
This is in order to reduce the likelihood of naming clashes, make it easier to filter in/out attributes, ensure uniformity, etc. All dynattrs in the opensim distro itself or likely future ones should be in the "OpenSim" namespace. This does alter the underlying dynattrs data structure. All data in previous structures may not be available, though old structures should not cause errors. This is done without notice since this feature has been explicitly labelled as experimental, subject to change and has not been in a release. However, existing materials data is being preserved by moving it to the "Materials" store in the "OpenSim" namespace.
Diffstat (limited to 'OpenSim/Region/OptionalModules/Materials')
-rw-r--r--OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs26
1 files changed, 10 insertions, 16 deletions
diff --git a/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs b/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs
index 4ab6609..5b15a73 100644
--- a/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs
+++ b/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs
@@ -178,7 +178,7 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule
178 178
179 void GetStoredMaterialsForPart(SceneObjectPart part) 179 void GetStoredMaterialsForPart(SceneObjectPart part)
180 { 180 {
181 OSDMap OSMaterials = null; 181 OSD OSMaterials = null;
182 OSDArray matsArr = null; 182 OSDArray matsArr = null;
183 183
184 if (part.DynAttrs == null) 184 if (part.DynAttrs == null)
@@ -188,23 +188,20 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule
188 188
189 lock (part.DynAttrs) 189 lock (part.DynAttrs)
190 { 190 {
191 if (part.DynAttrs.ContainsKey("OS:Materials")) 191 if (part.DynAttrs.ContainsStore("OpenSim", "Materials"))
192 OSMaterials = part.DynAttrs["OS:Materials"];
193 if (OSMaterials != null && OSMaterials.ContainsKey("Materials"))
194 { 192 {
195 193 OSDMap materialsStore = part.DynAttrs.GetStore("OpenSim", "Materials");
196 OSD osd = OSMaterials["Materials"]; 194 materialsStore.TryGetValue("Materials", out OSMaterials);
197 if (osd is OSDArray)
198 matsArr = osd as OSDArray;
199 } 195 }
200 }
201 196
202 if (OSMaterials == null) 197 if (OSMaterials != null && OSMaterials is OSDArray)
203 return; 198 matsArr = OSMaterials as OSDArray;
199 else
200 return;
201 }
204 202
205 m_log.Info("[MaterialsDemoModule]: OSMaterials: " + OSDParser.SerializeJsonString(OSMaterials)); 203 m_log.Info("[MaterialsDemoModule]: OSMaterials: " + OSDParser.SerializeJsonString(OSMaterials));
206 204
207
208 if (matsArr == null) 205 if (matsArr == null)
209 { 206 {
210 m_log.Info("[MaterialsDemoModule]: matsArr is null :( "); 207 m_log.Info("[MaterialsDemoModule]: matsArr is null :( ");
@@ -215,7 +212,6 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule
215 { 212 {
216 if (elemOsd != null && elemOsd is OSDMap) 213 if (elemOsd != null && elemOsd is OSDMap)
217 { 214 {
218
219 OSDMap matMap = elemOsd as OSDMap; 215 OSDMap matMap = elemOsd as OSDMap;
220 if (matMap.ContainsKey("ID") && matMap.ContainsKey("Material")) 216 if (matMap.ContainsKey("ID") && matMap.ContainsKey("Material"))
221 { 217 {
@@ -232,7 +228,6 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule
232 } 228 }
233 } 229 }
234 230
235
236 void StoreMaterialsForPart(SceneObjectPart part) 231 void StoreMaterialsForPart(SceneObjectPart part)
237 { 232 {
238 try 233 try
@@ -277,7 +272,7 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule
277 OSMaterials["Materials"] = matsArr; 272 OSMaterials["Materials"] = matsArr;
278 273
279 lock (part.DynAttrs) 274 lock (part.DynAttrs)
280 part.DynAttrs["OS:Materials"] = OSMaterials; 275 part.DynAttrs.SetStore("OpenSim", "Materials", OSMaterials);
281 } 276 }
282 catch (Exception e) 277 catch (Exception e)
283 { 278 {
@@ -285,7 +280,6 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule
285 } 280 }
286 } 281 }
287 282
288
289 public string RenderMaterialsPostCap(string request, string path, 283 public string RenderMaterialsPostCap(string request, string path,
290 string param, IOSHttpRequest httpRequest, 284 string param, IOSHttpRequest httpRequest,
291 IOSHttpResponse httpResponse) 285 IOSHttpResponse httpResponse)