[folks] Migrate NoteDetails to AbstractFieldDetails.id
- From: Travis Reitter <treitter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [folks] Migrate NoteDetails to AbstractFieldDetails.id
- Date: Mon, 24 Oct 2011 19:18:57 +0000 (UTC)
commit 35e99dc1a1d2f1f5d60e14b321ba8ed10b829a1b
Author: Travis Reitter <travis reitter collabora co uk>
Date: Thu Oct 20 10:23:51 2011 -0700
Migrate NoteDetails to AbstractFieldDetails.id
Deprecate NoteFieldDetails.uid in favor of AbstractFieldDetails.id
NoteFieldDetails.equal() now ignores NoteFieldDetails.uid
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
NEWS | 2 ++
folks/note-details.vala | 27 +++++++++++++++++++--------
tests/tracker/note-details-interface.vala | 20 ++++++++++++++++++--
3 files changed, 39 insertions(+), 10 deletions(-)
---
diff --git a/NEWS b/NEWS
index 24e5d8d..020a38a 100644
--- a/NEWS
+++ b/NEWS
@@ -6,9 +6,11 @@ Bugs fixed:
API changes:
* Add AbstractFieldDetails.id to identify instances of details
* Deprecate PostalAddress.uid in favor of AbstractFieldDetails.id
+* Deprecate NoteFieldDetails.uid in favor of AbstractFieldDetails.id
Behavior changes:
* PostalAddress.equal() now ignores PostalAddress.uid
+* NoteFieldDetails.equal() now ignores NoteFieldDetails.uid
Overview of changes from libfolks 0.6.4 to libfolks 0.6.4.1
=============================================================
diff --git a/folks/note-details.vala b/folks/note-details.vala
index 80c27d3..0c42389 100644
--- a/folks/note-details.vala
+++ b/folks/note-details.vala
@@ -33,15 +33,24 @@ using GLib;
*/
public class Folks.NoteFieldDetails : AbstractFieldDetails<string>
{
- /* FIXME: deprecate this */
- private string _uid;
+ private string _id;
+ /**
+ * { inheritDoc}
+ */
+ public override string id
+ {
+ get { return this._id; }
+ set { this._id = (value != null ? value : ""); }
+ }
+
/**
* The UID of the note (if any).
*/
+ [Deprecated (since = "UNRELEASED", replacement = "AbstractFieldDetails.id")]
public string uid
{
- get { return _uid; }
- set { _uid = (value != null ? value : ""); }
+ get { return this.id; }
+ set { this.id = value; }
}
/**
@@ -63,7 +72,9 @@ public class Folks.NoteFieldDetails : AbstractFieldDetails<string>
this.value = value;
if (parameters != null)
this.parameters = parameters;
- this.uid = uid;
+
+ /* These are kept the same value now */
+ this.id = uid;
}
/**
@@ -80,7 +91,7 @@ public class Folks.NoteFieldDetails : AbstractFieldDetails<string>
if (that_nfd == null)
return false;
- return (this.uid == that_nfd.uid && this.value == that_nfd.value);
+ return (this.value == that_nfd.value);
}
/**
@@ -95,8 +106,8 @@ public class Folks.NoteFieldDetails : AbstractFieldDetails<string>
if (this.value != null)
retval += this.value.hash ();
- if (this.uid != null)
- retval += this.uid.hash ();
+ if (this.id != null)
+ retval += this.id.hash ();
return retval;
}
diff --git a/tests/tracker/note-details-interface.vala b/tests/tracker/note-details-interface.vala
index 3702cb4..20d227d 100644
--- a/tests/tracker/note-details-interface.vala
+++ b/tests/tracker/note-details-interface.vala
@@ -111,10 +111,26 @@ public class NoteDetailsInterfaceTests : Folks.TestCase
if (i.full_name == this._fullname)
{
i.notify["notes"].connect (this._notify_note_cb);
- foreach (var n in i.notes)
+ foreach (var note_fd in i.notes)
{
- if (n.equal (new NoteFieldDetails (this._note)))
+ var note_fd_expected = new NoteFieldDetails (this._note, null,
+ null);
+
+ /* We copy the tracker_id - we don't know it.
+ * We could get it from the 1st personas iid but there is no
+ * real need. */
+ note_fd_expected.id = note_fd.id;
+
+ if (note_fd.equal (note_fd_expected))
{
+ /* Ensure that setting the Note uid directly (which is
+ * deprecated) is equivalent to setting the id on a
+ * NoteFieldDetails directly */
+ var note_fd_2 = new NoteFieldDetails (
+ note_fd_expected.value, null, note_fd.id);
+ assert (note_fd.equal (note_fd_2));
+ assert (note_fd.id == note_fd_2.id);
+
this._found_note = true;
this._main_loop.quit ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]