Skip to content

Commit 479af3c

Browse files
committed
use getResourceHandlers() instead
1 parent ed3726d commit 479af3c

File tree

3 files changed

+17
-40
lines changed

3 files changed

+17
-40
lines changed

omod-common/src/main/java/org/openmrs/module/webservices/docs/swagger/SwaggerGenerationUtil.java

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -284,26 +284,27 @@ public static String getResourceNameBySupportedClass(Class<?> supportedClass) {
284284
}
285285

286286
public static String getSubResourceNameBySupportedClass(Class<?> supportedClass) {
287-
org.openmrs.module.webservices.rest.web.resource.api.Resource resourceHandler = getResourceHandlerForSupportedClass(supportedClass);
288-
289-
if (resourceHandler == null) {
290-
return null;
291-
}
287+
List<DelegatingResourceHandler<?>> resourceHandlers = Context.getService(RestService.class).getResourceHandlers();
288+
for (DelegatingResourceHandler<?> resourceHandler : resourceHandlers) {
289+
if (resourceHandler == null) {
290+
return null;
291+
}
292292

293-
Resource annotation = resourceHandler.getClass().getAnnotation(Resource.class);
294-
SubResource subResourceAnnotation = resourceHandler.getClass().getAnnotation(SubResource.class);
293+
Resource annotation = resourceHandler.getClass().getAnnotation(Resource.class);
294+
SubResource subResourceAnnotation = resourceHandler.getClass().getAnnotation(SubResource.class);
295295

296-
if (annotation != null && annotation.supportedClass().equals(supportedClass)) {
297-
return annotation.name().substring(annotation.name().indexOf('/') + 1);
298-
} else if (subResourceAnnotation != null && subResourceAnnotation.supportedClass().equals(supportedClass)) {
299-
Resource parentResourceAnnotation = subResourceAnnotation.parent().getAnnotation(Resource.class);
296+
if (annotation != null && annotation.supportedClass().equals(supportedClass)) {
297+
return annotation.name().substring(annotation.name().indexOf('/') + 1);
298+
} else if (subResourceAnnotation != null && subResourceAnnotation.supportedClass().equals(supportedClass)) {
299+
Resource parentResourceAnnotation = subResourceAnnotation.parent().getAnnotation(Resource.class);
300300

301-
String resourceName = subResourceAnnotation.path();
302-
String resourceParentName = parentResourceAnnotation.name().substring(
303-
parentResourceAnnotation.name().indexOf('/') + 1);
301+
String resourceName = subResourceAnnotation.path();
302+
String resourceParentName = parentResourceAnnotation.name().substring(
303+
parentResourceAnnotation.name().indexOf('/') + 1);
304304

305-
String combinedName = capitalize(resourceParentName) + capitalize(resourceName);
306-
return combinedName.replace("/", "");
305+
String combinedName = capitalize(resourceParentName) + capitalize(resourceName);
306+
return combinedName.replace("/", "");
307+
}
307308
}
308309
return null;
309310
}
@@ -397,16 +398,4 @@ public static Class<?> getGenericType(Class<?> resourceHandlerClass) {
397398

398399
return null;
399400
}
400-
401-
/**
402-
* <strong>Should</strong> return search resources for given resource class
403-
* @param resourceClass the resource class e.g. PatientIdentifier
404-
*/
405-
public static org.openmrs.module.webservices.rest.web.resource.api.Resource getResourceHandlerForSupportedClass(Class<?> resourceClass) {
406-
if (Context.getService(RestService.class).getResource(resourceClass) == null) {
407-
Context.getService(RestService.class).initialize();
408-
}
409-
return Context.getService(RestService.class).getResource(resourceClass);
410-
}
411-
412401
}

omod-common/src/main/java/org/openmrs/module/webservices/rest/web/api/RestService.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,6 @@ public interface RestService {
7878
* Initializes all Resources and Search handlers for use; called after module startup
7979
*/
8080
public void initialize();
81-
82-
/**
83-
* Retrieves the resource handler for the given supported class.
84-
*
85-
* @param resourceClass the class for which to get the resource handler
86-
* @return the corresponding Resource handler, or {@code null} if none exists
87-
*/
88-
public Resource getResource(Class<?> resourceClass);
8981

9082
/**
9183
* Returns all search handlers.

omod-common/src/main/java/org/openmrs/module/webservices/rest/web/api/impl/RestServiceImpl.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,6 @@ public void setOpenmrsClassScanner(OpenmrsClassScanner openmrsClassScanner) {
7979
this.openmrsClassScanner = openmrsClassScanner;
8080
}
8181

82-
public Resource getResource(Class<?> resourceClass) {
83-
return resourcesBySupportedClasses.get(resourceClass);
84-
}
85-
8682
public RestServiceImpl() {
8783
}
8884

0 commit comments

Comments
 (0)