After weeks of a broken wms I think I've got it fixed, at least enough
to produce images with all our formats. Still not loading on the fly,
but Gabriel nicely refactored to make way for Andrea's new
architecture. If developers could update from cvs and give some
feedback on if I missed anything that would be great.
A few things to note:
We're using the StyledMapRenderer. After some decent research into both
classes I've figured them out enough to get each working with
GeoServer. The main thing we were missing was a
worldToScreenTransformation, we were just giving an empty affine
transformation. I stole the code for that method from LiteRenderer,
and it seems to work for both renderers. Why aren't we using the lite
renderer? GEOT-141 (cough, cough James?), lite currently has
dependancies on batik, which I don't want in the geoserver
distribution. I don't know which jars I need, and all the batik jars
would add 1.5 megs, increasing the size of our war by like 30%. And
we're never going to use them because we have our own svg rendering.
So as soon as GEOT-141 is fixed we can swap back in the lite renderer,
I commented the methods needed for the switch.
SVG had some random problems with MIME_TYPE and supported formats, we
used to do startsWith on image/svg, and it got changed, so stuff wasn't
recognizing right. Even if you did image/svg+xml it didn't work right,
I think due to our kvp readers tokenizing, though I'm not sure.
Changing to startsWith on image/svg worked fine.
JAIMapResponse was returning null for its output format, which caused
other nice errors. That was an easy fix though.
I've replaced gt2-main.jar. This is because there are weird resource
files that maven builds correctly and that we do not put in right with
the ant geotools target. I'm not sure why it doesn't, I tried a bit to
fix it, but I personally don't really see the point of maintaining the
two seperate build procedures, especially given the complicated nature
of the process, which maven simplifies for us. I know that the target
was there before we all started working on it, and we've been
maintaining it, but I almost feel it may be best to give up on it. All
geoserver developers should be able to build geotools with maven. And
if we can't we should fix it in geotools, not come up with our own
weird work arounds. I spent a bunch of time trying to fix the wms that
was broken because we didn't have the right resource file for Units. I
imagine there are more little resources files that we also might miss
in the future, and other minor fixes that geotools does that we will
miss. If people still want to build with and maintain the ant geotools
target then please fix it so it gets the Unit stuff right. This
manifests itself in a GetMap request with a JAI format (like jpeg).
You get an initialize failure, caused by a null pointer in Unit. I may
have fixed it, but the latest jars in cvs did not have the fix, so
either someone did not update their build.xml file, or it didn't work.
I don't know. All geoserver releases should get jars from a GeoTools
build, indeed it should be a numbered build, which is to say when we do
a geoserver release we should also do a geotools release.
We could actually do the work for loading on the fly in geoserver, if we
make the FeatureSource based on the query ourselves, essentially the
work we want Andrea to do within the LiteRenderer. I think it should
be done in LiteRenderer, but Andrea is also swamped with work, so I may
take a shot at it, though after 1.2.0-rc1
I'm aiming for rc1 on tuesday. The two major bugs on my mind are
Oracle, which I'll start soon, and the page to change the Login
password. Richard, if you could spend a bit of time on that I'd be
eternally grateful. It'll just definitely push back my release
schedule by a day or two, when it'll probably take you like an hour,
since I'm really slow at the struts stuff. At the very least let me
know if you've started work on it, and commit any code that you have
done. I have it able to set the password with the services.xml file,
and to use that in the Login page. It just needs to be set somewhere
and written out correctly on a save.
Other than that I've got some documentation to do. I may need help
generating the docs as I had a bitch of a time before. Geotools now
has me super jealous of their wiki, I really want to put our docs on
wiki. If people could send me the servlet containers (version and
type) they've tested on (with details of if wms, wfs and/or web
interface were tested), that would be super helpful. I feel like there
are a number that just might not work, and I'd like to point out in the
docs what we do know works. I may even try to borrow some geotools
wiki to make a page were people can add their experiences with certain
containers.
I also may try to make a war available for download, so people can help
me out with testing this week. If you guys at refractions could help
with that I'd be very grateful, as uploading wars is a bitch for me
with my slow internet.
Ok, sorry for the overly long email, hope everyone's doing well.
Chris
----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/