Author: bill.burke(a)jboss.com
Date: 2011-01-06 10:55:56 -0500 (Thu, 06 Jan 2011)
New Revision: 10107
Modified:
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/QueueResource.java
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/TopicResource.java
Log:
add atom link to queue/topic media type for all interactions
Modified:
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/QueueResource.java
===================================================================
---
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/QueueResource.java 2011-01-05
16:30:39 UTC (rev 10106)
+++
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/QueueResource.java 2011-01-06
15:55:56 UTC (rev 10107)
@@ -36,12 +36,19 @@
public Response get(@Context UriInfo uriInfo)
{
+ StringBuilder msg = new StringBuilder();
+ msg.append("<queue>")
+
.append("<name>").append(destination).append("</name>")
+ .append("<atom:link rel=\"create\"
href=\"").append(createSenderLink(uriInfo)).append("\"/>")
+ .append("<atom:link rel=\"create-with-id\"
href=\"").append(createSenderWithIdLink(uriInfo)).append("\"/>")
+ .append("<atom:link rel=\"pull-consumers\"
href=\"").append(createConsumersLink(uriInfo)).append("\"/>")
+ .append("<atom:link rel=\"push-consumers\"
href=\"").append(createPushConsumersLink(uriInfo)).append("\"/>")
- String msg = "<queue>"
- + "<name>" + destination + "</name>"
- + "</queue>";
- Response.ResponseBuilder builder = Response.ok(msg);
+ .append("</queue>");
+
+ Response.ResponseBuilder builder = Response.ok(msg.toString());
setSenderLink(builder, uriInfo);
+ setSenderWithIdLink(builder, uriInfo);
setConsumersLink(builder, uriInfo);
setPushConsumersLink(builder, uriInfo);
return builder.build();
@@ -61,35 +68,59 @@
protected void setSenderLink(Response.ResponseBuilder response, UriInfo info)
{
+ String uri = createSenderLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response, "create",
"create", uri, null);
+ }
+
+ protected String createSenderLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("create");
String uri = builder.build().toString();
- serviceManager.getLinkStrategy().setLinkHeader(response, "create",
"create", uri, null);
+ return uri;
}
protected void setSenderWithIdLink(Response.ResponseBuilder response, UriInfo info)
{
+ String uri = createSenderWithIdLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response,
"create-with-id", "create-with-id", uri, null);
+ }
+
+ protected String createSenderWithIdLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("create");
String uri = builder.build().toString();
uri += "/{id}";
- serviceManager.getLinkStrategy().setLinkHeader(response,
"create-with-id", "create-with-id", uri, null);
+ return uri;
}
protected void setConsumersLink(Response.ResponseBuilder response, UriInfo info)
{
+ String uri = createConsumersLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response,
"pull-consumers", "pull-consumers", uri, null);
+ }
+
+ protected String createConsumersLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("pull-consumers");
String uri = builder.build().toString();
- serviceManager.getLinkStrategy().setLinkHeader(response,
"pull-consumers", "pull-consumers", uri, null);
+ return uri;
}
protected void setPushConsumersLink(Response.ResponseBuilder response, UriInfo info)
{
+ String uri = createPushConsumersLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response,
"push-consumers", "push-consumers", uri, null);
+ }
+
+ protected String createPushConsumersLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("push-consumers");
String uri = builder.build().toString();
- serviceManager.getLinkStrategy().setLinkHeader(response,
"push-consumers", "push-consumers", uri, null);
+ return uri;
}
Modified:
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/TopicResource.java
===================================================================
---
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/TopicResource.java 2011-01-05
16:30:39 UTC (rev 10106)
+++
trunk/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/TopicResource.java 2011-01-06
15:55:56 UTC (rev 10107)
@@ -37,12 +37,19 @@
public Response get(@Context UriInfo uriInfo)
{
+ StringBuilder msg = new StringBuilder();
+ msg.append("<topic>")
+
.append("<name>").append(destination).append("</name>")
+ .append("<atom:link rel=\"create\"
href=\"").append(createSenderLink(uriInfo)).append("\"/>")
+ .append("<atom:link rel=\"create-with-id\"
href=\"").append(createSenderWithIdLink(uriInfo)).append("\"/>")
+ .append("<atom:link rel=\"pull-consumers\"
href=\"").append(createSubscriptionsLink(uriInfo)).append("\"/>")
+ .append("<atom:link rel=\"push-consumers\"
href=\"").append(createPushSubscriptionsLink(uriInfo)).append("\"/>")
- String msg = "<topic>"
- + "<name>" + destination + "</name>"
- + "</topic>";
- Response.ResponseBuilder builder = Response.ok(msg);
+ .append("</topic>");
+
+ Response.ResponseBuilder builder = Response.ok(msg.toString());
setSenderLink(builder, uriInfo);
+ setSenderWithIdLink(builder, uriInfo);
setSubscriptionsLink(builder, uriInfo);
setPushSubscriptionsLink(builder, uriInfo);
return builder.build();
@@ -62,35 +69,59 @@
protected void setSenderLink(Response.ResponseBuilder response, UriInfo info)
{
+ String uri = createSenderLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response, "create",
"create", uri, null);
+ }
+
+ protected String createSenderLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("create");
String uri = builder.build().toString();
- serviceManager.getLinkStrategy().setLinkHeader(response, "create",
"create", uri, null);
+ return uri;
}
protected void setSenderWithIdLink(Response.ResponseBuilder response, UriInfo info)
{
+ String uri = createSenderWithIdLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response,
"create-with-id", "create-with-id", uri, null);
+ }
+
+ protected String createSenderWithIdLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("create");
String uri = builder.build().toString();
uri += "/{id}";
- serviceManager.getLinkStrategy().setLinkHeader(response,
"create-with-id", "create-with-id", uri, null);
+ return uri;
}
protected void setSubscriptionsLink(Response.ResponseBuilder response, UriInfo info)
{
+ String uri = createSubscriptionsLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response,
"pull-subscriptions", "pull-subscriptions", uri, null);
+ }
+
+ protected String createSubscriptionsLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("pull-subscriptions");
String uri = builder.build().toString();
- serviceManager.getLinkStrategy().setLinkHeader(response,
"pull-subscriptions", "pull-subscriptions", uri, null);
+ return uri;
}
protected void setPushSubscriptionsLink(Response.ResponseBuilder response, UriInfo
info)
{
+ String uri = createPushSubscriptionsLink(info);
+ serviceManager.getLinkStrategy().setLinkHeader(response,
"push-subscriptions", "push-subscriptions", uri, null);
+ }
+
+ protected String createPushSubscriptionsLink(UriInfo info)
+ {
UriBuilder builder = info.getRequestUriBuilder();
builder.path("push-subscriptions");
String uri = builder.build().toString();
- serviceManager.getLinkStrategy().setLinkHeader(response,
"push-subscriptions", "push-subscriptions", uri, null);
+ return uri;
}