[tracker] libtracker-data: Handle tracker:forceJournal ontology property
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-data: Handle tracker:forceJournal ontology property
- Date: Thu, 3 Feb 2011 16:35:15 +0000 (UTC)
commit 1289589e008c7a07bbf255d142c8ca4a44dc98c9
Author: Jürg Billeter <j bitron ch>
Date: Tue Feb 1 17:04:20 2011 +0100
libtracker-data: Handle tracker:forceJournal ontology property
src/libtracker-data/tracker-data-manager.c | 28 ++++++++++++++++++-
src/libtracker-data/tracker-property.c | 27 +++++++++++++++++++
src/libtracker-data/tracker-property.h | 3 ++
.../test-ontologies/add-class/90-tracker.ontology | 6 +++-
.../add-domainIndex/90-tracker.ontology | 6 +++-
.../test-ontologies/add-prop/90-tracker.ontology | 6 +++-
.../basic-future/90-tracker.ontology | 6 +++-
.../test-ontologies/basic/90-tracker.ontology | 6 +++-
.../cardinality/90-tracker.ontology | 6 +++-
.../test-ontologies/indexed/90-tracker.ontology | 6 +++-
.../test-ontologies/notify/90-tracker.ontology | 6 +++-
.../property-promotion/90-tracker.ontology | 6 +++-
.../90-tracker.ontology | 6 +++-
.../90-tracker.ontology | 6 +++-
.../superclass-remove/90-tracker.ontology | 6 +++-
.../libtracker-data/ontologies/90-tracker.ontology | 6 +++-
16 files changed, 121 insertions(+), 15 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 86e8c08..dfa0e9e 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -808,6 +808,17 @@ tracker_data_ontology_load_statement (const gchar *ontology_path,
}
tracker_property_set_writeback (property, (strcmp (object, "true") == 0));
+ } else if (g_strcmp0 (predicate, TRACKER_PREFIX "forceJournal") == 0) {
+ TrackerProperty *property;
+
+ property = tracker_ontologies_get_property_by_uri (subject);
+
+ if (property == NULL) {
+ g_critical ("%s: Unknown property %s", ontology_path, subject);
+ return;
+ }
+
+ tracker_property_set_force_journal (property, (strcmp (object, "true") == 0));
} else if (g_strcmp0 (predicate, RDFS_SUB_PROPERTY_OF) == 0) {
TrackerProperty *property, *super_property;
gboolean is_new;
@@ -2113,6 +2124,7 @@ db_get_static_data (TrackerDBInterface *iface)
"\"tracker:writeback\", "
"(SELECT 1 FROM \"rdfs:Resource_rdf:type\" WHERE ID = \"rdf:Property\".ID AND "
"\"rdf:type\" = (SELECT ID FROM Resource WHERE Uri = '" NRL_INVERSE_FUNCTIONAL_PROPERTY "')), "
+ "\"tracker:forceJournal\", "
"\"tracker:defaultValue\" "
"FROM \"rdf:Property\" ORDER BY ID");
@@ -2128,7 +2140,7 @@ db_get_static_data (TrackerDBInterface *iface)
const gchar *uri, *domain_uri, *range_uri, *secondary_index_uri, *default_value;
gboolean multi_valued, indexed, fulltext_indexed, fulltext_no_limit;
gboolean transient, is_inverse_functional_property;
- gboolean writeback;
+ gboolean writeback, force_journal;
gint id;
property = tracker_property_new (FALSE);
@@ -2213,7 +2225,18 @@ db_get_static_data (TrackerDBInterface *iface)
is_inverse_functional_property = FALSE;
}
- default_value = tracker_db_cursor_get_string (cursor, 12, NULL);
+ /* tracker:forceJournal column */
+ tracker_db_cursor_get_value (cursor, 12, &value);
+
+ if (G_VALUE_TYPE (&value) != 0) {
+ force_journal = (g_value_get_int64 (&value) == 1);
+ g_value_unset (&value);
+ } else {
+ /* NULL */
+ force_journal = TRUE;
+ }
+
+ default_value = tracker_db_cursor_get_string (cursor, 13, NULL);
tracker_property_set_is_new_domain_index (property, tracker_ontologies_get_class_by_uri (domain_uri), FALSE);
tracker_property_set_is_new (property, FALSE);
@@ -2225,6 +2248,7 @@ db_get_static_data (TrackerDBInterface *iface)
tracker_property_set_multiple_values (property, multi_valued);
tracker_property_set_indexed (property, indexed);
tracker_property_set_default_value (property, default_value);
+ tracker_property_set_force_journal (property, force_journal);
tracker_property_set_db_schema_changed (property, FALSE);
tracker_property_set_writeback (property, writeback);
diff --git a/src/libtracker-data/tracker-property.c b/src/libtracker-data/tracker-property.c
index 867a108..7bf2c2f 100644
--- a/src/libtracker-data/tracker-property.c
+++ b/src/libtracker-data/tracker-property.c
@@ -66,6 +66,7 @@ struct _TrackerPropertyPrivate {
gboolean writeback;
gchar *default_value;
GPtrArray *is_new_domain_index;
+ gboolean force_journal;
GArray *super_properties;
GArray *domain_indexes;
@@ -136,6 +137,7 @@ tracker_property_init (TrackerProperty *property)
priv->weight = 1;
priv->transient = FALSE;
priv->multiple_values = TRUE;
+ priv->force_journal = TRUE;
priv->super_properties = g_array_new (TRUE, TRUE, sizeof (TrackerProperty *));
priv->domain_indexes = g_array_new (TRUE, TRUE, sizeof (TrackerClass *));
@@ -573,6 +575,18 @@ tracker_property_get_is_inverse_functional_property (TrackerProperty *property)
return priv->is_inverse_functional_property;
}
+gboolean
+tracker_property_get_force_journal (TrackerProperty *property)
+{
+ TrackerPropertyPrivate *priv;
+
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
+
+ priv = GET_PRIV (property);
+
+ return priv->force_journal;
+}
+
TrackerProperty **
tracker_property_get_super_properties (TrackerProperty *property)
{
@@ -971,6 +985,19 @@ tracker_property_set_is_inverse_functional_property (TrackerProperty *property,
}
void
+tracker_property_set_force_journal (TrackerProperty *property,
+ gboolean value)
+{
+ TrackerPropertyPrivate *priv;
+
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
+
+ priv = GET_PRIV (property);
+
+ priv->force_journal = value;
+}
+
+void
tracker_property_add_super_property (TrackerProperty *property,
TrackerProperty *value)
{
diff --git a/src/libtracker-data/tracker-property.h b/src/libtracker-data/tracker-property.h
index 3e7a89e..68623f6 100644
--- a/src/libtracker-data/tracker-property.h
+++ b/src/libtracker-data/tracker-property.h
@@ -98,6 +98,7 @@ const gchar * tracker_property_get_default_value (TrackerProperty
gboolean tracker_property_get_db_schema_changed (TrackerProperty *property);
gboolean tracker_property_get_is_inverse_functional_property
(TrackerProperty *property);
+gboolean tracker_property_get_force_journal (TrackerProperty *property);
TrackerProperty ** tracker_property_get_super_properties (TrackerProperty *property);
void tracker_property_set_uri (TrackerProperty *property,
const gchar *value);
@@ -142,6 +143,8 @@ void tracker_property_set_db_schema_changed (TrackerProperty
void tracker_property_set_is_inverse_functional_property
(TrackerProperty *property,
gboolean value);
+void tracker_property_set_force_journal (TrackerProperty *property,
+ gboolean value);
void tracker_property_add_super_property (TrackerProperty *property,
TrackerProperty *value);
diff --git a/tests/functional-tests/test-ontologies/add-class/90-tracker.ontology b/tests/functional-tests/test-ontologies/add-class/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/add-class/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/add-class/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/add-domainIndex/90-tracker.ontology b/tests/functional-tests/test-ontologies/add-domainIndex/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/add-domainIndex/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/add-domainIndex/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/add-prop/90-tracker.ontology b/tests/functional-tests/test-ontologies/add-prop/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/add-prop/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/add-prop/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/basic-future/90-tracker.ontology b/tests/functional-tests/test-ontologies/basic-future/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/basic-future/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/basic-future/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/basic/90-tracker.ontology b/tests/functional-tests/test-ontologies/basic/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/basic/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/basic/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/cardinality/90-tracker.ontology b/tests/functional-tests/test-ontologies/cardinality/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/cardinality/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/cardinality/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/indexed/90-tracker.ontology b/tests/functional-tests/test-ontologies/indexed/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/indexed/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/indexed/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/notify/90-tracker.ontology b/tests/functional-tests/test-ontologies/notify/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/notify/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/notify/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/property-promotion/90-tracker.ontology b/tests/functional-tests/test-ontologies/property-promotion/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/property-promotion/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/property-promotion/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/property-range-int-to-string/90-tracker.ontology b/tests/functional-tests/test-ontologies/property-range-int-to-string/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/property-range-int-to-string/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/property-range-int-to-string/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/property-range-string-to-date/90-tracker.ontology b/tests/functional-tests/test-ontologies/property-range-string-to-date/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/property-range-string-to-date/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/property-range-string-to-date/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/functional-tests/test-ontologies/superclass-remove/90-tracker.ontology b/tests/functional-tests/test-ontologies/superclass-remove/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/functional-tests/test-ontologies/superclass-remove/90-tracker.ontology
+++ b/tests/functional-tests/test-ontologies/superclass-remove/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
diff --git a/tests/libtracker-data/ontologies/90-tracker.ontology b/tests/libtracker-data/ontologies/90-tracker.ontology
index eef0cd4..ff1f7dc 100644
--- a/tests/libtracker-data/ontologies/90-tracker.ontology
+++ b/tests/libtracker-data/ontologies/90-tracker.ontology
@@ -8,7 +8,7 @@
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
tracker: a tracker:Ontology ;
- nao:lastModified "2010-04-05T11:00:00Z" .
+ nao:lastModified "2011-02-03T16:00:00Z" .
#tracker:indexed a rdf:Property ;
# nrl:maxCardinality 1 ;
@@ -25,3 +25,7 @@ tracker:writeback a rdf:Property ;
rdfs:domain rdf:Property ;
rdfs:range xsd:boolean .
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]