.path("packages/{packageName}/versions/{version}").build(p.getName(), Long.toString(p.getVersionNumber()));
} else {
baseURL = uriInfo.getBaseUriBuilder().path("packages/{packageName}").build(p.getName());
}
Factory factory = Abdera.getNewFactory();
org.apache.abdera.model.Entry e = factory.getAbdera().newEntry();
e.setTitle(p.getTitle());
e.setSummary(p.getDescription());
e.setPublished(new Date(p.getLastModified().getTimeInMillis()));
e.setBaseUri(baseURL.toString());
e.addAuthor(p.getLastContributor());
e.setId(baseURL.toString());
Iterator<AssetItem> i = p.getAssets();
while (i.hasNext()) {
AssetItem item = i.next();
org.apache.abdera.model.Link l = factory.newLink();
l.setHref(UriBuilder.fromUri(baseURL).path("assets/{assetName}").build(item.getName()).toString());
l.setTitle(item.getTitle());
l.setRel("asset");
e.addLink(l);
}
//generate meta data
ExtensibleElement extension = e.addExtension(METADATA);
ExtensibleElement childExtension = extension.addExtension(ARCHIVED);
//childExtension.setAttributeValue("type", ArtifactsRepository.METADATA_TYPE_STRING);
childExtension.addSimpleExtension(VALUE, p.isArchived() ? "true" : "false");
childExtension = extension.addExtension(UUID);
childExtension.addSimpleExtension(VALUE, p.getUUID());
childExtension = extension.addExtension(STATE);
childExtension.addSimpleExtension(VALUE, p.getState() == null ? "" : p.getState().getName());
org.apache.abdera.model.Content content = factory.newContent();
content.setSrc(UriBuilder.fromUri(baseURL).path("binary").build().toString());
content.setMimeType("application/octet-stream");
content.setContentType(Type.MEDIA);
e.setContentElement(content);