changing around types a bit to make stuff more readable for

me.
0.6.0-stable
Sean Dague 2008-04-09 13:43:35 +00:00
parent ea16221c1b
commit 750291447e
5 changed files with 48 additions and 46 deletions

View File

@ -99,8 +99,9 @@ namespace OpenSim.Data.NHibernate
{ {
using(ISession session = factory.OpenSession()) { using(ISession session = factory.OpenSession()) {
try { try {
return session.Load(typeof(InventoryItemBase), item.ToString()) as InventoryItemBase; return session.Load(typeof(InventoryItemBase), item) as InventoryItemBase;
} catch { } catch {
m_log.ErrorFormat("Couldn't find inventory item: {0}", item);
return null; return null;
} }
} }
@ -151,7 +152,7 @@ namespace OpenSim.Data.NHibernate
{ {
using(ISession session = factory.OpenSession()) { using(ISession session = factory.OpenSession()) {
using(ITransaction transaction = session.BeginTransaction()) { using(ITransaction transaction = session.BeginTransaction()) {
session.Delete(itemID.ToString()); session.Delete(itemID);
transaction.Commit(); transaction.Commit();
} }
} }
@ -167,8 +168,9 @@ namespace OpenSim.Data.NHibernate
{ {
using(ISession session = factory.OpenSession()) { using(ISession session = factory.OpenSession()) {
try { try {
return session.Load(typeof(InventoryFolderBase), folder.ToString()) as InventoryFolderBase; return session.Load(typeof(InventoryFolderBase), folder) as InventoryFolderBase;
} catch { } catch {
m_log.ErrorFormat("Couldn't find inventory item: {0}", folder);
return null; return null;
} }
} }
@ -296,8 +298,8 @@ namespace OpenSim.Data.NHibernate
{ {
using(ISession session = factory.OpenSession()) { using(ISession session = factory.OpenSession()) {
try { try {
IQuery query = session.CreateQuery("from InventoryItems i where i.parentFolderID = :parent"); IQuery query = session.CreateQuery("from InventoryItems i where i.Folder = :folder");
query.SetString("parent", folderID.ToString()); query.SetString("folder", folderID.ToString());
List<InventoryItemBase> list = new List<InventoryItemBase>(); List<InventoryItemBase> list = new List<InventoryItemBase>();
foreach (InventoryItemBase item in query.List()) foreach (InventoryItemBase item in query.List())
{ {
@ -318,21 +320,21 @@ namespace OpenSim.Data.NHibernate
// see InventoryItemBase.getUserRootFolder // see InventoryItemBase.getUserRootFolder
public InventoryFolderBase getUserRootFolder(LLUUID user) public InventoryFolderBase getUserRootFolder(LLUUID user)
{ {
// using(ISession session = factory.OpenSession()) { using(ISession session = factory.OpenSession()) {
// try { try {
// IQuery query = session.CreateQuery("from InventoryItems i where i.parentFolderID = :parent"); IQuery query = session.CreateQuery("from InventoryFolders i where i.ParentID = :parent and i.Owner = :owner");
// query.SetString("parent", folderID.ToString()); query.SetParameter("parent", LLUUID.Zero, NHibernateUtil.Custom(typeof(LLUUIDUserType)));
// List<InventoryItemBase> list = new List<InventoryItemBase>(); query.SetParameter("owner", user, NHibernateUtil.Custom(typeof(LLUUIDUserType)));
// foreach (InventoryItemBase item in query.List()) foreach (InventoryFolderBase folder in query.List())
// { {
// list.Add(item); return folder;
// } }
// return list; m_log.ErrorFormat("No Inventory Root Folder Found for: {0}", user);
// } catch { return new InventoryFolderBase();
// return new List<InventoryItemBase>(); } catch {
// } return new InventoryFolderBase();
// } }
return new InventoryFolderBase(); }
} }
/// <summary> /// <summary>
@ -340,19 +342,19 @@ namespace OpenSim.Data.NHibernate
/// </summary> /// </summary>
/// <param name="folders">list where folders will be appended</param> /// <param name="folders">list where folders will be appended</param>
/// <param name="parentID">ID of parent</param> /// <param name="parentID">ID of parent</param>
protected void getInventoryFolders(ref List<InventoryFolderBase> folders, LLUUID parentID) private void getInventoryFolders(ref List<InventoryFolderBase> folders, LLUUID parentID)
{ {
using(ISession session = factory.OpenSession()) { using(ISession session = factory.OpenSession()) {
try { // try {
IQuery query = session.CreateQuery("from InventoryFolders i where i.parentFolderID = :parent"); IQuery query = session.CreateQuery("from InventoryFolders i where i.ParentID = :parent");
query.SetString("parent", parentID.ToString()); query.SetParameter("parent", parentID, NHibernateUtil.Custom(typeof(LLUUIDUserType)));
foreach (InventoryFolderBase item in query.List()) foreach (InventoryFolderBase item in query.List())
{ {
folders.Add(item); folders.Add(item);
} }
} catch { // } catch {
// m_log.ErrorFormat("Can't run getInventoryFolders for Folder ID: {0}", parentID);
} // }
} }
} }
@ -364,7 +366,7 @@ namespace OpenSim.Data.NHibernate
public List<InventoryFolderBase> getInventoryFolders(LLUUID parentID) public List<InventoryFolderBase> getInventoryFolders(LLUUID parentID)
{ {
List<InventoryFolderBase> folders = new List<InventoryFolderBase>(); List<InventoryFolderBase> folders = new List<InventoryFolderBase>();
getInventoryFolders(ref folders, Util.ToRawUuidString(parentID)); getInventoryFolders(ref folders, parentID);
return folders; return folders;
} }
@ -372,11 +374,11 @@ namespace OpenSim.Data.NHibernate
public List<InventoryFolderBase> getFolderHierarchy(LLUUID parentID) public List<InventoryFolderBase> getFolderHierarchy(LLUUID parentID)
{ {
List<InventoryFolderBase> folders = new List<InventoryFolderBase>(); List<InventoryFolderBase> folders = new List<InventoryFolderBase>();
getInventoryFolders(ref folders, Util.ToRawUuidString(parentID)); getInventoryFolders(ref folders, parentID);
for (int i = 0; i < folders.Count; i++) for (int i = 0; i < folders.Count; i++)
getInventoryFolders(ref folders, Util.ToRawUuidString(folders[i].ID)); getInventoryFolders(ref folders, folders[i].ID);
return folders; return folders;
} }
} }

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="OpenSim.Framework.AssetBase, OpenSim.Framework" table="Assets" lazy="false"> <class name="OpenSim.Framework.AssetBase, OpenSim.Framework" table="Assets" lazy="false">
<id name="FullID" column="UUID" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate"> <id name="FullID" column="UUID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
<generator class="assigned" /> <generator class="assigned" />
</id> </id>
<property name="Type" type="SByte" /> <property name="Type" type="SByte" />

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="OpenSim.Framework.InventoryFolderBase, OpenSim.Framework" table="InventoryFolders" lazy="false"> <class name="OpenSim.Framework.InventoryFolderBase, OpenSim.Framework" table="InventoryFolders" lazy="false">
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate"> <id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
<generator class="assigned" /> <generator class="assigned" />
</id> </id>
<property name="Type" type="short" /> <property name="Type" type="short" />
<property name="Version" type="short" /> <property name="Version" type="short" />
<property name="ParentID" index="folder_parent_id" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate" /> <property name="ParentID" index="folder_parent_id" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
<property name="Owner" index="folder_owner_id" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate" /> <property name="Owner" index="folder_owner_id" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
<property name="Name" type="String" length="64" /> <property name="Name" type="String" length="64" />
</class> </class>
</hibernate-mapping> </hibernate-mapping>

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="OpenSim.Framework.InventoryItemBase, OpenSim.Framework" table="InventoryItems" lazy="false"> <class name="OpenSim.Framework.InventoryItemBase, OpenSim.Framework" table="InventoryItems" lazy="false">
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate"> <id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
<generator class="assigned" /> <generator class="assigned" />
</id> </id>
<property name="InvType" type="int" /> <property name="InvType" type="int" />
<property name="AssetType" type="int" /> <property name="AssetType" type="int" />
<property name="AssetID" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate" /> <property name="AssetID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
<property name="Folder" index="item_folder_id" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate" /> <property name="Folder" index="item_folder_id" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
<property name="Owner" index="item_owner_id" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate" /> <property name="Owner" index="item_owner_id" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
<property name="Creator" type="OpenSim.Data.NHibernate.LLUUIDString, OpenSim.Data.NHibernate" /> <property name="Creator" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
<property name="Name" type="String" length="64" /> <property name="Name" type="String" length="64" />
<property name="Description" type="String" length="64" /> <property name="Description" type="String" length="64" />
<property name="NextPermissions" type="UInt32" /> <property name="NextPermissions" type="UInt32" />

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Data; using System.Data;
using NHibernate;
using NHibernate.SqlTypes; using NHibernate.SqlTypes;
using NHibernate.UserTypes; using NHibernate.UserTypes;
using libsecondlife; using libsecondlife;
@ -7,14 +8,14 @@ using libsecondlife;
namespace OpenSim.Data.NHibernate namespace OpenSim.Data.NHibernate
{ {
[Serializable] [Serializable]
public class LLUUIDString : IUserType public class LLUUIDUserType: IUserType
{ {
public object Assemble(object cached, object owner) public object Assemble(object cached, object owner)
{ {
return cached; return cached;
} }
bool IUserType.Equals(object uuid1, object uuid2) public bool IUserType.Equals(object uuid1, object uuid2)
{ {
return uuid1.Equals(uuid2); return uuid1.Equals(uuid2);
} }
@ -55,9 +56,8 @@ namespace OpenSim.Data.NHibernate
public void NullSafeSet(System.Data.IDbCommand cmd, object obj, int index) public void NullSafeSet(System.Data.IDbCommand cmd, object obj, int index)
{ {
LLUUID UUID = (LLUUID)obj; LLUUID uuid = (LLUUID)obj;
((IDataParameter)cmd.Parameters[index]).Value = UUID.ToString(); ((IDataParameter)cmd.Parameters[index]).Value = uuid.ToString();
System.Console.WriteLine("Setting UUID {0}", UUID.ToString());
} }
public object Replace(object original, object target, object owner) public object Replace(object original, object target, object owner)
@ -72,7 +72,7 @@ namespace OpenSim.Data.NHibernate
public SqlType[] SqlTypes public SqlType[] SqlTypes
{ {
get { return new SqlType [] { SqlTypeFactory.GetString(32) }; } get { return new SqlType [] { NHibernateUtil.String.SqlType }; }
} }
} }
} }