Index: trunk/glueforge/templates/psdb/objectfrommetadata.tt
===================================================================
--- trunk/glueforge/templates/psdb/objectfrommetadata.tt	(revision 5907)
+++ trunk/glueforge/templates/psdb/objectfrommetadata.tt	(revision 9668)
@@ -3,26 +3,6 @@
 [% table.object_name %] *[% table.namespace %]ObjectFromMetadata(psMetadata *md)
 {
-    bool            status;
-[% FOREACH item = table.columns -%]
-[% IF item.type == "STR" -%]
-    [% indented("char", "*$item.name") %];
-[% ELSE-%]
-    [% indented("$item.ctype", "$item.name") %];
-[% END -%]
-[% END -%]
 
-[% FOREACH item = table.columns -%]
-[% IF item.type == "S32" or item.type == "F32" or item.type == "F64" -%]
-    [% item.name %] = psMetadataLookup[% item.type %](&status, md, "[% item.name %]");
-[% ELSIF item.type == "STR" -%]
-    [% item.name %] = psMetadataLookupPtr(&status, md, "[% item.name %]");
-[% ELSIF item.type == "BOOL" -%]
-    [% item.name %] = psMetadataLookupBool(&status, md, "[% item.name %]");
-[% END -%]
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item [% item.name %]");
-        return false;
-    }
-[% END -%]
+[% INCLUDE lookup_from_metadata -%]
 
     return [% table.object_name %]Alloc(
