[Geoserver-devel] WMS fixed finally (hopefully)

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/

hi Chris,

about lite renderer in geoserver, I'm actually working on it right now, with the permission of Andrea. I almost just finished
the geotools part. Hope to completelly terminate it this very night.

Just a question: commiting it involves updating the geotools jars that geoserver uses, but I have not a clear understanding of how they must be generated. Could you tell me what exactly I have to do to create the jars as geoserver expects them? (that gt2-main.jar)

thanks,

Gabriel

PS: when running ant test jetty starts but ask me for a user and password (not the wbe admin app, but jetty itself). some help?

cholmes@anonymised.com wrote:

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/

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Just a question: commiting it involves updating the geotools jars that geoserver uses, but I have not a clear understanding of how they must be generated. Could you tell me what exactly I have to do to create the jars as geoserver expects them? (that gt2-main.jar)

This is the form the jars are created in when we cut a release, there is a special maven goal which has been written to create them.

From the top directory:
maven -Drelease.version=NAME createRelease

NAME can be anything, its just a string that gets inserted into the readme file which the script generates.

Once it finishes look in the target/binRelease folder for the new jar set. There is a known potential problem with Maven 1.0RC2 so you may have to drop back to RC1 to get this goal to work properly.

James

about lite renderer in geoserver, I'm actually working on it right
now,
with the permission of Andrea. I almost just finished
the geotools part. Hope to completelly terminate it this very night.

Cool. Are you fixing the batik dependancy as well? It seems to require
it at the moment, and I don't want to include those jars really.
Though if we figure out the exact jar it needs I guess we could include
it...

Just be sure to test it out in geoserver with just the war, nothing
except what's included in the war on your classpath. And commit it and
I can test to make sure it works as well.

Just a question: commiting it involves updating the geotools jars
that
geoserver uses, but I have not a clear understanding of how they must
be
generated. Could you tell me what exactly I have to do to create the
jars as geoserver expects them? (that gt2-main.jar)

You have to run the maven target 'createRelease' from the main geotools
directory (geotools2/) You'll have to suppy a release.name to it, this
can really be anything gsb5 for example, the report will be made in
that file. This will then create the gt2-main, and the other jars, in
geotools2/target/binRelease/jars. Copy the jar to geoserver/lib and
commit. Oh, right, what James just said. And yes, rc1.

PS: when running ant test jetty starts but ask me for a user and
password (not the wbe admin app, but jetty itself). some help?

I've never seen or heard of that before with jetty (though my experience
is not extensive). It asks you from the command line?

cholmes@anonymised.com wrote:

>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/
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: IBM Linux Tutorials
>Free Linux tutorial presented by Daniel Robbins, President and CEO
of
>GenToo technologies. Learn everything from fundamentals to system
>administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
>_______________________________________________
>Geoserver-devel mailing list
>Geoserver-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
>

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/