public Set<Class<? extends PublicInterface>> getInterfaceClasses() { Set<Class<? extends PublicInterface>> result = new LinkedHashSet<Class<? extends PublicInterface>>(); for (SService sService : servicesByName.values()) { result.add((Class<? extends PublicInterface>) sService.getInterfaceClass()); } return result; }
private void createCreateReflectorMethod2(CtClass reflectorFactoryImpl) throws NotFoundException, CannotCompileException { CtClass[] parameters = new CtClass[2]; parameters[0] = pool.get(Class.class.getName()); parameters[1] = pool.get(PublicInterface.class.getName()); CtMethod method = new CtMethod(pool.get(Reflector.class.getName()), "createReflector", parameters, reflectorFactoryImpl); StringBuilder methodBuilder = new StringBuilder(); methodBuilder.append("{"); methodBuilder.append("if (1==0) {"); for (String name : servicesMap.keySetName()) { SService sService = servicesMap.getByName(name); methodBuilder.append("} else if ($1.getSimpleName().equals(\"" + sService.getSimpleName() + "\")) {"); methodBuilder.append("return new " + GENERATED_CLASSES_PACKAGE + "." + sService.getSimpleName() + "Reflector" + implementationCounter + "((" + sService.getInterfaceClass().getName() + ")$2);"); } methodBuilder.append("}"); methodBuilder.append("return null;"); methodBuilder.append("}"); method.setBody(methodBuilder.toString()); reflectorFactoryImpl.addMethod(method); }
public ReflectorFactory newReflectorFactory() { implementationCounter++; try { pool = ClassPool.getDefault(); pool.insertClassPath(new ClassClassPath(this.getClass())); for (String name : servicesMap.keySetName()) { SService sService = servicesMap.getByName(name); build1((Class<? extends PublicInterface>) sService.getInterfaceClass(), sService); build2((Class<? extends PublicInterface>) sService.getInterfaceClass(), sService); } CtClass reflectorFactoryImpl = pool.makeClass("org.bimserver.reflector.ReflectorFactoryImpl" + implementationCounter); reflectorFactoryImpl.addInterface(pool.get(ReflectorFactory.class.getName())); createCreateReflectorMethod1(reflectorFactoryImpl); createCreateReflectorMethod2(reflectorFactoryImpl); Class<?> class1 = pool.toClass(reflectorFactoryImpl, getClass().getClassLoader(), getClass().getProtectionDomain()); return (ReflectorFactory) class1.newInstance(); } catch (Exception e) { LOGGER.error("", e); } return null; }
stringBuffer.append(sService.getInterfaceClass().getName()); stringBuffer.append(TEXT_5); stringBuffer.append(sService.getInterfaceClass().getSimpleName()); stringBuffer.append(TEXT_6); stringBuffer.append(sService.getInterfaceClass().getSimpleName()); stringBuffer.append(TEXT_7); stringBuffer.append(sService.getInterfaceClass().getSimpleName()); stringBuffer.append(TEXT_8); stringBuffer.append(sService.getInterfaceClass().getSimpleName()); stringBuffer.append(TEXT_9);
for (SService service : servicesMap.list()) { AdaptorGeneratorWrapper adaptorGeneratorWrapper = new AdaptorGeneratorWrapper(); adaptorGeneratorWrapper.generate(service.getInterfaceClass(), service); AsyncServiceGeneratorWrapper asyncServiceGeneratorWrapper = new AsyncServiceGeneratorWrapper(); asyncServiceGeneratorWrapper.generate(service.getInterfaceClass(), service); File protoFile = new File("../BimServerClientLib/src/org/bimserver/client/protocolbuffers/" + service.getInterfaceClass().getSimpleName() + ".proto"); File descFile = new File("../BimServerClientLib/src/org/bimserver/client/protocolbuffers/" + service.getInterfaceClass().getSimpleName() + ".desc"); protocolBuffersGenerator.generate(service.getInterfaceClass(), protoFile, descFile, this.knownServices.isEmpty(), service, knownShortNames); this.knownServices.add(service); this.knownShortNames.add(service.getInterfaceClass().getSimpleName());
stringBuffer.append(sService.getSimpleName()); stringBuffer.append(TEXT_5); stringBuffer.append(sService.getInterfaceClass().getName()); stringBuffer.append(TEXT_6);
PublicInterface service = getServiceInterface(httpRequest, bimServer, sService.getInterfaceClass(), methodName, jsonToken, oAuthCode); String oldThreadName = Thread.currentThread().getName(); Thread.currentThread().setName(interfaceName + "." + methodName); Recording recording = bimServer.getMetricsRegistry().startRecording(sService, method); Object result = method.invoke(sService.getInterfaceClass(), service, parameters);
method.invoke(sService.getInterfaceClass(), service, parameters); } catch (ServiceException e) { LOGGER.error("", e);
Class<? extends PublicInterface> clazz = sService.getInterfaceClass(); PublicInterface service = null; if (token.equals("")) {