public SParameter(SMethod sMethod, SClass type, SClass genericType, String name) { this.sMethod = sMethod; if (type == null) { throw new RuntimeException("Type cannot be null " + sMethod.getName() + "." + name); } this.type = type; this.genericType = genericType; this.name = name; }
public ObjectNode toJson(ObjectMapper OBJECT_MAPPER) { ObjectNode methodJson = OBJECT_MAPPER.createObjectNode(); methodJson.put("name", getName()); methodJson.put("doc", getDoc()); methodJson.put("returnDoc", getReturnDoc()); ArrayNode parametersJson = OBJECT_MAPPER.createArrayNode(); methodJson.set("parameters", parametersJson); for (SParameter parameter : parameters) { parametersJson.add(parameter.toJson(OBJECT_MAPPER)); } return methodJson; } }
private void genProtocolBuffersToServiceInterface(PrintWriter out, String sourceName, String targetName, SClass sType, SMethod method) { for (SField field : sType.getAllFields()) { if (sType.getInstanceClass().isAssignableFrom(List.class)) { } else if (sType.isDate()) { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(new Date(" + sourceName + "." + method.getName() + "()));"); } else if (sType.isClass()) { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(Class.forName(" + sourceName + "." + method.getName() + "()));"); } else if (sType.isDataHandler()) { out.println("\t\t\t\t" + targetName + ".setFile(new DataHandler(new ByteArrayDataSource(" + sourceName + ".getFile().toByteArray(), \"\")));"); } else if (sType.isEnum()) { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(" + method.getReturnType().getName().replace("$", ".") + ".values()[" + sourceName + "." + method.getName() + "().ordinal()]);"); } else { out.println("\t\t\t\t" + targetName + ".set" + field.getName() + "(" + sourceName + "." + method.getName() + "());"); } } }
public <T extends PublicInterface, K extends PublicInterface> Object invoke(Class<K> clazz, T service, KeyValuePair[] keyValuePairs) throws ServiceException, ReflectorException { Reflector reflector = null; if (reflectorCache.containsKey(service)) { reflector = reflectorCache.get(service); } else { reflector = this.service.getServicesMap().getReflectorFactory().createReflector(clazz, service); reflectorCache.put(service, reflector); } return reflector.callMethod(clazz.getName(), getName(), getReturnType().getInstanceClass(), keyValuePairs); }
String inputObjectName = StringUtils.firstUpperCase(method.getName()) + "Request"; String outputObjectName = StringUtils.firstUpperCase(method.getName()) + "Response"; createRequestMessage(messageBuilder, method, inputObjectName); if (method.returnsVoid()) { createResponseMessage(messageBuilder, method, outputObjectName); serviceBuilder.append("\trpc " + method.getName() + " (" + inputObjectName + ") returns (" + outputObjectName + ");\n\n");
methodBuilder.append("if (1==0) {} "); for (SMethod sMethod : sService.getMethods()) { methodBuilder.append(" else if ($2.equals(\"" + sMethod.getName() + "\")) {"); if (!sMethod.getReturnType().isVoid()) { methodBuilder.append("return "); methodBuilder.append("publicInterface." + sMethod.getName() + "("); int i=0; for (SParameter sParameter : sMethod.getParameters()) {
stringBuffer.append(StringUtils.firstUpperCase(method.getName())); stringBuffer.append(TEXT_11); stringBuffer.append(method.getReturnType().isVoid() ? "" : (method.returnTypeToJavaCode() + " result")); stringBuffer.append(method.getName()); stringBuffer.append(TEXT_8); stringBuffer.append(StringUtils.firstUpperCase(method.getName())); stringBuffer.append(TEXT_18); if (method.getReturnType().isVoid()) { stringBuffer.append(TEXT_19); stringBuffer.append(method.getName()); stringBuffer.append(TEXT_8); stringBuffer.append(method.getName()); stringBuffer.append(TEXT_8);
i++; CtMethod method = new CtMethod(pool.get(sMethod.getReturnType().toJavaCode()), sMethod.getName(), parameters, reflectorImplClass); StringBuilder methodBuilder = new StringBuilder(); methodBuilder.append("{"); methodBuilder.append("return (" + sMethod.getReturnType().toJavaCode() + ")"); methodBuilder.append("reflector.callMethod(\"" + interfaceClass.getSimpleName() + "\", \"" + sMethod.getName() + "\", " + sMethod.getReturnType().toJavaCode() + ".class"); if (sMethod.getParameters().isEmpty()) { methodBuilder.append(", new " + KeyValuePair.class.getName() + "[0]");
stringBuffer.append(method.getGenericReturnType() != null ? (method.getReturnType().toJavaCode() + "<" + method.getGenericReturnType().toJavaCode() + ">") : method.getReturnType().toJavaCode()); stringBuffer.append(TEXT_8); stringBuffer.append(method.getName()); stringBuffer.append(TEXT_9);
public synchronized SMetrics getMetrics() { SMetrics sMetrics = new SMetrics(); for (SService sService : methodStats.keySet()) { SInterfaceMetric interfaceMetric = new SInterfaceMetric(); interfaceMetric.setName(sService.getSimpleName()); sMetrics.getInterfaces().add(interfaceMetric); for (SMethod sMethod : methodStats.get(sService).keySet()) { SMethodMetric sMethodMetric = new SMethodMetric(); sMethodMetric.setName(sMethod.getName()); interfaceMetric.getMethods().add(sMethodMetric); MethodStats methodStats = getMethodStats(sMethod); sMethodMetric.setNrCalls(methodStats.getNrCalls()); sMethodMetric.setAverageMs(methodStats.getAverageNanoSecondsPerCall() / 1000000); } } return sMetrics; } }
private SServiceMethod convertMethod(SMethod sMethod) { SServiceMethod sServiceMethod = new SServiceMethod(); sServiceMethod.setName(sMethod.getName()); sServiceMethod.setDoc(sMethod.getDoc()); sServiceMethod.setReturnDoc(sMethod.getReturnDoc()); // sServiceMethod.setReturnType(sMethod.getReturnType().getName()); return sServiceMethod; }
parameters[i] = new KeyValuePair(parameter.getName(), converter.fromJson(parameter.getType(), parameter.getGenericType(), parametersJson.get(parameter.getName()))); } else { LOGGER.error("Missing parameter: " + method.getName() + " -> " + parameter.getName()); throw new UserException("Missing parameter: " + method.getName() + " -> " + parameter.getName());
parametersJson.get(parameter.getName()))); } else { LOGGER.error("Missing parameters: " + method.getName() + " -> " + parameter.getName());
String fullResultType = "void"; if (sMethod.returnsVoid()) { out.print("\tpublic void " + sMethod.getName() + "("); } else { fullResultType = sMethod.getReturnType().getName(); fullResultType = sMethod.getReturnType().getName() + "<" + sMethod.getGenericReturnType().getName() + ">"; out.print("\tpublic " + fullResultType + " " + sMethod.getName() + "("); String requestClassName = StringUtils.firstUpperCase(sMethod.getName()) + "Request"; String responseClassName = StringUtils.firstUpperCase(sMethod.getName()) + "Response"; out.println("\t\t\t" + requestClassName + ".Builder requestBuilder = " + requestClassName + ".newBuilder();"); for (SParameter parameter : sMethod.getParameters()) { out.println("\t\t\tservice." + sMethod.getName() + "(rpcController, request);"); } else { out.println("\t\t\t" + responseClassName + " response = service." + sMethod.getName() + "(rpcController, request);"); if (sMethod.isListReturnType()) { out.println("\t\t\t" + fullResultType + " realResult = new ArrayList<" + sMethod.getGenericReturnType().getName() + ">();");