Changeset 94


Ignore:
Timestamp:
06/04/10 10:17:44 (14 years ago)
Author:
hozdoba
Message:
 
Location:
XMLIO_V2/dev/dev_rv
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/dev_rv/attribut.hpp

    r88 r94  
    4242       
    4343         Attribut(void) : hasValue(false) {} ; 
    44          Attribut(const Ctype& value_) : value(value_), hasValue(true) {} ; 
     44         Attribut(const Ctype& value_) : hasValue(true), value(value_) {} ; 
    4545          
    4646         Attribut(const Attribut& attr) : hasValue(attr.hasValue)  
  • XMLIO_V2/dev/dev_rv/context.hpp

    r91 r94  
    3030             
    3131            if (!(_node.goToChildElement())) 
    32                WARNING("Le contexts ne contient pas d'enfant !");  
     32               WARNING("Le context ne contient pas d'enfant !");  
    3333            else 
    3434            { 
     
    4141                   
    4242                  if (attributes.end() != attributes.find("id")) 
    43                   { WARNING("Le noeud de définition possÚde un identifiant, il ne sera pas pris en compte lors du traitement !"); } 
     43                  { WARNING("Le noeud de définition possÚde un identifiant, ce dernier ne sera pas pris en compte lors du traitement !"); } 
    4444                   
    4545                  if (name.compare("field_definition") == 0) 
     
    4949                        WARNING("Le context possÚde déjà un noeud de définition de champs, le dernier défini complétera le premier !"); 
    5050                      
    51                      fieldDef = (FieldDefinition*)&FieldDefinition::CreateObject("field_definition"); 
    52                      fieldDef->parse(_node, true); 
     51                     fieldDef = (FieldDefinition*)&FieldDefinition::CreateObject("field_definition"); // << Conversion possible car la classe Field n'a pas de propriétés. 
     52                     fieldDef->parse(_node); 
     53 
    5354                     continue; 
    54                   }                   
     55                  } 
     56                  else if (name.compare("file_definition") == 0) 
     57                  { // Parsing pour la définition des fichiers. 
     58                  }  
     59                  else if (name.compare("axis_definition") == 0) 
     60                  { // Parsing pour la définition des axes. 
     61                  } 
     62                  else if (name.compare("grid_definition") == 0) 
     63                  { // Parsing pour la définition des grilles. 
     64                  }  
     65                  else 
     66                     WARNING("La définition est invalide, seules les champs, grilles, axes et fichiers peuvent être définis !"); 
     67                      
     68                      
    5569                  // Traitement file, grid et axis à compléter. 
    5670               } while (_node.goToNextElement()); 
  • XMLIO_V2/dev/dev_rv/field_group.hpp

    r91 r94  
    2727         virtual const char* getName(void) const {return ("FieldGroup"); }   
    2828          
    29          void parse (XMLNode& _node, bool isFieldDef = false) 
     29         void parse (XMLNode& _node) 
    3030         { 
    3131            string name = _node.getElementName();             
     
    3939                
    4040            /// PARSING POUR GESION DES ENFANTS 
    41             // A compléter. 
    42                 
     41            if (!(_node.goToChildElement())) 
     42               WARNING("Le groupe de champ ne contient pas d'enfant !"); 
     43            else 
     44            { 
     45               ////////////////////////////////////// 
     46               do { // Parcours des contexts pour traitement.  
     47                             
     48                  string name = _node.getElementName(); 
     49                  attributes.clear(); 
     50                  _node.getAttributes(attributes);   
     51                                  
     52                  if (name.compare("field_group") == 0) 
     53                  { // Parsing pour les groupes de champs 
     54                         
     55                     if (attributes.end() != attributes.find("id")) 
     56                     {// Si l'identifiant est défini. 
     57                        if (FieldGroup::HasObject(attributes["id"])) 
     58                           WARNING("Dans le context actuel, un groupe de champ du même nom existe déjà, le second fera référence au premier par défaut !"); // TODO TODO 
     59                        FieldGroup* fgroup =(FieldGroup*)&createGroup(attributes["id"]); 
     60                        fgroup->parse(_node); 
     61                     } 
     62                     /*else 
     63                        this->createGroup();*/ 
     64 
     65                         
     66                     continue; 
     67                         
     68                  } 
     69                  else if (name.compare("field") == 0) 
     70                  { // Parsing pour les champs 
     71                   
     72                     if (attributes.end() != attributes.find("id")) 
     73                        if (Field::HasObject(attributes["id"])) 
     74                           WARNING("Dans le context actuel, un champ du même nom existe déjà, le second fera référence au premier par défaut !");  // TODO TODO                 
     75                  }  
     76                  else 
     77                     WARNING("Un groupe de champs ne peut contenir qu'un champ ou un autre groupe de champs !"); 
     78                      
     79               } while (_node.goToNextElement()); 
     80               ////////////////////////////////////// 
     81               _node.goToParentElement(); // Retour au parent   
     82            } 
     83                                        
    4384            return; 
    4485         } 
  • XMLIO_V2/dev/dev_rv/xmlio.hpp

    r91 r94  
    2626 
    2727// Concernant les attributs ... 
    28 #include "field_attribut.hpp" 
     28 
    2929#include "xmlio_object.hpp" 
    3030#include "xmlio_xml_node.hpp" 
    3131#include "xmlio_object_template.hpp" 
     32#include "field_attribut.hpp" 
    3233#include "field.hpp"       
    3334#include "xmlio_group_template.hpp"       
     
    3738 
    3839 
    39  
    40  
    41  
    4240#endif // __XMLIO__  
  • XMLIO_V2/dev/dev_rv/xmlio_group_template.hpp

    r91 r94  
    99      public: 
    1010             
    11          GroupTemplate(void) : ObjectTemplate<GroupTemplate<T, U> >(), childList(), groupList(), U() 
     11         GroupTemplate(void) : ObjectTemplate<GroupTemplate<T, U> >(),  U(), childList(), groupList() 
    1212         {/* Ne rien faire de plus */}                
    13          GroupTemplate(const string& _id) : ObjectTemplate<GroupTemplate<T, U> >(_id), childList(), groupList(), U() 
     13         GroupTemplate(const string& _id) : ObjectTemplate<GroupTemplate<T, U> >(_id), U(), childList(), groupList() 
    1414         {/* Ne rien faire de plus */}             
    1515       
    1616         virtual const char* getName(void) const {return ("GroupTemplate"); } 
    17           
     17                  
    1818         /// Pour les groupes d'objets enfants /// 
    1919          
    2020         GroupTemplate<T, U>& createGroup(const string _id) throw (XMLIOUndefinedValueException)  
    2121         { 
    22             GroupTemplate<T, U>& obj = GroupTemplate<T, U>::CreateObject(_id); 
    23             groupList.addPtrObject(&obj); 
    24             return (obj); 
     22            GroupTemplate<T, U>::CreateObject(_id); 
     23           // groupList.addPtrObject(&obj);// Foireux 
     24               
     25            return (GroupTemplate<T, U>::GetObject(_id)); 
    2526         } 
    2627          
     
    2829         { 
    2930            GroupTemplate<T, U>& obj = GroupTemplate<T, U>::CreateObject(); 
    30             groupList.addPtrObject(&obj);             
     31            //groupList.addPtrObject(&obj); // Foireux  
     32                      
    3133            return (obj); 
    3234         } 
  • XMLIO_V2/dev/dev_rv/xmlio_logger.hpp

    r88 r94  
    3939         static Logger & GetConsoleLogger(void) {return (Logger::get("ConsoleLogger"));}    
    4040          
    41          ~ILogger(void) { delete pf, pFCConsole;}    
     41         ~ILogger(void) { delete pf;}    
    4242          
    4343      private : 
  • XMLIO_V2/dev/dev_rv/xmlio_object_template.hpp

    r91 r94  
    2424            // Ajout d'un nouvel objet si l'identifiant n'est pas répertorié. 
    2525            T identified_object(_id); 
     26             
    2627            ObjectTemplate<T>::AllListObj[CurrContext].addObject(identified_object); 
    2728            ObjectTemplate<T>::GetObject(_id).registerAllAttributes(); 
     29             
    2830            return (ObjectTemplate<T>::GetObject(_id)); 
    2931         } 
     
    3133         static T& CreateObject(void) 
    3234         { 
    33             ObjectTemplate<T>::CurrListObj.addObject(*(new T)); //<< Perte mémoire ici 
    34             return (*(ObjectTemplate<T>::CurrListObj.getVector()[ObjectTemplate<T>::CurrListObj.getVectorSize()-1])); 
     35            ObjectTemplate<T>::AllListObj[CurrContext].addObject(*(new T)); //<< Perte mémoire ici 
     36            return (*(ObjectTemplate<T>::AllListObj[CurrContext].getVector()[ObjectTemplate<T>::AllListObj[CurrContext].getVectorSize()-1])); 
    3537         } 
    3638          
  • XMLIO_V2/dev/dev_rv/xmlio_xml_parser.hpp

    r91 r94  
    1919               THashAttributes attributes; 
    2020                
    21               do {                 
     21               do {                 
    2222                 // Traitement de l'identifiant 
    2323                  _node.getAttributes(attributes); 
     
    2727                   
    2828                  if( Context::HasObject(attributes["id"])) 
    29                   { WARNING("Le context ne sera pas traité car il existe déjà !"); continue; } 
     29                  { WARNING("Le context ne sera pas traité car il existe déjà un autre context possédant le même nom !"); continue; } 
    3030                   
    3131                  Context::SetCurrentContext(attributes["id"]); 
     
    4444               XMLParser::Parse(node); 
    4545               log << "Nombre de contexts listés : " << Context::GetCurrentListObject().getSize() << " contre 2 attendus."<< std::endl; 
     46               log << "Nombre de contexts listés : " << FieldGroup::GetCurrentListObject().getSize() << " contre 1 attendus."<< std::endl; 
    4647               log << "Test  XMLParser ... ok !" << std::endl; 
    4748               return (true); 
Note: See TracChangeset for help on using the changeset viewer.