@@ -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}
0 commit comments