Notes on deprecated ClassAd methods and other new ClassAd conversion issues
- Nick Coleman 7/31/2002

The following methods from old ClassAds have been implemented as deprecated
methods in new ClassAds:

// These methods are identical and take in a string in the form "attr = value"
// They should eventually be replace by InsertAttr methods
int	        Insert(const char*);
int		InsertOrUpdate(const char *expr);

// These methods should be replaced by EvalAttrXXX methods
int		LookupString(const char *, char *); 
int		LookupInteger(const char *, int &);
int		LookupFloat(const char *, float &);
int		LookupBool(const char *, int &);
int		EvalString (const char *, class ClassAd *, char *);
int		EvalInteger (const char *, class ClassAd *, int &);
int		EvalFloat (const char *, class ClassAd *, float &);
int		EvalBool  (const char *, class ClassAd *, int &);

// There is currently no method in new ClassAds that initializes a ClassAd from
// a file (to my knowledge anyway).  I'm sure someone has implemented something
// similar somewhere.
		ClassAd(FILE*,char*,int&,int&,int&);

// These methods should be replaced by Lookups of the MyType and TargetType
// attributes.  GetOldClassAd automatically adds these attributes. 
void		SetMyTypeName(const char *);
const char*	GetMyTypeName();
void		SetTargetTypeName(const char *);
const char*	GetTargetTypeName();

// These methods should be replaced by the putOldClassAd and getOldClassAd
// methods in condor_classad.V6/util.C.  Eventually they should probably be
// replaced by more general put and get type calls (or ClassAdCollection
// calls).
int		put(Stream& s);
int		initFromStream(Stream& s);


The following old ClassAd methods deal with ExprTrees which are completely
different in new ClassAds.  They have not been implemented as deprecated
methods:

void		ResetExpr();
ExprTree*	NextExpr();
void		ResetName() { this->ptrName = exprList; }
const char*	NextNameOriginal();
ExprTree*	Lookup(char *) const;
ExprTree*	Lookup(const char*) const;


The following header files in condor_includes are obsolete:

condor_ast.h
condor_astbase.h
condor_attrlist.h
condor_buildtable.h
condor_parser.h
condor_scanner.h


The following files have references to AttrLists:

condor_accountant.V6/Accountant.C
condor_accountant.V6/main.C
condor_c++_util/classad_collection.C
condor_includes/condor_accountant.h:
condor_negotiator.V6/matchmaker.C
condor_negotiator.V6/matchmaker.h
condor_tools/give_interactive.C
condor_tools/history.C
condor_tools/user_prio.C
h/cctp_msg.h


The following files have references to old ClassAd Collections:

condor_c++_util/classad_collection.C
condor_c++_util/classad_collection.h
condor_ckpt_server/server2.C
condor_ckpt_server/server2.h
condor_schedd.V6/qmgmt.C
condor_tools/view_collection.C


The following files have references to the old ClassAd scanner & parser as well
as the EvalResult data type and the ExprTree::EvalTree method.  These should be
updated to use the new ClassAdParser class:

condor_c++_util/classad_collection_types.h
condor_negotiator.V6/matchmaker.C
condor_schedd.V6/qmgmt.C
condor_tools/give_interactive.C
condor_tools/history.C


The following files have references to the old ClassAd methods ResetExpr,
NextExpr, NextDirtyExpr, ClearAllDirtyFlags, ResetName, or NextName.  These
methods should be replaced with ClassAd iterator methods:

condor_c++_util/classad_log.C
condor_c++_util/classad_collection.C
condor_c++_util/classad_merge.C
condor_shadow.V6.1/baseshadow.C
condor_shadow.V6.1/mpishadow.C
condor_startd.V6/Starter.C
condor_startd.V6/mds.C
condor_submit.V6/submit.C
condor_tools/user_prio.C


The following files have references to other ExprTree methods such as MyType,
LArg, RArg, PrintToNewString, and PrintToString.  These need to be replaced
with new ExprTree methods or rewritten altogether:

condor_c++_util/classad_collection.C
condor_c++_util/classad_log.C
condor_c++_util/user_job_policy.C
condor_collector.V6/hashkey.C
condor_schedd.V6/dedicated_scheduler.C
condor_schedd.V6/qmgmt.C
condor_schedd.V6/schedd.C
condor_shadow.V6.1/baseshadow.C
condor_shadow.V6.1/mpishadow.C
condor_shadow.V6.1/shadow_user_policy.C
condor_shadow.V6/shadow_common.C
condor_startd.V6/Starter.C
condor_startd.V6/mds.C
condor_startd.V6/util.C
condor_submit.V6/submit.C
condor_tools/user_prio.C


The following files were flagged by Hao as "needing work".  For the most part
they contain deprecated methods which have been commented out:
 
condor_c++_util/classad_log.C
condor_c++_util/file_transfer.C
condor_c++_util/user_job_policy.C
condor_daemon_client/dc_schedd.C
condor_daemon_client/dc_shadow.C
condor_daemon_client/dc_startd.C
condor_netman/netman.C


The following files also have notes from Hao (both were converted to new
ClassAds by Nick)

condor_q.V6/queue.C
condor_schedd.V6/qmgr_lib_support.C

