Hmm... Jinmei has it right -- that the *Element were for declaring custom XML entries -- but they were only really used during exploration. With this minimal API, we're not actually using those interface-tags in a publicly-visible way...
Now I'm torn. On the one hand, it seems a bit strange to require a developer to use an interface that doesn't have an obvious use. On the other hand, I'm hesitant to allow an arbitrary Object to be passed to the XML to be saved, just as type-safety and to ensure intent. Thoughts on "Versatility" vs "Declared Intent"? Regarding naming, I could see it either way, too. "cache config" makes sense since it is modifying the "cache" portion of the configuration XML. "cluster configuration" makes sense since it is shared across the cluster, although there are separate configurations for each member group as well. On Tue, Mar 13, 2018 at 11:14 AM, Jinmei Liao <jil...@pivotal.io> wrote: > 1. CacheElement/RegionElement are used for custom xml element that are to > be added by other modules. They are not meant for those elements defined by > cache.xsd already, like region, gatewayreceiver etc. Maybe we should rename > it back CustomCacheElement/CustomRegionElement > > 1. the mutator updates the CacheConfig object which holds all the elements > inside cache including regions, indexes and the custom elements. the api is > updateCacheConfig > > On Tue, Mar 13, 2018 at 10:55 AM, Sai Boorlagadda < > sai.boorlaga...@gmail.com > > wrote: > > > I have few comments: > > > > 1, What is ClusterElement/RegionElement interfaces used for? > > > > 2. I see that using unary mutator one can mutate both cache and region > > configurations, so the methods in ClusterConfigurationService can be > > getClusterConfig and updateClusterConfig? The naming is debatable as > region > > configuration is part of CacheConfig, so technically user is updating > > CacheConfig even for region changes and changing a group's configuration > is > > not cluster configuration. So I think updateCacheConfig is a better name > > than updateClusterConfig? > > > > On Mon, Mar 12, 2018 at 4:11 PM, Patrick Rhomberg <prhomb...@pivotal.io> > > wrote: > > > > > Hello all. > > > > > > Please refer to the wiki page [1] for a proposal to expose > modification > > > of cluster configuration. > > > In short, this proposes an endpoint for developers to modify or > extend > > > cluster configuration functionalities. This would eventually replace > > > existing configuration classes (e.g., CacheCreation). > > > The proposed intends to use JAXB to generate and translate between > Java > > > Objects and the underlying cache configuration's XML. Examples of > these > > > generated classes are included in the proposal's Resources section. > > > Regards. > > > > > > Imagination is Change. > > > ~Patrick > > > > > > [1] > > > https://cwiki.apache.org/confluence/display/GEODE/ > > Public+API+for+Cluster+ > > > Configuration > > > > > > > > > -- > Cheers > > Jinmei >