Its confusing and annoying and I don't really understand whats happening.
Like I mentioned earlier that the module installed successfully.  I went
through the code (instead of just blindly running the commands) to
understand whats really happening. So the test checks to see if "Hello
World" is returned. It creates the build only if the tests run successful.

I did an *mvn install* again and it installed successfully. Now this folder
was located outside of geoserver/src (I am running geoserver from source
code).

 So i created a copy of the folder inside of geoserver/src and I also did an
mvn eclipse:eclipse so that the module has the rest classpath. I then did a
*mvn install* but it gave a build failure because the tests failed. The
surefire test report said it was getting "Geoserver Configuration API"
whereas it was expecting "Hello World".

I went back to the original folder and did a mvn install and it installed
succesfully. So I deleted the copy, imported this original folder to
eclipse, did the *"mvn eclipse:eclipse*" and then  did  the mvn install but
the tests failed. :(

I re-build the module from scratch and skipped the *mvn
eclipse:eclipse*part (because I felt it was probably the cause of the
error) But all I get
now is the test failure. I do not understand how it was installing
successfully earlier (I did not look at the surefire report then). It
obviously was getting "Hello World" in return...how is it that it was
working then and not now.

On Mon, Aug 17, 2009 at 12:44 PM, Sebastin Kolman <[email protected]> wrote:

> 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
>



-- 
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

Reply via email to