hmm....so here is what happened.
I tried to follow your first solution of modifying the class path of the web
module. But eclipse did not recognize the hello_rest module because I had
not set it as a java project. So I deleted the project and started a new
java project and followed the instructions again provided at
http://docs.geoserver.org/1.7.x/developer/programming-guide/rest-services/implementing.html
There were some errors like:
*
*
>
> *The declared package "org.geoserver.hellorest" does not match the
> expected package "src.main.java.org.geoserver.hellorest"
> HelloResource.java hello_rest/src/main/java/org/geoserver/hellorest
> line 1 Java Problem
> *
*The import org.geoserver cannot be resolved HelloResource.java
> hello_rest/src/main/java/org/geoserver/hellorest line 4 Java Problem
> *
*The import org.restlet cannot be resolved HelloResource.java
> hello_rest/src/main/java/org/geoserver/hellorest line 6 Java Problem
> *
>
But I did the mvn install and the build was successful. I added the module
to the web module's classpath and restarted the geoserver by running the
Start.java file under web/src/test/java/org/vfny/geoserver/jetty/. But the
http requests,
http://localhost:8080/geoserver/rest/hello_rest/hello.txt
http://localhost:8080/geoserver/rest/hello_rest
still return the exception.
I also tried running a separate local geoserver. So I installed geoserver
1.7.6 and then added the hello_rest-1.7.5-SNAPSHOT.jar file in the
WEB-INF/lib folder. I sensed it would not work becasue the versions are
different. When I sent the http requests it returned no exceptions. All that
the page returned was "Geoserver Configuration API". I checked the log and
it seems that the request was successful:
*0:0:0:0:0:0:0:1 - - [17/Aug/2009:14:49:20 +0000] "GET
/geoserver/rest/hello_rest/hello.txt HTTP/1.1" 200 138
0:0:0:0:0:0:0:1 - - [17/Aug/2009:15:01:38 +0000] "GET
/geoserver/rest/hello_rest HTTP/1.1" 200 138*
Does this mean the module was integreated successfully? I thought the
request was supposed to return the test "Hello World"
On Fri, Aug 14, 2009 at 12:00 PM, Justin Deoliveira <[email protected]>wrote:
> You have a few options for getting the extension running as part of
> geoserver.
>
> The first is to manually modify the classpath of the web module, and add
> the hello_rest module. (Right click on module in package explorer, click
> Properties, go to Java Build Path -> Projects)
>
> The second is to set up a profile for the module, and run eclipse:eclipse
> with the profile engaged, which will set up the dependency from the web
> module. This is quite a bit more work, see:
>
>
> http://docs.geoserver.org/1.7.x/en/developer/policies/community-modules.html#id3
>
> (Just steps 1 - 3)
>
> The last would be if you have a local geoserver that you use you can drop
> the file hello_rest/target/hello_rest-1.0-SNAPSHOT.jar into the WEB-INF/lib
> directory of your geoserver installation, and restart it.
>
> Hope that helps.
>
> -Justin
>
> Sebastin Kolman wrote:
>
>> Hi Justin,
>>
>> I followed your instructions and the module installed just fine. As I
>> mentioned earlier I am running geoserver from the source code through
>> eclipse. I start geoserver by running the Start.java file under
>> web/src/test/java/org/vfny/
>> geoserver/jetty/.
>>
>> After doing the mvn install will it work if i simple stop and start the
>> servert? Or do I need to do a mvn install on the whole geoserver project
>> again ?
>>
>> How do I test this module? I assume it is by going to this url:
>>
>> http://localhost:8080/geoserver/rest/hello_rest/hello.txt
>> http://localhost:8080/geoserver/rest/hello_rest
>>
>>
>> On Thu, Jun 25, 2009 at 4:25 AM, Justin Deoliveira
>> <[email protected]<mailto:
>> [email protected]>> wrote:
>>
>> Hi Sebastin,
>>
>> Thanks for sending me over your code. I took at a look at it and here
>> is
>> what I found.
>>
>> First off, there was a problem with the documentation, it was out of
>> date.
>> Apologies I should have seen that right away. The
>> createSupportedFormats()
>> method should return a list, rather than a map. I have updated the
>> documentation here:
>>
>>
>> http://docs.geoserver.org/1.7.x/developer/programming-guide/rest-services/implementing.html
>>
>> There were also a few other issues with teh code:
>>
>> * The sources and test files are not in the proper location with
>> regard to
>> packaging. You need to move src/main/java/HelloResource.java to
>> src/main/java/org/geoserver/hellorest/HelloResource.java. And
>> similarly for
>> the the HelloResourceTest.java file.
>>
>> * A few imports were missing from HelloResource:
>>
>> import org.geoserver.rest.format.StringFormat;
>> import org.restlet.data.MediaType;
>>
>> You also now will need:
>>
>> import java.util.ArrayList;
>> import java.util.List;
>>
>> Let me know if that works. After making those changes I was able to
>> successfully run HelloResourceTest.
>>
>> -Justin
>>
>> On Wed, 24 Jun 2009 11:43:05 -0400, Sebastin Kolman
>> <[email protected] <mailto:[email protected]>>
>> wrote:
>> > Thanks Justin. Did you mean just the hello_rest module? I have
>> attached
>> it
>> > with this mail.
>> >
>> > I am also just learning Java so yeah I could be doing a simple thing
>> really
>> > wrong.
>> >
>> > On Tue, Jun 23, 2009 at 9:51 PM, Justin Deoliveira
>> > <[email protected] <mailto:[email protected]>>wrote:
>>
>> >
>> >> Hmmm... can you zip up your project and send it to me in a private
>> email?
>> >> It looks like the classpath is somehow off, and it would be nice
>> to look
>> >> at
>> >> the eclipse .classpath file, along with the sources.
>> >>
>> >> -Justin
>> >>
>> >>
>> >> sabman wrote:
>> >>
>> >>> Thanks Justin.
>> >>>
>> >>> Here is what I was doing wrong. I created the folders
>> src/main/java and
>> >>> src/test/java under rest/hello_rest. When I created the class
>> files,
>> >>> eclipse
>> >>> was creating the files under the rest/src/java folder instead of
>> >>> rest/hello_rest/src/java.
>> >>>
>> >>> So now I made sure that the HelloResource.java file is located
>> under
>> the
>> >>> correct folder and there were no errors. (But I could see that the
>> >>> StringFormat and MediaType objects were not being recognized
>> correctly.)
>> >>> Also I moved the applicationContext.xml file from the resources
>> >>> folder(as
>> >>> mentioned in the tutorial) to the src/main/java folder (as you
>> >>> mentioned.).
>> >>> Also made sure the HelloResourceTest.java file is under the
>> correct
>> >>> folder.
>> >>> Now when I run mvn install under the root module I get the
>> following
>> >>> compilation error:
>> >>>
>> >>> [INFO] Compiling 1 source file to
>> >>>
>> >>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/target/classes
>> >>> [INFO]
>> >>>
>>
>> ------------------------------------------------------------------------
>> >>> [ERROR] BUILD FAILURE [INFO]
>> >>>
>>
>> ------------------------------------------------------------------------
>> >>> [INFO] Compilation failure
>> >>>
>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/src/main/java/HelloResource.java:[9,7]
>> >>> org.geoserver.hellorest.HelloResource is not abstract and does not
>> >>> override
>> >>> abstract method
>> >>>
>>
>> createSupportedFormats(org.restlet.data.Request,org.restlet.data.Response)
>> >>> in org.geoserver.rest.AbstractResource
>> >>>
>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/src/main/java/HelloResource.java:[12,38]
>> >>>
>>
>> createSupportedFormats(org.restlet.data.Request,org.restlet.data.Response)
>> >>> in org.geoserver.hellorest.HelloResource cannot override
>> >>>
>>
>> createSupportedFormats(org.restlet.data.Request,org.restlet.data.Response)
>> >>> in org.geoserver.rest.AbstractResource; attempting to use
>> incompatible
>> >>> return type found :
>> >>>
>> java.util.Map<java.lang.String,org.geoserver.rest.format.DataFormat>
>> >>> required: java.util.List<org.geoserver.rest.format.DataFormat>
>> >>>
>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/src/main/java/HelloResource.java:[14,7]
>> >>> cannot find symbol symbol : class HashMap location: class
>> >>> org.geoserver.hellorest.HelloResource
>> >>>
>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/src/main/java/HelloResource.java:[14,29]
>> >>> cannot find symbol symbol : class HashMap location: class
>> >>> org.geoserver.hellorest.HelloResource
>> >>>
>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/src/main/java/HelloResource.java:[15,31]
>> >>> cannot find symbol symbol : class StringFormat location: class
>> >>> org.geoserver.hellorest.HelloResource
>> >>>
>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/src/main/java/HelloResource.java:[15,45]
>> >>> cannot find symbol symbol : variable MediaType location: class
>> >>> org.geoserver.hellorest.HelloResource
>> >>>
>>
>>
>> /home/sabman/Documents/Projects/geoserver/src/rest/hello_rest/src/main/java/HelloResource.java:[11,4]
>> >>> method does not override or implement a method from a supertype
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> Justin Deoliveira wrote:
>> >>>
>> >>>> sabman wrote:
>> >>>>
>> >>>>> I did not copy the jar file in the WEB-INF/lib folder. I did
>> that now
>> >>>>> but
>> >>>>> its
>> >>>>> still the same.
>> >>>>>
>> >>>> Did you restart geoserver after you did?
>> >>>>
>> >>>>> There is no information related to the exception in the log
>> file.
>> >>>>> There
>> >>>>> are
>> >>>>> some errors messages in eclipse which I am listing below:
>> >>>>>
>> >>>> Yeah, there probably won't be an exception, just nothing in
>> the log
>> >>>> file.
>> >>>> It could also be that your applicationContext.xml file is in
>> the wrong
>> >>>> place. Is it under src/main/java in the root of your plugin
>> source?
>> >>>>
>> >>>> Can you do a "jar tvf hello_rest.jar" to give us a listing of the
>> >>>> files.
>> >>>> Thanks.
>> >>>>
>> >>>>> 1) In the HelloResource.java file, For this piece of code:
>> >>>>> protected Map<String, DataFormat>
>> createSupportedFormats(Request
>> >>>>> request,
>> >>>>> Response response) {
>> >>>>>
>> >>>>> HashMap formats = new HashMap();
>> >>>>> formats.put( "txt", new StringFormat(
>> MediaType.TEXT_PLAIN
>> >>>>> ));
>> >>>>>
>> >>>>> return formats;
>> >>>>> }
>> >>>>>
>> >>>>> These are the errors:
>> >>>>> @ Map<String, DataFormat> Multiple markers at this line
>> >>>>> - The return type is incompatible with
>> >>>>> AbstractResource.createSupportedFormats(Request,
>> Response)
>> >>>>> - implements
>> >>>>> org.geoserver.rest.AbstractResource.createSupportedFormats
>> >>>>> @HashMap Multiple markers at this line
>> >>>>> - HashMap cannot be resolved to a type
>> >>>>> - HashMap cannot be resolved to a type
>> >>>>>
>> >>>>> @StringFormat and @MediaType Multiple markers at this line
>> >>>>> - StringFormat cannot be resolved to a type
>> >>>>> - MediaType cannot be resolved
>> >>>>>
>> >>>> These are because the rest module is not on the classpath of your
>> >>>> module.
>> >>>> Can you run a mvn eclipse:eclipse in the root of your module
>> and then
>> >>>> refresh the project in eclipse. I think the tutorial is
>> lackign that
>> >>>> step.
>> >>>>
>> >>>>> 2) When i start geoserver from eclipse by running the
>> Start.java
>> file
>> >>>>> I
>> >>>>> see
>> >>>>> the following warning messages in the console:
>> >>>>>
>> >>>>> Jun 22, 2009 11:14:11 AM
>> >>>>> it.geosolutions.imageio.gdalframework.GDALUtilities
>> >>>>> loadGDAL
>> >>>>> WARNING: Native library load
>> failed.java.lang.UnsatisfiedLinkError:
>> no
>> >>>>> gdaljni in java.library.path
>> >>>>> ..
>> >>>>> ..
>> >>>>> log4j:WARN File option not set for appender [geoserverlogfile].
>> >>>>> log4j:WARN Are you using FileAppender instead of
>> ConsoleAppender?
>> >>>>>
>> >>>> That is normal, you can ignore that.
>> >>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> aaime wrote:
>> >>>>>
>> >>>>>> sabman ha scritto:
>> >>>>>> > I followed the instructions for the REST services available
>> >>>>>>
>> >>>>>>>
>> >>>>>>>
>>
>> http://docs.geoserver.org/1.7.x/developer/programming-guide/rest-services/implementing.html
>> >>>>>>> here . The only changes I had to make was in the pom.xml
>> file where
>> >>>>>>> i
>> >>>>>>> changed the org.geoserver versions to "1.7.5-SNAPSHOT" from
>> >>>>>>> "1.7.3-SNAPSHOT"
>> >>>>>>> (i compared it with the other pom.xml files). The
>> hello_rest module
>> >>>>>>> compiled
>> >>>>>>> successfully. I then tried testing the rest service by
>> going to the
>> >>>>>>> URL:
>> >>>>>>>
>> >>>>>>> http://localhost:8080/geoserver/rest/hello.txt
>> >>>>>>> http://localhost:8080/geoserver/rest/hello_rest/hello.txt
>> >>>>>>> http://localhost:8080/geoserver/rest/hello_rest
>> >>>>>>>
>> >>>>>>> I was not sure which one is correct so I tried all in the
>> browser.
>> >>>>>>> And
>> >>>>>>> all I
>> >>>>>>> see is this:
>> >>>>>>>
>> >>>>>>> Geoserver Configuration API
>> >>>>>>>
>> >>>>>>> * exception
>> >>>>>>>
>> >>>>>>> What am I doing wrong here?
>> >>>>>>>
>> >>>>>> Did you actually include your jar/project in the GeoServer
>> >>>>>> application
>> >>>>>> classpath? E.g, took the hello_rest jar and drop it into
>> >>>>>> geoserver/WEB-INF/lib?
>> >>>>>>
>> >>>>>> Can you look in $GEOSERVER_DATA_DIR/logs/geoserver.log and
>> see what
>> >>>>>> exception (with full strack trace) is thrown when you try to
>> access
>> >>>>>> those
>> >>>>>> URL's?
>> >>>>>>
>> >>>>>> Cheers
>> >>>>>> Andrea
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>>
>>
>> ------------------------------------------------------------------------------
>> >>>>>> Are you an open source citizen? Join us for the Open Source
>> Bridge
>> >>>>>> conference!
>> >>>>>> Portland, OR, June 17-19. Two days of sessions, one day of
>> >>>>>> unconference:
>> >>>>>> $250.
>> >>>>>> Need another reason to go? 24-hour hacker lounge. Register
>> today!
>> >>>>>>
>> >>>>>>
>>
>> http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
>> >>>>>> _______________________________________________
>> >>>>>> Geoserver-devel mailing list
>> >>>>>> [email protected]
>> <mailto:[email protected]>
>> >>>>>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>> --
>> >>>> Justin Deoliveira
>> >>>> OpenGeo - http://opengeo.org
>> >>>> Enterprise support for open source geospatial.
>> >>>>
>> >>>>
>> >>>>
>>
>>
>> ------------------------------------------------------------------------------
>> >>>> Are you an open source citizen? Join us for the Open Source
>> Bridge
>> >>>> conference!
>> >>>> Portland, OR, June 17-19. Two days of sessions, one day of
>> >>>> unconference:
>> >>>> $250.
>> >>>> Need another reason to go? 24-hour hacker lounge. Register today!
>> >>>>
>> >>>>
>>
>> http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
>> >>>> _______________________________________________
>> >>>> Geoserver-devel mailing list
>> >>>> [email protected]
>> <mailto:[email protected]>
>> >>>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>> >>>>
>> >>>>
>> >>>>
>> >>>
>> >>
>> >> --
>> >> Justin Deoliveira
>> >> OpenGeo - http://opengeo.org
>> >> Enterprise support for open source geospatial.
>> >>
>>
>> --
>> Justin Deoliveira
>> OpenGeo - http://opengeo.org
>> Enterprise support for open source geospatial.
>>
>>
>>
>>
>> --
>> Regards,
>> Sebastin
>>
>
>
> --
> Justin Deoliveira
> OpenGeo - http://opengeo.org
> Enterprise support for open source geospatial.
>
--
Regards,
Sebastin
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel