Fix the JsonStore path set problem justincc found earlier today and

remove the deprecated TestPath functions.
0.7.4-extended
Mic Bowman 2013-02-19 22:53:46 -08:00 committed by Justin Clark-Casey (justincc)
parent baf1af2abf
commit ee26b56cc6
4 changed files with 3 additions and 95 deletions

View File

@ -50,7 +50,6 @@ namespace OpenSim.Region.Framework.Interfaces
JsonStoreNodeType GetPathType(UUID storeID, string path); JsonStoreNodeType GetPathType(UUID storeID, string path);
bool TestStore(UUID storeID); bool TestStore(UUID storeID);
bool TestPath(UUID storeID, string path, bool useJson);
bool SetValue(UUID storeID, string path, string value, bool useJson); bool SetValue(UUID storeID, string path, string value, bool useJson);
bool RemoveValue(UUID storeID, string path); bool RemoveValue(UUID storeID, string path);

View File

@ -84,11 +84,11 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
protected static Regex m_PathComponent = new Regex("\\.({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])"); protected static Regex m_PathComponent = new Regex("\\.({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])");
// extract the internals of an array reference // extract the internals of an array reference
protected static Regex m_SimpleArrayPattern = new Regex("\\[([0-9]+)\\]"); protected static Regex m_SimpleArrayPattern = new Regex("^\\[([0-9]+)\\]$");
protected static Regex m_ArrayPattern = new Regex("\\[([0-9]+|\\+)\\]"); protected static Regex m_ArrayPattern = new Regex("^\\[([0-9]+|\\+)\\]$");
// extract the internals of a has reference // extract the internals of a has reference
protected static Regex m_HashPattern = new Regex("{([^}]+)}"); protected static Regex m_HashPattern = new Regex("^{([^}]+)}$");
// ----------------------------------------------------------------- // -----------------------------------------------------------------
/// <summary> /// <summary>
@ -153,28 +153,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
return JsonStoreNodeType.Undefined; return JsonStoreNodeType.Undefined;
} }
// -----------------------------------------------------------------
/// <summary>
///
/// </summary>
// -----------------------------------------------------------------
public bool TestPath(string expr, bool useJson)
{
Stack<string> path;
if (! ParsePathExpression(expr,out path))
return false;
OSD result = ProcessPathExpression(ValueStore,path);
if (result == null)
return false;
if (useJson || OSDBaseType(result.Type))
return true;
return false;
}
// ----------------------------------------------------------------- // -----------------------------------------------------------------
/// <summary> /// <summary>
/// ///

View File

@ -261,38 +261,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
return JsonStoreNodeType.Undefined; return JsonStoreNodeType.Undefined;
} }
// -----------------------------------------------------------------
/// <summary>
///
/// </summary>
// -----------------------------------------------------------------
public bool TestPath(UUID storeID, string path, bool useJson)
{
if (! m_enabled) return false;
JsonStore map = null;
lock (m_JsonValueStore)
{
if (! m_JsonValueStore.TryGetValue(storeID,out map))
{
m_log.InfoFormat("[JsonStore] Missing store {0}",storeID);
return false;
}
}
try
{
lock (map)
return map.TestPath(path,useJson);
}
catch (Exception e)
{
m_log.Error(string.Format("[JsonStore]: Path test failed for {0} in {1}", path, storeID), e);
}
return false;
}
// ----------------------------------------------------------------- // -----------------------------------------------------------------
/// <summary> /// <summary>
/// ///

View File

@ -168,31 +168,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
{ {
m_comms.RegisterScriptInvocations(this); m_comms.RegisterScriptInvocations(this);
m_comms.RegisterConstants(this); m_comms.RegisterConstants(this);
// m_comms.RegisterScriptInvocation(this, "JsonCreateStore");
// m_comms.RegisterScriptInvocation(this, "JsonDestroyStore");
// m_comms.RegisterScriptInvocation(this, "JsonTestStore");
// m_comms.RegisterScriptInvocation(this, "JsonReadNotecard");
// m_comms.RegisterScriptInvocation(this, "JsonWriteNotecard");
// m_comms.RegisterScriptInvocation(this, "JsonTestPathList");
// m_comms.RegisterScriptInvocation(this, "JsonTestPath");
// m_comms.RegisterScriptInvocation(this, "JsonTestPathJson");
// m_comms.RegisterScriptInvocation(this, "JsonGetValue");
// m_comms.RegisterScriptInvocation(this, "JsonGetValueJson");
// m_comms.RegisterScriptInvocation(this, "JsonTakeValue");
// m_comms.RegisterScriptInvocation(this, "JsonTakeValueJson");
// m_comms.RegisterScriptInvocation(this, "JsonReadValue");
// m_comms.RegisterScriptInvocation(this, "JsonReadValueJson");
// m_comms.RegisterScriptInvocation(this, "JsonSetValue");
// m_comms.RegisterScriptInvocation(this, "JsonSetValueJson");
// m_comms.RegisterScriptInvocation(this, "JsonRemoveValue");
} }
catch (Exception e) catch (Exception e)
{ {
@ -325,18 +300,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
return (int)m_store.GetPathType(storeID,path); return (int)m_store.GetPathType(storeID,path);
} }
[ScriptInvocation]
public int JsonTestPath(UUID hostID, UUID scriptID, UUID storeID, string path)
{
return m_store.TestPath(storeID,path,false) ? 1 : 0;
}
[ScriptInvocation]
public int JsonTestPathJson(UUID hostID, UUID scriptID, UUID storeID, string path)
{
return m_store.TestPath(storeID,path,true) ? 1 : 0;
}
// ----------------------------------------------------------------- // -----------------------------------------------------------------
/// <summary> /// <summary>
/// ///