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