From 5fc9fe70af3c076492a537c8456a14b9f8cfa485 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Tue, 6 Apr 2010 19:38:01 -0700
Subject: Added NullInventoryData for unit tests and quick try-outs of the
services in 64-bit machines (no SQLite).
---
OpenSim/Data/Null/NullInventoryData.cs | 193 +++++++++++++++++++++++++++++++++
1 file changed, 193 insertions(+)
create mode 100644 OpenSim/Data/Null/NullInventoryData.cs
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/Null/NullInventoryData.cs b/OpenSim/Data/Null/NullInventoryData.cs
new file mode 100644
index 0000000..8f196e2
--- /dev/null
+++ b/OpenSim/Data/Null/NullInventoryData.cs
@@ -0,0 +1,193 @@
+using System;
+using System.Collections.Generic;
+
+using OpenMetaverse;
+using OpenSim.Framework;
+
+namespace OpenSim.Data.Null
+{
+ ///
+ /// This class is completely null.
+ ///
+ public class NullInventoryData : IInventoryDataPlugin
+ {
+ public string Version { get { return "1.0.0.0"; } }
+
+ public void Initialise()
+ {
+ }
+
+ public void Dispose()
+ {
+ // Do nothing.
+ }
+
+ public string Name
+ {
+ get { return "Null Inventory Data Interface"; }
+ }
+
+ public void Initialise(string connect)
+ {
+ }
+
+
+ ///
+ /// Returns all descendent folders of this folder. Does not return the parent folder itself.
+ ///
+ /// The folder to get subfolders for
+ /// A list of inventory folders
+ public List getFolderHierarchy(UUID parentID)
+ {
+ return new List();
+ }
+
+ ///
+ /// Returns a list of inventory items contained within the specified folder
+ ///
+ /// The UUID of the target folder
+ /// A List of InventoryItemBase items
+ public List getInventoryInFolder(UUID folderID)
+ {
+ return new List();
+ }
+
+ ///
+ /// Returns a list of the root folders within a users inventory
+ ///
+ /// The user whos inventory is to be searched
+ /// A list of folder objects
+ public List getUserRootFolders(UUID user)
+ {
+ return new List();
+ }
+
+ ///
+ /// Returns the users inventory root folder.
+ ///
+ /// The UUID of the user who is having inventory being returned
+ /// Root inventory folder, null if no root inventory folder was found
+ public InventoryFolderBase getUserRootFolder(UUID user)
+ {
+ return null;
+ }
+
+ ///
+ /// Returns a list of inventory folders contained in the folder 'parentID'
+ ///
+ /// The folder to get subfolders for
+ /// A list of inventory folders
+ public List getInventoryFolders(UUID parentID)
+ {
+ return new List();
+ }
+
+ ///
+ /// Returns an inventory item by its UUID
+ ///
+ /// The UUID of the item to be returned
+ /// A class containing item information
+ public InventoryItemBase getInventoryItem(UUID item)
+ {
+ return null;
+ }
+
+ ///
+ /// Returns a specified inventory folder by its UUID
+ ///
+ /// The UUID of the folder to be returned
+ /// A class containing folder information
+ public InventoryFolderBase getInventoryFolder(UUID folder)
+ {
+ return null;
+ }
+
+ ///
+ /// Creates a new inventory item based on item
+ ///
+ /// The item to be created
+ public void addInventoryItem(InventoryItemBase item)
+ {
+ }
+
+ ///
+ /// Updates an inventory item with item (updates based on ID)
+ ///
+ /// The updated item
+ public void updateInventoryItem(InventoryItemBase item)
+ {
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public void deleteInventoryItem(UUID item)
+ {
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public InventoryItemBase queryInventoryItem(UUID item)
+ {
+ return null;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public InventoryFolderBase queryInventoryFolder(UUID folder)
+ {
+ return null;
+ }
+
+ ///
+ /// Adds a new folder specified by folder
+ ///
+ /// The inventory folder
+ public void addInventoryFolder(InventoryFolderBase folder)
+ {
+ }
+
+ ///
+ /// Updates a folder based on its ID with folder
+ ///
+ /// The inventory folder
+ public void updateInventoryFolder(InventoryFolderBase folder)
+ {
+ }
+
+ ///
+ /// Updates a folder based on its ID with folder
+ ///
+ /// The inventory folder
+ public void moveInventoryFolder(InventoryFolderBase folder)
+ {
+ }
+
+ ///
+ /// Deletes a folder. Thie will delete both the folder itself and its contents (items and descendent folders)
+ ///
+ /// The id of the folder
+ public void deleteInventoryFolder(UUID folder)
+ {
+ }
+
+ ///
+ /// Returns all activated gesture-items in the inventory of the specified avatar.
+ ///
+ ///
+ /// The of the avatar
+ ///
+ ///
+ /// The list of gestures (s)
+ ///
+ public List fetchActiveGestures(UUID avatarID)
+ {
+ return new List();
+ }
+ }
+}
--
cgit v1.1
From e0f8362e7a24a842a569b692652bc18784a2248b Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Apr 2010 22:31:11 +0100
Subject: minor: add some documentation around the asset udp request path and
replace some magic numbers with libomv enums
---
OpenSim/Data/SQLite/SQLiteAssetData.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/SQLite/SQLiteAssetData.cs b/OpenSim/Data/SQLite/SQLiteAssetData.cs
index ace40e5..a032670 100644
--- a/OpenSim/Data/SQLite/SQLiteAssetData.cs
+++ b/OpenSim/Data/SQLite/SQLiteAssetData.cs
@@ -137,7 +137,7 @@ namespace OpenSim.Data.SQLite
cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local));
cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary));
cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data));
-
+
cmd.ExecuteNonQuery();
}
}
--
cgit v1.1
From b3e9dd4fc26d772ba61a0751347caf1daf2dd39f Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Fri, 16 Apr 2010 15:10:57 -0700
Subject: Bug fix in SQLite/SQLiteUserAccountData.cs: Missing'(' in one of the
SQL statements.
---
OpenSim/Data/SQLite/SQLiteUserAccountData.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/SQLite/SQLiteUserAccountData.cs b/OpenSim/Data/SQLite/SQLiteUserAccountData.cs
index 50e8c23..67cf716 100644
--- a/OpenSim/Data/SQLite/SQLiteUserAccountData.cs
+++ b/OpenSim/Data/SQLite/SQLiteUserAccountData.cs
@@ -66,7 +66,7 @@ namespace OpenSim.Data.SQLite
if (words.Length == 1)
{
- cmd.CommandText = String.Format("select * from {0} where ScopeID='{1}' or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like '{2}%' or LastName like '{2}%')",
+ cmd.CommandText = String.Format("select * from {0} where (ScopeID='{1}' or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like '{2}%' or LastName like '{2}%')",
m_Realm, scopeID.ToString(), words[0]);
}
else
--
cgit v1.1
From 930d3745256ced37afb2d91817eba941d06a50b0 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Fri, 16 Apr 2010 16:36:44 -0700
Subject: Expose Delete at IUserAccountData interface. It was there already. No
changes in IUserAccountService, just the data layer.
---
OpenSim/Data/IUserAccountData.cs | 1 +
OpenSim/Data/Null/NullUserAccountData.cs | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/IUserAccountData.cs b/OpenSim/Data/IUserAccountData.cs
index 6ee5995..906ba6c 100644
--- a/OpenSim/Data/IUserAccountData.cs
+++ b/OpenSim/Data/IUserAccountData.cs
@@ -48,6 +48,7 @@ namespace OpenSim.Data
{
UserAccountData[] Get(string[] fields, string[] values);
bool Store(UserAccountData data);
+ bool Delete(string field, string val);
UserAccountData[] GetUsers(UUID scopeID, string query);
}
}
diff --git a/OpenSim/Data/Null/NullUserAccountData.cs b/OpenSim/Data/Null/NullUserAccountData.cs
index fc2c5d5..9eb94e6 100644
--- a/OpenSim/Data/Null/NullUserAccountData.cs
+++ b/OpenSim/Data/Null/NullUserAccountData.cs
@@ -135,5 +135,26 @@ namespace OpenSim.Data.Null
return result;
}
+ public bool Delete(string field, string val)
+ {
+ // Only delete by PrincipalID
+ if (field.Equals("PrincipalID"))
+ {
+ UUID uuid = UUID.Zero;
+ if (UUID.TryParse(val, out uuid) && m_DataByUUID.ContainsKey(uuid))
+ {
+ UserAccountData account = m_DataByUUID[uuid];
+ m_DataByUUID.Remove(uuid);
+ if (m_DataByName.ContainsKey(account.FirstName + " " + account.LastName))
+ m_DataByName.Remove(account.FirstName + " " + account.LastName);
+ if (account.Data.ContainsKey("Email") && account.Data["Email"] != string.Empty && m_DataByEmail.ContainsKey(account.Data["Email"]))
+ m_DataByEmail.Remove(account.Data["Email"]);
+
+ return true;
+ }
+ }
+
+ return false;
+ }
}
}
--
cgit v1.1
From 2597a3406c10de6898f1a66e469c3656aa294f43 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Fri, 16 Apr 2010 17:43:15 -0700
Subject: Bug fix: UserAccounts in SQLite was missing the primary key
constraint.
---
OpenSim/Data/SQLite/Resources/001_UserAccount.sql | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/SQLite/Resources/001_UserAccount.sql b/OpenSim/Data/SQLite/Resources/001_UserAccount.sql
index f9bf24c..c38d9a7 100644
--- a/OpenSim/Data/SQLite/Resources/001_UserAccount.sql
+++ b/OpenSim/Data/SQLite/Resources/001_UserAccount.sql
@@ -2,7 +2,7 @@
-- useraccounts table
CREATE TABLE UserAccounts (
- PrincipalID CHAR(36) NOT NULL,
+ PrincipalID CHAR(36) primary key,
ScopeID CHAR(36) NOT NULL,
FirstName VARCHAR(64) NOT NULL,
LastName VARCHAR(64) NOT NULL,
--
cgit v1.1
From 4e1cbd1bf3f2a7d4e3dd8861e196820f35cddec9 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Fri, 16 Apr 2010 18:04:20 -0700
Subject: One more bug fix in sqlite sql statements.
---
OpenSim/Data/SQLite/SQLiteAuthenticationData.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/SQLite/SQLiteAuthenticationData.cs b/OpenSim/Data/SQLite/SQLiteAuthenticationData.cs
index 2c28375..aa10734 100644
--- a/OpenSim/Data/SQLite/SQLiteAuthenticationData.cs
+++ b/OpenSim/Data/SQLite/SQLiteAuthenticationData.cs
@@ -235,7 +235,7 @@ namespace OpenSim.Data.SQLite
if (System.Environment.TickCount - m_LastExpire > 30000)
DoExpire();
- SqliteCommand cmd = new SqliteCommand("update tokens set validity = datetime('now, 'localtime', '+" + lifetime.ToString() +
+ SqliteCommand cmd = new SqliteCommand("update tokens set validity = datetime('now', 'localtime', '+" + lifetime.ToString() +
" minutes') where UUID = '" + principalID.ToString() + "' and token = '" + token + "' and validity > datetime('now', 'localtime')");
if (ExecuteNonQuery(cmd, m_Connection) > 0)
--
cgit v1.1