Hi Michael, > > I am more than happy to discuss my methods, naming conventions etc. I am > trying to get a working model in my environment by the end of the week, but I > have until the end of June to come up with a polished, final solution that > ACOS and other projects will use.
Thanks! > > Below is a description of my method so far: > > I called the new element "columnBasedElement" stealing the naming convention > that differentiates "ColumnBasedDataSourceCatalog" from "DataSourceCatalog". +1, I like it b/c it tells a user, hey, this is going to be used along with the ColumnBasedDataSourceCatalog. > > This new element contains 4 new child tags: dataType, dataSize, isVector (I > want to change this to multiValued), and dataDigits. These are the 4 > essential values that I need to fully specify database tables. How about something shorter like type, size, isMutiValued, and digits (since "data" is just repeated int he beginning). > > When I read in a "columnBasedElement" I create an instance of > ColumnBasedElement, a subclass of element. The subclass contains getters and > setters for these new child fields. In this way these new elements are > treated as elements by all code, until they find there way back to the code I > implement. +1 > > Once back, I use instanceof, and a cast to the subtype (messy but I felt it > was less messy than duplicating many lines of code). I hear ya -- instanceOf is something I've resorted to plenty of times in the past -- no worries! > > On top of this I have decided to move my utility that checks that the > database is defined consistently with the elements.xml and > product-types-to-element-map.xml inside PCS so that it takes advantage of > that added functionality. Awesome. Do you mean inside of the pcs/core package? If so, +1, I'm thinking that folks that required the CAS services + PCS stuff on top should put their tools inside of that package. Also, if you get a chance, check out OODT-147 [1] . I think it will play synergistically with this and some of the functionality will be available as a Core File Manager structure at that point. Cheers, Chris [1] https://issues.apache.org/jira/browse/OODT-147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Chris Mattmann, Ph.D. Senior Computer Scientist NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA Office: 171-266B, Mailstop: 171-246 Email: [email protected] WWW: http://sunset.usc.edu/~mattmann/ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Adjunct Assistant Professor, Computer Science Department University of Southern California, Los Angeles, CA 90089 USA ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
