abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James M Snell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (ABDERA-101) Issue with collection resolved href?
Date Wed, 06 Feb 2008 18:35:08 GMT

    [ https://issues.apache.org/jira/browse/ABDERA-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566258#action_12566258
] 

James M Snell commented on ABDERA-101:
--------------------------------------

Well, IRI is acting correctly.  The problem is the DefaultProvider.  If you look at the generated
service document, it is not properly taking the context path into account when generating
the collection URIs.  The CustomProvider example, by contrast, has no problem with this. 
I'll be taking a look and fixing this shortly

> Issue with collection resolved href?
> ------------------------------------
>
>                 Key: ABDERA-101
>                 URL: https://issues.apache.org/jira/browse/ABDERA-101
>             Project: Abdera
>          Issue Type: Bug
>    Affects Versions: 0.3.0
>            Reporter: Remy Gendron
>
> Hi all,
> Am I missing something here? I'm setting up an example project for the development team....
> I initialize my provider with a base of "/", which is the default value anyway.
> My adapters are given a relative href (setHref()) when initialized in the provider. (eg
"actors")
> I start Jetty in my unit tests with an application context of "/imdb".
> The following unit test fails because when I retrieve the HREF property for the actors
collection it is now an absolute path ("/actors").
> When IRI.resolve(IRI b, IRI c) is called, c is absolute. My collection thus returns an
href of http://localhost:9002/actors instead of http://localhost:9002/imdb/actors. 
> Here's the thread stack:
> Thread [main] (Suspended)	
> 	IRI.resolve(IRI, IRI) line: 442	
> 	IRI.resolve(IRI) line: 555	
> 	FOMCollection(FOMElement)._resolve(IRI, IRI) line: 337	
> 	FOMCollection.getResolvedHref() line: 138	
> 	ImdbRestTest.testGetService() line: 43	
> And the unit test:
> public class ImdbRestTest extends AbstractRestTest {
>     @Test
>     public void testGetService() throws IOException {
>         ClientResponse resp = client.get(getTestBaseURI());
>         assertNotNull(resp);
>         try {
>             assertEquals(200, resp.getStatus());
>             assertEquals(ResponseType.SUCCESS, resp.getType());
>             assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(), Constants.APP_MEDIA_TYPE));
>             Document<Service> doc = resp.getDocument();
>             try {
>                 // prettyPrint(doc);
>             } catch (Exception e) {
>             }
>             Service service = doc.getRoot();
>             // prettyPrint(service);
>             assertEquals(1, service.getWorkspaces().size());
>             Workspace workspace = service.getWorkspaces().get(0);
>             assertEquals(3, workspace.getCollections().size());
>             for (Collection collection : workspace.getCollections()) {
>                 if (collection.getTitle().startsWith(ImdbConstants.ACTORS_FEED)) {
>                     assertEquals(getTestBaseURI() + "/" + ImdbConstants.ACTORS_FEED,
collection.getResolvedHref().toString());
>                 }
>             }
>         } finally {
>             resp.release();
>         }
>     }
> }
> Rémy

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message