Hi, I've created a ticket into the jira and I've submited a patch: https://issues.apache.org/jira/browse/ABDERA-156
On Fri, May 9, 2008 at 10:01 PM, Vasudeva Nori <[EMAIL PROTECTED]> wrote: > I would like to propose a couple of changes/additions to the mechanism of > writing custom writers (& parsers) in abdera. > > Right now, Custom writers are to be declared in > META-INF/services/org.apache.abdera.writer.NamedWriter file > I was looking for a way to dynamically bind a "new writer" I have at > runtime, because in the system I am working with, there is no way to > statically enumerate the writers in a file. > Turns out it is not difficult at all. AbderaConfiguration has > addNamedWriters(NamedWriter) method that can be used to do this. > > so, here is my proposal: why not make this method part of the Configuration > interface. > Is there a strong reason to not do this? > > right now, code to add NamedWriter at runtime looks like this > JSONWriter jsonWriter = new JSONWriter(); > Configuration config = getAbdera().getConfiguration(); > if (config instanceof AbderaConfiguration) { > ((AbderaConfiguration)config).addNamedWriter(jsonWriter); > } > > instead, I would like to remove the cast to AbderaConfiguration and make it > cleaner. instead of remove the cast, I've added the add method to the Configuration interface, so you can write this: getAbdera().getConfiguration().addNamedWriter(jsonWriter); > > > and, BTW, I noticed there is no error handling in AbderaConfiguration.java > to make sure a writer for "name1" doesn't already exist before adding it to > "Map<String,NamedWriter> writers" struct. > have to submit a patch for it one of these days to fix this. unless James > or > someone else gets to it sooner :) I've added this check to all "add" methods, so if the NamedParser, NamedWriter, ExtensionFactory or StreamWriter already exist the configuration class shows a warning. > > > thanks > > On Sat, May 3, 2008 at 2:38 AM, David Calavera <[EMAIL PROTECTED]> > wrote: > > > Yep, you can look at the custom writers section into the wiki: > > > > http://cwiki.apache.org/confluence/display/ABDERA/Custom+Writers > > > > On Sat, May 3, 2008 at 8:20 AM, Vasudeva Nori <[EMAIL PROTECTED]> > wrote: > > > > > The following code fragment on Abdera's Extension web page shows a > > "json": > > > writer. > > > writer json = abdera.getWriterFactory().getWriter("json"); > > > entry.writeTo(json, System.out); > > > > > > is it possible to create a writer for "foo_format" and do the following > > > > > > Writer json = abdera.getWriterFactory().getWriter("foo_format"); > > > entry.writeTo(json, System.out); > > > If so, how does one "associate" foo_format writer to "foo_format"? any > > > pointer to doing this in abdera would be great. > > > > > > thanks > > > > > > > > > > > -- > > David Calavera > > http://www.thinkincode.net > > > -- David Calavera http://www.thinkincode.net