12 #include "AliJSONReader.h"
14 #include "AliJSONData.h"
30 AliJSONValue* value) {
31 AliJSONData *entry =
dynamic_cast<AliJSONData *
>(
fParams->FindObject(name));
32 if(entry) entry->SetValue(value);
33 else fParams->Add(
new AliJSONData(name, value));
38 Build(parser.Decode(jsonstring));
42 TIter objects(entries);
43 for(TIter entry = objects.Begin(); entry != objects.End(); ++entry){
44 AliJSONData *val =
dynamic_cast<AliJSONData *
>(*entry);
48 TList *conf =
dynamic_cast<TList *
>(*entry);
51 daughter->
Build(conf);
59 std::cout <<
"Configuration " << GetName() <<
":" << std::endl;
60 std::cout <<
"=================================================" << std::endl;
62 AliJSONData *conf(NULL);
63 while((conf = dynamic_cast<AliJSONData *>(parIter()))){
64 std::cout <<
"Key " << conf->GetName() <<
", value " << conf->GetValue()->ToString() << std::endl;
66 std::cout <<
"=================================================" << std::endl;
73 AliJSONData *val =
dynamic_cast<AliJSONData *
>(
fParams->FindObject(key));
75 return val->GetValue();
79 std::stringstream jsonbuilder;
83 for(TIter it = confentries.Begin(); it != confentries.End(); ++it){
86 if(!isFirst) jsonbuilder <<
",";
89 AliJSONData *obj =
dynamic_cast<AliJSONData *
>(*it);
91 if(!isFirst) jsonbuilder <<
",";
92 jsonbuilder << obj->ToString();
95 if(isFirst) isFirst =
false;
99 char * result =
new char[jsonbuilder.str().length()];
100 strcpy(result, jsonbuilder.str().c_str());
std::string CreateJSONString() const
void Print(Option_t *) const
void AddConfiguration(AliEMCALConfiguration *conf)
AliEMCALConfiguration(const char *name)
virtual ~AliEMCALConfiguration()
AliJSONValue * GetValue(const char *key) const
void Build(const char *jsonstring)
std::ostream & operator<<(std::ostream &os, const AliEMCALConfiguration &conf)
void AddParam(const char *name, AliJSONValue *value)