Пример #1
0
static void 
_action_update_callback (MidgardObject *object, gpointer ud)
{
	MidgardMetadata *mdata = (MidgardMetadata *) ud;
	
	gchar *person_guid = "";
	MidgardConnection *mgd = MGD_OBJECT_CNC(object);
	MidgardObject *person = MGD_CNC_PERSON (mgd);

	if (person) 
		person_guid = (gchar *)MGD_OBJECT_GUID(person);			

	/* set revisor */
	GValue rval = {0, };
	g_value_init (&rval, G_TYPE_STRING);
	g_value_set_string (&rval, person_guid);
	midgard_core_metadata_set_revisor (mdata, (const GValue *)&rval);
	g_value_unset (&rval);

	/* set revised */
	GValue tval = {0, };
	midgard_timestamp_new_current (&tval);
	midgard_core_metadata_set_revised (mdata, (const GValue *)&tval);	
	g_value_unset (&tval);

	/* set revision */
	midgard_core_metadata_increase_revision (mdata);
}
Пример #2
0
static void 
_action_create_callback (MidgardObject *object, gpointer ud)
{
	MidgardMetadata *mdata = (MidgardMetadata *) ud;

	gchar *person_guid = "";
	MidgardConnection *mgd = MGD_OBJECT_CNC (object);
	MidgardObject *person = MGD_CNC_PERSON (mgd);

	if (person) 
		person_guid = (gchar *)MGD_OBJECT_GUID (person);			
	
	/* set creator */
	GValue rval = {0, };
	g_value_init (&rval, G_TYPE_STRING);
	g_value_set_string (&rval, person_guid);
	/* set creator */
	midgard_core_metadata_set_creator (mdata, (const GValue *)&rval);
	/* set revisor */
	midgard_core_metadata_set_revisor (mdata, (const GValue *)&rval);
	g_value_unset (&rval);

	/* set created */
	midgard_core_timestamp_set_current_time (mdata->priv->created);

	/* set revised */	
	midgard_core_timestamp_set_current_time (mdata->priv->revised);

	/* set revision */
	GValue rev_val = {0, };
	g_value_init (&rev_val, G_TYPE_UINT);
	g_value_set_uint (&rev_val, 0);
	midgard_core_metadata_set_revision (mdata, (const GValue *)&rev_val);
	g_value_unset (&rev_val);

	/* set default values */
	if (mdata->priv->locker)
		g_free (mdata->priv->locker);
	mdata->priv->locker = g_strdup ("");
	if (mdata->priv->approver)
		g_free (mdata->priv->approver);
	mdata->priv->approver = g_strdup ("");

	if (!mdata->priv->authors)
		mdata->priv->authors = g_strdup ("");
	if (!mdata->priv->owner)
		mdata->priv->owner = g_strdup ("");
}
Пример #3
0
static void __mqb_set_metadata(MidgardMetadata *mdata, GdaDataModel *model, gint i)
{
	guint col = 0;
	const GValue *gvalue;	
	GValue mt = {0, };

	/* creator */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);	
	midgard_core_metadata_set_creator (mdata, gvalue);

	/* created */	
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP(created);

	/* revisor */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	if(G_VALUE_HOLDS_STRING (gvalue)) 
		midgard_core_metadata_set_revisor (mdata, gvalue);
		
	/* revised */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP(revised);

	/* revision */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	mdata->priv->revision = 0;
	_SET_METADATA_UINT(mdata->priv->revision, gvalue);
		
	/* locker */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	if(G_VALUE_HOLDS_STRING (gvalue)) 
		midgard_core_metadata_set_locker (mdata, gvalue);
		
	/* locked */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP(locked);

	/* approver */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	if(G_VALUE_HOLDS_STRING (gvalue)) 
		midgard_core_metadata_set_approver (mdata, gvalue);


	/* approved */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP(approved);

	/* authors */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	if(G_VALUE_HOLDS_STRING (gvalue)) 
		midgard_core_metadata_set_authors (mdata, gvalue);
		
	/* owner */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	if(G_VALUE_HOLDS_STRING (gvalue)) 
		midgard_core_metadata_set_owner (mdata, gvalue);

	/* schedule_start */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP (schedule_start);

	/* schedule_end */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP (schedule_end);

	/* hidden */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	mdata->priv->hidden = FALSE;
	if(G_VALUE_HOLDS_BOOLEAN(gvalue)) {
		mdata->priv->hidden = 
			g_value_get_boolean(gvalue);
	}

	/* nav_noentry */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	mdata->priv->nav_noentry = FALSE;
	if(G_VALUE_HOLDS_BOOLEAN(gvalue)) {
		mdata->priv->nav_noentry = 
			g_value_get_boolean(gvalue);
	}

	/* size */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	mdata->priv->size = 0;
	if(G_VALUE_HOLDS_INT(gvalue)) {
		mdata->priv->size = (guint) g_value_get_int(gvalue);
	}	

	/* published */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP (published);

	/* exported */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP(exported);

	/* imported */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	_SET_METADATA_TIMESTAMP(imported);

	/* deleted */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	mdata->priv->deleted = FALSE;
	if(G_VALUE_HOLDS_BOOLEAN(gvalue)) {
		mdata->priv->deleted = 
			g_value_get_boolean(gvalue);
	}
		
	/* score */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	mdata->priv->score = 0;
	if(G_VALUE_HOLDS_INT(gvalue)) {
		mdata->priv->score = 
			g_value_get_int(gvalue);
	}

	/* islocked */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	if(G_VALUE_HOLDS_BOOLEAN(gvalue)) {
		mdata->priv->is_locked = 
			g_value_get_boolean(gvalue);
	}

	/* isapproved */
	gvalue = midgard_data_model_get_value_at(model, ++col, i);
	if(G_VALUE_HOLDS_BOOLEAN(gvalue)) {
		mdata->priv->is_approved = 
			g_value_get_boolean(gvalue);
	}

	return;
}
Пример #4
0
void 
_midgard_metadata_set_from_data_model (MidgardDBObject *self, GdaDataModel *model, gint row, guint column_id)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (model != NULL);
	g_return_if_fail (row > -1);

	MidgardDBObject *dbobject = MIDGARD_DBOBJECT (MIDGARD_METADATA (self)->priv->object);
	MgdSchemaTypeAttr *type_attr = MIDGARD_DBOBJECT_GET_CLASS (dbobject)->dbpriv->storage_data;
	MidgardMetadata *metadata = MIDGARD_METADATA (self);

	/* creator */
	const GValue *val = gda_data_model_get_value_at (model, column_id, row, NULL);
	midgard_core_metadata_set_creator (metadata, (GValue *) val);

	/* created */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_created (metadata, val);

	/* revisor */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_revisor (metadata, val);

	/* revised */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_revised (metadata, val);
	
	/* revision */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_revision (metadata, val);
	
	/* locker */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_locker (metadata, val);

	/* locked */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_locked (metadata, val);

	/* approver */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_approver (metadata, val);

	/* approved */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_approved (metadata, val);

	/* authors */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_authors (metadata, val);

	/* owner */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_owner (metadata, val);

	/* schedule_start */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_schedule_start (metadata, val);

	/* schedule_end */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_schedule_end (metadata, val);

	/* hidden */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_hidden (metadata, val);

	/* navnoentry */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_navnoentry (metadata, val);

	/* size */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_size (metadata, val);

	/* published */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_published (metadata, val);

	/* score */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_score (metadata, val);

	/* imported */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_imported (metadata, val);

	/* exported */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_exported (metadata, val);

	/* deleted */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_deleted (metadata, val);

	/* isapproved */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_isapproved (metadata, val);

	/* islocked */
	val = gda_data_model_get_value_at (model, ++column_id, row, NULL);
	midgard_core_metadata_set_islocked (metadata, val);
}