aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Data')
-rw-r--r--OpenSim/Data/IXAssetDataPlugin.cs47
-rw-r--r--OpenSim/Data/MySQL/MySQLXAssetData.cs27
2 files changed, 60 insertions, 14 deletions
diff --git a/OpenSim/Data/IXAssetDataPlugin.cs b/OpenSim/Data/IXAssetDataPlugin.cs
new file mode 100644
index 0000000..74ad6f4
--- /dev/null
+++ b/OpenSim/Data/IXAssetDataPlugin.cs
@@ -0,0 +1,47 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.Collections.Generic;
29using OpenMetaverse;
30using OpenSim.Framework;
31
32namespace OpenSim.Data
33{
34 /// <summary>
35 /// This interface exists to distinguish between the normal IAssetDataPlugin and the one used by XAssetService
36 /// for now.
37 /// </summary>
38 public interface IXAssetDataPlugin : IPlugin
39 {
40 AssetBase GetAsset(UUID uuid);
41 void StoreAsset(AssetBase asset);
42 bool ExistsAsset(UUID uuid);
43 List<AssetMetadata> FetchAssetMetadataSet(int start, int count);
44 void Initialise(string connect);
45 bool Delete(string id);
46 }
47} \ No newline at end of file
diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs
index 7b634e2..9a50373 100644
--- a/OpenSim/Data/MySQL/MySQLXAssetData.cs
+++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs
@@ -41,7 +41,7 @@ using OpenSim.Data;
41 41
42namespace OpenSim.Data.MySQL 42namespace OpenSim.Data.MySQL
43{ 43{
44 public class MySQLXAssetData : AssetDataBase 44 public class MySQLXAssetData : IXAssetDataPlugin
45 { 45 {
46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
47 47
@@ -61,7 +61,7 @@ namespace OpenSim.Data.MySQL
61 61
62 #region IPlugin Members 62 #region IPlugin Members
63 63
64 public override string Version { get { return "1.0.0.0"; } } 64 public string Version { get { return "1.0.0.0"; } }
65 65
66 /// <summary> 66 /// <summary>
67 /// <para>Initialises Asset interface</para> 67 /// <para>Initialises Asset interface</para>
@@ -74,7 +74,7 @@ namespace OpenSim.Data.MySQL
74 /// </para> 74 /// </para>
75 /// </summary> 75 /// </summary>
76 /// <param name="connect">connect string</param> 76 /// <param name="connect">connect string</param>
77 public override void Initialise(string connect) 77 public void Initialise(string connect)
78 { 78 {
79 m_log.ErrorFormat("[MYSQL XASSETDATA]: ***********************************************************"); 79 m_log.ErrorFormat("[MYSQL XASSETDATA]: ***********************************************************");
80 m_log.ErrorFormat("[MYSQL XASSETDATA]: ***********************************************************"); 80 m_log.ErrorFormat("[MYSQL XASSETDATA]: ***********************************************************");
@@ -96,17 +96,17 @@ namespace OpenSim.Data.MySQL
96 } 96 }
97 } 97 }
98 98
99 public override void Initialise() 99 public void Initialise()
100 { 100 {
101 throw new NotImplementedException(); 101 throw new NotImplementedException();
102 } 102 }
103 103
104 public override void Dispose() { } 104 public void Dispose() { }
105 105
106 /// <summary> 106 /// <summary>
107 /// The name of this DB provider 107 /// The name of this DB provider
108 /// </summary> 108 /// </summary>
109 override public string Name 109 public string Name
110 { 110 {
111 get { return "MySQL XAsset storage engine"; } 111 get { return "MySQL XAsset storage engine"; }
112 } 112 }
@@ -121,7 +121,7 @@ namespace OpenSim.Data.MySQL
121 /// <param name="assetID">Asset UUID to fetch</param> 121 /// <param name="assetID">Asset UUID to fetch</param>
122 /// <returns>Return the asset</returns> 122 /// <returns>Return the asset</returns>
123 /// <remarks>On failure : throw an exception and attempt to reconnect to database</remarks> 123 /// <remarks>On failure : throw an exception and attempt to reconnect to database</remarks>
124 override public AssetBase GetAsset(UUID assetID) 124 public AssetBase GetAsset(UUID assetID)
125 { 125 {
126// m_log.DebugFormat("[MYSQL XASSET DATA]: Looking for asset {0}", assetID); 126// m_log.DebugFormat("[MYSQL XASSET DATA]: Looking for asset {0}", assetID);
127 127
@@ -190,7 +190,7 @@ namespace OpenSim.Data.MySQL
190 /// </summary> 190 /// </summary>
191 /// <param name="asset">Asset UUID to create</param> 191 /// <param name="asset">Asset UUID to create</param>
192 /// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks> 192 /// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks>
193 override public bool StoreAsset(AssetBase asset) 193 public void StoreAsset(AssetBase asset)
194 { 194 {
195 lock (m_dbLock) 195 lock (m_dbLock)
196 { 196 {
@@ -265,7 +265,7 @@ namespace OpenSim.Data.MySQL
265 265
266 transaction.Rollback(); 266 transaction.Rollback();
267 267
268 return false; 268 return;
269 } 269 }
270 270
271 if (!ExistsData(dbcon, transaction, hash)) 271 if (!ExistsData(dbcon, transaction, hash))
@@ -289,7 +289,7 @@ namespace OpenSim.Data.MySQL
289 289
290 transaction.Rollback(); 290 transaction.Rollback();
291 291
292 return false; 292 return;
293 } 293 }
294 } 294 }
295 295
@@ -297,7 +297,6 @@ namespace OpenSim.Data.MySQL
297 } 297 }
298 } 298 }
299 } 299 }
300 return true;
301 } 300 }
302 301
303// private void UpdateAccessTime(AssetBase asset) 302// private void UpdateAccessTime(AssetBase asset)
@@ -381,7 +380,7 @@ namespace OpenSim.Data.MySQL
381 /// </summary> 380 /// </summary>
382 /// <param name="uuid">The asset UUID</param> 381 /// <param name="uuid">The asset UUID</param>
383 /// <returns>true if it exists, false otherwise.</returns> 382 /// <returns>true if it exists, false otherwise.</returns>
384 override public bool ExistsAsset(UUID uuid) 383 public bool ExistsAsset(UUID uuid)
385 { 384 {
386// m_log.DebugFormat("[ASSETS DB]: Checking for asset {0}", uuid); 385// m_log.DebugFormat("[ASSETS DB]: Checking for asset {0}", uuid);
387 386
@@ -427,7 +426,7 @@ namespace OpenSim.Data.MySQL
427 /// <param name="start">The number of results to discard from the total data set.</param> 426 /// <param name="start">The number of results to discard from the total data set.</param>
428 /// <param name="count">The number of rows the returned list should contain.</param> 427 /// <param name="count">The number of rows the returned list should contain.</param>
429 /// <returns>A list of AssetMetadata objects.</returns> 428 /// <returns>A list of AssetMetadata objects.</returns>
430 public override List<AssetMetadata> FetchAssetMetadataSet(int start, int count) 429 public List<AssetMetadata> FetchAssetMetadataSet(int start, int count)
431 { 430 {
432 List<AssetMetadata> retList = new List<AssetMetadata>(count); 431 List<AssetMetadata> retList = new List<AssetMetadata>(count);
433 432
@@ -472,7 +471,7 @@ namespace OpenSim.Data.MySQL
472 return retList; 471 return retList;
473 } 472 }
474 473
475 public override bool Delete(string id) 474 public bool Delete(string id)
476 { 475 {
477// m_log.DebugFormat("[XASSETS DB]: Deleting asset {0}", id); 476// m_log.DebugFormat("[XASSETS DB]: Deleting asset {0}", id);
478 477