if (versions == null) {
throw new CmisRuntimeException("Versions are null!");
}
ObjectInfo objectInfo = service.getObjectInfo(repositoryId, objectId);
if (objectInfo == null) {
throw new CmisRuntimeException("Version Series Info is missing!");
}
// set headers
response.setStatus(HttpServletResponse.SC_OK);
response.setContentType(Constants.MEDIATYPE_FEED);
// write XML
AtomFeed feed = new AtomFeed();
feed.startDocument(response.getOutputStream());
feed.startFeed(true);
// write basic Atom feed elements
feed.writeFeedElements(objectInfo.getId(), objectInfo.getCreatedBy(), objectInfo.getName(), objectInfo
.getLastModificationDate(), null, null);
// write links
UrlBuilder baseUrl = compileBaseUrl(request, repositoryId);
feed.writeServiceLink(baseUrl.toString(), repositoryId);
feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_VERSIONS, objectInfo.getId()), null);
feed.writeViaLink(compileUrl(baseUrl, RESOURCE_ENTRY, objectId));
// write entries
AtomEntry entry = new AtomEntry(feed.getWriter());