[tracker] libtracker-sparql: Use uuid_unparse_lower instead of Checksum for formatting



commit 9e11afd17be3fd2f30eea994f21ed313a274ae81
Author: Philip Van Hoof <philip codeminded be>
Date:   Wed Nov 24 15:40:54 2010 +0100

    libtracker-sparql: Use uuid_unparse_lower instead of Checksum for formatting

 src/libtracker-extract/tracker-xmp.c        |    2 +-
 src/libtracker-sparql/tracker-utils.vala    |   26 +++++++++-----------------
 src/tracker-extract/tracker-extract-gif.c   |    2 +-
 src/tracker-extract/tracker-extract-jpeg.c  |    2 +-
 src/tracker-extract/tracker-extract-pdf.cpp |    2 +-
 src/tracker-extract/tracker-extract-png.c   |    2 +-
 src/tracker-extract/tracker-extract-tiff.c  |    2 +-
 7 files changed, 15 insertions(+), 23 deletions(-)
---
diff --git a/src/libtracker-extract/tracker-xmp.c b/src/libtracker-extract/tracker-xmp.c
index 6ff14f6..1437eb4 100644
--- a/src/libtracker-extract/tracker-xmp.c
+++ b/src/libtracker-extract/tracker-xmp.c
@@ -900,7 +900,7 @@ tracker_xmp_apply (TrackerSparqlBuilder *preupdate,
 			tracker_sparql_builder_object_unvalidated (metadata, data->country);
 		}
 
-		addruri = tracker_sparql_get_uuid_urn ("postal-address");
+		addruri = tracker_sparql_get_uuid_urn ();
 
 		tracker_sparql_builder_predicate (metadata, "mlo:asPostalAddress");
 
diff --git a/src/libtracker-sparql/tracker-utils.vala b/src/libtracker-sparql/tracker-utils.vala
index 41251aa..4628a44 100644
--- a/src/libtracker-sparql/tracker-utils.vala
+++ b/src/libtracker-sparql/tracker-utils.vala
@@ -87,27 +87,19 @@ namespace Tracker.Sparql {
 	}
 
 	[CCode (cname = "uuid_generate")]
-	public extern static void uuid_generate ([CCode (array_length = false)] uchar[] uuid);
+	private extern static void uuid_generate ([CCode (array_length = false)] uchar[] uuid);
 
-	public string get_uuid_urn (string user_bnodeid) {
-		var checksum = new Checksum (ChecksumType.SHA1);
+	[CCode (cname = "uuid_unparse_lower")]
+	private extern static void uuid_unparse_lower ([CCode (array_length = false)] uchar[] uuid, char* out);
+
+	public string get_uuid_urn () {
 		uchar[] base_uuid = new uchar[16];
+		string lower = (string) new char[37];
 
 		uuid_generate (base_uuid);
+		uuid_unparse_lower (base_uuid, (char *) lower);
 
-		// base UUID, unique per file
-		checksum.update (base_uuid, 16);
-
-		// node ID
-		checksum.update ((uchar[]) user_bnodeid, -1);
-
-		string sha1 = checksum.get_string ();
-
-		// generate name based uuid
-		return "urn:uuid:%.8s-%.4s-%.4s-%.4s-%.12s".printf (sha1,
-		                                                    sha1.offset (8),
-		                                                    sha1.offset (12),
-		                                                    sha1.offset (16),
-		                                                    sha1.offset (20));
+		// generate uuid
+		return "urn:uuid:%s".printf (lower);
 	}
 }
diff --git a/src/tracker-extract/tracker-extract-gif.c b/src/tracker-extract/tracker-extract-gif.c
index ab69748..87583ee 100644
--- a/src/tracker-extract/tracker-extract-gif.c
+++ b/src/tracker-extract/tracker-extract-gif.c
@@ -447,7 +447,7 @@ read_metadata (TrackerSparqlBuilder *preupdate,
 			tracker_sparql_builder_object_unvalidated (metadata, xd->country);
 		}
 
-		addruri = tracker_sparql_get_uuid_urn ("postal-address");
+		addruri = tracker_sparql_get_uuid_urn ();
 
 		tracker_sparql_builder_predicate (metadata, "mlo:asPostalAddress");
 		tracker_sparql_builder_object_iri (metadata, addruri);
diff --git a/src/tracker-extract/tracker-extract-jpeg.c b/src/tracker-extract/tracker-extract-jpeg.c
index 5ef4166..f0e34ac 100644
--- a/src/tracker-extract/tracker-extract-jpeg.c
+++ b/src/tracker-extract/tracker-extract-jpeg.c
@@ -564,7 +564,7 @@ extract_jpeg (const gchar          *uri,
 			tracker_sparql_builder_object_unvalidated (metadata, md.country);
 		}
 
-		addruri = tracker_sparql_get_uuid_urn ("postal-address");
+		addruri = tracker_sparql_get_uuid_urn ();
 
 		tracker_sparql_builder_predicate (metadata, "mlo:asPostalAddress");
 		tracker_sparql_builder_object_iri (metadata, addruri);
diff --git a/src/tracker-extract/tracker-extract-pdf.cpp b/src/tracker-extract/tracker-extract-pdf.cpp
index 5118f78..91ae5dd 100644
--- a/src/tracker-extract/tracker-extract-pdf.cpp
+++ b/src/tracker-extract/tracker-extract-pdf.cpp
@@ -768,7 +768,7 @@ extract_pdf (const gchar          *uri,
 					tracker_sparql_builder_object_unvalidated (metadata, xd->country);
 				}
 
-				addruri = tracker_sparql_get_uuid_urn ("postal-address");
+				addruri = tracker_sparql_get_uuid_urn ();
 
 				tracker_sparql_builder_predicate (metadata, "mlo:asPostalAddress");
 				tracker_sparql_builder_object_iri (metadata, addruri);
diff --git a/src/tracker-extract/tracker-extract-png.c b/src/tracker-extract/tracker-extract-png.c
index b5a1d73..c867a5f 100644
--- a/src/tracker-extract/tracker-extract-png.c
+++ b/src/tracker-extract/tracker-extract-png.c
@@ -440,7 +440,7 @@ read_metadata (TrackerSparqlBuilder *preupdate,
 			tracker_sparql_builder_object_unvalidated (metadata, xd->country);
 		}
 
-		addruri = tracker_sparql_get_uuid_urn ("postal-address");
+		addruri = tracker_sparql_get_uuid_urn ();
 
 		tracker_sparql_builder_predicate (metadata, "mlo:asPostalAddress");
 		tracker_sparql_builder_object_iri (metadata, addruri);
diff --git a/src/tracker-extract/tracker-extract-tiff.c b/src/tracker-extract/tracker-extract-tiff.c
index 4273a05..5e72369 100644
--- a/src/tracker-extract/tracker-extract-tiff.c
+++ b/src/tracker-extract/tracker-extract-tiff.c
@@ -497,7 +497,7 @@ extract_tiff (const gchar          *uri,
 			tracker_sparql_builder_object_unvalidated (metadata, md.country);
 		}
 
-		addruri = tracker_sparql_get_uuid_urn ("postal-address");
+		addruri = tracker_sparql_get_uuid_urn ();
 
 		tracker_sparql_builder_predicate (metadata, "mlo:asPostalAddress");
 		tracker_sparql_builder_object_iri (metadata, addruri);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]