abdera-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Remy Gendron" <r...@arrova.ca>
Subject Config question: servlet path and provider base?
Date Mon, 14 Apr 2008 17:39:44 GMT
Hello all,

 

As an aside, thanks again for the great work on delivering the 0.4.0. It is
really appreciated!

 

I run my tests in either the ROOT application context (“/”) or a specific
application context.

 

I wish to have my collections under a /atom path so that I can have
additional servlets mapped to other paths.

 

Thus, I would call a collection with: http://apis.example.com/
<http://apis.example.com/%3cappctx%3e/atom/:collection>
<appctx>/atom/:collection

 

I have the Abdera servlet mapped to “/atom/*”.

 

If I use a provider base of “/atom/”, then the requests are properly
resolved. However, I get a duplicate servlet path in the entry edit link.

If I use a provider base of “/”, then I get 404?

 

I guess I do not understand the provider base meaning. Things would probably
work if my adapters were initialized with a setHref() of
“/atom/<collectionName>”. But I thought that this was the purpose of the
provider base… 

 

What is the proper way of configuring Abdera to take into account a global,
centralized feed path prefix?

 

Thanks!

 

Rémy

 

    public void testGetEntryByResourceName() {

        ClientResponse resp =
getClient().get(getResolvedTestURI(getTestInfo().feedPath) + "/" +
getTestInfo().validResourceName);

        assertNotNull(resp);

        try {

            assertEquals(200, resp.getStatus());

            assertEquals(ResponseType.SUCCESS, resp.getType());

 
assertTrue(MimeTypeHelper.isMatch(resp.getContentType().toString(),
Constants.ATOM_MEDIA_TYPE));

 

            Document<Entry> doc = resp.getDocument();

            Entry entry = doc.getRoot();

            List<Entry> entries = new ArrayList<Entry>();

            entries.add(entry);

            basicEntryValidation(entries);

            

            assertEquals(getAtomConfig().getAtomIdPrefix() +
getTestInfo().feedPath + "/" + getTestInfo().validResourceName,
entry.getId().toString());

 
assertTrue(entry.getTitle().toLowerCase().startsWith(getTestInfo().validEntr
yTitle.toLowerCase()));

            String expected = getTestBaseURI() + getTestInfo().feedPath +
"/" + getTestInfo().validResourceName;

            String actual = entry.getLink("edit").getHref().toString();

            assertEquals(expected, actual);

        } finally {

            resp.release();

        }

    }


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message