private void buildSubReasource(ResourceRecord record,
List<MethodMetadata> subResourceLocators,
SubResources subResources,
boolean isLocator) {
for (MethodMetadata subResourceLocator : subResourceLocators) {
SubResource subResource = resourcesObjectFactory.createSubResource();
UriTemplateProcessor uriTemplate = record.getTemplateProcessor();
subResource.setUri(SLASH + uriTemplate.getTemplate() + subResourceLocator.getPath());
if (isLocator) {
subResource.setType("Locator"); //$NON-NLS-1$
} else {
subResource.setType("Method"); //$NON-NLS-1$
subResource.setMethod(subResourceLocator.getHttpMethod().toString());
}
org.apache.wink.common.internal.model.admin.AcceptMediaTypes acceptMediaTypes =
resourcesObjectFactory.createAcceptMediaTypes();
buildCunsumeMimeTypes(subResourceLocator, acceptMediaTypes);
subResource.setAcceptMediaTypes(acceptMediaTypes);
// Add produce mime types
org.apache.wink.common.internal.model.admin.ProducedMediaTypes producedMediaTypes =
resourcesObjectFactory.createProducedMediaTypes();
buildProduceMimeTypes(subResourceLocator, producedMediaTypes);
subResource.setProducedMediaTypes(producedMediaTypes);
// Add Query Parameters
QueryParameters qParams = resourcesObjectFactory.createQueryParameters();
buildQueryParams(subResourceLocator, qParams);
subResource.setQueryParameters(qParams);
// Add Matrinx Parameters
MatrixParameters mParams = resourcesObjectFactory.createMatrixParameters();
buildMatrixParams(subResourceLocator, mParams);
subResource.setMatrixParameters(mParams);
subResources.getSubResource().add(subResource);
}
}