IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3341


Ignore:
Timestamp:
Feb 28, 2005, 1:34:10 PM (21 years ago)
Author:
desonia
Message:

Changes to psMetadata to match latest SDRS.

Location:
trunk/psLib
Files:
51 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/pslib.kdevelop

    r3115 r3341  
    2424    <general>
    2525      <activetarget>src/pslib</activetarget>
    26       <useconfiguration>debug</useconfiguration>
     26      <useconfiguration>default</useconfiguration>
    2727    </general>
    2828    <run>
  • trunk/psLib/pslib.kdevses

    r3298 r3341  
    22<!DOCTYPE KDevPrjSession>
    33<KDevPrjSession>
    4  <DocsAndViews NumberOfDocuments="6" >
     4 <DocsAndViews NumberOfDocuments="5" >
    55  <Doc0 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/astronomy/psMetadata.c" >
    6    <View0 line="342" Type="Source" />
     6   <View0 line="129" Type="Source" />
    77  </Doc0>
    8   <Doc1 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/test/fileUtils/tst_psFits.c" >
    9    <View0 line="193" Type="Source" />
     8  <Doc1 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/astronomy/psMetadata.h" >
     9   <View0 line="164" Type="Source" />
    1010  </Doc1>
    11   <Doc2 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/collections/psHash.c" >
    12    <View0 line="290" Type="Source" />
     11  <Doc2 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/astronomy/astronomy.i" >
     12   <View0 line="16" Type="Source" />
    1313  </Doc2>
    14   <Doc3 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/fileUtils/psFits.c" >
    15    <View0 line="1471" Type="Source" />
     14  <Doc3 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/astronomy/psMetadataIO.c" >
     15   <View0 line="965" Type="Source" />
    1616  </Doc3>
    17   <Doc4 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/sysUtils/psMemory.h" >
    18    <View0 line="397" Type="Source" />
     17  <Doc4 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/sysUtils/psType.h" >
     18   <View0 line="0" Type="Source" />
    1919  </Doc4>
    20   <Doc5 NumberOfViews="1" URL="file:/home/desonia/panstarrs/psLib/src/collections/psArray.c" >
    21    <View0 line="0" Type="Source" />
    22   </Doc5>
    2320 </DocsAndViews>
    2421 <pluginList>
  • trunk/psLib/src/astro/psTime.c

    r3264 r3341  
    1010 *  @author Ross Harman, MHPCC
    1111 *
    12  *  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
    13  *  @date $Date: 2005-02-17 19:26:23 $
     12 *  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
     13 *  @date $Date: 2005-02-28 23:34:10 $
    1414 *
    1515 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    215215    char metadataTableNames[4][MAX_STRING_LENGTH] = {"ser7", "eopc",  "finals", "tai"};
    216216
    217 
    218217    // Read time config file
    219218    timeMetadata = psMetadataParseConfig(timeMetadata, &nFail, fileName, true);
     
    313312            if(metadataNamesPtr != NULL) {
    314313                psMetadataAdd(timeMetadata, PS_LIST_TAIL, strcat(metadataTableNames[j], "Table"),
    315                               PS_TYPE_PTR, PS_META_LOOKUPTABLE, NULL, table);
     314                              PS_META_LOOKUPTABLE, NULL, table);
    316315                foundTable = true;
    317316            } else if(foundTable==false && j==numTables-1) {
     
    322321        psFree(fullTableName);
    323322        psFree(tableName);
     323        psFree(table);
    324324        i++;
    325325    }
  • trunk/psLib/src/astronomy/astronomy.i

    r3182 r3341  
    1515}
    1616
    17 // add a method to add primitives to metadata
    18 %inline %{
    19 psBool psMetadataAddStr(psMetadata* md, psS32 where, const char* name,
    20 const char* comment, const char* value) {
    21     return psMetadataAdd(md,where,name,PS_TYPE_PTR, PS_META_STR,comment,value);
    22 }
    23 psBool psMetadataAddF32(psMetadata* md,
    24                         psS32 where,
    25                         const char* name,
    26                         const char* comment,
    27                         psF32 value)
    28 {
    29     return psMetadataAdd(md,where,name,PS_TYPE_F32, PS_META_PRIMITIVE,comment,value);
    30 }
    31 
    32 psBool psMetadataAddF64(psMetadata* md,
    33                         psS32 where,
    34                         const char* name,
    35                         const char* comment,
    36                         psF64 value)
    37 {
    38     return psMetadataAdd(md,where,name,PS_TYPE_F64, PS_META_PRIMITIVE,comment,value);
    39 }
    40 
    41 psBool psMetadataAddS32(psMetadata* md,
    42                         psS32 where,
    43                         const char* name,
    44                         const char* comment,
    45                         psS32 value)
    46 {
    47     return psMetadataAdd(md,where,name,PS_TYPE_S32, PS_META_PRIMITIVE,comment,value);
    48 }
    49 
    50 psMetadataItem* psMetadataItemAllocStr(const char* name,
    51                                        const char* comment,
    52                                        const char* value)
    53 {
    54     return psMetadataItemAlloc(name, PS_TYPE_PTR, PS_META_STR, comment, value);
    55 }
    56 
    57 psMetadataItem* psMetadataItemAllocF32(const char* name,
    58                                        const char* comment,
    59                                        psF32 value)
    60 {
    61     return psMetadataItemAlloc(name, PS_TYPE_F32, PS_META_PRIMITIVE, comment, value);
    62 }
    63 
    64 psMetadataItem* psMetadataItemAllocF64(const char* name,
    65                                        const char* comment,
    66                                        psF64 value)
    67 {
    68     return psMetadataItemAlloc(name, PS_TYPE_F64, PS_META_PRIMITIVE, comment, value);
    69 }
    70 
    71 psMetadataItem* psMetadataItemAllocS32(const char* name,
    72                                        const char* comment,
    73                                        psS32 value)
    74 {
    75     return psMetadataItemAlloc(name, PS_TYPE_S32, PS_META_PRIMITIVE, comment, value);
    76 }
    77 %}
    78 
    7917%apply unsigned int *OUTPUT { unsigned int *nFail }; /* for psMetadataParseConfig */
    8018%include "psMetadataIO.h"
  • trunk/psLib/src/astronomy/psAstronomyErrors.h

    r3325 r3341  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-02-25 02:49:00 $
     9 *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-02-28 23:34:10 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/astronomy/psMetadata.c

    r3286 r3341  
    1212*  @author Ross Harman, MHPCC
    1313*
    14 *  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
    15 *  @date $Date: 2005-02-18 22:17:20 $
     14*  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
     15*  @date $Date: 2005-02-28 23:34:10 $
    1616*
    1717*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    8080    psFree(metadataItem->name);
    8181    psFree(metadataItem->comment);
    82     if (type != PS_META_PRIMITIVE) {
     82    if (! PS_META_IS_PRIMITIVE(type)) {
    8383        psFree(metadataItem->data.V);
    8484    }
     
    9898/*****************************************************************************/
    9999
    100 psMetadataItem* psMetadataItemAlloc(const char *name, psElemType pType, psMetadataType type,
     100psMetadataItem* psMetadataItemAlloc(const char *name, psMetadataType type,
    101101                                    const char *comment, ...)
    102102{
     
    108108
    109109    // Call metadata item allocation
    110     metadataItem = psMetadataItemAllocV(name, pType, type, comment, argPtr);
     110    metadataItem = psMetadataItemAllocV(name, type, comment, argPtr);
    111111
    112112    // Clean up stack after variable arguement has been used
     
    116116}
    117117
    118 psMetadataItem* psMetadataItemAllocV(const char *name, psElemType pType, psMetadataType type,
     118#define METADATAITEM_ALLOC_TYPE(NAME,TYPE,METATYPE) \
     119psMetadataItem* psMetadataItemAlloc##NAME(const char* name, \
     120        const char* comment, \
     121        TYPE value) \
     122{ \
     123    return psMetadataItemAlloc(name, METATYPE, comment, value); \
     124}
     125
     126METADATAITEM_ALLOC_TYPE(Str,const char*,PS_META_STR)
     127METADATAITEM_ALLOC_TYPE(F32,psF32,PS_META_F32)
     128METADATAITEM_ALLOC_TYPE(F64,psF64,PS_META_F64)
     129METADATAITEM_ALLOC_TYPE(S32,psS32,PS_META_S32)
     130METADATAITEM_ALLOC_TYPE(Bool,psBool,PS_META_BOOL)
     131
     132psMetadataItem* psMetadataItemAllocV(const char *name, psMetadataType type,
    119133                                     const char *comment, va_list argPtr)
    120134{
     
    145159    // Set metadata item type
    146160    metadataItem->type = type;
    147     metadataItem->pType = pType;
    148161
    149162    // Allocate and set metadata item name
     
    153166    // Set metadata item value
    154167    switch(type) {
    155     case PS_META_PRIMITIVE:
    156         switch(pType) {
    157         case PS_TYPE_BOOL:
    158             metadataItem->data.B = (psBool)va_arg(argPtr, psS32);
    159             break;
    160         case PS_TYPE_S32:
    161             metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
    162             break;
    163         case PS_TYPE_F32:
    164             metadataItem->data.F32 = (psF32)va_arg(argPtr, psF64);
    165             break;
    166         case PS_TYPE_F64:
    167             metadataItem->data.F64 = (psF64)va_arg(argPtr, psF64);
    168             break;
    169         default:
    170             psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, type);
    171             psFree(metadataItem);
    172             metadataItem = NULL;
    173         }
     168    case PS_META_BOOL:
     169        metadataItem->data.B = (psBool)va_arg(argPtr, psS32);
     170        break;
     171    case PS_META_S32:
     172        metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
     173        break;
     174    case PS_META_F32:
     175        metadataItem->data.F32 = (psF32)va_arg(argPtr, psF64);
     176        break;
     177    case PS_META_F64:
     178        metadataItem->data.F64 = (psF64)va_arg(argPtr, psF64);
    174179        break;
    175180    case PS_META_STR:
     
    186191    case PS_META_UNKNOWN:
    187192        // Copy of input data not performed due to variability of data types
    188         metadataItem->data.V = va_arg(argPtr, psPtr);
     193        metadataItem->data.V = psMemIncrRefCounter(va_arg(argPtr, psPtr));
    189194        break;
    190195    default:
     
    256261
    257262            // Leaf node replaces another leaf. Make new folder node and add leaves.
    258             newFolderEntry = psMetadataItemAlloc(key, PS_TYPE_PTR, PS_META_LIST, NULL, NULL);
     263            newFolderEntry = psMetadataItemAlloc(key, PS_META_LIST, NULL, NULL);
    259264            newFolderEntry->data.list = psListAlloc(NULL);
    260265
     
    328333}
    329334
    330 psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name, psElemType pType,
     335psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name,
    331336                     psMetadataType type, const char *comment, ...)
    332337{
     
    335340
    336341    va_start(argPtr, comment);
    337     metadataItem = psMetadataItemAllocV(name, pType, type, comment, argPtr);
     342    metadataItem = psMetadataItemAllocV(name, type, comment, argPtr);
    338343    va_end(argPtr);
    339344
     
    348353    return true;
    349354}
     355
     356#define METADATA_ADD_TYPE(NAME,TYPE,METATYPE) \
     357psBool psMetadataAdd##NAME(psMetadata* md, psS32 where, const char* name, \
     358                           const char* comment, TYPE value) { \
     359    return psMetadataAdd(md,where,name, METATYPE,comment,value); \
     360}
     361
     362METADATA_ADD_TYPE(S32,psS32,PS_META_S32)
     363METADATA_ADD_TYPE(F32,psF32,PS_META_F32)
     364METADATA_ADD_TYPE(F64,psF64,PS_META_F64)
     365METADATA_ADD_TYPE(List,psList*,PS_META_LIST)
     366METADATA_ADD_TYPE(Str,const char*,PS_META_STR)
     367METADATA_ADD_TYPE(Vector,psVector*,PS_META_VEC)
     368METADATA_ADD_TYPE(Image,psImage*,PS_META_IMG)
     369METADATA_ADD_TYPE(Hash,psHash*,PS_META_HASH)
     370METADATA_ADD_TYPE(LookupTable,psLookupTable*,PS_META_LOOKUPTABLE)
     371METADATA_ADD_TYPE(Unknown,void*,PS_META_UNKNOWN)
    350372
    351373psBool psMetadataRemove(psMetadata *md, psS32 where, const char *key)
     
    435457    }
    436458
    437     if(metadataItem->type == PS_META_PRIMITIVE && metadataItem->pType != PS_TYPE_PTR) {
     459    if(PS_META_IS_PRIMITIVE(metadataItem->type)) {
    438460        if (status) {
    439461            *status = false;
    440462        }
    441463        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
    442                 PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH,
    443                 metadataItem->pType,
    444                 PS_TYPE_PTR);
     464                PS_ERRORTEXT_psMetadata_METATYPE_INVALID,
     465                metadataItem->type);
    445466        return NULL;
    446467    } else {
     
    467488    } \
    468489    \
    469     if (metadataItem->type == PS_META_PRIMITIVE) { \
    470         switch (metadataItem->pType) { \
    471         case PS_TYPE_S32: \
    472             value = (ps##TYPE)metadataItem->data.S32; \
    473             break; \
    474         case PS_TYPE_F32: \
    475             value = (ps##TYPE)metadataItem->data.F32; \
    476             break; \
    477         case PS_TYPE_F64: \
    478             value = (ps##TYPE)metadataItem->data.F64; \
    479             break; \
    480         case PS_TYPE_BOOL: \
    481             if (metadataItem->data.B) { \
    482                 value = 1; \
    483             } \
    484             break; \
    485         default: \
    486             /* if you get to this point, the value is not a number. */ \
    487             if (status) { \
    488                 *status = false; \
    489             } \
    490             break; \
     490    switch (metadataItem->type) { \
     491    case PS_META_S32: \
     492        value = (ps##TYPE)metadataItem->data.S32; \
     493        break; \
     494    case PS_META_F32: \
     495        value = (ps##TYPE)metadataItem->data.F32; \
     496        break; \
     497    case PS_META_F64: \
     498        value = (ps##TYPE)metadataItem->data.F64; \
     499        break; \
     500    case PS_META_BOOL: \
     501        if (metadataItem->data.B) { \
     502            value = 1; \
    491503        } \
    492     } else { \
     504        break; \
     505    default: \
     506        /* if you get to this point, the value is not a number. */ \
    493507        if (status) { \
    494508            *status = false; \
    495509        } \
     510        break; \
    496511    } \
    497512    \
  • trunk/psLib/src/astronomy/psMetadata.h

    r3264 r3341  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2005-02-17 19:26:23 $
     13*  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2005-02-28 23:34:10 $
    1515*
    1616*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2424#include "psHash.h"
    2525#include "psList.h"
     26#include "psImage.h"
     27#include "psLookupTable.h"
    2628
    2729/// @addtogroup Metadata
     
    3335 */
    3436typedef enum {
    35     PS_META_PRIMITIVE,                 ///< Primitive data.
     37    PS_META_S32,                       ///< Primitive data.
     38    PS_META_F32,                       ///< Primitive data.
     39    PS_META_F64,                       ///< Primitive data.
     40    PS_META_BOOL,                       ///< Primitive data.
    3641    PS_META_LIST,                      ///< List data (Stored as item.data.list).
    3742    PS_META_STR,                       ///< String data (Stored as item.data.V).
     
    4752} psMetadataType;
    4853
     54#define PS_META_IS_PRIMITIVE(TYPE) \
     55(TYPE == PS_META_S32 || \
     56 TYPE == PS_META_F32 || \
     57 TYPE == PS_META_F64 || \
     58 TYPE == PS_META_BOOL)
     59
     60#define PS_META_PRIMITIVE_TYPE(METATYPE) ( \
     61        (METATYPE==PS_META_S32) ? PS_TYPE_S32 : \
     62        (METATYPE==PS_META_F32) ? PS_TYPE_F32 : \
     63        (METATYPE==PS_META_F64) ? PS_TYPE_F64 : \
     64        (METATYPE==PS_META_BOOL) ? PS_TYPE_BOOL : PS_TYPE_PTR )
     65
    4966/** Option flags for psMetadata functions
    5067 *
     
    5572typedef enum {
    5673    PS_META_DEFAULT = 0,               ///< default behaviour (duplicate entry is an error)
    57     PS_META_REPLACE                    ///< allow entry to be replaced
     74    PS_META_REPLACE = 0x10000          ///< allow entry to be replaced
    5875} psMetadataFlags;
    5976
     
    8299    char *name;                        ///< Name of metadata item.
    83100    psMetadataType type;               ///< Type of metadata item.
    84     psElemType pType;                  ///< Primitive data type
    85101    union {
    86102        psBool B;                      ///< boolean data
     
    113129psMetadataItem* psMetadataItemAlloc(
    114130    const char *name,                  ///< Name of metadata item.
    115     psElemType pType,                  ///< Primitive type.
    116131    psMetadataType type,               ///< Type of metadata item.
    117132    const char *comment,               ///< Comment for metadata item.
    118133    ...                                ///< Arguments for name formatting and metadata item data.
     134);
     135
     136psMetadataItem* psMetadataItemAllocStr(
     137    const char* name,
     138    const char* comment,
     139    const char* value
     140);
     141
     142psMetadataItem* psMetadataItemAllocF32(
     143    const char* name,
     144    const char* comment,
     145    psF32 value
     146);
     147
     148psMetadataItem* psMetadataItemAllocF64(
     149    const char* name,
     150    const char* comment,
     151    psF64 value
     152);
     153
     154psMetadataItem* psMetadataItemAllocS32(
     155    const char* name,
     156    const char* comment,
     157    psS32 value
     158);
     159
     160psMetadataItem* psMetadataItemAllocBool(
     161    const char* name,
     162    const char* comment,
     163    psBool value
    119164);
    120165
     
    137182psMetadataItem* psMetadataItemAllocV(
    138183    const char *name,                  ///< Name of metadata item.
    139     psElemType pType,                  ///< Primitive type.
    140184    psMetadataType type,               ///< Type of metadata item.
    141185    const char *comment,               ///< Comment for metadata item.
     
    161205 */
    162206psBool psMetadataAddItem(
    163     psMetadata*  md,          ///< Metadata collection to insert metadat item.
    164     psMetadataItem*  item,    ///< Metadata item to be added.
    165     psS32 location            ///< Location to be added.
     207    psMetadata*  md,                   ///< Metadata collection to insert metadat item.
     208    psMetadataItem*  item,             ///< Metadata item to be added.
     209    psS32 location                     ///< Location to be added.
    166210);
    167211
     
    173217 */
    174218psBool psMetadataAdd(
    175     psMetadata* md,           ///< Metadata collection to insert metadat item.
    176     psS32 where,              ///< Location to be added.
    177     const char *name,         ///< Name of metadata item.
    178     psElemType pType,         ///< Primitive type.
    179     psMetadataType type,      ///< Type of metadata item.
    180     const char *comment,      ///< Comment for metadata item.
    181     ...                       ///< Arguments for name formatting and metadata item data.
    182 );
     219    psMetadata* md,                    ///< Metadata collection to insert metadat item.
     220    psS32 where,                       ///< Location to be added.
     221    const char *name,                  ///< Name of metadata item.
     222    psMetadataType type,               ///< Type of metadata item.
     223    const char *comment,               ///< Comment for metadata item.
     224    ...                                ///< Arguments for name formatting and metadata item data.
     225);
     226
     227psBool psMetadataAddS32(psMetadata* md, psS32 where, const char* name,
     228                        const char* comment, psS32 value);
     229psBool psMetadataAddF32(psMetadata* md, psS32 where, const char* name,
     230                        const char* comment, psF32 value);
     231psBool psMetadataAddF64(psMetadata* md, psS32 where, const char* name,
     232                        const char* comment, psF64 value);
     233psBool psMetadataAddList(psMetadata* md, psS32 where, const char* name,
     234                         const char* comment, psList* value);
     235psBool psMetadataAddStr(psMetadata* md, psS32 where, const char* name,
     236                        const char* comment, const char* value);
     237psBool psMetadataAddVector(psMetadata* md, psS32 where, const char* name,
     238                           const char* comment, psVector* value);
     239psBool psMetadataAddImage(psMetadata* md, psS32 where, const char* name,
     240                          const char* comment, psImage* value);
     241psBool psMetadataAddHash(psMetadata* md, psS32 where, const char* name,
     242                         const char* comment, psHash* value);
     243psBool psMetadataAddLookupTable(psMetadata* md, psS32 where, const char* name,
     244                                const char* comment, psLookupTable* value);
     245psBool psMetadataAddUnknown(psMetadata* md, psS32 where, const char* name,
     246                            const char* comment, psPtr value);
     247
    183248
    184249/** Remove an item from metadata collection.
  • trunk/psLib/src/astronomy/psMetadataIO.c

    r3264 r3341  
    99*  @author Ross Harman, MHPCC
    1010*
    11 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    12 *  @date $Date: 2005-02-17 19:26:23 $
     11*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     12*  @date $Date: 2005-02-28 23:34:10 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    101101/*****************************************************************************/
    102102
    103 static void p_saxEndElement(void *ctx, const xmlChar *tagName);
    104 static void p_psInitVectorXml(void *ctx, char *tagName);
    105 static void p_psInitMetadataItemXml(void *ctx, char *tagName);
    106 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
     103static void saxEndElement(void *ctx, const xmlChar *tagName);
     104static void initVectorXml(void *ctx, char *tagName);
     105static void initMetadataItemXml(void *ctx, char *tagName);
     106static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
    107107
    108108/** Determines if a line is blank (whitespace only) or a commentline. It returns true if so. The input string
     
    307307{
    308308    psMetadataType type;
    309     psElemType pType;
    310309    psBool success = true;
    311310
     
    315314
    316315    type = metadataItem->type;
    317     pType = metadataItem->pType;
    318316
    319317    switch(type) {
    320     case PS_META_PRIMITIVE:
    321         switch(pType) {
    322         case PS_TYPE_BOOL:
    323             fprintf(fd, format, metadataItem->data.B);
    324             break;
    325         case PS_TYPE_S32:
    326             fprintf(fd,format, metadataItem->data.S32);
    327             break;
    328         case PS_TYPE_F32:
    329             fprintf(fd, format, metadataItem->data.F32);
    330             break;
    331         case PS_TYPE_F64:
    332             fprintf(fd, format, metadataItem->data.F64);
    333             break;
    334         default:
    335             psError(PS_ERR_BAD_PARAMETER_TYPE,true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, (int)pType);
    336             success = false;
    337         }
     318    case PS_META_BOOL:
     319        fprintf(fd, format, metadataItem->data.B);
     320        break;
     321    case PS_META_S32:
     322        fprintf(fd,format, metadataItem->data.S32);
     323        break;
     324    case PS_META_F32:
     325        fprintf(fd, format, metadataItem->data.F32);
     326        break;
     327    case PS_META_F64:
     328        fprintf(fd, format, metadataItem->data.F64);
    338329        break;
    339330    case PS_META_STR:
     
    419410        switch (keyType) {
    420411        case 'I':
    421             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_S32, PS_META_PRIMITIVE,
     412            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_S32,
    422413                                    keyComment, atoi(keyValue));
    423414            break;
    424415        case 'F':
    425             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_F64, PS_META_PRIMITIVE,
     416            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_F64,
    426417                                    keyComment, atof(keyValue));
    427418            break;
    428419        case 'C':
    429             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_PTR, PS_META_STR, keyComment,
    430                                     keyValue);
     420            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_STR,
     421                                    keyComment, keyValue);
    431422            break;
    432423        case 'L':
    433424            tempBool = (keyValue[0] == 'T') ? 1 : 0;
    434             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_BOOL, PS_META_PRIMITIVE, keyComment,
    435                                     tempBool);
     425            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_BOOL,
     426                                    keyComment, tempBool);
    436427            break;
    437428        case 'U':
     
    460451    char *strComment = NULL;
    461452    char *linePtr = NULL;
     453    psElemType vecType = PS_TYPE_PTR;
    462454    psS32 status = 0;
    463455    psU32 lineCount = 0;
     
    467459    psVector *tempVec = NULL;
    468460    FILE *fp = NULL;
    469     psElemType pType;
    470461    psMetadataType mdType;
    471462
     
    535526            } else if(!strncmp(strType, "*", 1)) {
    536527                mdType = PS_META_LIST;
    537                 pType = PS_TYPE_PTR;
    538528            } else if(!strncmp(strType, "STR", 3)) {
    539529                mdType = PS_META_STR;
    540                 pType = PS_TYPE_PTR;
    541             } else if(!strncmp(strType, "BOOL", 3)) {
    542                 mdType = PS_META_PRIMITIVE;
    543                 pType = PS_TYPE_BOOL;
     530            } else if(!strncmp(strType, "BOOL", 4)) {
     531                mdType = PS_META_BOOL;
    544532            } else if(!strncmp(strType, "S32", 3)) {
    545                 mdType = PS_META_PRIMITIVE;
    546                 pType = PS_TYPE_S32;
     533                mdType = PS_META_S32;
    547534            } else if(!strncmp(strType, "F32", 3)) {
    548                 mdType = PS_META_PRIMITIVE;
    549                 pType = PS_TYPE_F32;
     535                mdType = PS_META_F32;
    550536            } else if(!strncmp(strType, "F64", 3)) {
    551                 mdType = PS_META_PRIMITIVE;
    552                 pType = PS_TYPE_F64;
     537                mdType = PS_META_F64;
    553538            } else {
    554539                (*nFail)++;
     
    559544
    560545            if(*strName == '@') {
     546                vecType = PS_META_PRIMITIVE_TYPE(mdType);
    561547                mdType = PS_META_VEC;
    562548            }
     
    604590            switch (mdType) {
    605591            case PS_META_LIST:
    606                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     592                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    607593                break;
    608594            case PS_META_STR:
    609                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, strValue);
     595                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, strValue);
    610596                break;
    611597            case PS_META_VEC:
    612                 tempVec = parseVector(strValue, pType, &status);
     598                tempVec = parseVector(strValue, vecType, &status);
    613599                if(!status) {
    614                     psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, strComment, tempVec);
     600                    psMetadataAdd(md, PS_LIST_TAIL, strName+1, mdType, strComment, tempVec);
     601                } else {
     602                    status = 0;
     603                    (*nFail)++;
     604                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     605                            strType, lineCount, fileName);
     606                    continue;
     607                }
     608                psFree(tempVec);
     609                break;
     610            case PS_META_BOOL:
     611                tempBool = parseBool(strValue, &status);
     612                if(!status) {
     613                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempBool);
    615614                } else {
    616615                    status = 0;
     
    621620                }
    622621                break;
    623             case PS_META_PRIMITIVE:
    624                 switch (pType) {
    625                 case PS_TYPE_BOOL:
    626                     tempBool = parseBool(strValue, &status);
    627                     if(!status) {
    628                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempBool);
    629                     } else {
    630                         status = 0;
    631                         (*nFail)++;
    632                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    633                                 strType, lineCount, fileName);
    634                         continue;
    635                     }
    636                     break;
    637                 case PS_TYPE_S32:
    638                     tempInt = (psS32)parseValue(strValue, &status);
    639                     if(!status) {
    640                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempInt);
    641                     } else {
    642                         status = 0;
    643                         (*nFail)++;
    644                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    645                                 strType, lineCount, fileName);
    646                         continue;
    647                     }
    648                     break;
    649                 case PS_TYPE_F32:
    650                 case PS_TYPE_F64:
    651                     tempDbl = parseValue(strValue, &status);
    652                     if(!status) {
    653                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempDbl);
    654                     } else {
    655                         status = 0;
    656                         (*nFail)++;
    657                         psError(PS_ERR_IO, true,
    658                                 PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    659                                 fileName);
    660                         continue;
    661                     }
    662                     break;
    663                 default:
     622            case PS_META_S32:
     623                tempInt = (psS32)parseValue(strValue, &status);
     624                if(!status) {
     625                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempInt);
     626                } else {
     627                    status = 0;
    664628                    (*nFail)++;
    665                     psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, mdType, lineCount,
     629                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     630                            strType, lineCount, fileName);
     631                    continue;
     632                }
     633                break;
     634            case PS_META_F32:
     635            case PS_META_F64:
     636                tempDbl = parseValue(strValue, &status);
     637                if(!status) {
     638                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempDbl);
     639                } else {
     640                    status = 0;
     641                    (*nFail)++;
     642                    psError(PS_ERR_IO, true,
     643                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    666644                            fileName);
    667645                    continue;
    668                 } // switch
     646                }
    669647                break;
    670648            default:
     
    682660}
    683661
    684 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
     662static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
    685663{
    686664    psU64 i = 0;
     
    709687    // Metadata containter for housing element attributes used by other SAX events
    710688    htAtts = psHashAlloc(10);
     689
    711690
    712691    // Get tag name
     
    745724
    746725    // Add attributes to metadata
    747     psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_TYPE_PTR, PS_META_HASH, NULL, htAtts);
     726
     727    psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_META_HASH, NULL, htAtts);
    748728
    749729    psFree(psTagName);
     730    psFree(htAtts);
    750731
    751732    return;
    752733}
    753734
    754 static void p_psInitMetadataItemXml(void *ctx, char *tagName)
     735static void initMetadataItemXml(void *ctx, char *tagName)
    755736{
    756737    psBool overwrite = false;
     
    760741    psF64 tempDbl = 0.0;
    761742    psS32 tempInt = 0.0;
    762     psElemType pType = PS_TYPE_PTR;
    763     psMetadataType mdType = PS_META_PRIMITIVE;
     743    psMetadataType mdType = PS_META_UNKNOWN;
    764744    char *fileName = NULL;
    765745    char *strName = NULL;
     
    802782        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    803783            mdType = PS_META_STR;
    804             pType = PS_TYPE_PTR;
    805784        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    806             mdType = PS_META_PRIMITIVE;
    807             pType = PS_TYPE_U8;
     785            mdType = PS_META_BOOL;
    808786        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    809             mdType = PS_META_PRIMITIVE;
    810             pType = PS_TYPE_S32;
     787            mdType = PS_META_S32;
    811788        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    812             mdType = PS_META_PRIMITIVE;
    813             pType = PS_TYPE_F32;
     789            mdType = PS_META_F32;
    814790        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    815             mdType = PS_META_PRIMITIVE;
    816             pType = PS_TYPE_F64;
     791            mdType = PS_META_F64;
    817792        } else {
    818793            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TYPE_INVALID_LINE_FILE, strType, lineNumber,
     
    853828    switch(mdType) {
    854829    case PS_META_LIST:
    855         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     830        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    856831        break;
    857832    case PS_META_STR:
    858         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, strValue);
     833        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, strValue);
    859834        break;
    860     case PS_META_PRIMITIVE:
    861         switch(pType) {
    862         case PS_TYPE_BOOL:
    863             tempBool = parseBool((char*)strValue, &status);
    864             if(!status) {
    865                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempBool);
    866             } else {
    867                 status = 0;
    868                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    869                         lineNumber, fileName);
    870             }
    871             break;
    872         case PS_TYPE_S32:
    873             tempInt = (psS32)parseValue((char*)strValue, &status);
    874             if(!status) {
    875                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempInt);
    876             } else {
    877                 status = 0;
    878                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    879                         lineNumber, fileName);
    880             }
    881             break;
    882         case PS_TYPE_F32:
    883         case PS_TYPE_F64:
    884             tempDbl = parseValue((char*)strValue, &status);
    885             if(!status) {
    886                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempDbl);
    887             } else {
    888                 status = 0;
    889                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    890                         lineNumber, fileName);
    891             }
    892             break;
    893         default:
    894             psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, strType, lineNumber, fileName);
    895         } // End switch
     835    case PS_META_BOOL:
     836        tempBool = parseBool((char*)strValue, &status);
     837        if(!status) {
     838            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempBool);
     839        } else {
     840            status = 0;
     841            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     842                    lineNumber, fileName);
     843        }
     844        break;
     845    case PS_META_S32:
     846        tempInt = (psS32)parseValue((char*)strValue, &status);
     847        if(!status) {
     848            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempInt);
     849        } else {
     850            status = 0;
     851            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     852                    lineNumber, fileName);
     853        }
     854        break;
     855    case PS_META_F32:
     856    case PS_META_F64:
     857        tempDbl = parseValue((char*)strValue, &status);
     858        if(!status) {
     859            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempDbl);
     860        } else {
     861            status = 0;
     862            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     863                    lineNumber, fileName);
     864        }
    896865        break;
    897866    default:
     
    899868    } // End switch
    900869
    901 
    902870    return;
    903871}
    904872
    905873
    906 static void p_psInitVectorXml(void *ctx, char *tagName)
     874static void initVectorXml(void *ctx, char *tagName)
    907875{
    908876    bool overwrite = false;
     
    910878    psU32 lineNumber = 0;
    911879    psElemType pType = PS_TYPE_PTR;
    912     psMetadataType mdType = PS_META_PRIMITIVE;
    913880    char *strName = NULL;
    914881    char *strType = NULL;
     
    952919    strType = psHashLookup(htAtts, "psType");
    953920    if(strType!= NULL) {
    954         if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    955             mdType = PS_META_STR;
    956             pType = PS_TYPE_PTR;
    957         } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    958             mdType = PS_META_PRIMITIVE;
     921        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    959922            pType = PS_TYPE_U8;
    960923        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    961             mdType = PS_META_PRIMITIVE;
    962924            pType = PS_TYPE_S32;
    963925        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    964             mdType = PS_META_PRIMITIVE;
    965926            pType = PS_TYPE_F32;
    966927        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    967             mdType = PS_META_PRIMITIVE;
    968928            pType = PS_TYPE_F64;
    969929        } else {
     
    1006966    vec = parseVector((char*)strValue, pType, &status);
    1007967    if(!status) {
    1008         psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, NULL, vec);
     968        psMetadataAdd(md, PS_LIST_TAIL, strName+1, PS_META_VEC, NULL, vec);
    1009969    } else {
    1010970        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     
    1014974}
    1015975
    1016 static void p_saxEndElement(void *ctx, const xmlChar *tagName)
     976static void saxEndElement(void *ctx, const xmlChar *tagName)
    1017977{
    1018978    char *psStartTagName = NULL;
     
    10521012    // Initialize psLib structs
    10531013    if(!strcmp(psEndTagName, "psMetadataItem")) {
    1054         p_psInitMetadataItemXml(ctx, psEndTagName);
     1014        initMetadataItemXml(ctx, psEndTagName);
    10551015    } else if(!strcmp(psEndTagName, "psVector")) {
    1056         p_psInitVectorXml(ctx, psEndTagName);
     1016        initVectorXml(ctx, psEndTagName);
    10571017    } else if(strcmp(psEndTagName, "psRoot")) {
    10581018        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TAG_UNKNOWN, psEndTagName);
     
    10951055    saxHandler.startDocument            = NULL;
    10961056    saxHandler.endDocument              = NULL;
    1097     saxHandler.startElement             = p_saxStartElement;
    1098     saxHandler.endElement               = p_saxEndElement;
     1057    saxHandler.startElement             = saxStartElement;
     1058    saxHandler.endElement               = saxEndElement;
    10991059    saxHandler.reference                = NULL;
    11001060    saxHandler.characters               = NULL;
  • trunk/psLib/src/astronomy/psTime.c

    r3264 r3341  
    1010 *  @author Ross Harman, MHPCC
    1111 *
    12  *  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
    13  *  @date $Date: 2005-02-17 19:26:23 $
     12 *  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
     13 *  @date $Date: 2005-02-28 23:34:10 $
    1414 *
    1515 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    215215    char metadataTableNames[4][MAX_STRING_LENGTH] = {"ser7", "eopc",  "finals", "tai"};
    216216
    217 
    218217    // Read time config file
    219218    timeMetadata = psMetadataParseConfig(timeMetadata, &nFail, fileName, true);
     
    313312            if(metadataNamesPtr != NULL) {
    314313                psMetadataAdd(timeMetadata, PS_LIST_TAIL, strcat(metadataTableNames[j], "Table"),
    315                               PS_TYPE_PTR, PS_META_LOOKUPTABLE, NULL, table);
     314                              PS_META_LOOKUPTABLE, NULL, table);
    316315                foundTable = true;
    317316            } else if(foundTable==false && j==numTables-1) {
     
    322321        psFree(fullTableName);
    323322        psFree(tableName);
     323        psFree(table);
    324324        i++;
    325325    }
  • trunk/psLib/src/collections/psMetadata.c

    r3286 r3341  
    1212*  @author Ross Harman, MHPCC
    1313*
    14 *  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
    15 *  @date $Date: 2005-02-18 22:17:20 $
     14*  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
     15*  @date $Date: 2005-02-28 23:34:10 $
    1616*
    1717*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    8080    psFree(metadataItem->name);
    8181    psFree(metadataItem->comment);
    82     if (type != PS_META_PRIMITIVE) {
     82    if (! PS_META_IS_PRIMITIVE(type)) {
    8383        psFree(metadataItem->data.V);
    8484    }
     
    9898/*****************************************************************************/
    9999
    100 psMetadataItem* psMetadataItemAlloc(const char *name, psElemType pType, psMetadataType type,
     100psMetadataItem* psMetadataItemAlloc(const char *name, psMetadataType type,
    101101                                    const char *comment, ...)
    102102{
     
    108108
    109109    // Call metadata item allocation
    110     metadataItem = psMetadataItemAllocV(name, pType, type, comment, argPtr);
     110    metadataItem = psMetadataItemAllocV(name, type, comment, argPtr);
    111111
    112112    // Clean up stack after variable arguement has been used
     
    116116}
    117117
    118 psMetadataItem* psMetadataItemAllocV(const char *name, psElemType pType, psMetadataType type,
     118#define METADATAITEM_ALLOC_TYPE(NAME,TYPE,METATYPE) \
     119psMetadataItem* psMetadataItemAlloc##NAME(const char* name, \
     120        const char* comment, \
     121        TYPE value) \
     122{ \
     123    return psMetadataItemAlloc(name, METATYPE, comment, value); \
     124}
     125
     126METADATAITEM_ALLOC_TYPE(Str,const char*,PS_META_STR)
     127METADATAITEM_ALLOC_TYPE(F32,psF32,PS_META_F32)
     128METADATAITEM_ALLOC_TYPE(F64,psF64,PS_META_F64)
     129METADATAITEM_ALLOC_TYPE(S32,psS32,PS_META_S32)
     130METADATAITEM_ALLOC_TYPE(Bool,psBool,PS_META_BOOL)
     131
     132psMetadataItem* psMetadataItemAllocV(const char *name, psMetadataType type,
    119133                                     const char *comment, va_list argPtr)
    120134{
     
    145159    // Set metadata item type
    146160    metadataItem->type = type;
    147     metadataItem->pType = pType;
    148161
    149162    // Allocate and set metadata item name
     
    153166    // Set metadata item value
    154167    switch(type) {
    155     case PS_META_PRIMITIVE:
    156         switch(pType) {
    157         case PS_TYPE_BOOL:
    158             metadataItem->data.B = (psBool)va_arg(argPtr, psS32);
    159             break;
    160         case PS_TYPE_S32:
    161             metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
    162             break;
    163         case PS_TYPE_F32:
    164             metadataItem->data.F32 = (psF32)va_arg(argPtr, psF64);
    165             break;
    166         case PS_TYPE_F64:
    167             metadataItem->data.F64 = (psF64)va_arg(argPtr, psF64);
    168             break;
    169         default:
    170             psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, type);
    171             psFree(metadataItem);
    172             metadataItem = NULL;
    173         }
     168    case PS_META_BOOL:
     169        metadataItem->data.B = (psBool)va_arg(argPtr, psS32);
     170        break;
     171    case PS_META_S32:
     172        metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
     173        break;
     174    case PS_META_F32:
     175        metadataItem->data.F32 = (psF32)va_arg(argPtr, psF64);
     176        break;
     177    case PS_META_F64:
     178        metadataItem->data.F64 = (psF64)va_arg(argPtr, psF64);
    174179        break;
    175180    case PS_META_STR:
     
    186191    case PS_META_UNKNOWN:
    187192        // Copy of input data not performed due to variability of data types
    188         metadataItem->data.V = va_arg(argPtr, psPtr);
     193        metadataItem->data.V = psMemIncrRefCounter(va_arg(argPtr, psPtr));
    189194        break;
    190195    default:
     
    256261
    257262            // Leaf node replaces another leaf. Make new folder node and add leaves.
    258             newFolderEntry = psMetadataItemAlloc(key, PS_TYPE_PTR, PS_META_LIST, NULL, NULL);
     263            newFolderEntry = psMetadataItemAlloc(key, PS_META_LIST, NULL, NULL);
    259264            newFolderEntry->data.list = psListAlloc(NULL);
    260265
     
    328333}
    329334
    330 psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name, psElemType pType,
     335psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name,
    331336                     psMetadataType type, const char *comment, ...)
    332337{
     
    335340
    336341    va_start(argPtr, comment);
    337     metadataItem = psMetadataItemAllocV(name, pType, type, comment, argPtr);
     342    metadataItem = psMetadataItemAllocV(name, type, comment, argPtr);
    338343    va_end(argPtr);
    339344
     
    348353    return true;
    349354}
     355
     356#define METADATA_ADD_TYPE(NAME,TYPE,METATYPE) \
     357psBool psMetadataAdd##NAME(psMetadata* md, psS32 where, const char* name, \
     358                           const char* comment, TYPE value) { \
     359    return psMetadataAdd(md,where,name, METATYPE,comment,value); \
     360}
     361
     362METADATA_ADD_TYPE(S32,psS32,PS_META_S32)
     363METADATA_ADD_TYPE(F32,psF32,PS_META_F32)
     364METADATA_ADD_TYPE(F64,psF64,PS_META_F64)
     365METADATA_ADD_TYPE(List,psList*,PS_META_LIST)
     366METADATA_ADD_TYPE(Str,const char*,PS_META_STR)
     367METADATA_ADD_TYPE(Vector,psVector*,PS_META_VEC)
     368METADATA_ADD_TYPE(Image,psImage*,PS_META_IMG)
     369METADATA_ADD_TYPE(Hash,psHash*,PS_META_HASH)
     370METADATA_ADD_TYPE(LookupTable,psLookupTable*,PS_META_LOOKUPTABLE)
     371METADATA_ADD_TYPE(Unknown,void*,PS_META_UNKNOWN)
    350372
    351373psBool psMetadataRemove(psMetadata *md, psS32 where, const char *key)
     
    435457    }
    436458
    437     if(metadataItem->type == PS_META_PRIMITIVE && metadataItem->pType != PS_TYPE_PTR) {
     459    if(PS_META_IS_PRIMITIVE(metadataItem->type)) {
    438460        if (status) {
    439461            *status = false;
    440462        }
    441463        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
    442                 PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH,
    443                 metadataItem->pType,
    444                 PS_TYPE_PTR);
     464                PS_ERRORTEXT_psMetadata_METATYPE_INVALID,
     465                metadataItem->type);
    445466        return NULL;
    446467    } else {
     
    467488    } \
    468489    \
    469     if (metadataItem->type == PS_META_PRIMITIVE) { \
    470         switch (metadataItem->pType) { \
    471         case PS_TYPE_S32: \
    472             value = (ps##TYPE)metadataItem->data.S32; \
    473             break; \
    474         case PS_TYPE_F32: \
    475             value = (ps##TYPE)metadataItem->data.F32; \
    476             break; \
    477         case PS_TYPE_F64: \
    478             value = (ps##TYPE)metadataItem->data.F64; \
    479             break; \
    480         case PS_TYPE_BOOL: \
    481             if (metadataItem->data.B) { \
    482                 value = 1; \
    483             } \
    484             break; \
    485         default: \
    486             /* if you get to this point, the value is not a number. */ \
    487             if (status) { \
    488                 *status = false; \
    489             } \
    490             break; \
     490    switch (metadataItem->type) { \
     491    case PS_META_S32: \
     492        value = (ps##TYPE)metadataItem->data.S32; \
     493        break; \
     494    case PS_META_F32: \
     495        value = (ps##TYPE)metadataItem->data.F32; \
     496        break; \
     497    case PS_META_F64: \
     498        value = (ps##TYPE)metadataItem->data.F64; \
     499        break; \
     500    case PS_META_BOOL: \
     501        if (metadataItem->data.B) { \
     502            value = 1; \
    491503        } \
    492     } else { \
     504        break; \
     505    default: \
     506        /* if you get to this point, the value is not a number. */ \
    493507        if (status) { \
    494508            *status = false; \
    495509        } \
     510        break; \
    496511    } \
    497512    \
  • trunk/psLib/src/collections/psMetadata.h

    r3264 r3341  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2005-02-17 19:26:23 $
     13*  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2005-02-28 23:34:10 $
    1515*
    1616*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2424#include "psHash.h"
    2525#include "psList.h"
     26#include "psImage.h"
     27#include "psLookupTable.h"
    2628
    2729/// @addtogroup Metadata
     
    3335 */
    3436typedef enum {
    35     PS_META_PRIMITIVE,                 ///< Primitive data.
     37    PS_META_S32,                       ///< Primitive data.
     38    PS_META_F32,                       ///< Primitive data.
     39    PS_META_F64,                       ///< Primitive data.
     40    PS_META_BOOL,                       ///< Primitive data.
    3641    PS_META_LIST,                      ///< List data (Stored as item.data.list).
    3742    PS_META_STR,                       ///< String data (Stored as item.data.V).
     
    4752} psMetadataType;
    4853
     54#define PS_META_IS_PRIMITIVE(TYPE) \
     55(TYPE == PS_META_S32 || \
     56 TYPE == PS_META_F32 || \
     57 TYPE == PS_META_F64 || \
     58 TYPE == PS_META_BOOL)
     59
     60#define PS_META_PRIMITIVE_TYPE(METATYPE) ( \
     61        (METATYPE==PS_META_S32) ? PS_TYPE_S32 : \
     62        (METATYPE==PS_META_F32) ? PS_TYPE_F32 : \
     63        (METATYPE==PS_META_F64) ? PS_TYPE_F64 : \
     64        (METATYPE==PS_META_BOOL) ? PS_TYPE_BOOL : PS_TYPE_PTR )
     65
    4966/** Option flags for psMetadata functions
    5067 *
     
    5572typedef enum {
    5673    PS_META_DEFAULT = 0,               ///< default behaviour (duplicate entry is an error)
    57     PS_META_REPLACE                    ///< allow entry to be replaced
     74    PS_META_REPLACE = 0x10000          ///< allow entry to be replaced
    5875} psMetadataFlags;
    5976
     
    8299    char *name;                        ///< Name of metadata item.
    83100    psMetadataType type;               ///< Type of metadata item.
    84     psElemType pType;                  ///< Primitive data type
    85101    union {
    86102        psBool B;                      ///< boolean data
     
    113129psMetadataItem* psMetadataItemAlloc(
    114130    const char *name,                  ///< Name of metadata item.
    115     psElemType pType,                  ///< Primitive type.
    116131    psMetadataType type,               ///< Type of metadata item.
    117132    const char *comment,               ///< Comment for metadata item.
    118133    ...                                ///< Arguments for name formatting and metadata item data.
     134);
     135
     136psMetadataItem* psMetadataItemAllocStr(
     137    const char* name,
     138    const char* comment,
     139    const char* value
     140);
     141
     142psMetadataItem* psMetadataItemAllocF32(
     143    const char* name,
     144    const char* comment,
     145    psF32 value
     146);
     147
     148psMetadataItem* psMetadataItemAllocF64(
     149    const char* name,
     150    const char* comment,
     151    psF64 value
     152);
     153
     154psMetadataItem* psMetadataItemAllocS32(
     155    const char* name,
     156    const char* comment,
     157    psS32 value
     158);
     159
     160psMetadataItem* psMetadataItemAllocBool(
     161    const char* name,
     162    const char* comment,
     163    psBool value
    119164);
    120165
     
    137182psMetadataItem* psMetadataItemAllocV(
    138183    const char *name,                  ///< Name of metadata item.
    139     psElemType pType,                  ///< Primitive type.
    140184    psMetadataType type,               ///< Type of metadata item.
    141185    const char *comment,               ///< Comment for metadata item.
     
    161205 */
    162206psBool psMetadataAddItem(
    163     psMetadata*  md,          ///< Metadata collection to insert metadat item.
    164     psMetadataItem*  item,    ///< Metadata item to be added.
    165     psS32 location            ///< Location to be added.
     207    psMetadata*  md,                   ///< Metadata collection to insert metadat item.
     208    psMetadataItem*  item,             ///< Metadata item to be added.
     209    psS32 location                     ///< Location to be added.
    166210);
    167211
     
    173217 */
    174218psBool psMetadataAdd(
    175     psMetadata* md,           ///< Metadata collection to insert metadat item.
    176     psS32 where,              ///< Location to be added.
    177     const char *name,         ///< Name of metadata item.
    178     psElemType pType,         ///< Primitive type.
    179     psMetadataType type,      ///< Type of metadata item.
    180     const char *comment,      ///< Comment for metadata item.
    181     ...                       ///< Arguments for name formatting and metadata item data.
    182 );
     219    psMetadata* md,                    ///< Metadata collection to insert metadat item.
     220    psS32 where,                       ///< Location to be added.
     221    const char *name,                  ///< Name of metadata item.
     222    psMetadataType type,               ///< Type of metadata item.
     223    const char *comment,               ///< Comment for metadata item.
     224    ...                                ///< Arguments for name formatting and metadata item data.
     225);
     226
     227psBool psMetadataAddS32(psMetadata* md, psS32 where, const char* name,
     228                        const char* comment, psS32 value);
     229psBool psMetadataAddF32(psMetadata* md, psS32 where, const char* name,
     230                        const char* comment, psF32 value);
     231psBool psMetadataAddF64(psMetadata* md, psS32 where, const char* name,
     232                        const char* comment, psF64 value);
     233psBool psMetadataAddList(psMetadata* md, psS32 where, const char* name,
     234                         const char* comment, psList* value);
     235psBool psMetadataAddStr(psMetadata* md, psS32 where, const char* name,
     236                        const char* comment, const char* value);
     237psBool psMetadataAddVector(psMetadata* md, psS32 where, const char* name,
     238                           const char* comment, psVector* value);
     239psBool psMetadataAddImage(psMetadata* md, psS32 where, const char* name,
     240                          const char* comment, psImage* value);
     241psBool psMetadataAddHash(psMetadata* md, psS32 where, const char* name,
     242                         const char* comment, psHash* value);
     243psBool psMetadataAddLookupTable(psMetadata* md, psS32 where, const char* name,
     244                                const char* comment, psLookupTable* value);
     245psBool psMetadataAddUnknown(psMetadata* md, psS32 where, const char* name,
     246                            const char* comment, psPtr value);
     247
    183248
    184249/** Remove an item from metadata collection.
  • trunk/psLib/src/collections/psMetadataIO.c

    r3264 r3341  
    99*  @author Ross Harman, MHPCC
    1010*
    11 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    12 *  @date $Date: 2005-02-17 19:26:23 $
     11*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     12*  @date $Date: 2005-02-28 23:34:10 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    101101/*****************************************************************************/
    102102
    103 static void p_saxEndElement(void *ctx, const xmlChar *tagName);
    104 static void p_psInitVectorXml(void *ctx, char *tagName);
    105 static void p_psInitMetadataItemXml(void *ctx, char *tagName);
    106 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
     103static void saxEndElement(void *ctx, const xmlChar *tagName);
     104static void initVectorXml(void *ctx, char *tagName);
     105static void initMetadataItemXml(void *ctx, char *tagName);
     106static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
    107107
    108108/** Determines if a line is blank (whitespace only) or a commentline. It returns true if so. The input string
     
    307307{
    308308    psMetadataType type;
    309     psElemType pType;
    310309    psBool success = true;
    311310
     
    315314
    316315    type = metadataItem->type;
    317     pType = metadataItem->pType;
    318316
    319317    switch(type) {
    320     case PS_META_PRIMITIVE:
    321         switch(pType) {
    322         case PS_TYPE_BOOL:
    323             fprintf(fd, format, metadataItem->data.B);
    324             break;
    325         case PS_TYPE_S32:
    326             fprintf(fd,format, metadataItem->data.S32);
    327             break;
    328         case PS_TYPE_F32:
    329             fprintf(fd, format, metadataItem->data.F32);
    330             break;
    331         case PS_TYPE_F64:
    332             fprintf(fd, format, metadataItem->data.F64);
    333             break;
    334         default:
    335             psError(PS_ERR_BAD_PARAMETER_TYPE,true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, (int)pType);
    336             success = false;
    337         }
     318    case PS_META_BOOL:
     319        fprintf(fd, format, metadataItem->data.B);
     320        break;
     321    case PS_META_S32:
     322        fprintf(fd,format, metadataItem->data.S32);
     323        break;
     324    case PS_META_F32:
     325        fprintf(fd, format, metadataItem->data.F32);
     326        break;
     327    case PS_META_F64:
     328        fprintf(fd, format, metadataItem->data.F64);
    338329        break;
    339330    case PS_META_STR:
     
    419410        switch (keyType) {
    420411        case 'I':
    421             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_S32, PS_META_PRIMITIVE,
     412            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_S32,
    422413                                    keyComment, atoi(keyValue));
    423414            break;
    424415        case 'F':
    425             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_F64, PS_META_PRIMITIVE,
     416            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_F64,
    426417                                    keyComment, atof(keyValue));
    427418            break;
    428419        case 'C':
    429             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_PTR, PS_META_STR, keyComment,
    430                                     keyValue);
     420            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_STR,
     421                                    keyComment, keyValue);
    431422            break;
    432423        case 'L':
    433424            tempBool = (keyValue[0] == 'T') ? 1 : 0;
    434             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_BOOL, PS_META_PRIMITIVE, keyComment,
    435                                     tempBool);
     425            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_BOOL,
     426                                    keyComment, tempBool);
    436427            break;
    437428        case 'U':
     
    460451    char *strComment = NULL;
    461452    char *linePtr = NULL;
     453    psElemType vecType = PS_TYPE_PTR;
    462454    psS32 status = 0;
    463455    psU32 lineCount = 0;
     
    467459    psVector *tempVec = NULL;
    468460    FILE *fp = NULL;
    469     psElemType pType;
    470461    psMetadataType mdType;
    471462
     
    535526            } else if(!strncmp(strType, "*", 1)) {
    536527                mdType = PS_META_LIST;
    537                 pType = PS_TYPE_PTR;
    538528            } else if(!strncmp(strType, "STR", 3)) {
    539529                mdType = PS_META_STR;
    540                 pType = PS_TYPE_PTR;
    541             } else if(!strncmp(strType, "BOOL", 3)) {
    542                 mdType = PS_META_PRIMITIVE;
    543                 pType = PS_TYPE_BOOL;
     530            } else if(!strncmp(strType, "BOOL", 4)) {
     531                mdType = PS_META_BOOL;
    544532            } else if(!strncmp(strType, "S32", 3)) {
    545                 mdType = PS_META_PRIMITIVE;
    546                 pType = PS_TYPE_S32;
     533                mdType = PS_META_S32;
    547534            } else if(!strncmp(strType, "F32", 3)) {
    548                 mdType = PS_META_PRIMITIVE;
    549                 pType = PS_TYPE_F32;
     535                mdType = PS_META_F32;
    550536            } else if(!strncmp(strType, "F64", 3)) {
    551                 mdType = PS_META_PRIMITIVE;
    552                 pType = PS_TYPE_F64;
     537                mdType = PS_META_F64;
    553538            } else {
    554539                (*nFail)++;
     
    559544
    560545            if(*strName == '@') {
     546                vecType = PS_META_PRIMITIVE_TYPE(mdType);
    561547                mdType = PS_META_VEC;
    562548            }
     
    604590            switch (mdType) {
    605591            case PS_META_LIST:
    606                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     592                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    607593                break;
    608594            case PS_META_STR:
    609                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, strValue);
     595                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, strValue);
    610596                break;
    611597            case PS_META_VEC:
    612                 tempVec = parseVector(strValue, pType, &status);
     598                tempVec = parseVector(strValue, vecType, &status);
    613599                if(!status) {
    614                     psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, strComment, tempVec);
     600                    psMetadataAdd(md, PS_LIST_TAIL, strName+1, mdType, strComment, tempVec);
     601                } else {
     602                    status = 0;
     603                    (*nFail)++;
     604                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     605                            strType, lineCount, fileName);
     606                    continue;
     607                }
     608                psFree(tempVec);
     609                break;
     610            case PS_META_BOOL:
     611                tempBool = parseBool(strValue, &status);
     612                if(!status) {
     613                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempBool);
    615614                } else {
    616615                    status = 0;
     
    621620                }
    622621                break;
    623             case PS_META_PRIMITIVE:
    624                 switch (pType) {
    625                 case PS_TYPE_BOOL:
    626                     tempBool = parseBool(strValue, &status);
    627                     if(!status) {
    628                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempBool);
    629                     } else {
    630                         status = 0;
    631                         (*nFail)++;
    632                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    633                                 strType, lineCount, fileName);
    634                         continue;
    635                     }
    636                     break;
    637                 case PS_TYPE_S32:
    638                     tempInt = (psS32)parseValue(strValue, &status);
    639                     if(!status) {
    640                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempInt);
    641                     } else {
    642                         status = 0;
    643                         (*nFail)++;
    644                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    645                                 strType, lineCount, fileName);
    646                         continue;
    647                     }
    648                     break;
    649                 case PS_TYPE_F32:
    650                 case PS_TYPE_F64:
    651                     tempDbl = parseValue(strValue, &status);
    652                     if(!status) {
    653                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempDbl);
    654                     } else {
    655                         status = 0;
    656                         (*nFail)++;
    657                         psError(PS_ERR_IO, true,
    658                                 PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    659                                 fileName);
    660                         continue;
    661                     }
    662                     break;
    663                 default:
     622            case PS_META_S32:
     623                tempInt = (psS32)parseValue(strValue, &status);
     624                if(!status) {
     625                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempInt);
     626                } else {
     627                    status = 0;
    664628                    (*nFail)++;
    665                     psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, mdType, lineCount,
     629                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     630                            strType, lineCount, fileName);
     631                    continue;
     632                }
     633                break;
     634            case PS_META_F32:
     635            case PS_META_F64:
     636                tempDbl = parseValue(strValue, &status);
     637                if(!status) {
     638                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempDbl);
     639                } else {
     640                    status = 0;
     641                    (*nFail)++;
     642                    psError(PS_ERR_IO, true,
     643                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    666644                            fileName);
    667645                    continue;
    668                 } // switch
     646                }
    669647                break;
    670648            default:
     
    682660}
    683661
    684 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
     662static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
    685663{
    686664    psU64 i = 0;
     
    709687    // Metadata containter for housing element attributes used by other SAX events
    710688    htAtts = psHashAlloc(10);
     689
    711690
    712691    // Get tag name
     
    745724
    746725    // Add attributes to metadata
    747     psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_TYPE_PTR, PS_META_HASH, NULL, htAtts);
     726
     727    psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_META_HASH, NULL, htAtts);
    748728
    749729    psFree(psTagName);
     730    psFree(htAtts);
    750731
    751732    return;
    752733}
    753734
    754 static void p_psInitMetadataItemXml(void *ctx, char *tagName)
     735static void initMetadataItemXml(void *ctx, char *tagName)
    755736{
    756737    psBool overwrite = false;
     
    760741    psF64 tempDbl = 0.0;
    761742    psS32 tempInt = 0.0;
    762     psElemType pType = PS_TYPE_PTR;
    763     psMetadataType mdType = PS_META_PRIMITIVE;
     743    psMetadataType mdType = PS_META_UNKNOWN;
    764744    char *fileName = NULL;
    765745    char *strName = NULL;
     
    802782        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    803783            mdType = PS_META_STR;
    804             pType = PS_TYPE_PTR;
    805784        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    806             mdType = PS_META_PRIMITIVE;
    807             pType = PS_TYPE_U8;
     785            mdType = PS_META_BOOL;
    808786        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    809             mdType = PS_META_PRIMITIVE;
    810             pType = PS_TYPE_S32;
     787            mdType = PS_META_S32;
    811788        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    812             mdType = PS_META_PRIMITIVE;
    813             pType = PS_TYPE_F32;
     789            mdType = PS_META_F32;
    814790        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    815             mdType = PS_META_PRIMITIVE;
    816             pType = PS_TYPE_F64;
     791            mdType = PS_META_F64;
    817792        } else {
    818793            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TYPE_INVALID_LINE_FILE, strType, lineNumber,
     
    853828    switch(mdType) {
    854829    case PS_META_LIST:
    855         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     830        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    856831        break;
    857832    case PS_META_STR:
    858         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, strValue);
     833        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, strValue);
    859834        break;
    860     case PS_META_PRIMITIVE:
    861         switch(pType) {
    862         case PS_TYPE_BOOL:
    863             tempBool = parseBool((char*)strValue, &status);
    864             if(!status) {
    865                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempBool);
    866             } else {
    867                 status = 0;
    868                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    869                         lineNumber, fileName);
    870             }
    871             break;
    872         case PS_TYPE_S32:
    873             tempInt = (psS32)parseValue((char*)strValue, &status);
    874             if(!status) {
    875                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempInt);
    876             } else {
    877                 status = 0;
    878                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    879                         lineNumber, fileName);
    880             }
    881             break;
    882         case PS_TYPE_F32:
    883         case PS_TYPE_F64:
    884             tempDbl = parseValue((char*)strValue, &status);
    885             if(!status) {
    886                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempDbl);
    887             } else {
    888                 status = 0;
    889                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    890                         lineNumber, fileName);
    891             }
    892             break;
    893         default:
    894             psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, strType, lineNumber, fileName);
    895         } // End switch
     835    case PS_META_BOOL:
     836        tempBool = parseBool((char*)strValue, &status);
     837        if(!status) {
     838            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempBool);
     839        } else {
     840            status = 0;
     841            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     842                    lineNumber, fileName);
     843        }
     844        break;
     845    case PS_META_S32:
     846        tempInt = (psS32)parseValue((char*)strValue, &status);
     847        if(!status) {
     848            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempInt);
     849        } else {
     850            status = 0;
     851            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     852                    lineNumber, fileName);
     853        }
     854        break;
     855    case PS_META_F32:
     856    case PS_META_F64:
     857        tempDbl = parseValue((char*)strValue, &status);
     858        if(!status) {
     859            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempDbl);
     860        } else {
     861            status = 0;
     862            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     863                    lineNumber, fileName);
     864        }
    896865        break;
    897866    default:
     
    899868    } // End switch
    900869
    901 
    902870    return;
    903871}
    904872
    905873
    906 static void p_psInitVectorXml(void *ctx, char *tagName)
     874static void initVectorXml(void *ctx, char *tagName)
    907875{
    908876    bool overwrite = false;
     
    910878    psU32 lineNumber = 0;
    911879    psElemType pType = PS_TYPE_PTR;
    912     psMetadataType mdType = PS_META_PRIMITIVE;
    913880    char *strName = NULL;
    914881    char *strType = NULL;
     
    952919    strType = psHashLookup(htAtts, "psType");
    953920    if(strType!= NULL) {
    954         if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    955             mdType = PS_META_STR;
    956             pType = PS_TYPE_PTR;
    957         } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    958             mdType = PS_META_PRIMITIVE;
     921        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    959922            pType = PS_TYPE_U8;
    960923        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    961             mdType = PS_META_PRIMITIVE;
    962924            pType = PS_TYPE_S32;
    963925        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    964             mdType = PS_META_PRIMITIVE;
    965926            pType = PS_TYPE_F32;
    966927        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    967             mdType = PS_META_PRIMITIVE;
    968928            pType = PS_TYPE_F64;
    969929        } else {
     
    1006966    vec = parseVector((char*)strValue, pType, &status);
    1007967    if(!status) {
    1008         psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, NULL, vec);
     968        psMetadataAdd(md, PS_LIST_TAIL, strName+1, PS_META_VEC, NULL, vec);
    1009969    } else {
    1010970        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     
    1014974}
    1015975
    1016 static void p_saxEndElement(void *ctx, const xmlChar *tagName)
     976static void saxEndElement(void *ctx, const xmlChar *tagName)
    1017977{
    1018978    char *psStartTagName = NULL;
     
    10521012    // Initialize psLib structs
    10531013    if(!strcmp(psEndTagName, "psMetadataItem")) {
    1054         p_psInitMetadataItemXml(ctx, psEndTagName);
     1014        initMetadataItemXml(ctx, psEndTagName);
    10551015    } else if(!strcmp(psEndTagName, "psVector")) {
    1056         p_psInitVectorXml(ctx, psEndTagName);
     1016        initVectorXml(ctx, psEndTagName);
    10571017    } else if(strcmp(psEndTagName, "psRoot")) {
    10581018        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TAG_UNKNOWN, psEndTagName);
     
    10951055    saxHandler.startDocument            = NULL;
    10961056    saxHandler.endDocument              = NULL;
    1097     saxHandler.startElement             = p_saxStartElement;
    1098     saxHandler.endElement               = p_saxEndElement;
     1057    saxHandler.startElement             = saxStartElement;
     1058    saxHandler.endElement               = saxEndElement;
    10991059    saxHandler.reference                = NULL;
    11001060    saxHandler.characters               = NULL;
  • trunk/psLib/src/dataIO/psFits.c

    r3298 r3341  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-02-22 19:25:52 $
     9 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-02-28 23:34:10 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    162162}
    163163
    164 static bool convertPsTypeToBinaryTForm(psElemType type, char** fitsType)
     164static bool convertMetadataTypeToBinaryTForm(psMetadataType type, char** fitsType)
    165165{
    166166    switch (type) {
    167     case PS_TYPE_BOOL:
     167    case PS_META_BOOL:
    168168        *fitsType = psStringCopy("1L");
    169169        break;
    170     case PS_TYPE_S32:
     170    case PS_META_S32:
    171171        *fitsType = psStringCopy("1J");
    172172        break;
    173     case PS_TYPE_F32:
     173    case PS_META_F32:
    174174        *fitsType = psStringCopy("1E");
    175175        break;
    176     case PS_TYPE_F64:
     176    case PS_META_F64:
    177177        *fitsType = psStringCopy("1D");
    178178        break;
     
    506506                                        PS_LIST_TAIL,
    507507                                        keyName,
    508                                         PS_TYPE_S32,
    509                                         PS_META_PRIMITIVE,
     508                                        PS_META_S32,
    510509                                        keyComment,
    511510                                        atoi(keyValue));
     
    517516                                        PS_LIST_TAIL,
    518517                                        keyName,
    519                                         PS_TYPE_F64,
    520                                         PS_META_PRIMITIVE,
     518                                        PS_META_F64,
    521519                                        keyComment,
    522520                                        atof(keyValue));
     
    529527                                            PS_LIST_TAIL,
    530528                                            keyName,
    531                                             PS_TYPE_PTR,
    532529                                            PS_META_STR,
    533530                                            keyComment,
     
    537534                                            PS_LIST_TAIL,
    538535                                            keyName,
    539                                             PS_TYPE_PTR,
    540536                                            PS_META_STR,
    541537                                            keyComment,
     
    548544                                        PS_LIST_TAIL,
    549545                                        keyName,
    550                                         PS_TYPE_BOOL,
    551                                         PS_META_PRIMITIVE,
     546                                        PS_META_BOOL,
    552547                                        keyComment,
    553548                                        tempBool);
     
    10721067    psMetadataItem* item;
    10731068    while ( (item=psListGetAndIncrement(iter)) != NULL ) {
    1074         if (item->type == PS_META_PRIMITIVE) { // we only write primitive data types.
    1075             switch (item->pType) {
    1076             case PS_TYPE_BOOL: {
    1077                     int value = item->data.B;
    1078                     fits_update_key(fits->p_fd,
    1079                                     TLOGICAL,
    1080                                     item->name,
    1081                                     &value,
    1082                                     item->comment,
    1083                                     &status);
    1084                     break;
    1085                 }
    1086             case PS_TYPE_S32:
     1069        switch (item->type) {
     1070        case PS_META_BOOL: {
     1071                int value = item->data.B;
    10871072                fits_update_key(fits->p_fd,
    1088                                 TINT,
     1073                                TLOGICAL,
    10891074                                item->name,
    1090                                 &item->data.S32,
     1075                                &value,
    10911076                                item->comment,
    10921077                                &status);
    10931078                break;
    1094             case PS_TYPE_F32:
    1095                 fits_update_key(fits->p_fd,
    1096                                 TFLOAT,
    1097                                 item->name,
    1098                                 &item->data.F32,
    1099                                 item->comment,
    1100                                 &status);
    1101                 break;
    1102             case PS_TYPE_F64:
    1103                 fits_update_key(fits->p_fd,
    1104                                 TDOUBLE,
    1105                                 item->name,
    1106                                 &item->data.F64,
    1107                                 item->comment,
    1108                                 &status);
    1109                 break;
    1110             default:
    1111                 psError(PS_ERR_BAD_PARAMETER_TYPE, true,
    1112                         PS_ERRORTEXT_psFits_METADATA_PTYPE_UNSUPPORTED,
    1113                         item->pType);
    1114                 break;
    11151079            }
    1116         } else if (item->type == PS_META_STR) {
     1080        case PS_META_S32:
     1081            fits_update_key(fits->p_fd,
     1082                            TINT,
     1083                            item->name,
     1084                            &item->data.S32,
     1085                            item->comment,
     1086                            &status);
     1087            break;
     1088        case PS_META_F32:
     1089            fits_update_key(fits->p_fd,
     1090                            TFLOAT,
     1091                            item->name,
     1092                            &item->data.F32,
     1093                            item->comment,
     1094                            &status);
     1095            break;
     1096        case PS_META_F64:
     1097            fits_update_key(fits->p_fd,
     1098                            TDOUBLE,
     1099                            item->name,
     1100                            &item->data.F64,
     1101                            item->comment,
     1102                            &status);
     1103            break;
     1104        case PS_META_STR:
    11171105            fits_update_key(fits->p_fd,
    11181106                            TSTRING,
     
    11211109                            item->comment,
    11221110                            &status);
     1111            break;
     1112        default:  // all other META types are ignored
     1113            break;
    11231114        }
    11241115
     
    12141205                              1, 1, NULL, &value, &anynul, &status); \
    12151206                psMetadataAdd(data,PS_LIST_TAIL, name, \
    1216                               PS_TYPE_##TYPE, PS_META_PRIMITIVE, \
     1207                              PS_META_##TYPE, \
    12171208                              "", (ps##TYPE)value); \
    12181209                break; \
     
    12341225                    if (anynul == 0) {
    12351226                        psMetadataAdd(data,PS_LIST_TAIL, name,
    1236                                       PS_TYPE_PTR, PS_META_STR,
     1227                                      PS_META_STR,
    12371228                                      "", value);
    12381229                    }
     
    14871478                                   PS_LIST_HEAD,true);
    14881479            while ( (item=psListGetAndIncrement(iter)) != NULL) {
    1489                 if (item->type == PS_META_PRIMITIVE) {
     1480                if (PS_META_IS_PRIMITIVE(item->type)) {
    14901481                    bool found = false;
    14911482                    for (int n=0; n < columns->n && ! found; n++) {
     
    15151506        char* fitsType;
    15161507        columnNames->data[n] = psMemIncrRefCounter(((psMetadataItem*)columns->data[n])->name);
    1517         if ( ! convertPsTypeToBinaryTForm(((psMetadataItem*)columns->data[n])->pType,
    1518                                           &fitsType)) {
     1508        if ( ! convertMetadataTypeToBinaryTForm(((psMetadataItem*)columns->data[n])->type,
     1509                                                &fitsType)) {
    15191510            // XXX: error message
    15201511            return false;
     
    15401531        int row;
    15411532        item = columns->data[n];
    1542 
    1543         if (item->type == PS_META_PRIMITIVE) {
    1544             psVector* col = psVectorAlloc(table->n, item->pType);
    1545             switch (item->pType) {
    1546             case PS_TYPE_S32:
     1533        if (PS_META_IS_PRIMITIVE(item->type)) {
     1534            psVector* col = NULL;
     1535            switch (item->type) {
     1536            case PS_META_S32:
     1537                col = psVectorAlloc(table->n, PS_TYPE_S32);
    15471538                for (row = 0; row < table->n; row++) {
    15481539                    col->data.S32[row] = psMetadataLookupS32(NULL,
     
    15581549                                   &status);
    15591550                break;
    1560             case PS_TYPE_F32:
     1551            case PS_META_F32:
     1552                col = psVectorAlloc(table->n, PS_TYPE_F32);
    15611553                for (row = 0; row < table->n; row++) {
    15621554                    col->data.F32[row] = psMetadataLookupF32(NULL,
     
    15721564                                   &status);
    15731565                break;
    1574             case PS_TYPE_F64:
     1566            case PS_META_F64:
     1567                col = psVectorAlloc(table->n, PS_TYPE_F64);
    15751568                for (row = 0; row < table->n; row++) {
    15761569                    col->data.F64[row] = psMetadataLookupF64(NULL,
     
    15861579                                   &status);
    15871580                break;
    1588             case PS_TYPE_BOOL:
     1581            case PS_META_BOOL:
     1582                col = psVectorAlloc(table->n, PS_TYPE_BOOL);
    15891583                for (row = 0; row < table->n; row++) {
    15901584                    col->data.S8[row] = psMetadataLookupBool(NULL,
     
    16011595                break;
    16021596            default:
    1603                 // XXX: error message
     1597                // XXX: error message?
    16041598                break;
    16051599            }
  • trunk/psLib/src/dataManip/psMatrix.c

    r3313 r3341  
    2121 *  @author Robert DeSonia, MHPCC
    2222 *
    23  *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
    24  *  @date $Date: 2005-02-24 00:19:51 $
     23 *  @version $Revision: 1.26 $ $Name: not supported by cvs2svn $
     24 *  @date $Date: 2005-02-28 23:34:10 $
    2525 *
    2626 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    452452    if(numRowsIn!=numColsOut && numRowsOut!=numColsIn) {
    453453        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMatrix_TRANSPOSE_MISMATCH);
     454        TRANSPOSE_CLEANUP;
    454455    }
    455456
     
    542543                "Image does not have dim with 1 col or 1 row: (%d x %d).",
    543544                inImage->numRows, inImage->numCols);
    544         return outVector;
     545        psMatrixToVector_EXIT;
    545546    }
    546547
     
    557558                    "Image and vector sizes differ: (%d vs %d).",
    558559                    inImage->numRows, outVector->n);
    559             return outVector;
     560            psMatrixToVector_EXIT;
    560561        }
    561562
     
    573574                    "Image and vector sizes differ: (%d vs %d).",
    574575                    inImage->numCols, outVector->n);
    575             return outVector;
     576            psMatrixToVector_EXIT;
    576577        }
    577578
     
    603604                    "Image has more than 1 column: numCols = %d.",
    604605                    outImage->numCols);
    605             return outImage;
     606            VECTORTOMATRIX_CLEANUP;
    606607        } else if (outImage->numRows != inVector->n) {
    607608            psError(PS_ERR_BAD_PARAMETER_SIZE, true,
    608609                    "Image and vector sizes differ: (%d vs %d).",
    609610                    outImage->numRows, inVector->n);
    610             return outImage;
     611            VECTORTOMATRIX_CLEANUP;
    611612        }
    612613
     
    622623                    "Image has more than 1 row: numRows = %d.",
    623624                    outImage->numRows);
    624             return outImage;
     625            VECTORTOMATRIX_CLEANUP;
    625626        } else if (outImage->numCols != inVector->n) {
    626627            psError(PS_ERR_BAD_PARAMETER_SIZE, true,
    627628                    "Image and vector sizes differ: (%d vs %d).",
    628629                    outImage->numCols, inVector->n);
    629             return outImage;
     630            VECTORTOMATRIX_CLEANUP;
    630631        }
    631632
  • trunk/psLib/src/fileUtils/psFits.c

    r3298 r3341  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-02-22 19:25:52 $
     9 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-02-28 23:34:10 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    162162}
    163163
    164 static bool convertPsTypeToBinaryTForm(psElemType type, char** fitsType)
     164static bool convertMetadataTypeToBinaryTForm(psMetadataType type, char** fitsType)
    165165{
    166166    switch (type) {
    167     case PS_TYPE_BOOL:
     167    case PS_META_BOOL:
    168168        *fitsType = psStringCopy("1L");
    169169        break;
    170     case PS_TYPE_S32:
     170    case PS_META_S32:
    171171        *fitsType = psStringCopy("1J");
    172172        break;
    173     case PS_TYPE_F32:
     173    case PS_META_F32:
    174174        *fitsType = psStringCopy("1E");
    175175        break;
    176     case PS_TYPE_F64:
     176    case PS_META_F64:
    177177        *fitsType = psStringCopy("1D");
    178178        break;
     
    506506                                        PS_LIST_TAIL,
    507507                                        keyName,
    508                                         PS_TYPE_S32,
    509                                         PS_META_PRIMITIVE,
     508                                        PS_META_S32,
    510509                                        keyComment,
    511510                                        atoi(keyValue));
     
    517516                                        PS_LIST_TAIL,
    518517                                        keyName,
    519                                         PS_TYPE_F64,
    520                                         PS_META_PRIMITIVE,
     518                                        PS_META_F64,
    521519                                        keyComment,
    522520                                        atof(keyValue));
     
    529527                                            PS_LIST_TAIL,
    530528                                            keyName,
    531                                             PS_TYPE_PTR,
    532529                                            PS_META_STR,
    533530                                            keyComment,
     
    537534                                            PS_LIST_TAIL,
    538535                                            keyName,
    539                                             PS_TYPE_PTR,
    540536                                            PS_META_STR,
    541537                                            keyComment,
     
    548544                                        PS_LIST_TAIL,
    549545                                        keyName,
    550                                         PS_TYPE_BOOL,
    551                                         PS_META_PRIMITIVE,
     546                                        PS_META_BOOL,
    552547                                        keyComment,
    553548                                        tempBool);
     
    10721067    psMetadataItem* item;
    10731068    while ( (item=psListGetAndIncrement(iter)) != NULL ) {
    1074         if (item->type == PS_META_PRIMITIVE) { // we only write primitive data types.
    1075             switch (item->pType) {
    1076             case PS_TYPE_BOOL: {
    1077                     int value = item->data.B;
    1078                     fits_update_key(fits->p_fd,
    1079                                     TLOGICAL,
    1080                                     item->name,
    1081                                     &value,
    1082                                     item->comment,
    1083                                     &status);
    1084                     break;
    1085                 }
    1086             case PS_TYPE_S32:
     1069        switch (item->type) {
     1070        case PS_META_BOOL: {
     1071                int value = item->data.B;
    10871072                fits_update_key(fits->p_fd,
    1088                                 TINT,
     1073                                TLOGICAL,
    10891074                                item->name,
    1090                                 &item->data.S32,
     1075                                &value,
    10911076                                item->comment,
    10921077                                &status);
    10931078                break;
    1094             case PS_TYPE_F32:
    1095                 fits_update_key(fits->p_fd,
    1096                                 TFLOAT,
    1097                                 item->name,
    1098                                 &item->data.F32,
    1099                                 item->comment,
    1100                                 &status);
    1101                 break;
    1102             case PS_TYPE_F64:
    1103                 fits_update_key(fits->p_fd,
    1104                                 TDOUBLE,
    1105                                 item->name,
    1106                                 &item->data.F64,
    1107                                 item->comment,
    1108                                 &status);
    1109                 break;
    1110             default:
    1111                 psError(PS_ERR_BAD_PARAMETER_TYPE, true,
    1112                         PS_ERRORTEXT_psFits_METADATA_PTYPE_UNSUPPORTED,
    1113                         item->pType);
    1114                 break;
    11151079            }
    1116         } else if (item->type == PS_META_STR) {
     1080        case PS_META_S32:
     1081            fits_update_key(fits->p_fd,
     1082                            TINT,
     1083                            item->name,
     1084                            &item->data.S32,
     1085                            item->comment,
     1086                            &status);
     1087            break;
     1088        case PS_META_F32:
     1089            fits_update_key(fits->p_fd,
     1090                            TFLOAT,
     1091                            item->name,
     1092                            &item->data.F32,
     1093                            item->comment,
     1094                            &status);
     1095            break;
     1096        case PS_META_F64:
     1097            fits_update_key(fits->p_fd,
     1098                            TDOUBLE,
     1099                            item->name,
     1100                            &item->data.F64,
     1101                            item->comment,
     1102                            &status);
     1103            break;
     1104        case PS_META_STR:
    11171105            fits_update_key(fits->p_fd,
    11181106                            TSTRING,
     
    11211109                            item->comment,
    11221110                            &status);
     1111            break;
     1112        default:  // all other META types are ignored
     1113            break;
    11231114        }
    11241115
     
    12141205                              1, 1, NULL, &value, &anynul, &status); \
    12151206                psMetadataAdd(data,PS_LIST_TAIL, name, \
    1216                               PS_TYPE_##TYPE, PS_META_PRIMITIVE, \
     1207                              PS_META_##TYPE, \
    12171208                              "", (ps##TYPE)value); \
    12181209                break; \
     
    12341225                    if (anynul == 0) {
    12351226                        psMetadataAdd(data,PS_LIST_TAIL, name,
    1236                                       PS_TYPE_PTR, PS_META_STR,
     1227                                      PS_META_STR,
    12371228                                      "", value);
    12381229                    }
     
    14871478                                   PS_LIST_HEAD,true);
    14881479            while ( (item=psListGetAndIncrement(iter)) != NULL) {
    1489                 if (item->type == PS_META_PRIMITIVE) {
     1480                if (PS_META_IS_PRIMITIVE(item->type)) {
    14901481                    bool found = false;
    14911482                    for (int n=0; n < columns->n && ! found; n++) {
     
    15151506        char* fitsType;
    15161507        columnNames->data[n] = psMemIncrRefCounter(((psMetadataItem*)columns->data[n])->name);
    1517         if ( ! convertPsTypeToBinaryTForm(((psMetadataItem*)columns->data[n])->pType,
    1518                                           &fitsType)) {
     1508        if ( ! convertMetadataTypeToBinaryTForm(((psMetadataItem*)columns->data[n])->type,
     1509                                                &fitsType)) {
    15191510            // XXX: error message
    15201511            return false;
     
    15401531        int row;
    15411532        item = columns->data[n];
    1542 
    1543         if (item->type == PS_META_PRIMITIVE) {
    1544             psVector* col = psVectorAlloc(table->n, item->pType);
    1545             switch (item->pType) {
    1546             case PS_TYPE_S32:
     1533        if (PS_META_IS_PRIMITIVE(item->type)) {
     1534            psVector* col = NULL;
     1535            switch (item->type) {
     1536            case PS_META_S32:
     1537                col = psVectorAlloc(table->n, PS_TYPE_S32);
    15471538                for (row = 0; row < table->n; row++) {
    15481539                    col->data.S32[row] = psMetadataLookupS32(NULL,
     
    15581549                                   &status);
    15591550                break;
    1560             case PS_TYPE_F32:
     1551            case PS_META_F32:
     1552                col = psVectorAlloc(table->n, PS_TYPE_F32);
    15611553                for (row = 0; row < table->n; row++) {
    15621554                    col->data.F32[row] = psMetadataLookupF32(NULL,
     
    15721564                                   &status);
    15731565                break;
    1574             case PS_TYPE_F64:
     1566            case PS_META_F64:
     1567                col = psVectorAlloc(table->n, PS_TYPE_F64);
    15751568                for (row = 0; row < table->n; row++) {
    15761569                    col->data.F64[row] = psMetadataLookupF64(NULL,
     
    15861579                                   &status);
    15871580                break;
    1588             case PS_TYPE_BOOL:
     1581            case PS_META_BOOL:
     1582                col = psVectorAlloc(table->n, PS_TYPE_BOOL);
    15891583                for (row = 0; row < table->n; row++) {
    15901584                    col->data.S8[row] = psMetadataLookupBool(NULL,
     
    16011595                break;
    16021596            default:
    1603                 // XXX: error message
     1597                // XXX: error message?
    16041598                break;
    16051599            }
  • trunk/psLib/src/fits/psFits.c

    r3298 r3341  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-02-22 19:25:52 $
     9 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-02-28 23:34:10 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    162162}
    163163
    164 static bool convertPsTypeToBinaryTForm(psElemType type, char** fitsType)
     164static bool convertMetadataTypeToBinaryTForm(psMetadataType type, char** fitsType)
    165165{
    166166    switch (type) {
    167     case PS_TYPE_BOOL:
     167    case PS_META_BOOL:
    168168        *fitsType = psStringCopy("1L");
    169169        break;
    170     case PS_TYPE_S32:
     170    case PS_META_S32:
    171171        *fitsType = psStringCopy("1J");
    172172        break;
    173     case PS_TYPE_F32:
     173    case PS_META_F32:
    174174        *fitsType = psStringCopy("1E");
    175175        break;
    176     case PS_TYPE_F64:
     176    case PS_META_F64:
    177177        *fitsType = psStringCopy("1D");
    178178        break;
     
    506506                                        PS_LIST_TAIL,
    507507                                        keyName,
    508                                         PS_TYPE_S32,
    509                                         PS_META_PRIMITIVE,
     508                                        PS_META_S32,
    510509                                        keyComment,
    511510                                        atoi(keyValue));
     
    517516                                        PS_LIST_TAIL,
    518517                                        keyName,
    519                                         PS_TYPE_F64,
    520                                         PS_META_PRIMITIVE,
     518                                        PS_META_F64,
    521519                                        keyComment,
    522520                                        atof(keyValue));
     
    529527                                            PS_LIST_TAIL,
    530528                                            keyName,
    531                                             PS_TYPE_PTR,
    532529                                            PS_META_STR,
    533530                                            keyComment,
     
    537534                                            PS_LIST_TAIL,
    538535                                            keyName,
    539                                             PS_TYPE_PTR,
    540536                                            PS_META_STR,
    541537                                            keyComment,
     
    548544                                        PS_LIST_TAIL,
    549545                                        keyName,
    550                                         PS_TYPE_BOOL,
    551                                         PS_META_PRIMITIVE,
     546                                        PS_META_BOOL,
    552547                                        keyComment,
    553548                                        tempBool);
     
    10721067    psMetadataItem* item;
    10731068    while ( (item=psListGetAndIncrement(iter)) != NULL ) {
    1074         if (item->type == PS_META_PRIMITIVE) { // we only write primitive data types.
    1075             switch (item->pType) {
    1076             case PS_TYPE_BOOL: {
    1077                     int value = item->data.B;
    1078                     fits_update_key(fits->p_fd,
    1079                                     TLOGICAL,
    1080                                     item->name,
    1081                                     &value,
    1082                                     item->comment,
    1083                                     &status);
    1084                     break;
    1085                 }
    1086             case PS_TYPE_S32:
     1069        switch (item->type) {
     1070        case PS_META_BOOL: {
     1071                int value = item->data.B;
    10871072                fits_update_key(fits->p_fd,
    1088                                 TINT,
     1073                                TLOGICAL,
    10891074                                item->name,
    1090                                 &item->data.S32,
     1075                                &value,
    10911076                                item->comment,
    10921077                                &status);
    10931078                break;
    1094             case PS_TYPE_F32:
    1095                 fits_update_key(fits->p_fd,
    1096                                 TFLOAT,
    1097                                 item->name,
    1098                                 &item->data.F32,
    1099                                 item->comment,
    1100                                 &status);
    1101                 break;
    1102             case PS_TYPE_F64:
    1103                 fits_update_key(fits->p_fd,
    1104                                 TDOUBLE,
    1105                                 item->name,
    1106                                 &item->data.F64,
    1107                                 item->comment,
    1108                                 &status);
    1109                 break;
    1110             default:
    1111                 psError(PS_ERR_BAD_PARAMETER_TYPE, true,
    1112                         PS_ERRORTEXT_psFits_METADATA_PTYPE_UNSUPPORTED,
    1113                         item->pType);
    1114                 break;
    11151079            }
    1116         } else if (item->type == PS_META_STR) {
     1080        case PS_META_S32:
     1081            fits_update_key(fits->p_fd,
     1082                            TINT,
     1083                            item->name,
     1084                            &item->data.S32,
     1085                            item->comment,
     1086                            &status);
     1087            break;
     1088        case PS_META_F32:
     1089            fits_update_key(fits->p_fd,
     1090                            TFLOAT,
     1091                            item->name,
     1092                            &item->data.F32,
     1093                            item->comment,
     1094                            &status);
     1095            break;
     1096        case PS_META_F64:
     1097            fits_update_key(fits->p_fd,
     1098                            TDOUBLE,
     1099                            item->name,
     1100                            &item->data.F64,
     1101                            item->comment,
     1102                            &status);
     1103            break;
     1104        case PS_META_STR:
    11171105            fits_update_key(fits->p_fd,
    11181106                            TSTRING,
     
    11211109                            item->comment,
    11221110                            &status);
     1111            break;
     1112        default:  // all other META types are ignored
     1113            break;
    11231114        }
    11241115
     
    12141205                              1, 1, NULL, &value, &anynul, &status); \
    12151206                psMetadataAdd(data,PS_LIST_TAIL, name, \
    1216                               PS_TYPE_##TYPE, PS_META_PRIMITIVE, \
     1207                              PS_META_##TYPE, \
    12171208                              "", (ps##TYPE)value); \
    12181209                break; \
     
    12341225                    if (anynul == 0) {
    12351226                        psMetadataAdd(data,PS_LIST_TAIL, name,
    1236                                       PS_TYPE_PTR, PS_META_STR,
     1227                                      PS_META_STR,
    12371228                                      "", value);
    12381229                    }
     
    14871478                                   PS_LIST_HEAD,true);
    14881479            while ( (item=psListGetAndIncrement(iter)) != NULL) {
    1489                 if (item->type == PS_META_PRIMITIVE) {
     1480                if (PS_META_IS_PRIMITIVE(item->type)) {
    14901481                    bool found = false;
    14911482                    for (int n=0; n < columns->n && ! found; n++) {
     
    15151506        char* fitsType;
    15161507        columnNames->data[n] = psMemIncrRefCounter(((psMetadataItem*)columns->data[n])->name);
    1517         if ( ! convertPsTypeToBinaryTForm(((psMetadataItem*)columns->data[n])->pType,
    1518                                           &fitsType)) {
     1508        if ( ! convertMetadataTypeToBinaryTForm(((psMetadataItem*)columns->data[n])->type,
     1509                                                &fitsType)) {
    15191510            // XXX: error message
    15201511            return false;
     
    15401531        int row;
    15411532        item = columns->data[n];
    1542 
    1543         if (item->type == PS_META_PRIMITIVE) {
    1544             psVector* col = psVectorAlloc(table->n, item->pType);
    1545             switch (item->pType) {
    1546             case PS_TYPE_S32:
     1533        if (PS_META_IS_PRIMITIVE(item->type)) {
     1534            psVector* col = NULL;
     1535            switch (item->type) {
     1536            case PS_META_S32:
     1537                col = psVectorAlloc(table->n, PS_TYPE_S32);
    15471538                for (row = 0; row < table->n; row++) {
    15481539                    col->data.S32[row] = psMetadataLookupS32(NULL,
     
    15581549                                   &status);
    15591550                break;
    1560             case PS_TYPE_F32:
     1551            case PS_META_F32:
     1552                col = psVectorAlloc(table->n, PS_TYPE_F32);
    15611553                for (row = 0; row < table->n; row++) {
    15621554                    col->data.F32[row] = psMetadataLookupF32(NULL,
     
    15721564                                   &status);
    15731565                break;
    1574             case PS_TYPE_F64:
     1566            case PS_META_F64:
     1567                col = psVectorAlloc(table->n, PS_TYPE_F64);
    15751568                for (row = 0; row < table->n; row++) {
    15761569                    col->data.F64[row] = psMetadataLookupF64(NULL,
     
    15861579                                   &status);
    15871580                break;
    1588             case PS_TYPE_BOOL:
     1581            case PS_META_BOOL:
     1582                col = psVectorAlloc(table->n, PS_TYPE_BOOL);
    15891583                for (row = 0; row < table->n; row++) {
    15901584                    col->data.S8[row] = psMetadataLookupBool(NULL,
     
    16011595                break;
    16021596            default:
    1603                 // XXX: error message
     1597                // XXX: error message?
    16041598                break;
    16051599            }
  • trunk/psLib/src/math/psMatrix.c

    r3313 r3341  
    2121 *  @author Robert DeSonia, MHPCC
    2222 *
    23  *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
    24  *  @date $Date: 2005-02-24 00:19:51 $
     23 *  @version $Revision: 1.26 $ $Name: not supported by cvs2svn $
     24 *  @date $Date: 2005-02-28 23:34:10 $
    2525 *
    2626 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    452452    if(numRowsIn!=numColsOut && numRowsOut!=numColsIn) {
    453453        psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMatrix_TRANSPOSE_MISMATCH);
     454        TRANSPOSE_CLEANUP;
    454455    }
    455456
     
    542543                "Image does not have dim with 1 col or 1 row: (%d x %d).",
    543544                inImage->numRows, inImage->numCols);
    544         return outVector;
     545        psMatrixToVector_EXIT;
    545546    }
    546547
     
    557558                    "Image and vector sizes differ: (%d vs %d).",
    558559                    inImage->numRows, outVector->n);
    559             return outVector;
     560            psMatrixToVector_EXIT;
    560561        }
    561562
     
    573574                    "Image and vector sizes differ: (%d vs %d).",
    574575                    inImage->numCols, outVector->n);
    575             return outVector;
     576            psMatrixToVector_EXIT;
    576577        }
    577578
     
    603604                    "Image has more than 1 column: numCols = %d.",
    604605                    outImage->numCols);
    605             return outImage;
     606            VECTORTOMATRIX_CLEANUP;
    606607        } else if (outImage->numRows != inVector->n) {
    607608            psError(PS_ERR_BAD_PARAMETER_SIZE, true,
    608609                    "Image and vector sizes differ: (%d vs %d).",
    609610                    outImage->numRows, inVector->n);
    610             return outImage;
     611            VECTORTOMATRIX_CLEANUP;
    611612        }
    612613
     
    622623                    "Image has more than 1 row: numRows = %d.",
    623624                    outImage->numRows);
    624             return outImage;
     625            VECTORTOMATRIX_CLEANUP;
    625626        } else if (outImage->numCols != inVector->n) {
    626627            psError(PS_ERR_BAD_PARAMETER_SIZE, true,
    627628                    "Image and vector sizes differ: (%d vs %d).",
    628629                    outImage->numCols, inVector->n);
    629             return outImage;
     630            VECTORTOMATRIX_CLEANUP;
    630631        }
    631632
  • trunk/psLib/src/sys/psType.h

    r3264 r3341  
    1 
    21/** @file  psType.h
    32*
     
    1110*  @author Ross Harman, MHPCC
    1211*
    13 *  @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2005-02-17 19:26:24 $
     12*  @version $Revision: 1.30 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2005-02-28 23:34:10 $
    1514*
    1615*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/sysUtils/psType.h

    r3264 r3341  
    1 
    21/** @file  psType.h
    32*
     
    1110*  @author Ross Harman, MHPCC
    1211*
    13 *  @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2005-02-17 19:26:24 $
     12*  @version $Revision: 1.30 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2005-02-28 23:34:10 $
    1514*
    1615*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/types/psMetadata.c

    r3286 r3341  
    1212*  @author Ross Harman, MHPCC
    1313*
    14 *  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
    15 *  @date $Date: 2005-02-18 22:17:20 $
     14*  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
     15*  @date $Date: 2005-02-28 23:34:10 $
    1616*
    1717*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    8080    psFree(metadataItem->name);
    8181    psFree(metadataItem->comment);
    82     if (type != PS_META_PRIMITIVE) {
     82    if (! PS_META_IS_PRIMITIVE(type)) {
    8383        psFree(metadataItem->data.V);
    8484    }
     
    9898/*****************************************************************************/
    9999
    100 psMetadataItem* psMetadataItemAlloc(const char *name, psElemType pType, psMetadataType type,
     100psMetadataItem* psMetadataItemAlloc(const char *name, psMetadataType type,
    101101                                    const char *comment, ...)
    102102{
     
    108108
    109109    // Call metadata item allocation
    110     metadataItem = psMetadataItemAllocV(name, pType, type, comment, argPtr);
     110    metadataItem = psMetadataItemAllocV(name, type, comment, argPtr);
    111111
    112112    // Clean up stack after variable arguement has been used
     
    116116}
    117117
    118 psMetadataItem* psMetadataItemAllocV(const char *name, psElemType pType, psMetadataType type,
     118#define METADATAITEM_ALLOC_TYPE(NAME,TYPE,METATYPE) \
     119psMetadataItem* psMetadataItemAlloc##NAME(const char* name, \
     120        const char* comment, \
     121        TYPE value) \
     122{ \
     123    return psMetadataItemAlloc(name, METATYPE, comment, value); \
     124}
     125
     126METADATAITEM_ALLOC_TYPE(Str,const char*,PS_META_STR)
     127METADATAITEM_ALLOC_TYPE(F32,psF32,PS_META_F32)
     128METADATAITEM_ALLOC_TYPE(F64,psF64,PS_META_F64)
     129METADATAITEM_ALLOC_TYPE(S32,psS32,PS_META_S32)
     130METADATAITEM_ALLOC_TYPE(Bool,psBool,PS_META_BOOL)
     131
     132psMetadataItem* psMetadataItemAllocV(const char *name, psMetadataType type,
    119133                                     const char *comment, va_list argPtr)
    120134{
     
    145159    // Set metadata item type
    146160    metadataItem->type = type;
    147     metadataItem->pType = pType;
    148161
    149162    // Allocate and set metadata item name
     
    153166    // Set metadata item value
    154167    switch(type) {
    155     case PS_META_PRIMITIVE:
    156         switch(pType) {
    157         case PS_TYPE_BOOL:
    158             metadataItem->data.B = (psBool)va_arg(argPtr, psS32);
    159             break;
    160         case PS_TYPE_S32:
    161             metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
    162             break;
    163         case PS_TYPE_F32:
    164             metadataItem->data.F32 = (psF32)va_arg(argPtr, psF64);
    165             break;
    166         case PS_TYPE_F64:
    167             metadataItem->data.F64 = (psF64)va_arg(argPtr, psF64);
    168             break;
    169         default:
    170             psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, type);
    171             psFree(metadataItem);
    172             metadataItem = NULL;
    173         }
     168    case PS_META_BOOL:
     169        metadataItem->data.B = (psBool)va_arg(argPtr, psS32);
     170        break;
     171    case PS_META_S32:
     172        metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
     173        break;
     174    case PS_META_F32:
     175        metadataItem->data.F32 = (psF32)va_arg(argPtr, psF64);
     176        break;
     177    case PS_META_F64:
     178        metadataItem->data.F64 = (psF64)va_arg(argPtr, psF64);
    174179        break;
    175180    case PS_META_STR:
     
    186191    case PS_META_UNKNOWN:
    187192        // Copy of input data not performed due to variability of data types
    188         metadataItem->data.V = va_arg(argPtr, psPtr);
     193        metadataItem->data.V = psMemIncrRefCounter(va_arg(argPtr, psPtr));
    189194        break;
    190195    default:
     
    256261
    257262            // Leaf node replaces another leaf. Make new folder node and add leaves.
    258             newFolderEntry = psMetadataItemAlloc(key, PS_TYPE_PTR, PS_META_LIST, NULL, NULL);
     263            newFolderEntry = psMetadataItemAlloc(key, PS_META_LIST, NULL, NULL);
    259264            newFolderEntry->data.list = psListAlloc(NULL);
    260265
     
    328333}
    329334
    330 psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name, psElemType pType,
     335psBool psMetadataAdd(psMetadata *md, psS32 where, const char *name,
    331336                     psMetadataType type, const char *comment, ...)
    332337{
     
    335340
    336341    va_start(argPtr, comment);
    337     metadataItem = psMetadataItemAllocV(name, pType, type, comment, argPtr);
     342    metadataItem = psMetadataItemAllocV(name, type, comment, argPtr);
    338343    va_end(argPtr);
    339344
     
    348353    return true;
    349354}
     355
     356#define METADATA_ADD_TYPE(NAME,TYPE,METATYPE) \
     357psBool psMetadataAdd##NAME(psMetadata* md, psS32 where, const char* name, \
     358                           const char* comment, TYPE value) { \
     359    return psMetadataAdd(md,where,name, METATYPE,comment,value); \
     360}
     361
     362METADATA_ADD_TYPE(S32,psS32,PS_META_S32)
     363METADATA_ADD_TYPE(F32,psF32,PS_META_F32)
     364METADATA_ADD_TYPE(F64,psF64,PS_META_F64)
     365METADATA_ADD_TYPE(List,psList*,PS_META_LIST)
     366METADATA_ADD_TYPE(Str,const char*,PS_META_STR)
     367METADATA_ADD_TYPE(Vector,psVector*,PS_META_VEC)
     368METADATA_ADD_TYPE(Image,psImage*,PS_META_IMG)
     369METADATA_ADD_TYPE(Hash,psHash*,PS_META_HASH)
     370METADATA_ADD_TYPE(LookupTable,psLookupTable*,PS_META_LOOKUPTABLE)
     371METADATA_ADD_TYPE(Unknown,void*,PS_META_UNKNOWN)
    350372
    351373psBool psMetadataRemove(psMetadata *md, psS32 where, const char *key)
     
    435457    }
    436458
    437     if(metadataItem->type == PS_META_PRIMITIVE && metadataItem->pType != PS_TYPE_PTR) {
     459    if(PS_META_IS_PRIMITIVE(metadataItem->type)) {
    438460        if (status) {
    439461            *status = false;
    440462        }
    441463        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
    442                 PS_ERRORTEXT_psMetadata_METATYPE_MISMATCH,
    443                 metadataItem->pType,
    444                 PS_TYPE_PTR);
     464                PS_ERRORTEXT_psMetadata_METATYPE_INVALID,
     465                metadataItem->type);
    445466        return NULL;
    446467    } else {
     
    467488    } \
    468489    \
    469     if (metadataItem->type == PS_META_PRIMITIVE) { \
    470         switch (metadataItem->pType) { \
    471         case PS_TYPE_S32: \
    472             value = (ps##TYPE)metadataItem->data.S32; \
    473             break; \
    474         case PS_TYPE_F32: \
    475             value = (ps##TYPE)metadataItem->data.F32; \
    476             break; \
    477         case PS_TYPE_F64: \
    478             value = (ps##TYPE)metadataItem->data.F64; \
    479             break; \
    480         case PS_TYPE_BOOL: \
    481             if (metadataItem->data.B) { \
    482                 value = 1; \
    483             } \
    484             break; \
    485         default: \
    486             /* if you get to this point, the value is not a number. */ \
    487             if (status) { \
    488                 *status = false; \
    489             } \
    490             break; \
     490    switch (metadataItem->type) { \
     491    case PS_META_S32: \
     492        value = (ps##TYPE)metadataItem->data.S32; \
     493        break; \
     494    case PS_META_F32: \
     495        value = (ps##TYPE)metadataItem->data.F32; \
     496        break; \
     497    case PS_META_F64: \
     498        value = (ps##TYPE)metadataItem->data.F64; \
     499        break; \
     500    case PS_META_BOOL: \
     501        if (metadataItem->data.B) { \
     502            value = 1; \
    491503        } \
    492     } else { \
     504        break; \
     505    default: \
     506        /* if you get to this point, the value is not a number. */ \
    493507        if (status) { \
    494508            *status = false; \
    495509        } \
     510        break; \
    496511    } \
    497512    \
  • trunk/psLib/src/types/psMetadata.h

    r3264 r3341  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2005-02-17 19:26:23 $
     13*  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2005-02-28 23:34:10 $
    1515*
    1616*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2424#include "psHash.h"
    2525#include "psList.h"
     26#include "psImage.h"
     27#include "psLookupTable.h"
    2628
    2729/// @addtogroup Metadata
     
    3335 */
    3436typedef enum {
    35     PS_META_PRIMITIVE,                 ///< Primitive data.
     37    PS_META_S32,                       ///< Primitive data.
     38    PS_META_F32,                       ///< Primitive data.
     39    PS_META_F64,                       ///< Primitive data.
     40    PS_META_BOOL,                       ///< Primitive data.
    3641    PS_META_LIST,                      ///< List data (Stored as item.data.list).
    3742    PS_META_STR,                       ///< String data (Stored as item.data.V).
     
    4752} psMetadataType;
    4853
     54#define PS_META_IS_PRIMITIVE(TYPE) \
     55(TYPE == PS_META_S32 || \
     56 TYPE == PS_META_F32 || \
     57 TYPE == PS_META_F64 || \
     58 TYPE == PS_META_BOOL)
     59
     60#define PS_META_PRIMITIVE_TYPE(METATYPE) ( \
     61        (METATYPE==PS_META_S32) ? PS_TYPE_S32 : \
     62        (METATYPE==PS_META_F32) ? PS_TYPE_F32 : \
     63        (METATYPE==PS_META_F64) ? PS_TYPE_F64 : \
     64        (METATYPE==PS_META_BOOL) ? PS_TYPE_BOOL : PS_TYPE_PTR )
     65
    4966/** Option flags for psMetadata functions
    5067 *
     
    5572typedef enum {
    5673    PS_META_DEFAULT = 0,               ///< default behaviour (duplicate entry is an error)
    57     PS_META_REPLACE                    ///< allow entry to be replaced
     74    PS_META_REPLACE = 0x10000          ///< allow entry to be replaced
    5875} psMetadataFlags;
    5976
     
    8299    char *name;                        ///< Name of metadata item.
    83100    psMetadataType type;               ///< Type of metadata item.
    84     psElemType pType;                  ///< Primitive data type
    85101    union {
    86102        psBool B;                      ///< boolean data
     
    113129psMetadataItem* psMetadataItemAlloc(
    114130    const char *name,                  ///< Name of metadata item.
    115     psElemType pType,                  ///< Primitive type.
    116131    psMetadataType type,               ///< Type of metadata item.
    117132    const char *comment,               ///< Comment for metadata item.
    118133    ...                                ///< Arguments for name formatting and metadata item data.
     134);
     135
     136psMetadataItem* psMetadataItemAllocStr(
     137    const char* name,
     138    const char* comment,
     139    const char* value
     140);
     141
     142psMetadataItem* psMetadataItemAllocF32(
     143    const char* name,
     144    const char* comment,
     145    psF32 value
     146);
     147
     148psMetadataItem* psMetadataItemAllocF64(
     149    const char* name,
     150    const char* comment,
     151    psF64 value
     152);
     153
     154psMetadataItem* psMetadataItemAllocS32(
     155    const char* name,
     156    const char* comment,
     157    psS32 value
     158);
     159
     160psMetadataItem* psMetadataItemAllocBool(
     161    const char* name,
     162    const char* comment,
     163    psBool value
    119164);
    120165
     
    137182psMetadataItem* psMetadataItemAllocV(
    138183    const char *name,                  ///< Name of metadata item.
    139     psElemType pType,                  ///< Primitive type.
    140184    psMetadataType type,               ///< Type of metadata item.
    141185    const char *comment,               ///< Comment for metadata item.
     
    161205 */
    162206psBool psMetadataAddItem(
    163     psMetadata*  md,          ///< Metadata collection to insert metadat item.
    164     psMetadataItem*  item,    ///< Metadata item to be added.
    165     psS32 location            ///< Location to be added.
     207    psMetadata*  md,                   ///< Metadata collection to insert metadat item.
     208    psMetadataItem*  item,             ///< Metadata item to be added.
     209    psS32 location                     ///< Location to be added.
    166210);
    167211
     
    173217 */
    174218psBool psMetadataAdd(
    175     psMetadata* md,           ///< Metadata collection to insert metadat item.
    176     psS32 where,              ///< Location to be added.
    177     const char *name,         ///< Name of metadata item.
    178     psElemType pType,         ///< Primitive type.
    179     psMetadataType type,      ///< Type of metadata item.
    180     const char *comment,      ///< Comment for metadata item.
    181     ...                       ///< Arguments for name formatting and metadata item data.
    182 );
     219    psMetadata* md,                    ///< Metadata collection to insert metadat item.
     220    psS32 where,                       ///< Location to be added.
     221    const char *name,                  ///< Name of metadata item.
     222    psMetadataType type,               ///< Type of metadata item.
     223    const char *comment,               ///< Comment for metadata item.
     224    ...                                ///< Arguments for name formatting and metadata item data.
     225);
     226
     227psBool psMetadataAddS32(psMetadata* md, psS32 where, const char* name,
     228                        const char* comment, psS32 value);
     229psBool psMetadataAddF32(psMetadata* md, psS32 where, const char* name,
     230                        const char* comment, psF32 value);
     231psBool psMetadataAddF64(psMetadata* md, psS32 where, const char* name,
     232                        const char* comment, psF64 value);
     233psBool psMetadataAddList(psMetadata* md, psS32 where, const char* name,
     234                         const char* comment, psList* value);
     235psBool psMetadataAddStr(psMetadata* md, psS32 where, const char* name,
     236                        const char* comment, const char* value);
     237psBool psMetadataAddVector(psMetadata* md, psS32 where, const char* name,
     238                           const char* comment, psVector* value);
     239psBool psMetadataAddImage(psMetadata* md, psS32 where, const char* name,
     240                          const char* comment, psImage* value);
     241psBool psMetadataAddHash(psMetadata* md, psS32 where, const char* name,
     242                         const char* comment, psHash* value);
     243psBool psMetadataAddLookupTable(psMetadata* md, psS32 where, const char* name,
     244                                const char* comment, psLookupTable* value);
     245psBool psMetadataAddUnknown(psMetadata* md, psS32 where, const char* name,
     246                            const char* comment, psPtr value);
     247
    183248
    184249/** Remove an item from metadata collection.
  • trunk/psLib/src/types/psMetadataConfig.c

    r3264 r3341  
    99*  @author Ross Harman, MHPCC
    1010*
    11 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    12 *  @date $Date: 2005-02-17 19:26:23 $
     11*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     12*  @date $Date: 2005-02-28 23:34:10 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    101101/*****************************************************************************/
    102102
    103 static void p_saxEndElement(void *ctx, const xmlChar *tagName);
    104 static void p_psInitVectorXml(void *ctx, char *tagName);
    105 static void p_psInitMetadataItemXml(void *ctx, char *tagName);
    106 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
     103static void saxEndElement(void *ctx, const xmlChar *tagName);
     104static void initVectorXml(void *ctx, char *tagName);
     105static void initMetadataItemXml(void *ctx, char *tagName);
     106static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
    107107
    108108/** Determines if a line is blank (whitespace only) or a commentline. It returns true if so. The input string
     
    307307{
    308308    psMetadataType type;
    309     psElemType pType;
    310309    psBool success = true;
    311310
     
    315314
    316315    type = metadataItem->type;
    317     pType = metadataItem->pType;
    318316
    319317    switch(type) {
    320     case PS_META_PRIMITIVE:
    321         switch(pType) {
    322         case PS_TYPE_BOOL:
    323             fprintf(fd, format, metadataItem->data.B);
    324             break;
    325         case PS_TYPE_S32:
    326             fprintf(fd,format, metadataItem->data.S32);
    327             break;
    328         case PS_TYPE_F32:
    329             fprintf(fd, format, metadataItem->data.F32);
    330             break;
    331         case PS_TYPE_F64:
    332             fprintf(fd, format, metadataItem->data.F64);
    333             break;
    334         default:
    335             psError(PS_ERR_BAD_PARAMETER_TYPE,true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, (int)pType);
    336             success = false;
    337         }
     318    case PS_META_BOOL:
     319        fprintf(fd, format, metadataItem->data.B);
     320        break;
     321    case PS_META_S32:
     322        fprintf(fd,format, metadataItem->data.S32);
     323        break;
     324    case PS_META_F32:
     325        fprintf(fd, format, metadataItem->data.F32);
     326        break;
     327    case PS_META_F64:
     328        fprintf(fd, format, metadataItem->data.F64);
    338329        break;
    339330    case PS_META_STR:
     
    419410        switch (keyType) {
    420411        case 'I':
    421             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_S32, PS_META_PRIMITIVE,
     412            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_S32,
    422413                                    keyComment, atoi(keyValue));
    423414            break;
    424415        case 'F':
    425             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_F64, PS_META_PRIMITIVE,
     416            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_F64,
    426417                                    keyComment, atof(keyValue));
    427418            break;
    428419        case 'C':
    429             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_PTR, PS_META_STR, keyComment,
    430                                     keyValue);
     420            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_STR,
     421                                    keyComment, keyValue);
    431422            break;
    432423        case 'L':
    433424            tempBool = (keyValue[0] == 'T') ? 1 : 0;
    434             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_BOOL, PS_META_PRIMITIVE, keyComment,
    435                                     tempBool);
     425            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_BOOL,
     426                                    keyComment, tempBool);
    436427            break;
    437428        case 'U':
     
    460451    char *strComment = NULL;
    461452    char *linePtr = NULL;
     453    psElemType vecType = PS_TYPE_PTR;
    462454    psS32 status = 0;
    463455    psU32 lineCount = 0;
     
    467459    psVector *tempVec = NULL;
    468460    FILE *fp = NULL;
    469     psElemType pType;
    470461    psMetadataType mdType;
    471462
     
    535526            } else if(!strncmp(strType, "*", 1)) {
    536527                mdType = PS_META_LIST;
    537                 pType = PS_TYPE_PTR;
    538528            } else if(!strncmp(strType, "STR", 3)) {
    539529                mdType = PS_META_STR;
    540                 pType = PS_TYPE_PTR;
    541             } else if(!strncmp(strType, "BOOL", 3)) {
    542                 mdType = PS_META_PRIMITIVE;
    543                 pType = PS_TYPE_BOOL;
     530            } else if(!strncmp(strType, "BOOL", 4)) {
     531                mdType = PS_META_BOOL;
    544532            } else if(!strncmp(strType, "S32", 3)) {
    545                 mdType = PS_META_PRIMITIVE;
    546                 pType = PS_TYPE_S32;
     533                mdType = PS_META_S32;
    547534            } else if(!strncmp(strType, "F32", 3)) {
    548                 mdType = PS_META_PRIMITIVE;
    549                 pType = PS_TYPE_F32;
     535                mdType = PS_META_F32;
    550536            } else if(!strncmp(strType, "F64", 3)) {
    551                 mdType = PS_META_PRIMITIVE;
    552                 pType = PS_TYPE_F64;
     537                mdType = PS_META_F64;
    553538            } else {
    554539                (*nFail)++;
     
    559544
    560545            if(*strName == '@') {
     546                vecType = PS_META_PRIMITIVE_TYPE(mdType);
    561547                mdType = PS_META_VEC;
    562548            }
     
    604590            switch (mdType) {
    605591            case PS_META_LIST:
    606                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     592                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    607593                break;
    608594            case PS_META_STR:
    609                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, strValue);
     595                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, strValue);
    610596                break;
    611597            case PS_META_VEC:
    612                 tempVec = parseVector(strValue, pType, &status);
     598                tempVec = parseVector(strValue, vecType, &status);
    613599                if(!status) {
    614                     psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, strComment, tempVec);
     600                    psMetadataAdd(md, PS_LIST_TAIL, strName+1, mdType, strComment, tempVec);
     601                } else {
     602                    status = 0;
     603                    (*nFail)++;
     604                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     605                            strType, lineCount, fileName);
     606                    continue;
     607                }
     608                psFree(tempVec);
     609                break;
     610            case PS_META_BOOL:
     611                tempBool = parseBool(strValue, &status);
     612                if(!status) {
     613                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempBool);
    615614                } else {
    616615                    status = 0;
     
    621620                }
    622621                break;
    623             case PS_META_PRIMITIVE:
    624                 switch (pType) {
    625                 case PS_TYPE_BOOL:
    626                     tempBool = parseBool(strValue, &status);
    627                     if(!status) {
    628                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempBool);
    629                     } else {
    630                         status = 0;
    631                         (*nFail)++;
    632                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    633                                 strType, lineCount, fileName);
    634                         continue;
    635                     }
    636                     break;
    637                 case PS_TYPE_S32:
    638                     tempInt = (psS32)parseValue(strValue, &status);
    639                     if(!status) {
    640                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempInt);
    641                     } else {
    642                         status = 0;
    643                         (*nFail)++;
    644                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    645                                 strType, lineCount, fileName);
    646                         continue;
    647                     }
    648                     break;
    649                 case PS_TYPE_F32:
    650                 case PS_TYPE_F64:
    651                     tempDbl = parseValue(strValue, &status);
    652                     if(!status) {
    653                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempDbl);
    654                     } else {
    655                         status = 0;
    656                         (*nFail)++;
    657                         psError(PS_ERR_IO, true,
    658                                 PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    659                                 fileName);
    660                         continue;
    661                     }
    662                     break;
    663                 default:
     622            case PS_META_S32:
     623                tempInt = (psS32)parseValue(strValue, &status);
     624                if(!status) {
     625                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempInt);
     626                } else {
     627                    status = 0;
    664628                    (*nFail)++;
    665                     psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, mdType, lineCount,
     629                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     630                            strType, lineCount, fileName);
     631                    continue;
     632                }
     633                break;
     634            case PS_META_F32:
     635            case PS_META_F64:
     636                tempDbl = parseValue(strValue, &status);
     637                if(!status) {
     638                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempDbl);
     639                } else {
     640                    status = 0;
     641                    (*nFail)++;
     642                    psError(PS_ERR_IO, true,
     643                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    666644                            fileName);
    667645                    continue;
    668                 } // switch
     646                }
    669647                break;
    670648            default:
     
    682660}
    683661
    684 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
     662static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
    685663{
    686664    psU64 i = 0;
     
    709687    // Metadata containter for housing element attributes used by other SAX events
    710688    htAtts = psHashAlloc(10);
     689
    711690
    712691    // Get tag name
     
    745724
    746725    // Add attributes to metadata
    747     psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_TYPE_PTR, PS_META_HASH, NULL, htAtts);
     726
     727    psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_META_HASH, NULL, htAtts);
    748728
    749729    psFree(psTagName);
     730    psFree(htAtts);
    750731
    751732    return;
    752733}
    753734
    754 static void p_psInitMetadataItemXml(void *ctx, char *tagName)
     735static void initMetadataItemXml(void *ctx, char *tagName)
    755736{
    756737    psBool overwrite = false;
     
    760741    psF64 tempDbl = 0.0;
    761742    psS32 tempInt = 0.0;
    762     psElemType pType = PS_TYPE_PTR;
    763     psMetadataType mdType = PS_META_PRIMITIVE;
     743    psMetadataType mdType = PS_META_UNKNOWN;
    764744    char *fileName = NULL;
    765745    char *strName = NULL;
     
    802782        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    803783            mdType = PS_META_STR;
    804             pType = PS_TYPE_PTR;
    805784        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    806             mdType = PS_META_PRIMITIVE;
    807             pType = PS_TYPE_U8;
     785            mdType = PS_META_BOOL;
    808786        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    809             mdType = PS_META_PRIMITIVE;
    810             pType = PS_TYPE_S32;
     787            mdType = PS_META_S32;
    811788        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    812             mdType = PS_META_PRIMITIVE;
    813             pType = PS_TYPE_F32;
     789            mdType = PS_META_F32;
    814790        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    815             mdType = PS_META_PRIMITIVE;
    816             pType = PS_TYPE_F64;
     791            mdType = PS_META_F64;
    817792        } else {
    818793            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TYPE_INVALID_LINE_FILE, strType, lineNumber,
     
    853828    switch(mdType) {
    854829    case PS_META_LIST:
    855         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     830        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    856831        break;
    857832    case PS_META_STR:
    858         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, strValue);
     833        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, strValue);
    859834        break;
    860     case PS_META_PRIMITIVE:
    861         switch(pType) {
    862         case PS_TYPE_BOOL:
    863             tempBool = parseBool((char*)strValue, &status);
    864             if(!status) {
    865                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempBool);
    866             } else {
    867                 status = 0;
    868                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    869                         lineNumber, fileName);
    870             }
    871             break;
    872         case PS_TYPE_S32:
    873             tempInt = (psS32)parseValue((char*)strValue, &status);
    874             if(!status) {
    875                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempInt);
    876             } else {
    877                 status = 0;
    878                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    879                         lineNumber, fileName);
    880             }
    881             break;
    882         case PS_TYPE_F32:
    883         case PS_TYPE_F64:
    884             tempDbl = parseValue((char*)strValue, &status);
    885             if(!status) {
    886                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempDbl);
    887             } else {
    888                 status = 0;
    889                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    890                         lineNumber, fileName);
    891             }
    892             break;
    893         default:
    894             psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, strType, lineNumber, fileName);
    895         } // End switch
     835    case PS_META_BOOL:
     836        tempBool = parseBool((char*)strValue, &status);
     837        if(!status) {
     838            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempBool);
     839        } else {
     840            status = 0;
     841            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     842                    lineNumber, fileName);
     843        }
     844        break;
     845    case PS_META_S32:
     846        tempInt = (psS32)parseValue((char*)strValue, &status);
     847        if(!status) {
     848            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempInt);
     849        } else {
     850            status = 0;
     851            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     852                    lineNumber, fileName);
     853        }
     854        break;
     855    case PS_META_F32:
     856    case PS_META_F64:
     857        tempDbl = parseValue((char*)strValue, &status);
     858        if(!status) {
     859            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempDbl);
     860        } else {
     861            status = 0;
     862            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     863                    lineNumber, fileName);
     864        }
    896865        break;
    897866    default:
     
    899868    } // End switch
    900869
    901 
    902870    return;
    903871}
    904872
    905873
    906 static void p_psInitVectorXml(void *ctx, char *tagName)
     874static void initVectorXml(void *ctx, char *tagName)
    907875{
    908876    bool overwrite = false;
     
    910878    psU32 lineNumber = 0;
    911879    psElemType pType = PS_TYPE_PTR;
    912     psMetadataType mdType = PS_META_PRIMITIVE;
    913880    char *strName = NULL;
    914881    char *strType = NULL;
     
    952919    strType = psHashLookup(htAtts, "psType");
    953920    if(strType!= NULL) {
    954         if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    955             mdType = PS_META_STR;
    956             pType = PS_TYPE_PTR;
    957         } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    958             mdType = PS_META_PRIMITIVE;
     921        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    959922            pType = PS_TYPE_U8;
    960923        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    961             mdType = PS_META_PRIMITIVE;
    962924            pType = PS_TYPE_S32;
    963925        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    964             mdType = PS_META_PRIMITIVE;
    965926            pType = PS_TYPE_F32;
    966927        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    967             mdType = PS_META_PRIMITIVE;
    968928            pType = PS_TYPE_F64;
    969929        } else {
     
    1006966    vec = parseVector((char*)strValue, pType, &status);
    1007967    if(!status) {
    1008         psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, NULL, vec);
     968        psMetadataAdd(md, PS_LIST_TAIL, strName+1, PS_META_VEC, NULL, vec);
    1009969    } else {
    1010970        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     
    1014974}
    1015975
    1016 static void p_saxEndElement(void *ctx, const xmlChar *tagName)
     976static void saxEndElement(void *ctx, const xmlChar *tagName)
    1017977{
    1018978    char *psStartTagName = NULL;
     
    10521012    // Initialize psLib structs
    10531013    if(!strcmp(psEndTagName, "psMetadataItem")) {
    1054         p_psInitMetadataItemXml(ctx, psEndTagName);
     1014        initMetadataItemXml(ctx, psEndTagName);
    10551015    } else if(!strcmp(psEndTagName, "psVector")) {
    1056         p_psInitVectorXml(ctx, psEndTagName);
     1016        initVectorXml(ctx, psEndTagName);
    10571017    } else if(strcmp(psEndTagName, "psRoot")) {
    10581018        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TAG_UNKNOWN, psEndTagName);
     
    10951055    saxHandler.startDocument            = NULL;
    10961056    saxHandler.endDocument              = NULL;
    1097     saxHandler.startElement             = p_saxStartElement;
    1098     saxHandler.endElement               = p_saxEndElement;
     1057    saxHandler.startElement             = saxStartElement;
     1058    saxHandler.endElement               = saxEndElement;
    10991059    saxHandler.reference                = NULL;
    11001060    saxHandler.characters               = NULL;
  • trunk/psLib/src/xml/psXML.c

    r3264 r3341  
    99*  @author Ross Harman, MHPCC
    1010*
    11 *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    12 *  @date $Date: 2005-02-17 19:26:23 $
     11*  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     12*  @date $Date: 2005-02-28 23:34:10 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    101101/*****************************************************************************/
    102102
    103 static void p_saxEndElement(void *ctx, const xmlChar *tagName);
    104 static void p_psInitVectorXml(void *ctx, char *tagName);
    105 static void p_psInitMetadataItemXml(void *ctx, char *tagName);
    106 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
     103static void saxEndElement(void *ctx, const xmlChar *tagName);
     104static void initVectorXml(void *ctx, char *tagName);
     105static void initMetadataItemXml(void *ctx, char *tagName);
     106static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);
    107107
    108108/** Determines if a line is blank (whitespace only) or a commentline. It returns true if so. The input string
     
    307307{
    308308    psMetadataType type;
    309     psElemType pType;
    310309    psBool success = true;
    311310
     
    315314
    316315    type = metadataItem->type;
    317     pType = metadataItem->pType;
    318316
    319317    switch(type) {
    320     case PS_META_PRIMITIVE:
    321         switch(pType) {
    322         case PS_TYPE_BOOL:
    323             fprintf(fd, format, metadataItem->data.B);
    324             break;
    325         case PS_TYPE_S32:
    326             fprintf(fd,format, metadataItem->data.S32);
    327             break;
    328         case PS_TYPE_F32:
    329             fprintf(fd, format, metadataItem->data.F32);
    330             break;
    331         case PS_TYPE_F64:
    332             fprintf(fd, format, metadataItem->data.F64);
    333             break;
    334         default:
    335             psError(PS_ERR_BAD_PARAMETER_TYPE,true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, (int)pType);
    336             success = false;
    337         }
     318    case PS_META_BOOL:
     319        fprintf(fd, format, metadataItem->data.B);
     320        break;
     321    case PS_META_S32:
     322        fprintf(fd,format, metadataItem->data.S32);
     323        break;
     324    case PS_META_F32:
     325        fprintf(fd, format, metadataItem->data.F32);
     326        break;
     327    case PS_META_F64:
     328        fprintf(fd, format, metadataItem->data.F64);
    338329        break;
    339330    case PS_META_STR:
     
    419410        switch (keyType) {
    420411        case 'I':
    421             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_S32, PS_META_PRIMITIVE,
     412            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_S32,
    422413                                    keyComment, atoi(keyValue));
    423414            break;
    424415        case 'F':
    425             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_F64, PS_META_PRIMITIVE,
     416            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_F64,
    426417                                    keyComment, atof(keyValue));
    427418            break;
    428419        case 'C':
    429             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_PTR, PS_META_STR, keyComment,
    430                                     keyValue);
     420            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_STR,
     421                                    keyComment, keyValue);
    431422            break;
    432423        case 'L':
    433424            tempBool = (keyValue[0] == 'T') ? 1 : 0;
    434             success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_TYPE_BOOL, PS_META_PRIMITIVE, keyComment,
    435                                     tempBool);
     425            success = psMetadataAdd(output, PS_LIST_TAIL, keyName, PS_META_BOOL,
     426                                    keyComment, tempBool);
    436427            break;
    437428        case 'U':
     
    460451    char *strComment = NULL;
    461452    char *linePtr = NULL;
     453    psElemType vecType = PS_TYPE_PTR;
    462454    psS32 status = 0;
    463455    psU32 lineCount = 0;
     
    467459    psVector *tempVec = NULL;
    468460    FILE *fp = NULL;
    469     psElemType pType;
    470461    psMetadataType mdType;
    471462
     
    535526            } else if(!strncmp(strType, "*", 1)) {
    536527                mdType = PS_META_LIST;
    537                 pType = PS_TYPE_PTR;
    538528            } else if(!strncmp(strType, "STR", 3)) {
    539529                mdType = PS_META_STR;
    540                 pType = PS_TYPE_PTR;
    541             } else if(!strncmp(strType, "BOOL", 3)) {
    542                 mdType = PS_META_PRIMITIVE;
    543                 pType = PS_TYPE_BOOL;
     530            } else if(!strncmp(strType, "BOOL", 4)) {
     531                mdType = PS_META_BOOL;
    544532            } else if(!strncmp(strType, "S32", 3)) {
    545                 mdType = PS_META_PRIMITIVE;
    546                 pType = PS_TYPE_S32;
     533                mdType = PS_META_S32;
    547534            } else if(!strncmp(strType, "F32", 3)) {
    548                 mdType = PS_META_PRIMITIVE;
    549                 pType = PS_TYPE_F32;
     535                mdType = PS_META_F32;
    550536            } else if(!strncmp(strType, "F64", 3)) {
    551                 mdType = PS_META_PRIMITIVE;
    552                 pType = PS_TYPE_F64;
     537                mdType = PS_META_F64;
    553538            } else {
    554539                (*nFail)++;
     
    559544
    560545            if(*strName == '@') {
     546                vecType = PS_META_PRIMITIVE_TYPE(mdType);
    561547                mdType = PS_META_VEC;
    562548            }
     
    604590            switch (mdType) {
    605591            case PS_META_LIST:
    606                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     592                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    607593                break;
    608594            case PS_META_STR:
    609                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, strValue);
     595                psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, strValue);
    610596                break;
    611597            case PS_META_VEC:
    612                 tempVec = parseVector(strValue, pType, &status);
     598                tempVec = parseVector(strValue, vecType, &status);
    613599                if(!status) {
    614                     psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, strComment, tempVec);
     600                    psMetadataAdd(md, PS_LIST_TAIL, strName+1, mdType, strComment, tempVec);
     601                } else {
     602                    status = 0;
     603                    (*nFail)++;
     604                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     605                            strType, lineCount, fileName);
     606                    continue;
     607                }
     608                psFree(tempVec);
     609                break;
     610            case PS_META_BOOL:
     611                tempBool = parseBool(strValue, &status);
     612                if(!status) {
     613                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempBool);
    615614                } else {
    616615                    status = 0;
     
    621620                }
    622621                break;
    623             case PS_META_PRIMITIVE:
    624                 switch (pType) {
    625                 case PS_TYPE_BOOL:
    626                     tempBool = parseBool(strValue, &status);
    627                     if(!status) {
    628                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempBool);
    629                     } else {
    630                         status = 0;
    631                         (*nFail)++;
    632                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    633                                 strType, lineCount, fileName);
    634                         continue;
    635                     }
    636                     break;
    637                 case PS_TYPE_S32:
    638                     tempInt = (psS32)parseValue(strValue, &status);
    639                     if(!status) {
    640                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempInt);
    641                     } else {
    642                         status = 0;
    643                         (*nFail)++;
    644                         psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
    645                                 strType, lineCount, fileName);
    646                         continue;
    647                     }
    648                     break;
    649                 case PS_TYPE_F32:
    650                 case PS_TYPE_F64:
    651                     tempDbl = parseValue(strValue, &status);
    652                     if(!status) {
    653                         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, strComment, tempDbl);
    654                     } else {
    655                         status = 0;
    656                         (*nFail)++;
    657                         psError(PS_ERR_IO, true,
    658                                 PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    659                                 fileName);
    660                         continue;
    661                     }
    662                     break;
    663                 default:
     622            case PS_META_S32:
     623                tempInt = (psS32)parseValue(strValue, &status);
     624                if(!status) {
     625                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempInt);
     626                } else {
     627                    status = 0;
    664628                    (*nFail)++;
    665                     psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, mdType, lineCount,
     629                    psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName,
     630                            strType, lineCount, fileName);
     631                    continue;
     632                }
     633                break;
     634            case PS_META_F32:
     635            case PS_META_F64:
     636                tempDbl = parseValue(strValue, &status);
     637                if(!status) {
     638                    psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, strComment, tempDbl);
     639                } else {
     640                    status = 0;
     641                    (*nFail)++;
     642                    psError(PS_ERR_IO, true,
     643                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType, lineCount,
    666644                            fileName);
    667645                    continue;
    668                 } // switch
     646                }
    669647                break;
    670648            default:
     
    682660}
    683661
    684 static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
     662static void saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)
    685663{
    686664    psU64 i = 0;
     
    709687    // Metadata containter for housing element attributes used by other SAX events
    710688    htAtts = psHashAlloc(10);
     689
    711690
    712691    // Get tag name
     
    745724
    746725    // Add attributes to metadata
    747     psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_TYPE_PTR, PS_META_HASH, NULL, htAtts);
     726
     727    psMetadataAdd(md, PS_LIST_TAIL, "htAtts", PS_META_HASH, NULL, htAtts);
    748728
    749729    psFree(psTagName);
     730    psFree(htAtts);
    750731
    751732    return;
    752733}
    753734
    754 static void p_psInitMetadataItemXml(void *ctx, char *tagName)
     735static void initMetadataItemXml(void *ctx, char *tagName)
    755736{
    756737    psBool overwrite = false;
     
    760741    psF64 tempDbl = 0.0;
    761742    psS32 tempInt = 0.0;
    762     psElemType pType = PS_TYPE_PTR;
    763     psMetadataType mdType = PS_META_PRIMITIVE;
     743    psMetadataType mdType = PS_META_UNKNOWN;
    764744    char *fileName = NULL;
    765745    char *strName = NULL;
     
    802782        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    803783            mdType = PS_META_STR;
    804             pType = PS_TYPE_PTR;
    805784        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    806             mdType = PS_META_PRIMITIVE;
    807             pType = PS_TYPE_U8;
     785            mdType = PS_META_BOOL;
    808786        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    809             mdType = PS_META_PRIMITIVE;
    810             pType = PS_TYPE_S32;
     787            mdType = PS_META_S32;
    811788        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    812             mdType = PS_META_PRIMITIVE;
    813             pType = PS_TYPE_F32;
     789            mdType = PS_META_F32;
    814790        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    815             mdType = PS_META_PRIMITIVE;
    816             pType = PS_TYPE_F64;
     791            mdType = PS_META_F64;
    817792        } else {
    818793            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TYPE_INVALID_LINE_FILE, strType, lineNumber,
     
    853828    switch(mdType) {
    854829    case PS_META_LIST:
    855         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, NULL);
     830        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, NULL);
    856831        break;
    857832    case PS_META_STR:
    858         psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, strValue);
     833        psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, strValue);
    859834        break;
    860     case PS_META_PRIMITIVE:
    861         switch(pType) {
    862         case PS_TYPE_BOOL:
    863             tempBool = parseBool((char*)strValue, &status);
    864             if(!status) {
    865                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempBool);
    866             } else {
    867                 status = 0;
    868                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    869                         lineNumber, fileName);
    870             }
    871             break;
    872         case PS_TYPE_S32:
    873             tempInt = (psS32)parseValue((char*)strValue, &status);
    874             if(!status) {
    875                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempInt);
    876             } else {
    877                 status = 0;
    878                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    879                         lineNumber, fileName);
    880             }
    881             break;
    882         case PS_TYPE_F32:
    883         case PS_TYPE_F64:
    884             tempDbl = parseValue((char*)strValue, &status);
    885             if(!status) {
    886                 psMetadataAdd(md, PS_LIST_TAIL, strName, pType, mdType, NULL, tempDbl);
    887             } else {
    888                 status = 0;
    889                 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
    890                         lineNumber, fileName);
    891             }
    892             break;
    893         default:
    894             psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID, strType, lineNumber, fileName);
    895         } // End switch
     835    case PS_META_BOOL:
     836        tempBool = parseBool((char*)strValue, &status);
     837        if(!status) {
     838            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempBool);
     839        } else {
     840            status = 0;
     841            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     842                    lineNumber, fileName);
     843        }
     844        break;
     845    case PS_META_S32:
     846        tempInt = (psS32)parseValue((char*)strValue, &status);
     847        if(!status) {
     848            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempInt);
     849        } else {
     850            status = 0;
     851            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     852                    lineNumber, fileName);
     853        }
     854        break;
     855    case PS_META_F32:
     856    case PS_META_F64:
     857        tempDbl = parseValue((char*)strValue, &status);
     858        if(!status) {
     859            psMetadataAdd(md, PS_LIST_TAIL, strName, mdType, NULL, tempDbl);
     860        } else {
     861            status = 0;
     862            psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     863                    lineNumber, fileName);
     864        }
    896865        break;
    897866    default:
     
    899868    } // End switch
    900869
    901 
    902870    return;
    903871}
    904872
    905873
    906 static void p_psInitVectorXml(void *ctx, char *tagName)
     874static void initVectorXml(void *ctx, char *tagName)
    907875{
    908876    bool overwrite = false;
     
    910878    psU32 lineNumber = 0;
    911879    psElemType pType = PS_TYPE_PTR;
    912     psMetadataType mdType = PS_META_PRIMITIVE;
    913880    char *strName = NULL;
    914881    char *strType = NULL;
     
    952919    strType = psHashLookup(htAtts, "psType");
    953920    if(strType!= NULL) {
    954         if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psString")) {
    955             mdType = PS_META_STR;
    956             pType = PS_TYPE_PTR;
    957         } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    958             mdType = PS_META_PRIMITIVE;
     921        if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psBool")) {
    959922            pType = PS_TYPE_U8;
    960923        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psS32")) {
    961             mdType = PS_META_PRIMITIVE;
    962924            pType = PS_TYPE_S32;
    963925        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF32")) {
    964             mdType = PS_META_PRIMITIVE;
    965926            pType = PS_TYPE_F32;
    966927        } else if(xmlStrEqual(BAD_CAST strType, BAD_CAST "psF64")) {
    967             mdType = PS_META_PRIMITIVE;
    968928            pType = PS_TYPE_F64;
    969929        } else {
     
    1006966    vec = parseVector((char*)strValue, pType, &status);
    1007967    if(!status) {
    1008         psMetadataAdd(md, PS_LIST_TAIL, strName+1, pType, mdType, NULL, vec);
     968        psMetadataAdd(md, PS_LIST_TAIL, strName+1, PS_META_VEC, NULL, vec);
    1009969    } else {
    1010970        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_PARSE_FAILED, strValue, strName, strType,
     
    1014974}
    1015975
    1016 static void p_saxEndElement(void *ctx, const xmlChar *tagName)
     976static void saxEndElement(void *ctx, const xmlChar *tagName)
    1017977{
    1018978    char *psStartTagName = NULL;
     
    10521012    // Initialize psLib structs
    10531013    if(!strcmp(psEndTagName, "psMetadataItem")) {
    1054         p_psInitMetadataItemXml(ctx, psEndTagName);
     1014        initMetadataItemXml(ctx, psEndTagName);
    10551015    } else if(!strcmp(psEndTagName, "psVector")) {
    1056         p_psInitVectorXml(ctx, psEndTagName);
     1016        initVectorXml(ctx, psEndTagName);
    10571017    } else if(strcmp(psEndTagName, "psRoot")) {
    10581018        psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_TAG_UNKNOWN, psEndTagName);
     
    10951055    saxHandler.startDocument            = NULL;
    10961056    saxHandler.endDocument              = NULL;
    1097     saxHandler.startElement             = p_saxStartElement;
    1098     saxHandler.endElement               = p_saxEndElement;
     1057    saxHandler.startElement             = saxStartElement;
     1058    saxHandler.endElement               = saxEndElement;
    10991059    saxHandler.reference                = NULL;
    11001060    saxHandler.characters               = NULL;
  • trunk/psLib/test/astronomy/tst_psAstrometry.c

    r3264 r3341  
    55 *  @author Robert DeSonia, MHPCC
    66 *
    7  *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
    8  *  @date $Date: 2005-02-17 19:26:24 $
     7 *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
     8 *  @date $Date: 2005-02-28 23:34:10 $
    99 *
    1010 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    5353    psExposure* exp = psExposureAlloc(1.0, 2.0, 3.0, 4.0, 5.0,
    5454                                      now, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, obs);
    55 
    5655
    5756    if (fabs(exp->ra - 1.0) > DBL_EPSILON) {
  • trunk/psLib/test/astronomy/tst_psMetadataIO.c

    r3264 r3341  
    1313*  @author  Ross Harman, MHPCC
    1414*
    15 *  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
    16 *  @date  $Date: 2005-02-17 19:26:24 $
     15*  @version $Revision: 1.10 $  $Name: not supported by cvs2svn $
     16*  @date  $Date: 2005-02-28 23:34:10 $
    1717*
    1818*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    6666{
    6767    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
    68     printf("Key pType: %d  ", metadataItem->pType);
    6968    printf("Key mdType: %d  ", metadataItem->type);
    7069
     
    7372        printf("Key Value: %17c", ' ');
    7473        break;
    75     case PS_META_PRIMITIVE:
    76         switch(metadataItem->pType) {
    77         case PS_TYPE_BOOL:
    78             printf("Key Value: %15d  ", metadataItem->data.B);
    79             break;
    80         case PS_TYPE_S32:
    81             printf("Key Value: %15d  ", metadataItem->data.S32);
    82             break;
    83         case PS_TYPE_F32:
    84             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    85             break;
    86         case PS_TYPE_F64:
    87             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    88             break;
    89         default:
    90             printf("Bad type: %d ", metadataItem->pType);
    91         }
     74    case PS_META_BOOL:
     75        printf("Key Value: %15d  ", metadataItem->data.B);
     76        break;
     77    case PS_META_S32:
     78        printf("Key Value: %15d  ", metadataItem->data.S32);
     79        break;
     80    case PS_META_F32:
     81        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     82        break;
     83    case PS_META_F64:
     84        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    9285        break;
    9386    case PS_META_STR:
  • trunk/psLib/test/astronomy/tst_psMetadata_01.c

    r3264 r3341  
    1818*  @author  Ross Harman, MHPCC
    1919*
    20 *  @version $Revision: 1.20 $  $Name: not supported by cvs2svn $
    21 *  @date  $Date: 2005-02-17 19:26:24 $
     20*  @version $Revision: 1.21 $  $Name: not supported by cvs2svn $
     21*  @date  $Date: 2005-02-28 23:34:10 $
    2222*
    2323*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    7272{
    7373    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
    74     printf("Key pType: %d  ", metadataItem->pType);
    7574    printf("Key mdType: %d  ", metadataItem->type);
    7675
     
    7978        printf("Key Value: %17c", ' ');
    8079        break;
    81     case PS_META_PRIMITIVE:
    82         switch(metadataItem->pType) {
    83         case PS_TYPE_BOOL:
    84             printf("Key Value: %15d  ", metadataItem->data.B);
    85             break;
    86         case PS_TYPE_S32:
    87             printf("Key Value: %15d  ", metadataItem->data.S32);
    88             break;
    89         case PS_TYPE_F32:
    90             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    91             break;
    92         case PS_TYPE_F64:
    93             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    94             break;
    95         default:
    96             printf("Bad type: %d ", metadataItem->pType);
    97         }
     80    case PS_META_BOOL:
     81        printf("Key Value: %15d  ", metadataItem->data.B);
     82        break;
     83    case PS_META_S32:
     84        printf("Key Value: %15d  ", metadataItem->data.S32);
     85        break;
     86    case PS_META_F32:
     87        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     88        break;
     89    case PS_META_F64:
     90        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    9891        break;
    9992    case PS_META_STR:
  • trunk/psLib/test/astronomy/tst_psMetadata_02.c

    r3264 r3341  
    1414*  @author  Ross Harman, MHPCC
    1515*
    16 *  @version $Revision: 1.11 $  $Name: not supported by cvs2svn $
    17 *  @date  $Date: 2005-02-17 19:26:24 $
     16*  @version $Revision: 1.12 $  $Name: not supported by cvs2svn $
     17*  @date  $Date: 2005-02-28 23:34:10 $
    1818*
    1919*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2828{
    2929    printf("Key Name: %8s  ", metadataItem->name);
    30     printf("Key pType: %2d  ", metadataItem->pType);
    3130    printf("Key mdType: %2d  ", metadataItem->type);
    3231
     
    3534        printf("Key Value: %17c", ' ');
    3635        break;
    37     case PS_META_PRIMITIVE:
    38         switch(metadataItem->pType) {
    39         case PS_TYPE_BOOL:
    40             printf("Key Value: %15d  ", metadataItem->data.B);
    41             break;
    42         case PS_TYPE_S32:
    43             printf("Key Value: %15d  ", metadataItem->data.S32);
    44             break;
    45         case PS_TYPE_F32:
    46             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    47             break;
    48         case PS_TYPE_F64:
    49             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    50             break;
    51         default:
    52             printf("Bad type: %d ", metadataItem->pType);
    53         }
     36    case PS_META_BOOL:
     37        printf("Key Value: %15d  ", metadataItem->data.B);
     38        break;
     39    case PS_META_S32:
     40        printf("Key Value: %15d  ", metadataItem->data.S32);
     41        break;
     42    case PS_META_F32:
     43        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     44        break;
     45    case PS_META_F64:
     46        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    5447        break;
    5548    case PS_META_STR:
     
    7669    // Test A - Allocate metadata items
    7770    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
    78     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    79     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 111);
    80     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_F32, PS_META_PRIMITIVE, "I am a single precision floating point", 222.222);
    81     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_F64, PS_META_PRIMITIVE, "I am a double precision floating point", 333.333);
    82     item5 = psMetadataItemAlloc("myItem5", PS_TYPE_PTR, PS_META_STR, "I am a string", "HELLO WORLD");
     71    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     72    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a signed integer", 111);
     73    item3 = psMetadataItemAlloc("myItem3", PS_META_F32, "I am a single precision floating point", 222.222);
     74    item4 = psMetadataItemAlloc("myItem4", PS_META_F64, "I am a double precision floating point", 333.333);
     75    item5 = psMetadataItemAlloc("myItem5", PS_META_STR, "I am a string", "HELLO WORLD");
    8376    printMetadataItem(item1);
    8477    printMetadataItem(item2);
     
    9386                            "Null value for name not allowed", 0);
    9487    psLogMsg(__func__,PS_LOG_INFO,"Following should produce error for null name.");
    95     badItem = psMetadataItemAlloc(NULL, PS_TYPE_PTR, PS_META_STR, "I am a string", "HELLO WORLD");
     88    badItem = psMetadataItemAlloc(NULL, PS_META_STR, "I am a string", "HELLO WORLD");
    9689    if (badItem != NULL) {
    9790        psError(PS_ERR_UNKNOWN, true,"psMetadataItemAlloc did not return null with null name item.");
     
    10497    printNegativeTestHeader(stdout,"psMetadata", "Test C - Attempt to create metadata item with invalid type",
    10598                            "Invalid psMetadataType: 6", 0);
    106     badItem = psMetadataItemAlloc("badItem", PS_TYPE_PTR, PS_META_NTYPE, "I am bad", "Bad comment");
     99    badItem = psMetadataItemAlloc("badItem", PS_META_NTYPE, "I am bad", "Bad comment");
    107100    printFooter(stdout, "psMetadata", "Test C - Attempt to create metadata item with invalid type", true);
    108101
  • trunk/psLib/test/astronomy/tst_psMetadata_03.c

    r3264 r3341  
    1818*  @author  Ross Harman, MHPCC
    1919*
    20 *  @version $Revision: 1.13 $  $Name: not supported by cvs2svn $
    21 *  @date  $Date: 2005-02-17 19:26:24 $
     20*  @version $Revision: 1.14 $  $Name: not supported by cvs2svn $
     21*  @date  $Date: 2005-02-28 23:34:10 $
    2222*
    2323*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3232{
    3333    printf("Key Name: %8s  ", metadataItem->name);
    34     printf("Key pType: %2d  ", metadataItem->pType);
    3534    printf("Key mdType: %2d  ", metadataItem->type);
    3635
     
    3938        printf("Key Value: %17c", ' ');
    4039        break;
    41     case PS_META_PRIMITIVE:
    42         switch(metadataItem->pType) {
    43         case PS_TYPE_BOOL:
    44             printf("Key Value: %15d  ", metadataItem->data.B);
    45             break;
    46         case PS_TYPE_S32:
    47             printf("Key Value: %15d  ", metadataItem->data.S32);
    48             break;
    49         case PS_TYPE_F32:
    50             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    51             break;
    52         case PS_TYPE_F64:
    53             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    54             break;
    55         default:
    56             printf("Bad type: %d ", metadataItem->pType);
    57         }
     40    case PS_META_BOOL:
     41        printf("Key Value: %15d  ", metadataItem->data.B);
     42        break;
     43    case PS_META_S32:
     44        printf("Key Value: %15d  ", metadataItem->data.S32);
     45        break;
     46    case PS_META_F32:
     47        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     48        break;
     49    case PS_META_F64:
     50        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    5851        break;
    5952    case PS_META_STR:
     
    8376    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
    8477    metadata = psMetadataAlloc();
    85     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    86     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
    87     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
    88     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
    89     errItem = psMetadataItemAlloc("errItem", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 99);
     78    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     79    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
     80    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
     81    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
     82    errItem = psMetadataItemAlloc("errItem", PS_META_S32, "I am a integer", 99);
    9083    printMetadataItem(item1);
    9184    printMetadataItem(item2);
     
    10194        return 10;
    10295    }
    103     if(!psMetadataAdd(metadata,PS_LIST_HEAD,"myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am S32 integer",77)) {
     96    if(!psMetadataAdd(metadata,PS_LIST_HEAD,"myItem2", PS_META_S32, "I am S32 integer",77)) {
    10497        psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return true when adding by name.");
    10598        return 11;
     
    122115        return 14;
    123116    }
    124     if ( ! psMetadataAdd(metadata,PS_LIST_HEAD,"myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am S32 integer",88) ) {
     117    if ( ! psMetadataAdd(metadata,PS_LIST_HEAD,"myItem4", PS_META_S32, "I am S32 integer",88) ) {
    125118        psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return true when adding by index.");
    126119        return 15;
     
    217210    mdTable = errMetadata->table;
    218211    errMetadata->table = NULL;
    219     if (psMetadataAdd(errMetadata, PS_LIST_HEAD, "errItem", PS_TYPE_S32, PS_META_PRIMITIVE, "Integer",22) ) {
     212    if (psMetadataAdd(errMetadata, PS_LIST_HEAD, "errItem", PS_META_S32, "Integer",22) ) {
    220213        psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return false w/ invalid metadata struct w/o hash table.");
    221214        return 24;
  • trunk/psLib/test/astronomy/tst_psMetadata_04.c

    r3264 r3341  
    2323*  @author  Ross Harman, MHPCC
    2424*
    25 *  @version $Revision: 1.14 $  $Name: not supported by cvs2svn $
    26 *  @date  $Date: 2005-02-17 19:26:24 $
     25*  @version $Revision: 1.15 $  $Name: not supported by cvs2svn $
     26*  @date  $Date: 2005-02-28 23:34:10 $
    2727*
    2828*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3737{
    3838    printf("Key Name: %8s  ", metadataItem->name);
    39     printf("Key pType: %2d  ", metadataItem->pType);
    4039    printf("Key mdType: %2d  ", metadataItem->type);
    4140
     
    4443        printf("Key Value: %17c", ' ');
    4544        break;
    46     case PS_META_PRIMITIVE:
    47         switch(metadataItem->pType) {
    48         case PS_TYPE_BOOL:
    49             printf("Key Value: %15d  ", metadataItem->data.B);
    50             break;
    51         case PS_TYPE_S32:
    52             printf("Key Value: %15d  ", metadataItem->data.S32);
    53             break;
    54         case PS_TYPE_F32:
    55             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    56             break;
    57         case PS_TYPE_F64:
    58             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    59             break;
    60         default:
    61             printf("Bad type: %d ", metadataItem->pType);
    62         }
     45    case PS_META_BOOL:
     46        printf("Key Value: %15d  ", metadataItem->data.B);
     47        break;
     48    case PS_META_S32:
     49        printf("Key Value: %15d  ", metadataItem->data.S32);
     50        break;
     51    case PS_META_F32:
     52        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     53        break;
     54    case PS_META_F64:
     55        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    6356        break;
    6457    case PS_META_STR:
     
    9184    psVector *vec = psVectorAlloc(5, PS_TYPE_S32);
    9285    metadata = psMetadataAlloc();
    93     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    94     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
    95     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
    96     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
    97     item5 = psMetadataItemAlloc("myItem5", PS_TYPE_F64, PS_META_PRIMITIVE, "I am a double", 3.14);
    98     item6 = psMetadataItemAlloc("myItem6", PS_TYPE_PTR, PS_META_VEC, "I am a vector", vec);
     86    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     87    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
     88    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
     89    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
     90    item5 = psMetadataItemAlloc("myItem5", PS_META_F64, "I am a double", 3.14);
     91    item6 = psMetadataItemAlloc("myItem6", PS_META_VEC, "I am a vector", vec);
    9992    printMetadataItem(item1);
    10093    printMetadataItem(item2);
     
    108101    psMetadataAddItem(metadata, item5, PS_LIST_HEAD);
    109102    psMetadataAddItem(metadata, item6, PS_LIST_HEAD);
     103    psFree(vec);
    110104    printFooter(stdout, "psMetadata", "Test A - Allocate metadata items", true);
    111105
  • trunk/psLib/test/astronomy/tst_psMetadata_05.c

    r3264 r3341  
    2222*  @author  Ross Harman, MHPCC
    2323*
    24 *  @version $Revision: 1.19 $  $Name: not supported by cvs2svn $
    25 *  @date  $Date: 2005-02-17 19:26:24 $
     24*  @version $Revision: 1.20 $  $Name: not supported by cvs2svn $
     25*  @date  $Date: 2005-02-28 23:34:10 $
    2626*
    2727*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3636{
    3737    printf("Key Name: %8s  ", metadataItem->name);
    38     printf("Key pType: %2d  ", metadataItem->pType);
    3938    printf("Key mdType: %2d  ", metadataItem->type);
    4039
     
    4342        printf("Key Value: %17c", ' ');
    4443        break;
    45     case PS_META_PRIMITIVE:
    46         switch(metadataItem->pType) {
    47         case PS_TYPE_BOOL:
    48             printf("Key Value: %15d  ", metadataItem->data.B);
    49             break;
    50         case PS_TYPE_S32:
    51             printf("Key Value: %15d  ", metadataItem->data.S32);
    52             break;
    53         case PS_TYPE_F32:
    54             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    55             break;
    56         case PS_TYPE_F64:
    57             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    58             break;
    59         default:
    60             printf("Bad type: %d ", metadataItem->pType);
    61         }
     44    case PS_META_BOOL:
     45        printf("Key Value: %15d  ", metadataItem->data.B);
     46        break;
     47    case PS_META_S32:
     48        printf("Key Value: %15d  ", metadataItem->data.S32);
     49        break;
     50    case PS_META_F32:
     51        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     52        break;
     53    case PS_META_F64:
     54        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    6255        break;
    6356    case PS_META_STR:
     
    8780    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
    8881    metadata = psMetadataAlloc();
    89     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    90     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
    91     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
    92     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
    93     item5 = psMetadataItemAlloc("myItem5", PS_TYPE_F32, PS_META_PRIMITIVE, "I am a float", 3.14);
    94     item6 = psMetadataItemAlloc("myItem6", PS_TYPE_F64, PS_META_PRIMITIVE,"I am a double", 6.28);
    95     item7 = psMetadataItemAlloc("myItem7", PS_TYPE_PTR, PS_META_STR, "I am a string", "GNIRTS");
     82    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     83    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
     84    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
     85    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
     86    item5 = psMetadataItemAlloc("myItem5", PS_META_F32, "I am a float", 3.14);
     87    item6 = psMetadataItemAlloc("myItem6", PS_META_F64,"I am a double", 6.28);
     88    item7 = psMetadataItemAlloc("myItem7", PS_META_STR, "I am a string", "GNIRTS");
    9689    //    item8 = psMetadataItemAlloc("myItem8", PS_TYPE_PTR, PS_META_UNKNOWN, "I am unknown");
    9790    printMetadataItem(item1);
  • trunk/psLib/test/astronomy/tst_psMetadata_06.c

    r3264 r3341  
    1313*  @author  Ross Harman, MHPCC
    1414*
    15 *  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
    16 *  @date  $Date: 2005-02-17 19:26:24 $
     15*  @version $Revision: 1.10 $  $Name: not supported by cvs2svn $
     16*  @date  $Date: 2005-02-28 23:34:10 $
    1717*
    1818*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2727{
    2828    printf("Key Name: %8s  ", metadataItem->name);
    29     printf("Key pType: %2d  ", metadataItem->pType);
    3029    printf("Key mdType: %2d  ", metadataItem->type);
    3130
     
    3433        printf("Key Value: %17c", ' ');
    3534        break;
    36     case PS_META_PRIMITIVE:
    37         switch(metadataItem->pType) {
    38         case PS_TYPE_BOOL:
    39             printf("Key Value: %15d  ", metadataItem->data.B);
    40             break;
    41         case PS_TYPE_S32:
    42             printf("Key Value: %15d  ", metadataItem->data.S32);
    43             break;
    44         case PS_TYPE_F32:
    45             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    46             break;
    47         case PS_TYPE_F64:
    48             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    49             break;
    50         default:
    51             printf("Bad type: %d ", metadataItem->pType);
    52         }
     35    case PS_META_BOOL:
     36        printf("Key Value: %15d  ", metadataItem->data.B);
     37        break;
     38    case PS_META_S32:
     39        printf("Key Value: %15d  ", metadataItem->data.S32);
     40        break;
     41    case PS_META_F32:
     42        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     43        break;
     44    case PS_META_F64:
     45        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    5346        break;
    5447    case PS_META_STR:
     
    7467    // Test A - Allocate metadata and items
    7568    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata and items");
    76     item1a = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    77     item1b = psMetadataItemAlloc("myItem1", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 111);
    78     item1c = psMetadataItemAlloc("myItem1", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 222);
    79     item2a = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 333);
    80     item2b = psMetadataItemAlloc("myItem2", PS_TYPE_PTR, PS_META_LIST, "I am a folder node", NULL);
     69    item1a = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     70    item1b = psMetadataItemAlloc("myItem1", PS_META_S32, "I am a signed integer", 111);
     71    item1c = psMetadataItemAlloc("myItem1", PS_META_S32, "I am a signed integer", 222);
     72    item2a = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a signed integer", 333);
     73    item2b = psMetadataItemAlloc("myItem2", PS_META_LIST, "I am a folder node", NULL);
    8174    metadata = psMetadataAlloc();
    8275    printMetadataItem(item1a);
  • trunk/psLib/test/astronomy/tst_psMetadata_07.c

    r3264 r3341  
    99*  @author  Ross Harman, MHPCC
    1010*
    11 *  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
    12 *  @date  $Date: 2005-02-17 19:26:24 $
     11*  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
     12*  @date  $Date: 2005-02-28 23:34:10 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3030        printf("psMetadataParseConfigXml returned error %d\n", res);
    3131    }
     32
    3233    psFree(md);
    3334    printFooter(stdout, "psMetadata", "Test A - Read an XML config file", true);
    34 
    3535
    3636    // Test B - Free data
  • trunk/psLib/test/astronomy/verified/tst_psMetadataIO.stdout

    r2643 r3341  
    77Failed lines: 6 Expected: 6
    88Contents of metadata list:
    9  Key Name:       pi  Key pType: 1032  Key mdType: 0  Key Value:           3.142  Key Comment: Definition of pi
    10  Key Name: altitude  Key pType: 260  Key mdType: 0  Key Value:           10000  Key Comment:
    11  Key Name:     time  Key pType: 1028  Key mdType: 0  Key Value:        1234.568  Key Comment:
    12  Key Name:   myBool  Key pType: 4865  Key mdType: 0  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
    13  Key Name:   title1  Key pType: 0  Key mdType: 2  Key Value:     Hello world  Key Comment: This is a comment for the string value
    14  Key Name:   title2  Key pType: 0  Key mdType: 2  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
    15  Key Name:   primes  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment: These are prime numbers
    16  Key Name: negatives  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment:
    17  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            This  Key Comment:
    18  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              is  Key Comment:
    19  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              an  Key Comment:
    20  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            ugly  Key Comment:
    21  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:         comment  Key Comment:
    22  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:             but  Key Comment:
    23  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           still  Key Comment:
    24  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           valid  Key Comment:
    25  Key Name:    speed  Key pType: 1028  Key mdType: 0  Key Value:          66.660  Key Comment:
     9 Key Name:       pi  Key mdType: 2  Key Value:           3.142  Key Comment: Definition of pi
     10 Key Name: altitude  Key mdType: 0  Key Value:           10000  Key Comment:
     11 Key Name:     time  Key mdType: 1  Key Value:        1234.568  Key Comment:
     12 Key Name:   myBool  Key mdType: 3  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
     13 Key Name:   title1  Key mdType: 5  Key Value:     Hello world  Key Comment: This is a comment for the string value
     14 Key Name:   title2  Key mdType: 5  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
     15 Key Name:   primes  Key mdType: 6  Bad type: 6 Key Comment: These are prime numbers
     16 Key Name: negatives  Key mdType: 6  Bad type: 6 Key Comment:
     17 Key Name:  comment  Key mdType: 5  Key Value:            This  Key Comment:
     18 Key Name:  comment  Key mdType: 5  Key Value:              is  Key Comment:
     19 Key Name:  comment  Key mdType: 5  Key Value:              an  Key Comment:
     20 Key Name:  comment  Key mdType: 5  Key Value:            ugly  Key Comment:
     21 Key Name:  comment  Key mdType: 5  Key Value:         comment  Key Comment:
     22 Key Name:  comment  Key mdType: 5  Key Value:             but  Key Comment:
     23 Key Name:  comment  Key mdType: 5  Key Value:           still  Key Comment:
     24 Key Name:  comment  Key mdType: 5  Key Value:           valid  Key Comment:
     25 Key Name:    speed  Key mdType: 1  Key Value:          66.660  Key Comment:
    2626
    2727Contents of metadata table:
    28  Key Name:  comment  Key pType: 0  Key mdType: 1  Key Value:                  Key Comment:
    29     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            This  Key Comment:
    30     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              is  Key Comment:
    31     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              an  Key Comment:
    32     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            ugly  Key Comment:
    33     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:         comment  Key Comment:
    34     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:             but  Key Comment:
    35     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           still  Key Comment:
    36     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           valid  Key Comment:
    37  Key Name:   title2  Key pType: 0  Key mdType: 2  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
    38  Key Name:     time  Key pType: 1028  Key mdType: 0  Key Value:        1234.568  Key Comment:
    39  Key Name: negatives  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment:
    40  Key Name:       pi  Key pType: 1032  Key mdType: 0  Key Value:           3.142  Key Comment: Definition of pi
    41  Key Name:   myBool  Key pType: 4865  Key mdType: 0  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
    42  Key Name:   primes  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment: These are prime numbers
    43  Key Name: altitude  Key pType: 260  Key mdType: 0  Key Value:           10000  Key Comment:
    44  Key Name:    speed  Key pType: 1028  Key mdType: 0  Key Value:          66.660  Key Comment:
    45  Key Name:   title1  Key pType: 0  Key mdType: 2  Key Value:     Hello world  Key Comment: This is a comment for the string value
     28 Key Name:  comment  Key mdType: 4  Key Value:                  Key Comment:
     29    Key Name:  comment  Key mdType: 5  Key Value:            This  Key Comment:
     30    Key Name:  comment  Key mdType: 5  Key Value:              is  Key Comment:
     31    Key Name:  comment  Key mdType: 5  Key Value:              an  Key Comment:
     32    Key Name:  comment  Key mdType: 5  Key Value:            ugly  Key Comment:
     33    Key Name:  comment  Key mdType: 5  Key Value:         comment  Key Comment:
     34    Key Name:  comment  Key mdType: 5  Key Value:             but  Key Comment:
     35    Key Name:  comment  Key mdType: 5  Key Value:           still  Key Comment:
     36    Key Name:  comment  Key mdType: 5  Key Value:           valid  Key Comment:
     37 Key Name:   title2  Key mdType: 5  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
     38 Key Name:     time  Key mdType: 1  Key Value:        1234.568  Key Comment:
     39 Key Name: negatives  Key mdType: 6  Bad type: 6 Key Comment:
     40 Key Name:       pi  Key mdType: 2  Key Value:           3.142  Key Comment: Definition of pi
     41 Key Name:   myBool  Key mdType: 3  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
     42 Key Name:   primes  Key mdType: 6  Bad type: 6 Key Comment: These are prime numbers
     43 Key Name: altitude  Key mdType: 0  Key Value:           10000  Key Comment:
     44 Key Name:    speed  Key mdType: 1  Key Value:          66.660  Key Comment:
     45 Key Name:   title1  Key mdType: 5  Key Value:     Hello world  Key Comment: This is a comment for the string value
    4646
    4747---> TESTPOINT PASSED (psMetadata{Test A - Read config file with overwrite set true} | tst_psMetadataIO.c)
     
    5454
    5555Failed lines: 7 Expected: 7 Contents of metadata list:
    56  Key Name:       pi  Key pType: 1032  Key mdType: 0  Key Value:           3.142  Key Comment: Definition of pi
    57  Key Name: altitude  Key pType: 260  Key mdType: 0  Key Value:           10000  Key Comment:
    58  Key Name:     time  Key pType: 1028  Key mdType: 0  Key Value:        1234.568  Key Comment:
    59  Key Name:   myBool  Key pType: 4865  Key mdType: 0  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
    60  Key Name:   title1  Key pType: 0  Key mdType: 2  Key Value:     Hello world  Key Comment: This is a comment for the string value
    61  Key Name:   title2  Key pType: 0  Key mdType: 2  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
    62  Key Name:   primes  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment: These are prime numbers
    63  Key Name: negatives  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment:
    64  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            This  Key Comment:
    65  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              is  Key Comment:
    66  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              an  Key Comment:
    67  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            ugly  Key Comment:
    68  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:         comment  Key Comment:
    69  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:             but  Key Comment:
    70  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           still  Key Comment:
    71  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           valid  Key Comment:
    72  Key Name:    speed  Key pType: 1028  Key mdType: 0  Key Value:          55.550  Key Comment:
     56 Key Name:       pi  Key mdType: 2  Key Value:           3.142  Key Comment: Definition of pi
     57 Key Name: altitude  Key mdType: 0  Key Value:           10000  Key Comment:
     58 Key Name:     time  Key mdType: 1  Key Value:        1234.568  Key Comment:
     59 Key Name:   myBool  Key mdType: 3  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
     60 Key Name:   title1  Key mdType: 5  Key Value:     Hello world  Key Comment: This is a comment for the string value
     61 Key Name:   title2  Key mdType: 5  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
     62 Key Name:   primes  Key mdType: 6  Bad type: 6 Key Comment: These are prime numbers
     63 Key Name: negatives  Key mdType: 6  Bad type: 6 Key Comment:
     64 Key Name:  comment  Key mdType: 5  Key Value:            This  Key Comment:
     65 Key Name:  comment  Key mdType: 5  Key Value:              is  Key Comment:
     66 Key Name:  comment  Key mdType: 5  Key Value:              an  Key Comment:
     67 Key Name:  comment  Key mdType: 5  Key Value:            ugly  Key Comment:
     68 Key Name:  comment  Key mdType: 5  Key Value:         comment  Key Comment:
     69 Key Name:  comment  Key mdType: 5  Key Value:             but  Key Comment:
     70 Key Name:  comment  Key mdType: 5  Key Value:           still  Key Comment:
     71 Key Name:  comment  Key mdType: 5  Key Value:           valid  Key Comment:
     72 Key Name:    speed  Key mdType: 1  Key Value:          55.550  Key Comment:
    7373
    7474Contents of metadata table:
    75  Key Name:  comment  Key pType: 0  Key mdType: 1  Key Value:                  Key Comment:
    76     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            This  Key Comment:
    77     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              is  Key Comment:
    78     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              an  Key Comment:
    79     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            ugly  Key Comment:
    80     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:         comment  Key Comment:
    81     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:             but  Key Comment:
    82     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           still  Key Comment:
    83     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           valid  Key Comment:
    84  Key Name:   title2  Key pType: 0  Key mdType: 2  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
    85  Key Name:     time  Key pType: 1028  Key mdType: 0  Key Value:        1234.568  Key Comment:
    86  Key Name: negatives  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment:
    87  Key Name:       pi  Key pType: 1032  Key mdType: 0  Key Value:           3.142  Key Comment: Definition of pi
    88  Key Name:   myBool  Key pType: 4865  Key mdType: 0  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
    89  Key Name:   primes  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment: These are prime numbers
    90  Key Name: altitude  Key pType: 260  Key mdType: 0  Key Value:           10000  Key Comment:
    91  Key Name:    speed  Key pType: 1028  Key mdType: 0  Key Value:          55.550  Key Comment:
    92  Key Name:   title1  Key pType: 0  Key mdType: 2  Key Value:     Hello world  Key Comment: This is a comment for the string value
     75 Key Name:  comment  Key mdType: 4  Key Value:                  Key Comment:
     76    Key Name:  comment  Key mdType: 5  Key Value:            This  Key Comment:
     77    Key Name:  comment  Key mdType: 5  Key Value:              is  Key Comment:
     78    Key Name:  comment  Key mdType: 5  Key Value:              an  Key Comment:
     79    Key Name:  comment  Key mdType: 5  Key Value:            ugly  Key Comment:
     80    Key Name:  comment  Key mdType: 5  Key Value:         comment  Key Comment:
     81    Key Name:  comment  Key mdType: 5  Key Value:             but  Key Comment:
     82    Key Name:  comment  Key mdType: 5  Key Value:           still  Key Comment:
     83    Key Name:  comment  Key mdType: 5  Key Value:           valid  Key Comment:
     84 Key Name:   title2  Key mdType: 5  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
     85 Key Name:     time  Key mdType: 1  Key Value:        1234.568  Key Comment:
     86 Key Name: negatives  Key mdType: 6  Bad type: 6 Key Comment:
     87 Key Name:       pi  Key mdType: 2  Key Value:           3.142  Key Comment: Definition of pi
     88 Key Name:   myBool  Key mdType: 3  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
     89 Key Name:   primes  Key mdType: 6  Bad type: 6 Key Comment: These are prime numbers
     90 Key Name: altitude  Key mdType: 0  Key Value:           10000  Key Comment:
     91 Key Name:    speed  Key mdType: 1  Key Value:          55.550  Key Comment:
     92 Key Name:   title1  Key mdType: 5  Key Value:     Hello world  Key Comment: This is a comment for the string value
    9393
    9494---> TESTPOINT PASSED (psMetadata{Test B - Read config file with overwrite set false} | tst_psMetadataIO.c)
     
    101101
    102102Failed lines: 6 Expected: 6 Contents of metadata list:
    103  Key Name:       pi  Key pType: 1032  Key mdType: 0  Key Value:           3.142  Key Comment: Definition of pi
    104  Key Name: altitude  Key pType: 260  Key mdType: 0  Key Value:           10000  Key Comment:
    105  Key Name:     time  Key pType: 1028  Key mdType: 0  Key Value:        1234.568  Key Comment:
    106  Key Name:   myBool  Key pType: 4865  Key mdType: 0  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
    107  Key Name:   title1  Key pType: 0  Key mdType: 2  Key Value:     Hello world  Key Comment: This is a comment for the string value
    108  Key Name:   title2  Key pType: 0  Key mdType: 2  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
    109  Key Name:   primes  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment: These are prime numbers
    110  Key Name: negatives  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment:
    111  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            This  Key Comment:
    112  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              is  Key Comment:
    113  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              an  Key Comment:
    114  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            ugly  Key Comment:
    115  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:         comment  Key Comment:
    116  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:             but  Key Comment:
    117  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           still  Key Comment:
    118  Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           valid  Key Comment:
    119  Key Name:    speed  Key pType: 1028  Key mdType: 0  Key Value:          66.660  Key Comment:
     103 Key Name:       pi  Key mdType: 2  Key Value:           3.142  Key Comment: Definition of pi
     104 Key Name: altitude  Key mdType: 0  Key Value:           10000  Key Comment:
     105 Key Name:     time  Key mdType: 1  Key Value:        1234.568  Key Comment:
     106 Key Name:   myBool  Key mdType: 3  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
     107 Key Name:   title1  Key mdType: 5  Key Value:     Hello world  Key Comment: This is a comment for the string value
     108 Key Name:   title2  Key mdType: 5  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
     109 Key Name:   primes  Key mdType: 6  Bad type: 6 Key Comment: These are prime numbers
     110 Key Name: negatives  Key mdType: 6  Bad type: 6 Key Comment:
     111 Key Name:  comment  Key mdType: 5  Key Value:            This  Key Comment:
     112 Key Name:  comment  Key mdType: 5  Key Value:              is  Key Comment:
     113 Key Name:  comment  Key mdType: 5  Key Value:              an  Key Comment:
     114 Key Name:  comment  Key mdType: 5  Key Value:            ugly  Key Comment:
     115 Key Name:  comment  Key mdType: 5  Key Value:         comment  Key Comment:
     116 Key Name:  comment  Key mdType: 5  Key Value:             but  Key Comment:
     117 Key Name:  comment  Key mdType: 5  Key Value:           still  Key Comment:
     118 Key Name:  comment  Key mdType: 5  Key Value:           valid  Key Comment:
     119 Key Name:    speed  Key mdType: 1  Key Value:          66.660  Key Comment:
    120120
    121121Contents of metadata table:
    122  Key Name:  comment  Key pType: 0  Key mdType: 1  Key Value:                  Key Comment:
    123     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            This  Key Comment:
    124     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              is  Key Comment:
    125     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:              an  Key Comment:
    126     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:            ugly  Key Comment:
    127     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:         comment  Key Comment:
    128     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:             but  Key Comment:
    129     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           still  Key Comment:
    130     Key Name:  comment  Key pType: 0  Key mdType: 2  Key Value:           valid  Key Comment:
    131  Key Name:   title2  Key pType: 0  Key mdType: 2  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
    132  Key Name:     time  Key pType: 1028  Key mdType: 0  Key Value:        1234.568  Key Comment:
    133  Key Name: negatives  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment:
    134  Key Name:       pi  Key pType: 1032  Key mdType: 0  Key Value:           3.142  Key Comment: Definition of pi
    135  Key Name:   myBool  Key pType: 4865  Key mdType: 0  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
    136  Key Name:   primes  Key pType: 260  Key mdType: 3  Bad type: 3 Key Comment: These are prime numbers
    137  Key Name: altitude  Key pType: 260  Key mdType: 0  Key Value:           10000  Key Comment:
    138  Key Name:    speed  Key pType: 1028  Key mdType: 0  Key Value:          66.660  Key Comment:
    139  Key Name:   title1  Key pType: 0  Key mdType: 2  Key Value:     Hello world  Key Comment: This is a comment for the string value
     122 Key Name:  comment  Key mdType: 4  Key Value:                  Key Comment:
     123    Key Name:  comment  Key mdType: 5  Key Value:            This  Key Comment:
     124    Key Name:  comment  Key mdType: 5  Key Value:              is  Key Comment:
     125    Key Name:  comment  Key mdType: 5  Key Value:              an  Key Comment:
     126    Key Name:  comment  Key mdType: 5  Key Value:            ugly  Key Comment:
     127    Key Name:  comment  Key mdType: 5  Key Value:         comment  Key Comment:
     128    Key Name:  comment  Key mdType: 5  Key Value:             but  Key Comment:
     129    Key Name:  comment  Key mdType: 5  Key Value:           still  Key Comment:
     130    Key Name:  comment  Key mdType: 5  Key Value:           valid  Key Comment:
     131 Key Name:   title2  Key mdType: 5  Key Value:  Good bye world  Key Comment: STRING or STR may be used as the string type
     132 Key Name:     time  Key mdType: 1  Key Value:        1234.568  Key Comment:
     133 Key Name: negatives  Key mdType: 6  Bad type: 6 Key Comment:
     134 Key Name:       pi  Key mdType: 2  Key Value:           3.142  Key Comment: Definition of pi
     135 Key Name:   myBool  Key mdType: 3  Key Value:               0  Key Comment: F, f, 0, T, t, 1 are also acceptable
     136 Key Name:   primes  Key mdType: 6  Bad type: 6 Key Comment: These are prime numbers
     137 Key Name: altitude  Key mdType: 0  Key Value:           10000  Key Comment:
     138 Key Name:    speed  Key mdType: 1  Key Value:          66.660  Key Comment:
     139 Key Name:   title1  Key mdType: 5  Key Value:     Hello world  Key Comment: This is a comment for the string value
    140140
    141141---> TESTPOINT PASSED (psMetadata{Test C - Read config file without auto-allocation of metadata} | tst_psMetadataIO.c)
  • trunk/psLib/test/astronomy/verified/tst_psMetadata_01.stdout

    r2858 r3341  
    66
    77Contents of metadata list:
    8  Key Name:   SIMPLE  Key pType: 4865  Key mdType: 0  Key Value:               1  Key Comment: file does conform to FITS standard
    9  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:               8  Key Comment: number of bits per data pixel
    10  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: number of data axes
    11  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     8 Key Name:   SIMPLE  Key mdType: 3  Key Value:               1  Key Comment: file does conform to FITS standard
     9 Key Name:   BITPIX  Key mdType: 0  Key Value:               8  Key Comment: number of bits per data pixel
     10 Key Name:    NAXIS  Key mdType: 0  Key Value:               0  Key Comment: number of data axes
     11 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    1212
    1313Contents of metadata table:
    14  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: number of data axes
    15  Key Name:   SIMPLE  Key pType: 4865  Key mdType: 0  Key Value:               1  Key Comment: file does conform to FITS standard
    16  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:               8  Key Comment: number of bits per data pixel
    17  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     14 Key Name:    NAXIS  Key mdType: 0  Key Value:               0  Key Comment: number of data axes
     15 Key Name:   SIMPLE  Key mdType: 3  Key Value:               1  Key Comment: file does conform to FITS standard
     16 Key Name:   BITPIX  Key mdType: 0  Key Value:               8  Key Comment: number of bits per data pixel
     17 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    1818
    1919---> TESTPOINT PASSED (psMetadata{Test A - Read 1st hdr from simple FITS file} | tst_psMetadata_01.c)
     
    2626
    2727Contents of metadata list:
    28  Key Name: XTENSION  Key pType: 0  Key mdType: 2  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
    29  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    30  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
    31  Key Name:   NAXIS1  Key pType: 260  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
    32  Key Name:   PCOUNT  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
    33  Key Name:   GCOUNT  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
    34  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    35  Key Name:  EXTNAME  Key pType: 0  Key mdType: 2  Key Value:     'MY_DATA_1'  Key Comment:
    36  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    37  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    38  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    39  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     28 Key Name: XTENSION  Key mdType: 5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
     29 Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     30 Key Name:    NAXIS  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
     31 Key Name:   NAXIS1  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
     32 Key Name:   PCOUNT  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
     33 Key Name:   GCOUNT  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
     34 Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     35 Key Name:  EXTNAME  Key mdType: 5  Key Value:     'MY_DATA_1'  Key Comment:
     36 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     37 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     38 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     39 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    4040
    4141Contents of metadata table:
    42  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
    43  Key Name:   NAXIS1  Key pType: 260  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
    44  Key Name:   PCOUNT  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
    45  Key Name: XTENSION  Key pType: 0  Key mdType: 2  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
    46  Key Name:   BITPIX  Key pType: 0  Key mdType: 1  Key Value:                  Key Comment:
    47     Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    48     Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    49  Key Name:   GCOUNT  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
    50  Key Name:  HISTORY  Key pType: 0  Key mdType: 1  Key Value:                  Key Comment:
    51     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    52     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    53     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    54     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    55  Key Name:  EXTNAME  Key pType: 0  Key mdType: 2  Key Value:     'MY_DATA_1'  Key Comment:
     42 Key Name:    NAXIS  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
     43 Key Name:   NAXIS1  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
     44 Key Name:   PCOUNT  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
     45 Key Name: XTENSION  Key mdType: 5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
     46 Key Name:   BITPIX  Key mdType: 4  Key Value:                  Key Comment:
     47    Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     48    Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     49 Key Name:   GCOUNT  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
     50 Key Name:  HISTORY  Key mdType: 4  Key Value:                  Key Comment:
     51    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     52    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     53    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     54    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     55 Key Name:  EXTNAME  Key mdType: 5  Key Value:     'MY_DATA_1'  Key Comment:
    5656
    5757---> TESTPOINT PASSED (psMetadata{Test B - Read 2nd hdr from complex FITS file} | tst_psMetadata_01.c)
     
    6464
    6565Contents of metadata list:
    66  Key Name: XTENSION  Key pType: 0  Key mdType: 2  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
    67  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    68  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
    69  Key Name:   NAXIS1  Key pType: 260  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
    70  Key Name:   PCOUNT  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
    71  Key Name:   GCOUNT  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
    72  Key Name:  EXTNAME  Key pType: 0  Key mdType: 2  Key Value:     'MY_DATA_2'  Key Comment:
    73  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    74  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     66 Key Name: XTENSION  Key mdType: 5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
     67 Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     68 Key Name:    NAXIS  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
     69 Key Name:   NAXIS1  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
     70 Key Name:   PCOUNT  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
     71 Key Name:   GCOUNT  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
     72 Key Name:  EXTNAME  Key mdType: 5  Key Value:     'MY_DATA_2'  Key Comment:
     73 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     74 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    7575
    7676Contents of metadata table:
    77  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
    78  Key Name:   NAXIS1  Key pType: 260  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
    79  Key Name:   PCOUNT  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
    80  Key Name: XTENSION  Key pType: 0  Key mdType: 2  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
    81  Key Name:   GCOUNT  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
    82  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    83  Key Name:  HISTORY  Key pType: 0  Key mdType: 1  Key Value:                  Key Comment:
    84     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    85     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    86  Key Name:  EXTNAME  Key pType: 0  Key mdType: 2  Key Value:     'MY_DATA_2'  Key Comment:
     77 Key Name:    NAXIS  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
     78 Key Name:   NAXIS1  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
     79 Key Name:   PCOUNT  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
     80 Key Name: XTENSION  Key mdType: 5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
     81 Key Name:   GCOUNT  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
     82 Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     83 Key Name:  HISTORY  Key mdType: 4  Key Value:                  Key Comment:
     84    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     85    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     86 Key Name:  EXTNAME  Key mdType: 5  Key Value:     'MY_DATA_2'  Key Comment:
    8787
    8888---> TESTPOINT PASSED (psMetadata{Test C - Read named hdr from complex FITS file} | tst_psMetadata_01.c)
     
    9797
    9898Contents of metadata list:
    99  Key Name: XTENSION  Key pType: 0  Key mdType: 2  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
    100  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    101  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
    102  Key Name:   NAXIS1  Key pType: 260  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
    103  Key Name:   PCOUNT  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
    104  Key Name:   GCOUNT  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
    105  Key Name:  EXTNAME  Key pType: 0  Key mdType: 2  Key Value:     'MY_DATA_2'  Key Comment:
    106  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    107  Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     99 Key Name: XTENSION  Key mdType: 5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
     100 Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     101 Key Name:    NAXIS  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
     102 Key Name:   NAXIS1  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
     103 Key Name:   PCOUNT  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
     104 Key Name:   GCOUNT  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
     105 Key Name:  EXTNAME  Key mdType: 5  Key Value:     'MY_DATA_2'  Key Comment:
     106 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     107 Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    108108
    109109Contents of metadata table:
    110  Key Name:    NAXIS  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
    111  Key Name:   NAXIS1  Key pType: 260  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
    112  Key Name:   PCOUNT  Key pType: 260  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
    113  Key Name: XTENSION  Key pType: 0  Key mdType: 2  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
    114  Key Name:   GCOUNT  Key pType: 260  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
    115  Key Name:   BITPIX  Key pType: 260  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
    116  Key Name:  HISTORY  Key pType: 0  Key mdType: 1  Key Value:                  Key Comment:
    117     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    118     Key Name:  HISTORY  Key pType: 0  Key mdType: 2  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
    119  Key Name:  EXTNAME  Key pType: 0  Key mdType: 2  Key Value:     'MY_DATA_2'  Key Comment:
     110 Key Name:    NAXIS  Key mdType: 0  Key Value:               1  Key Comment: number of data axes
     111 Key Name:   NAXIS1  Key mdType: 0  Key Value:              64  Key Comment: length of data axis 1
     112 Key Name:   PCOUNT  Key mdType: 0  Key Value:               0  Key Comment: required keyword; must = 0
     113 Key Name: XTENSION  Key mdType: 5  Key Value:      'IMAGE   '  Key Comment: IMAGE extension
     114 Key Name:   GCOUNT  Key mdType: 0  Key Value:               1  Key Comment: required keyword; must = 1
     115 Key Name:   BITPIX  Key mdType: 0  Key Value:             -64  Key Comment: number of bits per data pixel
     116 Key Name:  HISTORY  Key mdType: 4  Key Value:                  Key Comment:
     117    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     118    Key Name:  HISTORY  Key mdType: 5  Key Value:                  Key Comment: File modified by user 'harman' with fv  on 2004-08-04T<DATE>
     119 Key Name:  EXTNAME  Key mdType: 5  Key Value:     'MY_DATA_2'  Key Comment:
    120120
    121121---> TESTPOINT PASSED (psMetadata{Test D - Remove items with same name from all metadata} | tst_psMetadata_01.c)
  • trunk/psLib/test/astronomy/verified/tst_psMetadata_02.stderr

    r3127 r3341  
    44    Unallowable operation: name is NULL.
    55<DATE><TIME>|<HOST>|E|psMetadataItemAllocV (FILE:LINENO)
    6     Specified psMetadataType, 11, is not supported.
     6    Specified psMetadataType, 14, is not supported.
    77<DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
    88    Unallowable operation: md is NULL.
  • trunk/psLib/test/astronomy/verified/tst_psMetadata_02.stdout

    r2643 r3341  
    55\**********************************************************************************/
    66
    7 Key Name:  myItem1  Key pType: 4865  Key mdType:  0  Key Value:               1  Key Comment: I am a boolean
    8 Key Name:  myItem2  Key pType: 260  Key mdType:  0  Key Value:             111  Key Comment: I am a signed integer
    9 Key Name:  myItem3  Key pType: 1028  Key mdType:  0  Key Value:         222.222  Key Comment: I am a single precision floating point
    10 Key Name:  myItem4  Key pType: 1032  Key mdType:  0  Key Value:         333.333  Key Comment: I am a double precision floating point
    11 Key Name:  myItem5  Key pType:  0  Key mdType:  2  Key Value:     HELLO WORLD  Key Comment: I am a string
     7Key Name:  myItem1  Key mdType:  3  Key Value:               1  Key Comment: I am a boolean
     8Key Name:  myItem2  Key mdType:  0  Key Value:             111  Key Comment: I am a signed integer
     9Key Name:  myItem3  Key mdType:  1  Key Value:         222.222  Key Comment: I am a single precision floating point
     10Key Name:  myItem4  Key mdType:  2  Key Value:         333.333  Key Comment: I am a double precision floating point
     11Key Name:  myItem5  Key mdType:  5  Key Value:     HELLO WORLD  Key Comment: I am a string
    1212
    1313---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_02.c)
  • trunk/psLib/test/astronomy/verified/tst_psMetadata_03.stdout

    r2643 r3341  
    55\**********************************************************************************/
    66
    7 Key Name:  myItem1  Key pType: 4865  Key mdType:  0  Key Value:               1  Key Comment: I am a boolean
    8 Key Name:  myItem2  Key pType: 260  Key mdType:  0  Key Value:              55  Key Comment: I am a integer
    9 Key Name:  myItem3  Key pType: 4865  Key mdType:  0  Key Value:               0  Key Comment: I am a boolean
    10 Key Name:  myItem4  Key pType: 260  Key mdType:  0  Key Value:              66  Key Comment: I am a integer
     7Key Name:  myItem1  Key mdType:  3  Key Value:               1  Key Comment: I am a boolean
     8Key Name:  myItem2  Key mdType:  0  Key Value:              55  Key Comment: I am a integer
     9Key Name:  myItem3  Key mdType:  3  Key Value:               0  Key Comment: I am a boolean
     10Key Name:  myItem4  Key mdType:  0  Key Value:              66  Key Comment: I am a integer
    1111
    1212---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_03.c)
  • trunk/psLib/test/astronomy/verified/tst_psMetadata_04.stdout

    r2665 r3341  
    55\**********************************************************************************/
    66
    7 Key Name:  myItem1  Key pType: 4865  Key mdType:  0  Key Value:               1  Key Comment: I am a boolean
    8 Key Name:  myItem2  Key pType: 260  Key mdType:  0  Key Value:              55  Key Comment: I am a integer
    9 Key Name:  myItem3  Key pType: 4865  Key mdType:  0  Key Value:               0  Key Comment: I am a boolean
    10 Key Name:  myItem4  Key pType: 260  Key mdType:  0  Key Value:              66  Key Comment: I am a integer
    11 Key Name:  myItem5  Key pType: 1032  Key mdType:  0  Key Value:           3.140  Key Comment: I am a double
     7Key Name:  myItem1  Key mdType:  3  Key Value:               1  Key Comment: I am a boolean
     8Key Name:  myItem2  Key mdType:  0  Key Value:              55  Key Comment: I am a integer
     9Key Name:  myItem3  Key mdType:  3  Key Value:               0  Key Comment: I am a boolean
     10Key Name:  myItem4  Key mdType:  0  Key Value:              66  Key Comment: I am a integer
     11Key Name:  myItem5  Key mdType:  2  Key Value:           3.140  Key Comment: I am a double
    1212
    1313---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_04.c)
  • trunk/psLib/test/astronomy/verified/tst_psMetadata_05.stdout

    r2643 r3341  
    55\**********************************************************************************/
    66
    7 Key Name:  myItem1  Key pType: 4865  Key mdType:  0  Key Value:               1  Key Comment: I am a boolean
    8 Key Name:  myItem2  Key pType: 260  Key mdType:  0  Key Value:              55  Key Comment: I am a integer
    9 Key Name:  myItem3  Key pType: 4865  Key mdType:  0  Key Value:               0  Key Comment: I am a boolean
    10 Key Name:  myItem4  Key pType: 260  Key mdType:  0  Key Value:              66  Key Comment: I am a integer
     7Key Name:  myItem1  Key mdType:  3  Key Value:               1  Key Comment: I am a boolean
     8Key Name:  myItem2  Key mdType:  0  Key Value:              55  Key Comment: I am a integer
     9Key Name:  myItem3  Key mdType:  3  Key Value:               0  Key Comment: I am a boolean
     10Key Name:  myItem4  Key mdType:  0  Key Value:              66  Key Comment: I am a integer
    1111
    1212---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata items} | tst_psMetadata_05.c)
  • trunk/psLib/test/astronomy/verified/tst_psMetadata_06.stdout

    r2643 r3341  
    55\**********************************************************************************/
    66
    7 Key Name:  myItem1  Key pType: 4865  Key mdType:  0  Key Value:               1  Key Comment: I am a boolean
    8 Key Name:  myItem1  Key pType: 260  Key mdType:  0  Key Value:             111  Key Comment: I am a signed integer
    9 Key Name:  myItem1  Key pType: 260  Key mdType:  0  Key Value:             222  Key Comment: I am a signed integer
    10 Key Name:  myItem2  Key pType: 260  Key mdType:  0  Key Value:             333  Key Comment: I am a signed integer
    11 Key Name:  myItem2  Key pType:  0  Key mdType:  1  Key Value:                  Key Comment: I am a folder node
     7Key Name:  myItem1  Key mdType:  3  Key Value:               1  Key Comment: I am a boolean
     8Key Name:  myItem1  Key mdType:  0  Key Value:             111  Key Comment: I am a signed integer
     9Key Name:  myItem1  Key mdType:  0  Key Value:             222  Key Comment: I am a signed integer
     10Key Name:  myItem2  Key mdType:  0  Key Value:             333  Key Comment: I am a signed integer
     11Key Name:  myItem2  Key mdType:  4  Key Value:                  Key Comment: I am a folder node
    1212
    1313---> TESTPOINT PASSED (psMetadata{Test A - Allocate metadata and items} | tst_psMetadata_06.c)
  • trunk/psLib/test/collections/tst_psMetadataIO.c

    r3264 r3341  
    1313*  @author  Ross Harman, MHPCC
    1414*
    15 *  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
    16 *  @date  $Date: 2005-02-17 19:26:24 $
     15*  @version $Revision: 1.10 $  $Name: not supported by cvs2svn $
     16*  @date  $Date: 2005-02-28 23:34:10 $
    1717*
    1818*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    6666{
    6767    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
    68     printf("Key pType: %d  ", metadataItem->pType);
    6968    printf("Key mdType: %d  ", metadataItem->type);
    7069
     
    7372        printf("Key Value: %17c", ' ');
    7473        break;
    75     case PS_META_PRIMITIVE:
    76         switch(metadataItem->pType) {
    77         case PS_TYPE_BOOL:
    78             printf("Key Value: %15d  ", metadataItem->data.B);
    79             break;
    80         case PS_TYPE_S32:
    81             printf("Key Value: %15d  ", metadataItem->data.S32);
    82             break;
    83         case PS_TYPE_F32:
    84             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    85             break;
    86         case PS_TYPE_F64:
    87             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    88             break;
    89         default:
    90             printf("Bad type: %d ", metadataItem->pType);
    91         }
     74    case PS_META_BOOL:
     75        printf("Key Value: %15d  ", metadataItem->data.B);
     76        break;
     77    case PS_META_S32:
     78        printf("Key Value: %15d  ", metadataItem->data.S32);
     79        break;
     80    case PS_META_F32:
     81        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     82        break;
     83    case PS_META_F64:
     84        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    9285        break;
    9386    case PS_META_STR:
  • trunk/psLib/test/collections/tst_psMetadata_01.c

    r3264 r3341  
    1818*  @author  Ross Harman, MHPCC
    1919*
    20 *  @version $Revision: 1.20 $  $Name: not supported by cvs2svn $
    21 *  @date  $Date: 2005-02-17 19:26:24 $
     20*  @version $Revision: 1.21 $  $Name: not supported by cvs2svn $
     21*  @date  $Date: 2005-02-28 23:34:10 $
    2222*
    2323*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    7272{
    7373    printf("%sKey Name: %8s  ", spaces, metadataItem->name);
    74     printf("Key pType: %d  ", metadataItem->pType);
    7574    printf("Key mdType: %d  ", metadataItem->type);
    7675
     
    7978        printf("Key Value: %17c", ' ');
    8079        break;
    81     case PS_META_PRIMITIVE:
    82         switch(metadataItem->pType) {
    83         case PS_TYPE_BOOL:
    84             printf("Key Value: %15d  ", metadataItem->data.B);
    85             break;
    86         case PS_TYPE_S32:
    87             printf("Key Value: %15d  ", metadataItem->data.S32);
    88             break;
    89         case PS_TYPE_F32:
    90             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    91             break;
    92         case PS_TYPE_F64:
    93             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    94             break;
    95         default:
    96             printf("Bad type: %d ", metadataItem->pType);
    97         }
     80    case PS_META_BOOL:
     81        printf("Key Value: %15d  ", metadataItem->data.B);
     82        break;
     83    case PS_META_S32:
     84        printf("Key Value: %15d  ", metadataItem->data.S32);
     85        break;
     86    case PS_META_F32:
     87        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     88        break;
     89    case PS_META_F64:
     90        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    9891        break;
    9992    case PS_META_STR:
  • trunk/psLib/test/collections/tst_psMetadata_02.c

    r3264 r3341  
    1414*  @author  Ross Harman, MHPCC
    1515*
    16 *  @version $Revision: 1.11 $  $Name: not supported by cvs2svn $
    17 *  @date  $Date: 2005-02-17 19:26:24 $
     16*  @version $Revision: 1.12 $  $Name: not supported by cvs2svn $
     17*  @date  $Date: 2005-02-28 23:34:10 $
    1818*
    1919*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2828{
    2929    printf("Key Name: %8s  ", metadataItem->name);
    30     printf("Key pType: %2d  ", metadataItem->pType);
    3130    printf("Key mdType: %2d  ", metadataItem->type);
    3231
     
    3534        printf("Key Value: %17c", ' ');
    3635        break;
    37     case PS_META_PRIMITIVE:
    38         switch(metadataItem->pType) {
    39         case PS_TYPE_BOOL:
    40             printf("Key Value: %15d  ", metadataItem->data.B);
    41             break;
    42         case PS_TYPE_S32:
    43             printf("Key Value: %15d  ", metadataItem->data.S32);
    44             break;
    45         case PS_TYPE_F32:
    46             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    47             break;
    48         case PS_TYPE_F64:
    49             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    50             break;
    51         default:
    52             printf("Bad type: %d ", metadataItem->pType);
    53         }
     36    case PS_META_BOOL:
     37        printf("Key Value: %15d  ", metadataItem->data.B);
     38        break;
     39    case PS_META_S32:
     40        printf("Key Value: %15d  ", metadataItem->data.S32);
     41        break;
     42    case PS_META_F32:
     43        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     44        break;
     45    case PS_META_F64:
     46        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    5447        break;
    5548    case PS_META_STR:
     
    7669    // Test A - Allocate metadata items
    7770    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
    78     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    79     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 111);
    80     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_F32, PS_META_PRIMITIVE, "I am a single precision floating point", 222.222);
    81     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_F64, PS_META_PRIMITIVE, "I am a double precision floating point", 333.333);
    82     item5 = psMetadataItemAlloc("myItem5", PS_TYPE_PTR, PS_META_STR, "I am a string", "HELLO WORLD");
     71    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     72    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a signed integer", 111);
     73    item3 = psMetadataItemAlloc("myItem3", PS_META_F32, "I am a single precision floating point", 222.222);
     74    item4 = psMetadataItemAlloc("myItem4", PS_META_F64, "I am a double precision floating point", 333.333);
     75    item5 = psMetadataItemAlloc("myItem5", PS_META_STR, "I am a string", "HELLO WORLD");
    8376    printMetadataItem(item1);
    8477    printMetadataItem(item2);
     
    9386                            "Null value for name not allowed", 0);
    9487    psLogMsg(__func__,PS_LOG_INFO,"Following should produce error for null name.");
    95     badItem = psMetadataItemAlloc(NULL, PS_TYPE_PTR, PS_META_STR, "I am a string", "HELLO WORLD");
     88    badItem = psMetadataItemAlloc(NULL, PS_META_STR, "I am a string", "HELLO WORLD");
    9689    if (badItem != NULL) {
    9790        psError(PS_ERR_UNKNOWN, true,"psMetadataItemAlloc did not return null with null name item.");
     
    10497    printNegativeTestHeader(stdout,"psMetadata", "Test C - Attempt to create metadata item with invalid type",
    10598                            "Invalid psMetadataType: 6", 0);
    106     badItem = psMetadataItemAlloc("badItem", PS_TYPE_PTR, PS_META_NTYPE, "I am bad", "Bad comment");
     99    badItem = psMetadataItemAlloc("badItem", PS_META_NTYPE, "I am bad", "Bad comment");
    107100    printFooter(stdout, "psMetadata", "Test C - Attempt to create metadata item with invalid type", true);
    108101
  • trunk/psLib/test/collections/tst_psMetadata_03.c

    r3264 r3341  
    1818*  @author  Ross Harman, MHPCC
    1919*
    20 *  @version $Revision: 1.13 $  $Name: not supported by cvs2svn $
    21 *  @date  $Date: 2005-02-17 19:26:24 $
     20*  @version $Revision: 1.14 $  $Name: not supported by cvs2svn $
     21*  @date  $Date: 2005-02-28 23:34:10 $
    2222*
    2323*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3232{
    3333    printf("Key Name: %8s  ", metadataItem->name);
    34     printf("Key pType: %2d  ", metadataItem->pType);
    3534    printf("Key mdType: %2d  ", metadataItem->type);
    3635
     
    3938        printf("Key Value: %17c", ' ');
    4039        break;
    41     case PS_META_PRIMITIVE:
    42         switch(metadataItem->pType) {
    43         case PS_TYPE_BOOL:
    44             printf("Key Value: %15d  ", metadataItem->data.B);
    45             break;
    46         case PS_TYPE_S32:
    47             printf("Key Value: %15d  ", metadataItem->data.S32);
    48             break;
    49         case PS_TYPE_F32:
    50             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    51             break;
    52         case PS_TYPE_F64:
    53             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    54             break;
    55         default:
    56             printf("Bad type: %d ", metadataItem->pType);
    57         }
     40    case PS_META_BOOL:
     41        printf("Key Value: %15d  ", metadataItem->data.B);
     42        break;
     43    case PS_META_S32:
     44        printf("Key Value: %15d  ", metadataItem->data.S32);
     45        break;
     46    case PS_META_F32:
     47        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     48        break;
     49    case PS_META_F64:
     50        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    5851        break;
    5952    case PS_META_STR:
     
    8376    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
    8477    metadata = psMetadataAlloc();
    85     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    86     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
    87     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
    88     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
    89     errItem = psMetadataItemAlloc("errItem", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 99);
     78    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     79    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
     80    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
     81    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
     82    errItem = psMetadataItemAlloc("errItem", PS_META_S32, "I am a integer", 99);
    9083    printMetadataItem(item1);
    9184    printMetadataItem(item2);
     
    10194        return 10;
    10295    }
    103     if(!psMetadataAdd(metadata,PS_LIST_HEAD,"myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am S32 integer",77)) {
     96    if(!psMetadataAdd(metadata,PS_LIST_HEAD,"myItem2", PS_META_S32, "I am S32 integer",77)) {
    10497        psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return true when adding by name.");
    10598        return 11;
     
    122115        return 14;
    123116    }
    124     if ( ! psMetadataAdd(metadata,PS_LIST_HEAD,"myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am S32 integer",88) ) {
     117    if ( ! psMetadataAdd(metadata,PS_LIST_HEAD,"myItem4", PS_META_S32, "I am S32 integer",88) ) {
    125118        psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return true when adding by index.");
    126119        return 15;
     
    217210    mdTable = errMetadata->table;
    218211    errMetadata->table = NULL;
    219     if (psMetadataAdd(errMetadata, PS_LIST_HEAD, "errItem", PS_TYPE_S32, PS_META_PRIMITIVE, "Integer",22) ) {
     212    if (psMetadataAdd(errMetadata, PS_LIST_HEAD, "errItem", PS_META_S32, "Integer",22) ) {
    220213        psError(PS_ERR_UNKNOWN, true,"psMetadataAddItem did not return false w/ invalid metadata struct w/o hash table.");
    221214        return 24;
  • trunk/psLib/test/collections/tst_psMetadata_04.c

    r3264 r3341  
    2323*  @author  Ross Harman, MHPCC
    2424*
    25 *  @version $Revision: 1.14 $  $Name: not supported by cvs2svn $
    26 *  @date  $Date: 2005-02-17 19:26:24 $
     25*  @version $Revision: 1.15 $  $Name: not supported by cvs2svn $
     26*  @date  $Date: 2005-02-28 23:34:10 $
    2727*
    2828*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3737{
    3838    printf("Key Name: %8s  ", metadataItem->name);
    39     printf("Key pType: %2d  ", metadataItem->pType);
    4039    printf("Key mdType: %2d  ", metadataItem->type);
    4140
     
    4443        printf("Key Value: %17c", ' ');
    4544        break;
    46     case PS_META_PRIMITIVE:
    47         switch(metadataItem->pType) {
    48         case PS_TYPE_BOOL:
    49             printf("Key Value: %15d  ", metadataItem->data.B);
    50             break;
    51         case PS_TYPE_S32:
    52             printf("Key Value: %15d  ", metadataItem->data.S32);
    53             break;
    54         case PS_TYPE_F32:
    55             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    56             break;
    57         case PS_TYPE_F64:
    58             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    59             break;
    60         default:
    61             printf("Bad type: %d ", metadataItem->pType);
    62         }
     45    case PS_META_BOOL:
     46        printf("Key Value: %15d  ", metadataItem->data.B);
     47        break;
     48    case PS_META_S32:
     49        printf("Key Value: %15d  ", metadataItem->data.S32);
     50        break;
     51    case PS_META_F32:
     52        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     53        break;
     54    case PS_META_F64:
     55        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    6356        break;
    6457    case PS_META_STR:
     
    9184    psVector *vec = psVectorAlloc(5, PS_TYPE_S32);
    9285    metadata = psMetadataAlloc();
    93     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    94     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
    95     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
    96     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
    97     item5 = psMetadataItemAlloc("myItem5", PS_TYPE_F64, PS_META_PRIMITIVE, "I am a double", 3.14);
    98     item6 = psMetadataItemAlloc("myItem6", PS_TYPE_PTR, PS_META_VEC, "I am a vector", vec);
     86    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     87    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
     88    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
     89    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
     90    item5 = psMetadataItemAlloc("myItem5", PS_META_F64, "I am a double", 3.14);
     91    item6 = psMetadataItemAlloc("myItem6", PS_META_VEC, "I am a vector", vec);
    9992    printMetadataItem(item1);
    10093    printMetadataItem(item2);
     
    108101    psMetadataAddItem(metadata, item5, PS_LIST_HEAD);
    109102    psMetadataAddItem(metadata, item6, PS_LIST_HEAD);
     103    psFree(vec);
    110104    printFooter(stdout, "psMetadata", "Test A - Allocate metadata items", true);
    111105
  • trunk/psLib/test/collections/tst_psMetadata_05.c

    r3264 r3341  
    2222*  @author  Ross Harman, MHPCC
    2323*
    24 *  @version $Revision: 1.19 $  $Name: not supported by cvs2svn $
    25 *  @date  $Date: 2005-02-17 19:26:24 $
     24*  @version $Revision: 1.20 $  $Name: not supported by cvs2svn $
     25*  @date  $Date: 2005-02-28 23:34:10 $
    2626*
    2727*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3636{
    3737    printf("Key Name: %8s  ", metadataItem->name);
    38     printf("Key pType: %2d  ", metadataItem->pType);
    3938    printf("Key mdType: %2d  ", metadataItem->type);
    4039
     
    4342        printf("Key Value: %17c", ' ');
    4443        break;
    45     case PS_META_PRIMITIVE:
    46         switch(metadataItem->pType) {
    47         case PS_TYPE_BOOL:
    48             printf("Key Value: %15d  ", metadataItem->data.B);
    49             break;
    50         case PS_TYPE_S32:
    51             printf("Key Value: %15d  ", metadataItem->data.S32);
    52             break;
    53         case PS_TYPE_F32:
    54             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    55             break;
    56         case PS_TYPE_F64:
    57             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    58             break;
    59         default:
    60             printf("Bad type: %d ", metadataItem->pType);
    61         }
     44    case PS_META_BOOL:
     45        printf("Key Value: %15d  ", metadataItem->data.B);
     46        break;
     47    case PS_META_S32:
     48        printf("Key Value: %15d  ", metadataItem->data.S32);
     49        break;
     50    case PS_META_F32:
     51        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     52        break;
     53    case PS_META_F64:
     54        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    6255        break;
    6356    case PS_META_STR:
     
    8780    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata items");
    8881    metadata = psMetadataAlloc();
    89     item1 = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    90     item2 = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 55);
    91     item3 = psMetadataItemAlloc("myItem3", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", false);
    92     item4 = psMetadataItemAlloc("myItem4", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a integer", 66);
    93     item5 = psMetadataItemAlloc("myItem5", PS_TYPE_F32, PS_META_PRIMITIVE, "I am a float", 3.14);
    94     item6 = psMetadataItemAlloc("myItem6", PS_TYPE_F64, PS_META_PRIMITIVE,"I am a double", 6.28);
    95     item7 = psMetadataItemAlloc("myItem7", PS_TYPE_PTR, PS_META_STR, "I am a string", "GNIRTS");
     82    item1 = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     83    item2 = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a integer", 55);
     84    item3 = psMetadataItemAlloc("myItem3", PS_META_BOOL, "I am a boolean", false);
     85    item4 = psMetadataItemAlloc("myItem4", PS_META_S32, "I am a integer", 66);
     86    item5 = psMetadataItemAlloc("myItem5", PS_META_F32, "I am a float", 3.14);
     87    item6 = psMetadataItemAlloc("myItem6", PS_META_F64,"I am a double", 6.28);
     88    item7 = psMetadataItemAlloc("myItem7", PS_META_STR, "I am a string", "GNIRTS");
    9689    //    item8 = psMetadataItemAlloc("myItem8", PS_TYPE_PTR, PS_META_UNKNOWN, "I am unknown");
    9790    printMetadataItem(item1);
  • trunk/psLib/test/collections/tst_psMetadata_06.c

    r3264 r3341  
    1313*  @author  Ross Harman, MHPCC
    1414*
    15 *  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
    16 *  @date  $Date: 2005-02-17 19:26:24 $
     15*  @version $Revision: 1.10 $  $Name: not supported by cvs2svn $
     16*  @date  $Date: 2005-02-28 23:34:10 $
    1717*
    1818*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2727{
    2828    printf("Key Name: %8s  ", metadataItem->name);
    29     printf("Key pType: %2d  ", metadataItem->pType);
    3029    printf("Key mdType: %2d  ", metadataItem->type);
    3130
     
    3433        printf("Key Value: %17c", ' ');
    3534        break;
    36     case PS_META_PRIMITIVE:
    37         switch(metadataItem->pType) {
    38         case PS_TYPE_BOOL:
    39             printf("Key Value: %15d  ", metadataItem->data.B);
    40             break;
    41         case PS_TYPE_S32:
    42             printf("Key Value: %15d  ", metadataItem->data.S32);
    43             break;
    44         case PS_TYPE_F32:
    45             printf("Key Value: %15.3f  ", metadataItem->data.F32);
    46             break;
    47         case PS_TYPE_F64:
    48             printf("Key Value: %15.3f  ", metadataItem->data.F64);
    49             break;
    50         default:
    51             printf("Bad type: %d ", metadataItem->pType);
    52         }
     35    case PS_META_BOOL:
     36        printf("Key Value: %15d  ", metadataItem->data.B);
     37        break;
     38    case PS_META_S32:
     39        printf("Key Value: %15d  ", metadataItem->data.S32);
     40        break;
     41    case PS_META_F32:
     42        printf("Key Value: %15.3f  ", metadataItem->data.F32);
     43        break;
     44    case PS_META_F64:
     45        printf("Key Value: %15.3f  ", metadataItem->data.F64);
    5346        break;
    5447    case PS_META_STR:
     
    7467    // Test A - Allocate metadata and items
    7568    printPositiveTestHeader(stdout, "psMetadata", "Test A - Allocate metadata and items");
    76     item1a = psMetadataItemAlloc("myItem1", PS_TYPE_BOOL, PS_META_PRIMITIVE, "I am a boolean", true);
    77     item1b = psMetadataItemAlloc("myItem1", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 111);
    78     item1c = psMetadataItemAlloc("myItem1", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 222);
    79     item2a = psMetadataItemAlloc("myItem2", PS_TYPE_S32, PS_META_PRIMITIVE, "I am a signed integer", 333);
    80     item2b = psMetadataItemAlloc("myItem2", PS_TYPE_PTR, PS_META_LIST, "I am a folder node", NULL);
     69    item1a = psMetadataItemAlloc("myItem1", PS_META_BOOL, "I am a boolean", true);
     70    item1b = psMetadataItemAlloc("myItem1", PS_META_S32, "I am a signed integer", 111);
     71    item1c = psMetadataItemAlloc("myItem1", PS_META_S32, "I am a signed integer", 222);
     72    item2a = psMetadataItemAlloc("myItem2", PS_META_S32, "I am a signed integer", 333);
     73    item2b = psMetadataItemAlloc("myItem2", PS_META_LIST, "I am a folder node", NULL);
    8174    metadata = psMetadataAlloc();
    8275    printMetadataItem(item1a);
  • trunk/psLib/test/collections/tst_psMetadata_07.c

    r3264 r3341  
    99*  @author  Ross Harman, MHPCC
    1010*
    11 *  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
    12 *  @date  $Date: 2005-02-17 19:26:24 $
     11*  @version $Revision: 1.9 $  $Name: not supported by cvs2svn $
     12*  @date  $Date: 2005-02-28 23:34:10 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3030        printf("psMetadataParseConfigXml returned error %d\n", res);
    3131    }
     32
    3233    psFree(md);
    3334    printFooter(stdout, "psMetadata", "Test A - Read an XML config file", true);
    34 
    3535
    3636    // Test B - Free data
  • trunk/psLib/test/dataIO/tst_psFits.c

    r3298 r3341  
    66*  @author Robert DeSonia, MHPCC
    77*
    8 *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
    9 *  @date $Date: 2005-02-22 19:25:53 $
     8*  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
     9*  @date $Date: 2005-02-28 23:34:10 $
    1010*
    1111*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    9393
    9494        psMetadataAdd(header,PS_LIST_TAIL, "MYINT",
    95                       PS_TYPE_S32, PS_META_PRIMITIVE,
     95                      PS_META_S32,
    9696                      "psS32 Item", (psS32)lcv);
    9797
    9898        psMetadataAdd(header,PS_LIST_TAIL, "MYFLT",
    99                       PS_TYPE_F32, PS_META_PRIMITIVE,
     99                      PS_META_F32,
    100100                      "psF32 Item", (float)(1.0f/(float)(1+lcv)));
    101101
    102102        psMetadataAdd(header,PS_LIST_TAIL, "MYDBL",
    103                       PS_TYPE_F64, PS_META_PRIMITIVE,
     103                      PS_META_F64,
    104104                      "psF64 Item", (double)(1.0/(double)(1+lcv)));
    105105
    106106        psMetadataAdd(header,PS_LIST_TAIL, "MYBOOL",
    107                       PS_TYPE_BOOL, PS_META_PRIMITIVE,
     107                      PS_META_BOOL,
    108108                      "psBool Item",
    109109                      (lcv%2 == 0));
    110110
    111111        psMetadataAdd(header,PS_LIST_TAIL, "MYSTR",
    112                       PS_TYPE_PTR, PS_META_STR,
     112                      PS_META_STR,
    113113                      "String Item",
    114114                      extname);
     
    162162
    163163        psMetadataAdd(header,PS_LIST_TAIL, "MYINT",
    164                       PS_TYPE_S32, PS_META_PRIMITIVE,
     164                      PS_META_S32,
    165165                      "psS32 Item", (psS32)row);
    166166
    167167        psMetadataAdd(header,PS_LIST_TAIL, "MYFLT",
    168                       PS_TYPE_F32, PS_META_PRIMITIVE,
     168                      PS_META_F32,
    169169                      "psF32 Item", (float)(1.0f/(float)(1+row)));
    170170
    171171        psMetadataAdd(header,PS_LIST_TAIL, "MYDBL",
    172                       PS_TYPE_F64, PS_META_PRIMITIVE,
     172                      PS_META_F64,
    173173                      "psF64 Item", (double)(1.0/(double)(1+row)));
    174174
    175175        psMetadataAdd(header,PS_LIST_TAIL, "MYBOOL",
    176                       PS_TYPE_BOOL, PS_META_PRIMITIVE,
     176                      PS_META_BOOL,
    177177                      "psBool Item",
    178178                      (row%2 == 0));
     
    648648
    649649        if (boolItem == NULL ||
    650                 boolItem->type != PS_META_PRIMITIVE ||
    651                 boolItem->pType != PS_TYPE_BOOL) {
     650                boolItem->type != PS_META_BOOL) {
    652651            psError(PS_ERR_UNKNOWN, true,
    653652                    "Failed to retrieve psBool metadata item from file.");
  • trunk/psLib/test/fileUtils/tst_psFits.c

    r3298 r3341  
    66*  @author Robert DeSonia, MHPCC
    77*
    8 *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
    9 *  @date $Date: 2005-02-22 19:25:53 $
     8*  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
     9*  @date $Date: 2005-02-28 23:34:10 $
    1010*
    1111*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    9393
    9494        psMetadataAdd(header,PS_LIST_TAIL, "MYINT",
    95                       PS_TYPE_S32, PS_META_PRIMITIVE,
     95                      PS_META_S32,
    9696                      "psS32 Item", (psS32)lcv);
    9797
    9898        psMetadataAdd(header,PS_LIST_TAIL, "MYFLT",
    99                       PS_TYPE_F32, PS_META_PRIMITIVE,
     99                      PS_META_F32,
    100100                      "psF32 Item", (float)(1.0f/(float)(1+lcv)));
    101101
    102102        psMetadataAdd(header,PS_LIST_TAIL, "MYDBL",
    103                       PS_TYPE_F64, PS_META_PRIMITIVE,
     103                      PS_META_F64,
    104104                      "psF64 Item", (double)(1.0/(double)(1+lcv)));
    105105
    106106        psMetadataAdd(header,PS_LIST_TAIL, "MYBOOL",
    107                       PS_TYPE_BOOL, PS_META_PRIMITIVE,
     107                      PS_META_BOOL,
    108108                      "psBool Item",
    109109                      (lcv%2 == 0));
    110110
    111111        psMetadataAdd(header,PS_LIST_TAIL, "MYSTR",
    112                       PS_TYPE_PTR, PS_META_STR,
     112                      PS_META_STR,
    113113                      "String Item",
    114114                      extname);
     
    162162
    163163        psMetadataAdd(header,PS_LIST_TAIL, "MYINT",
    164                       PS_TYPE_S32, PS_META_PRIMITIVE,
     164                      PS_META_S32,
    165165                      "psS32 Item", (psS32)row);
    166166
    167167        psMetadataAdd(header,PS_LIST_TAIL, "MYFLT",
    168                       PS_TYPE_F32, PS_META_PRIMITIVE,
     168                      PS_META_F32,
    169169                      "psF32 Item", (float)(1.0f/(float)(1+row)));
    170170
    171171        psMetadataAdd(header,PS_LIST_TAIL, "MYDBL",
    172                       PS_TYPE_F64, PS_META_PRIMITIVE,
     172                      PS_META_F64,
    173173                      "psF64 Item", (double)(1.0/(double)(1+row)));
    174174
    175175        psMetadataAdd(header,PS_LIST_TAIL, "MYBOOL",
    176                       PS_TYPE_BOOL, PS_META_PRIMITIVE,
     176                      PS_META_BOOL,
    177177                      "psBool Item",
    178178                      (row%2 == 0));
     
    648648
    649649        if (boolItem == NULL ||
    650                 boolItem->type != PS_META_PRIMITIVE ||
    651                 boolItem->pType != PS_TYPE_BOOL) {
     650                boolItem->type != PS_META_BOOL) {
    652651            psError(PS_ERR_UNKNOWN, true,
    653652                    "Failed to retrieve psBool metadata item from file.");
Note: See TracChangeset for help on using the changeset viewer.