chugging away on nhibernate, more incremental process
parent
7a9922af27
commit
d1d846f23f
|
@ -91,8 +91,9 @@ namespace OpenSim.Data.NHibernate
|
||||||
{
|
{
|
||||||
user = session.Load(typeof(UserProfileData), uuid) as UserProfileData;
|
user = session.Load(typeof(UserProfileData), uuid) as UserProfileData;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (ObjectNotFoundException e)
|
||||||
{
|
{
|
||||||
|
user = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (user != null);
|
return (user != null);
|
||||||
|
@ -102,8 +103,15 @@ namespace OpenSim.Data.NHibernate
|
||||||
{
|
{
|
||||||
UserProfileData user;
|
UserProfileData user;
|
||||||
// TODO: I'm sure I'll have to do something silly here
|
// TODO: I'm sure I'll have to do something silly here
|
||||||
user = session.Load(typeof(UserProfileData), uuid) as UserProfileData;
|
try
|
||||||
user.CurrentAgent = GetAgentByUUID(uuid);
|
{
|
||||||
|
user = session.Load(typeof(UserProfileData), uuid) as UserProfileData;
|
||||||
|
user.CurrentAgent = GetAgentByUUID(uuid);
|
||||||
|
}
|
||||||
|
catch (ObjectNotFoundException e)
|
||||||
|
{
|
||||||
|
user = null;
|
||||||
|
}
|
||||||
|
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
@ -114,8 +122,6 @@ namespace OpenSim.Data.NHibernate
|
||||||
{
|
{
|
||||||
session.Save(profile);
|
session.Save(profile);
|
||||||
SetAgentData(profile.ID, profile.CurrentAgent);
|
SetAgentData(profile.ID, profile.CurrentAgent);
|
||||||
// TODO: save agent
|
|
||||||
session.Transaction.Commit();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -132,12 +138,14 @@ namespace OpenSim.Data.NHibernate
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UserAgentData old = session.Load(typeof(UserAgentData), uuid) as UserAgentData;
|
try
|
||||||
if (old != null)
|
|
||||||
{
|
{
|
||||||
|
UserAgentData old = session.Load(typeof(UserAgentData), uuid) as UserAgentData;
|
||||||
session.Delete(old);
|
session.Delete(old);
|
||||||
}
|
}
|
||||||
|
catch (ObjectNotFoundException e)
|
||||||
|
{
|
||||||
|
}
|
||||||
session.Save(agent);
|
session.Save(agent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,7 +156,6 @@ namespace OpenSim.Data.NHibernate
|
||||||
{
|
{
|
||||||
session.Update(profile);
|
session.Update(profile);
|
||||||
SetAgentData(profile.ID, profile.CurrentAgent);
|
SetAgentData(profile.ID, profile.CurrentAgent);
|
||||||
session.Transaction.Commit();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -161,23 +168,20 @@ namespace OpenSim.Data.NHibernate
|
||||||
|
|
||||||
override public void AddNewUserAgent(UserAgentData agent)
|
override public void AddNewUserAgent(UserAgentData agent)
|
||||||
{
|
{
|
||||||
UserAgentData old = session.Load(typeof(UserAgentData), agent.ProfileID) as UserAgentData;
|
try
|
||||||
|
|
||||||
if (old == null)
|
|
||||||
{
|
{
|
||||||
session.Save(agent);
|
UserAgentData old = session.Load(typeof(UserAgentData), agent.ProfileID) as UserAgentData;
|
||||||
session.Transaction.Commit();
|
session.Delete(old);
|
||||||
}
|
}
|
||||||
else
|
catch (ObjectNotFoundException e)
|
||||||
{
|
{
|
||||||
UpdateUserAgent(agent);
|
|
||||||
}
|
}
|
||||||
|
session.Save(agent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateUserAgent(UserAgentData agent)
|
public void UpdateUserAgent(UserAgentData agent)
|
||||||
{
|
{
|
||||||
session.Update(agent);
|
session.Update(agent);
|
||||||
session.Transaction.Commit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override public UserAgentData GetAgentByUUID(LLUUID uuid)
|
override public UserAgentData GetAgentByUUID(LLUUID uuid)
|
||||||
|
@ -254,16 +258,22 @@ namespace OpenSim.Data.NHibernate
|
||||||
{
|
{
|
||||||
AvatarAppearance appearance;
|
AvatarAppearance appearance;
|
||||||
// TODO: I'm sure I'll have to do something silly here
|
// TODO: I'm sure I'll have to do something silly here
|
||||||
appearance = session.Load(typeof(AvatarAppearance), user) as AvatarAppearance;
|
try {
|
||||||
|
appearance = session.Load(typeof(AvatarAppearance), user) as AvatarAppearance;
|
||||||
|
} catch (ObjectNotFoundException e) {
|
||||||
|
appearance = null;
|
||||||
|
}
|
||||||
return appearance;
|
return appearance;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool ExistsAppearance(LLUUID uuid)
|
private bool ExistsAppearance(LLUUID uuid)
|
||||||
{
|
{
|
||||||
AvatarAppearance appearance;
|
AvatarAppearance appearance;
|
||||||
|
try {
|
||||||
appearance = session.Load(typeof(AvatarAppearance), uuid) as AvatarAppearance;
|
appearance = session.Load(typeof(AvatarAppearance), uuid) as AvatarAppearance;
|
||||||
|
} catch (ObjectNotFoundException e) {
|
||||||
|
appearance = null;
|
||||||
|
}
|
||||||
|
|
||||||
return (appearance == null) ? false : true;
|
return (appearance == null) ? false : true;
|
||||||
}
|
}
|
||||||
|
@ -271,19 +281,17 @@ namespace OpenSim.Data.NHibernate
|
||||||
|
|
||||||
public override void UpdateUserAppearance(LLUUID user, AvatarAppearance appearance)
|
public override void UpdateUserAppearance(LLUUID user, AvatarAppearance appearance)
|
||||||
{
|
{
|
||||||
bool exists = ExistsAppearance(user);
|
if (appearance == null)
|
||||||
|
return;
|
||||||
|
|
||||||
using (ITransaction transaction = session.BeginTransaction())
|
bool exists = ExistsAppearance(user);
|
||||||
|
if (exists)
|
||||||
{
|
{
|
||||||
if (exists)
|
session.Update(appearance);
|
||||||
{
|
}
|
||||||
session.Update(appearance);
|
else
|
||||||
}
|
{
|
||||||
else
|
session.Save(appearance);
|
||||||
{
|
|
||||||
session.Save(appearance);
|
|
||||||
}
|
|
||||||
transaction.Commit();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?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="true">
|
<class name="OpenSim.Framework.AssetBase, OpenSim.Framework" table="Assets" lazy="false">
|
||||||
<id name="FullID" column="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
<id name="FullID" column="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
||||||
<generator class="assigned" />
|
<generator class="assigned" />
|
||||||
</id>
|
</id>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?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="true">
|
<class name="OpenSim.Framework.InventoryFolderBase, OpenSim.Framework" table="InventoryFolders" lazy="false">
|
||||||
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
||||||
<generator class="assigned" />
|
<generator class="assigned" />
|
||||||
</id>
|
</id>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?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="true">
|
<class name="OpenSim.Framework.InventoryItemBase, OpenSim.Framework" table="InventoryItems" lazy="false">
|
||||||
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
||||||
<generator class="assigned" />
|
<generator class="assigned" />
|
||||||
</id>
|
</id>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?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.UserAgentData, OpenSim.Framework" table="UserAgents" lazy="true">
|
<class name="OpenSim.Framework.UserAgentData, OpenSim.Framework" table="UserAgents" lazy="false">
|
||||||
<id name="ProfileID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
<id name="ProfileID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
||||||
<generator class="assigned" />
|
<generator class="assigned" />
|
||||||
</id>
|
</id>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?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.AvatarAppearance, OpenSim.Framework" table="UserAppearances" lazy="true">
|
<class name="OpenSim.Framework.AvatarAppearance, OpenSim.Framework" table="UserAppearances" lazy="false">
|
||||||
<id name="Owner" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
<id name="Owner" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
||||||
<generator class="assigned" />
|
<generator class="assigned" />
|
||||||
</id>
|
</id>
|
||||||
|
@ -30,8 +30,8 @@
|
||||||
<property name="UnderPantsAsset" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
|
<property name="UnderPantsAsset" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
|
||||||
<property name="SkirtItem" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
|
<property name="SkirtItem" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
|
||||||
<property name="SkirtAsset" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
|
<property name="SkirtAsset" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate" />
|
||||||
<property name="Texture" type="binary" />
|
<property name="Texture" type="Binary" />
|
||||||
<property name="VisualParams" type="binary" />
|
<property name="VisualParams" type="Binary" />
|
||||||
<property name="Serial" type="int" />
|
<property name="Serial" type="Int32" />
|
||||||
</class>
|
</class>
|
||||||
</hibernate-mapping>
|
</hibernate-mapping>
|
|
@ -1,6 +1,6 @@
|
||||||
<?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.UserProfileData, OpenSim.Framework" table="UserProfiles" lazy="true">
|
<class name="OpenSim.Framework.UserProfileData, OpenSim.Framework" table="UserProfiles" lazy="false">
|
||||||
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
<id name="ID" type="OpenSim.Data.NHibernate.LLUUIDUserType, OpenSim.Data.NHibernate">
|
||||||
<generator class="assigned" />
|
<generator class="assigned" />
|
||||||
</id>
|
</id>
|
||||||
|
|
Loading…
Reference in New Issue