Example #1
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;
}
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);
}