Re: OODT-402 progress update

2012-05-11 Thread Ross Laidlaw
Hi Chris,


On 11 May 2012 06:01, Mattmann, Chris A (388J)
chris.a.mattm...@jpl.nasa.gov wrote:
 Hey Ross,

 Either one would be +1 for me -- if you make it easily configurable, and 
 changeable,
 that would be even better!

 Cheers,
 Chris


I had a go at implementing the configurable namespaces idea and I have
something that seems to be working!  I added a comment to OODT-449
with a draft implementation that processes namespace tags in the RSS
config.  If you like, I could move the comment over to a separate task
and upload a patch to it.

With the implementation, it would be possible to add the cas namespace
as well to the RSS config file and this will be picked up in the rss
tag of the output.  For example, as follows:

namespace prefix=cas uri=http://oodt.apache.org/components/cas; /


In theory, this means that the cas namespace wouldn't have to be
hard-coded in the RSS java classes.  But there might be a couple of
related things to tidy up:

1) Do we still need the cas namespace definition at the top of the RSS
config file?  This one is an inline definition for the cas:rssconf tag
itself and not for the output tags:

cas:rssconf xmlns:cas=http://oodt.apache.org/components/cas;


2) Two RSS java classes have hard-coded 'cas' namespace info:
RSSProductServlet.java and RSSProductTransferServlet.java.  These
classes both use a class variable to store namespaces and write them
to the output:

private static final Map NS_MAP = new HashMap();
static { NS_MAP.put(cas, http://oodt.jpl.nasa.gov/1.0/cas;); }
...
XMLUtils.addAttribute(doc, rss, xmlns:cas, (String) NS_MAP.get(cas));

I think in RSSProductServlet.java, we could remove this and read it
from the RSS config instead, but how about
RSSProductTransferServlet.java?  I'm not sure about that one because
it doesn't appear to access the RSS config file.


Many thanks again for your time and guidance!

Ross


Re: OODT-402 progress update

2012-05-11 Thread Ross Laidlaw
(Correction to my previous message: I should have written that NS_MAP
is a constant, not a class variable!)


On 11 May 2012, at 11:29, Ross Laidlaw rlaidlaw.o...@gmail.com wrote:

 These classes both use a class variable to store namespaces and write them
 to the output:

 private static final Map NS_MAP = new HashMap();
 static { NS_MAP.put(cas, http://oodt.jpl.nasa.gov/1.0/cas;); }