# | Line 22 | Line 22 | |
---|---|---|
22 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
23 | * | |
24 | */ | |
25 | < | |
26 | < | #include "PropertyMap.hpp" |
25 | > | |
26 | > | #include "utils/PropertyMap.hpp" |
27 | #include <cassert> | |
28 | ||
29 | + | namespace oopse { |
30 | + | |
31 | PropertyMap::~PropertyMap(){ | |
32 | clearProperties(); | |
33 | } | |
34 | ||
35 | ||
36 | < | PropertyMap::addProperty(GenericData* genData){ |
37 | < | std::map<std::string, GenericData*>::iterator iter; |
36 | > | void PropertyMap::addProperty(GenericData* genData){ |
37 | > | std::map<std::string, GenericData*>::iterator iter; |
38 | ||
39 | < | assert( genData != NULL); |
39 | > | iter = propMap_.find(genData->getID()); |
40 | ||
41 | < | iter = propMap_.find(genData->getID()); |
42 | < | |
43 | < | if (iter == propMap_.end()){ |
44 | < | propMap_.insert(make_pair(genData->getID(), genData)); |
45 | < | } |
46 | < | else |
45 | < | logger.warn(""); |
46 | < | |
41 | > | if (iter == propMap_.end()){ |
42 | > | propMap_.insert(make_pair(genData->getID(), genData)); |
43 | > | } else { |
44 | > | delete iter->second; |
45 | > | iter->second = genData; |
46 | > | } |
47 | } | |
48 | ||
49 | < | void PropertyMap::removeProperty(std::string& propName){ |
49 | > | bool PropertyMap::removeProperty(const std::string& propName){ |
50 | std::map<std::string, GenericData*>::iterator iter; | |
51 | ||
52 | < | iter = propMap_.find(propName); |
52 | > | iter = propMap_.find(propName); |
53 | ||
54 | < | if (iter != propMap.end()){ |
55 | < | delete iter->second; |
56 | < | propMap_.erase(iter); |
57 | < | } |
58 | < | else |
59 | < | logger.warn("Can not find property with name: " + propName); |
54 | > | if (iter != propMap_.end()){ |
55 | > | delete iter->second; |
56 | > | propMap_.erase(iter); |
57 | > | return true; |
58 | > | } else { |
59 | > | //logger.warn("Can not find property with name: " + propName); |
60 | > | return false; |
61 | > | } |
62 | } | |
63 | ||
64 | void PropertyMap::clearProperties(){ | |
65 | < | std::map<std::string, GenericData*>::iterator iter; |
65 | > | std::map<std::string, GenericData*>::iterator iter; |
66 | ||
67 | < | for (iter = propMap_.begin(); iter != propMap_.end(); ++iter) |
68 | < | delete iter->second; |
69 | < | |
70 | < | propMap_.clear(); |
67 | > | for (iter = propMap_.begin(); iter != propMap_.end(); ++iter) |
68 | > | delete iter->second; |
69 | > | |
70 | > | propMap_.clear(); |
71 | } | |
72 | ||
73 | std::vector<std::string> PropertyMap::getPropertyNames(){ | |
74 | < | vector<string> propNames; |
75 | < | std::map<std::string, GenericData*>::iterator iter; |
74 | > | std::vector<std::string> propNames; |
75 | > | std::map<std::string, GenericData*>::iterator iter; |
76 | ||
77 | < | for (iter = propMap_.begin(); iter != propMap_.end(); ++iter) |
78 | < | propNames.push_back(iter->first); |
77 | > | for (iter = propMap_.begin(); iter != propMap_.end(); ++iter) |
78 | > | propNames.push_back(iter->first); |
79 | ||
80 | < | return propNames; |
80 | > | return propNames; |
81 | } | |
82 | ||
83 | std::vector<GenericData*> PropertyMap::getProperties(){ | |
84 | < | vector<GenericData*> properties; |
85 | < | std::map<std::string, GenericData*>::iterator iter; |
84 | > | std::vector<GenericData*> properties; |
85 | > | std::map<std::string, GenericData*>::iterator iter; |
86 | ||
87 | < | for (iter = propMap_.begin(); iter != propMap_.end(); ++iter) |
88 | < | properties.push_back(iter->second); |
87 | > | for (iter = propMap_.begin(); iter != propMap_.end(); ++iter) |
88 | > | properties.push_back(iter->second); |
89 | ||
90 | < | return properties; |
90 | > | return properties; |
91 | } | |
92 | ||
93 | < | GenericData* PropertyMap::getPropertyByName(std:string& propName){ |
94 | < | std::map<std::string, GenericData*>::iterator iter; |
93 | > | GenericData* PropertyMap::getPropertyByName(const std::string& propName){ |
94 | > | std::map<std::string, GenericData*>::iterator iter; |
95 | ||
96 | < | iter = propMap_.find(propName); |
96 | > | iter = propMap_.find(propName); |
97 | ||
98 | < | if (iter != propMap_.end()) |
99 | < | return iter->second; |
100 | < | else |
101 | < | return NULL; |
102 | < | } |
98 | > | if (iter != propMap_.end()) |
99 | > | return iter->second; |
100 | > | else |
101 | > | return NULL; |
102 | > | } |
103 | > | |
104 | > | }//end namepace oopse |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |