public void getActionMethodNames( ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException { PrintWriter printWriter = resourceResponse.getWriter(); JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); String contextName = ParamUtil.getString(resourceRequest, "contextName"); Map<String, Set<JSONWebServiceActionMapping>> jsonWebServiceActionMappingsMap = getServiceJSONWebServiceActionMappingsMap(contextName); String serviceClassName = ParamUtil.getString(resourceRequest, "serviceClassName"); Set<JSONWebServiceActionMapping> jsonWebServiceActionMappingsSet = jsonWebServiceActionMappingsMap.get(serviceClassName); for (JSONWebServiceActionMapping jsonWebServiceActionMapping : jsonWebServiceActionMappingsSet) { JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); Method method = jsonWebServiceActionMapping.getActionMethod(); String actionMethodName = method.getName(); jsonObject.put("actionMethodName", actionMethodName); jsonArray.put(jsonObject); } printWriter.write(jsonArray.toString()); }
protected JSONArray getServiceClassNamesToContextNamesJSONArray() { JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); Set<String> contextNames = _jsonWebServiceActionsManager.getContextNames(); for (String contextName : contextNames) { Map<String, Set<JSONWebServiceActionMapping>> jsonWebServiceActionMappingsMap = getServiceJSONWebServiceActionMappingsMap(contextName); for (Map.Entry<String, Set<JSONWebServiceActionMapping>> entry : jsonWebServiceActionMappingsMap.entrySet()) { JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); jsonObject.put("serviceClassName", entry.getKey()); Set<JSONWebServiceActionMapping> jsonWebServiceActionMappingsSet = entry.getValue(); Iterator<JSONWebServiceActionMapping> iterator = jsonWebServiceActionMappingsSet.iterator(); JSONWebServiceActionMapping firstJSONWebServiceActionMapping = iterator.next(); jsonObject.put("contextName", firstJSONWebServiceActionMapping.getContextName()); jsonArray.put(jsonObject); } } return jsonArray; }
protected Map<String, Set<JSONWebServiceActionMapping>> getServiceJSONWebServiceActionMappingsMap( String contextName) { Map<String, Set<JSONWebServiceActionMapping>> jsonWebServiceActionMappingsMap = new LinkedHashMap<>(); List<JSONWebServiceActionMapping> jsonWebServiceActionMappings = _jsonWebServiceActionsManager.getJSONWebServiceActionMappings(contextName); for (JSONWebServiceActionMapping jsonWebServiceActionMapping : jsonWebServiceActionMappings) { Object actionObject = jsonWebServiceActionMapping.getActionObject(); Class<?> serviceClass = actionObject.getClass(); Class[] serviceInterfaces = serviceClass.getInterfaces(); for (Class<?> serviceInterface : serviceInterfaces) { Annotation[] declaredAnnotations = serviceInterface.getDeclaredAnnotations(); for (Annotation declaredAnnotation : declaredAnnotations) { if (!(declaredAnnotation instanceof AccessControlled)) { continue; } String serviceClassName = serviceInterface.getName(); Set<JSONWebServiceActionMapping> jsonWebServiceActionMappingsSet = jsonWebServiceActionMappingsMap.get(serviceClassName); if (jsonWebServiceActionMappingsSet == null) { jsonWebServiceActionMappingsSet = new LinkedHashSet<>(); jsonWebServiceActionMappingsMap.put(serviceClassName, jsonWebServiceActionMappingsSet); } jsonWebServiceActionMappingsSet.add(jsonWebServiceActionMapping); } } } return jsonWebServiceActionMappingsMap; }