<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Yeah perfect. I would just call your ProgrammaticSetter a ConfigurationReference. We also need to add "name" annotation field just as we had it in @configRef. A couple of annotation fields in&nbsp;ConfigurationReference annotation should be able to handle all these cases of naming elements, direct comments insertion or picking comments up from somewhere else etc etc<div><br></div><div>Cheers,</div><div>Vladimir<br><div><br><div><div>On 2010-09-14, at 1:04 PM, Manik Surtani wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Essentially the crux of the problem is that we currently use the Configuration bean for programmatic configuration. &nbsp;Setters are Javadoc'd accordingly. &nbsp;E.g., this setter enables invocation batching and is Javadocced accordingly.<div><br></div><div>Configuration#setInvocationBatching():</div><div><br></div><div><a href="http://pastie.org/1157879">http://pastie.org/1157879</a></div><div><br></div><div><a href="http://pastie.org/1157879"></a>Now this makes use of an internal component to actually hold the value. &nbsp;It is done this way so that the JAXB schema generator and parser can handle properly formatted XML equivalents.</div><div><br></div><div>The ConfigDoc stuff that Vladimir wrote earlier grabs additional docs from these internal components to generate the XML config reference guide:</div><div><br></div><div><a href="http://docs.jboss.org/infinispan/4.1/apidocs/config.html">http://docs.jboss.org/infinispan/4.1/apidocs/config.html</a></div><div><br></div><div><a href="http://docs.jboss.org/infinispan/4.1/apidocs/config.html"></a>In this case, we'd be looking at the &lt;invocationbatching ...&gt; element:</div><div><br></div><div><a href="http://docs.jboss.org/infinispan/4.1/apidocs/config.html#ce_default_invocationBatching">http://docs.jboss.org/infinispan/4.1/apidocs/config.html#ce_default_invocationBatching</a></div><div><br></div><div><a href="http://docs.jboss.org/infinispan/4.1/apidocs/config.html#ce_default_invocationBatching"></a>These docs are generated from notes made on the JAXB beans annotated with custom @configRef Javadoc annotations:</div><div><br></div><div><a href="http://pastie.org/1157880">http://pastie.org/1157880</a></div><div><br></div><div><a href="http://pastie.org/1157880"></a>The problem here is that we are repeating ourselves. &nbsp;And that leads to poor and inconsistent documentation at first, and completely unmaintained documentation as time goes on. &nbsp;:)</div><div><br></div><div>So my proposal is as such:</div><div><br></div><div>* We document setters on Configuration and GlobalConfiguration *really* well.</div><div>* We reference these setters from internal components such as Configuration.InvocationBatching.setEnabled() using annotations. &nbsp;E.g.,&nbsp;<a href="http://pastie.org/1157888">http://pastie.org/1157888</a></div><div>* When generating config docs, we have a reference to the actual setter thanks to this annotation, and can use it to grab the "real" Javadocs for this setting and add it to the XML config reference.</div><div><br></div><div>WDYT?</div><div><br></div><div>Cheers</div><div>Manik</div><div><br><div><br></div><div><br><div><div><div>On 14 Sep 2010, at 11:51, Vladimir Blagojevic wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hey all,<div><br></div><div>Manik and I talked privately regarding this topic through&nbsp;<a href="https://jira.jboss.org/browse/ISPN-626">https://jira.jboss.org/browse/ISPN-626</a>&nbsp;and we concluded that we could use some input from people that have used configuration reference markers within Infinispan code etc. Manik basically had a few ideas where he wanted to polish/expand the final look of configuration reference (summed up in ISPN-626) and upon closer inspection I think that we need to rework configuration markers to make things simpler and easier to use.</div><div><br></div><div>One of the things I wanted to do is replace javadoc tag @configRef with annotation(s) and use pure comment text of javadoc elements as input for both javadoc and configuration reference. So lets gather some more ideas, and I'll work on this on a side whenever I need the break from hard core stuff :)</div><div><br></div><div>Cheers,</div><div>Vladimir<br><div><br></div><div><br><div>
--<br>Vladimir Blagojevic<br>JBoss Clustering Team<br>JBoss, by Red Hat<br><br><br><br>
</div>
<br></div></div></div>_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a></blockquote></div><br><div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 12px; "><div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org">manik@jboss.org</a></div><div>Lead, Infinispan</div><div>Lead, JBoss Cache</div><div><a href="http://www.infinispan.org/">http://www.infinispan.org</a></div><div><a href="http://www.jbosscache.org/">http://www.jbosscache.org</a></div><div><br></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br></div></div></div></div>_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/infinispan-dev</blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">--<br>Vladimir Blagojevic<br>JBoss Clustering Team<br>JBoss, by Red Hat<br><br><br><br></span>
</div>
<br></div></div></body></html>