[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/geas/src collectiondata.c
From: |
Neil Tiffin |
Subject: |
gnue/geas/src collectiondata.c |
Date: |
Sat, 02 Jun 2001 15:13:11 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Neil Tiffin <address@hidden> 01/06/02 15:13:11
Modified files:
geas/src : collectiondata.c
Log message:
Reformat to GNU standards.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/collectiondata.c.diff?cvsroot=OldCVS&tr1=1.18&tr2=1.19&r1=text&r2=text
Patches:
Index: gnue/geas/src/collectiondata.c
diff -u gnue/geas/src/collectiondata.c:1.18 gnue/geas/src/collectiondata.c:1.19
--- gnue/geas/src/collectiondata.c:1.18 Sat Jun 2 06:17:10 2001
+++ gnue/geas/src/collectiondata.c Sat Jun 2 15:13:11 2001
@@ -19,7 +19,7 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: collectiondata.c,v 1.18 2001/06/02 13:17:10 ntiffin Exp $
+ $Id: collectiondata.c,v 1.19 2001/06/02 22:13:11 ntiffin Exp $
*/
@@ -36,121 +36,138 @@
typedef struct
{
- char *classname;
- ObjectKey key;
- GList *objects;
-} ObjectCollection_t;
+ char *classname;
+ ObjectKey key;
+ GList *objects;
+}
+ObjectCollection_t;
static GList *object_collections = NULL;
-static ObjectCollection_t *allocate_object_collection( );
+static ObjectCollection_t *allocate_object_collection ();
#ifndef MAX
- #define MAX(a,b) ( (a) > (b) ? (a) : (b) )
+#define MAX(a,b) ( (a) > (b) ? (a) : (b) )
#endif
#ifndef MIN
- #define MIN(a,b) ( (a) < (b) ? (a) : (b) )
+#define MIN(a,b) ( (a) < (b) ? (a) : (b) )
#endif
/* fill an object collection with data */
/* NOTE: query must provide object key as a string in field 'objectid' */
-char *new_object_collection_from_query( QueryData *query ,
- GEAS_object_reference *xid ,
CORBA_Environment *ev )
+char *
+new_object_collection_from_query (QueryData * query,
+ GEAS_object_reference * xid,
+ CORBA_Environment * ev)
{
- /* char newkeydata[16]; */
- /* char newkey[64]; */
- GEAS_DataObject lst;
- /* GEAS_DataObject obj; */
- struct query_result *result;
- char *errmsg;
- int err,i,idx;
- char *classname;
- char buf[64];
- char *listid;
- char *id;
- char *lenstr;
- ObjectData *ob; /* object cache entry */
- unsigned long int len;
-
- /* what class are we laoding into the list? */
- classname = (char *)oql_query_get_classname(query);
-
- /* get list of object IDs from the object store */
- self_test_message( "Executing query" );
- result = query_objectstore( query , &err , &errmsg );
- if( errmsg )
- {
- errormsg( errmsg );
- g_free( errmsg );
- if( result )
- free_query_result( result );
- return( NULL );
- }
- if( !result ) {
- self_test_message( "query failed" );
- return( NULL );
- }
- self_test_message( "query succeeded" );
-
- /* place links into collection */
- idx = oql_query_get_field_position( query , "objectid" );
- if( idx == (-1) )
- {
- errormsg( "Invalid query to %s." , __PRETTY_FUNCTION__ );
- if( result )
- free_query_result( result );
- return( NULL );
- }
-
- /* create a base object for the list */
- lst = GEAS_Connection_newObject(xid->server,"geas::listholder",ev);
- if( ev->_major != CORBA_NO_EXCEPTION ) {
- return( NULL );
- }
-
- GEAS_DataObject_setField( lst , "length" , "0", ev );
- GEAS_DataObject_setField( lst , "classname" , classname , ev ); /* what
object, class */
-
- listid = GEAS_DataObject_getField(lst,"objectid",ev);
- if( ev->_major != CORBA_NO_EXCEPTION ) {
- printf( "E %s\n" , CORBA_exception_id(ev) );
- return( NULL );
- }
-
- /* create list entry objects */
- len = count_rows_in_result(result);
- debug_output( DEBUGLEVEL_3 , "List length: %d" , len );
- for( i=0 ; i<len ; i++ )
- {
- ObjectKey keydata;
- char *tmp;
-
- debug_output( DEBUGLEVEL_3 , "Item: %d of %d" , i , len );
- id = (char *)get_result_field( result , i/*row*/ , idx/*field*/ );
-
- /* store a record of this object */
- keydata = create_new_object_key();
- tmp = object_key_as_string( keydata );
- ob = oc_add_empty_object( "geas::listitem" , tmp );
- g_free( keydata );
-
- /* uuid_generate( newkeydata ); */
- /* uuid_unparse( newkeydata , newkey ); */
- /* ob = oc_add_empty_object( "geas::listitem" , newkey ); */
-
- /* store the object's details */
- sprintf( buf , "%d" , i );
- oc_set_object_field( ob , "position" , buf , FALSE );
- oc_set_object_field( ob , "listid" , listid , FALSE );
- oc_set_object_field( ob , "reference", id , FALSE );
- oc_flush_object_to_store( ob );
- }
- lenstr = g_strdup_printf( "%lu" , len );
- GEAS_DataObject_setField( lst , "length" , lenstr, ev );
- g_free( lenstr );
+ /* char newkeydata[16]; */
+ /* char newkey[64]; */
+ GEAS_DataObject lst;
+ /* GEAS_DataObject obj; */
+ struct query_result *result;
+ char *errmsg;
+ int err, i, idx;
+ char *classname;
+ char buf[64];
+ char *listid;
+ char *id;
+ char *lenstr;
+ ObjectData *ob; /* object cache entry */
+ unsigned long int len;
+
+ /* what class are we laoding into the list? */
+ classname = (char *) oql_query_get_classname (query);
+
+ /* get list of object IDs from the object store */
+ self_test_message ("Executing query");
+ result = query_objectstore (query, &err, &errmsg);
+ if (errmsg)
+ {
+ errormsg (errmsg);
+ g_free (errmsg);
+ if (result)
+ {
+ free_query_result (result);
+ }
+ return (NULL);
+ }
+ if (!result)
+ {
+ self_test_message ("query failed");
+ return (NULL);
+ }
+ self_test_message ("query succeeded");
+
+ /* place links into collection */
+ idx = oql_query_get_field_position (query, "objectid");
+ if (idx == (-1))
+ {
+ errormsg ("Invalid query to %s.", __PRETTY_FUNCTION__);
+ if (result)
+ {
+ free_query_result (result);
+ }
+ return (NULL);
+ }
+
+ /* create a base object for the list */
+ lst = GEAS_Connection_newObject (xid->server, "geas::listholder", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ return (NULL);
+ }
+
+ GEAS_DataObject_setField (lst, "length", "0", ev);
+ GEAS_DataObject_setField (lst, "classname", classname, ev); /* what
object, class */
+
+ listid = GEAS_DataObject_getField (lst, "objectid", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ printf ("E %s\n", CORBA_exception_id (ev));
+ return (NULL);
+ }
+
+ /* create list entry objects */
+ len = count_rows_in_result (result);
+ debug_output (DEBUGLEVEL_3, "List length: %d", len);
+ for (i = 0; i < len; i++)
+ {
+ ObjectKey keydata;
+ char *tmp;
+
+ debug_output (DEBUGLEVEL_3, "Item: %d of %d", i, len);
+ id = (char *) get_result_field (result, i /*row */ , idx /*field */ );
+
+ /* store a record of this object */
+ keydata = create_new_object_key ();
+ tmp = object_key_as_string (keydata);
+ ob = oc_add_empty_object ("geas::listitem", tmp);
+ g_free (keydata);
+
+ /* uuid_generate( newkeydata ); */
+ /* uuid_unparse( newkeydata , newkey ); */
+ /* ob = oc_add_empty_object( "geas::listitem" , newkey ); */
+
+ /* store the object's details */
+ sprintf (buf, "%d", i);
+ oc_set_object_field (ob, "position", buf, FALSE);
+ oc_set_object_field (ob, "listid", listid, FALSE);
+ oc_set_object_field (ob, "reference", id, FALSE);
+ oc_flush_object_to_store (ob);
+ }
+ lenstr = g_strdup_printf ("%lu", len);
+ GEAS_DataObject_setField (lst, "length", lenstr, ev);
+ g_free (lenstr);
- /* done, successfully */
- free_query_result( result );
+ /* done, successfully */
+ free_query_result (result);
- return( listid );
+ return (listid);
+}
+
+void
+self_test_objectcontainer (void)
+{
+ /* TODO */
+ printf ("\nSelf test object container is not implemented.\n");
}
- gnue/geas/src collectiondata.c,
Neil Tiffin <=