{subsection: Pre-Flag Day Tasks} *: Check in Varghese's {quote:ClassAdList} class that works with new {quote:ClassAds}. *DONE* + *: Add a method to Varghese's new {quote:ClassAdList} to move an ad from one list to another. *DONE* + *: Add or fix compatibility for following old {quote:ClassAd} methods: -*:: ClassAd::Assign() *DONE* -*:: ClassAd::LookupString(MyString) *DONE* -*:: ClassAd::Insert(const char*) *DONE* -*:: ClassAd::put() -*:: ClassAd::initFromStream() -*:: ClassAd::AssignExpr() *DONE* -*:: ClassAd::clear() *DONE* -*:: ClassAd::EvalString(const char*, const class AttrList*, char**) -*:: ClassAd::EvalString(const char*, const class AttrList*, MyString&) -*:: ClassAd::NextNameOriginal() *DONE* -*:: ClassAd::ResetName() *DONE* -*:: ClassAd::sPrintExpr() -*:: ClassAd::NextDirtyExpr() -*:: ClassAd::SetDirtyFlag() -*:: ClassAd::GetDirtyFlag() -*:: ClassAd::GetReferences() -*:: ClassAd::ChainCollapse() -*:: ClassAd::EscapeStringValue() -*:: ClassAd::CopyAttribute() -*:: ClassAd::fPrintAsXML() -*:: ClassAd::sPrintAsXML() -*:: ClassAd::IsValidAttrValue() -*: Write helper functions for these methods which we can't emulate transparently: +*:: Block {quote:#1} *[3 days]*: +*::: ClassAd::Assign() *DONE* +*::: ClassAd::LookupString(MyString) *DONE* +*::: ClassAd::Insert(const char*) *DONE* +*::: ClassAd::put() +*::: ClassAd::initFromStream() +*::: ClassAd::AssignExpr() *DONE* +*::: ClassAd::clear() *DONE* +*::: ClassAd::EvalString(const char*, const class AttrList*, char**) +*::: ClassAd::EvalString(const char*, const class AttrList*, MyString&) +*::: ClassAd::NextNameOriginal() *DONE* +*::: ClassAd::ResetName() *DONE* +*:: Block {quote:#2} *[4 days]*: +*::: ClassAd::sPrintExpr() +*::: ClassAd::NextDirtyExpr() +*::: ClassAd::SetDirtyFlag() +*::: ClassAd::GetDirtyFlag() +*::: ClassAd::GetReferences() +*::: ClassAd::ChainCollapse() +*::: ClassAd::EscapeStringValue() +*::: ClassAd::CopyAttribute() +*::: ClassAd::fPrintAsXML() +*::: ClassAd::sPrintAsXML() +*::: ClassAd::IsValidAttrValue() + +*: Write helper functions for these methods which we can't emulate transparently *[4 hours]*: *:: ExprTree::PrintToNewStr() *DONE* *:: ExprTree::PrintToStr() *DONE* *:: ExprTree::EvalTree() -*: Add {quote:ClassAds} functions that are in old {quote:ClassAds} but not in new {quote:ClassAds}: + +*: Add {quote:ClassAds} functions that are in old {quote:ClassAds} but not in new {quote:ClassAds} *[2 days]*: *:: stringListSize() *:: stringListSum() *:: stringListAve() @@ -48,10 +54,13 @@ {subsection: Flag Day Tasks} -*: Change most or all references to {quote:ClassAd} and {quote:AttrList} with {quote:CompatClassAd}. -*: Swap in Varghese's new {quote:ClassAdList} class. -*: Fix up the one or two callsites in matchmaker.cpp that move an ad from one {quote:ClassAdList} to another. -*: The following methods will need some fixing at the callsites: +*: Change most or all references to {quote:ClassAd} and {quote:AttrList} with {quote:CompatClassAd} *[4 hours]*. + +*: Swap in Varghese's new {quote:ClassAdList} class *[?]*. + +*: Fix up the one or two callsites in matchmaker.cpp that move an ad from one {quote:ClassAdList} to another *[4 hours]*. + +*: The following methods will need some fixing at the callsites *[5 days]*: *:: ClassAd::Insert(ExprTree*) *:: ClassAd::Lookup() *:: ExprTree::RArg()