*/
@GET
@Produces(MediaTypeUtils.OPENSEARCH)
public OpenSearchDescription getOpenSearch(@Context UriInfo info) {
String baseUri = info.getAbsolutePath().toString();
OpenSearchDescription openSearchDescription = new OpenSearchDescription();
openSearchDescription.setShortName("HP Defect Manager search engine");
openSearchDescription.setDescription("You can search defects in HP Defect Manager");
openSearchDescription.setLongName("HP Defect Manager search engine");
openSearchDescription.setContact("john.smith@example.com");
openSearchDescription.setDeveloper("John Smith");
openSearchDescription.addLanguage("en-US");
openSearchDescription.setTags("defect bug");
openSearchDescription.addInputEncoding("UTF-8");
openSearchDescription.addOutputEncoding("UTF-8");
// set OpenSearch URL parameters
OpenSearchParameter severityParameter =
new OpenSearchParameter(SEVERIIY, URN_SEVERIIY, false);
OpenSearchParameter ftsParameter =
new OpenSearchParameter(FTS, OpenSearchParameter.OpenSearchParams.searchTerms
.toString(), false);
OpenSearchParameter assignedToParameter =
new OpenSearchParameter(ASSIGNED_TO, URN_ASSIGNED_TO, false);
// create Search URL & populate search parameters for browsers
OpenSearchUrl openSearchUrlForBrowsers = new OpenSearchUrl();
openSearchUrlForBrowsers.addOpenSearchParameter(ftsParameter);
openSearchUrlForBrowsers.setType(MediaType.TEXT_HTML);
// create Search URL & populate search parameters
OpenSearchUrl openSearchUrl = new OpenSearchUrl();
openSearchUrl.addOpenSearchParameter(severityParameter);
openSearchUrl.addOpenSearchParameter(ftsParameter);
openSearchUrl.addOpenSearchParameter(assignedToParameter);
openSearchUrl.setType(MediaType.TEXT_HTML);
// create open search base uri
StringBuilder openSearchUrlBuilder = new StringBuilder(baseUri);
openSearchUrl.setBaseUri(openSearchUrlBuilder.toString());
openSearchUrlForBrowsers.setBaseUri(openSearchUrlBuilder.toString());
// add URLs to OpenSearch
openSearchDescription.addUrl(openSearchUrlForBrowsers);
openSearchDescription.addUrl(openSearchUrl);
// add OpenSearch Query element
OpenSearchQuery openSearchQuery = new OpenSearchQuery();
openSearchQuery.setRole(OpenSearchQuery.QueryRole.example.toString());
openSearchQuery.setSearchTerms("Search Terms");
openSearchDescription.addQuery(openSearchQuery);
// add OpenSearch Images
OpenSearchImage openSearchImage;
openSearchImage =
OpenSearchUtils.createOpenSearchImage(MediaTypeUtils.IMAGE_JPEG, openSearchUrlBuilder
.toString() + "splash.jpg");
openSearchDescription.addNewImage(openSearchImage);
return openSearchDescription;
}