public SchemaMeta registerSchema(String microserviceName, String schemaId, Swagger swagger) { MicroserviceMeta microserviceMeta = microserviceMetaManager.getOrCreateMicroserviceMeta(microserviceName); return registerSchema(microserviceMeta, schemaId, swagger); }
public SchemaMeta getOrCreateSchemaMeta(String appId, String microserviceName, String schemaId, Class<?> impl) { String longName = appId + ":" + microserviceName; MicroserviceMeta microserviceMeta = microserviceMetaManager.getOrCreateMicroserviceMeta(longName); SchemaMeta schemaMeta = microserviceMeta.findSchemaMeta(schemaId); if (schemaMeta != null) { return schemaMeta; } Swagger swagger = UnitTestSwaggerUtils.generateSwagger(impl).getSwagger(); return schemaLoader.registerSchema(microserviceMeta, schemaId, swagger); } }
public MicroserviceMeta getOrCreateMicroserviceMeta(Microservice microservice) { String microserviceName = microservice.getServiceName(); MicroserviceMeta microserviceMeta = getOrCreateMicroserviceMeta(microserviceName); if (!StringUtils.isEmpty(microservice.getAlias())) { if (findValue(microservice.getAlias()) == null) { register(microservice.getAlias(), microserviceMeta); } } return microserviceMeta; }
@Override public void onBootEvent(BootEvent event) { if (!event.getEventType().equals(EventType.BEFORE_REGISTRY)) { return; } MicroserviceMeta microserviceMeta = microserviceMetaManager.getOrCreateMicroserviceMeta(RegistryUtils.getMicroservice()); ServicePathManager servicePathManager = ServicePathManager.getServicePathManager(microserviceMeta); if (servicePathManager != null) { servicePathManager.buildProducerPaths(); } }
public void init() throws Exception { for (ProducerProvider provider : producerProviderList) { provider.init(); } Microservice microservice = RegistryUtils.getMicroservice(); MicroserviceMeta microserviceMeta = microserviceMetaManager.getOrCreateMicroserviceMeta(microservice); for (SchemaMeta schemaMeta : microserviceMeta.getSchemaMetas()) { String content = SchemaUtils.swaggerToString(schemaMeta.getSwagger()); microservice.addSchema(schemaMeta.getSchemaId(), content); } } }
public SchemaMeta getOrCreateProducerSchema(String microserviceName, String schemaId, Class<?> producerClass, Object producerInstance) { MicroserviceMeta microserviceMeta = microserviceMetaManager.getOrCreateMicroserviceMeta(microserviceName); ProducerSchemaContext context = new ProducerSchemaContext(); context.setMicroserviceMeta(microserviceMeta); context.setSchemaId(schemaId); context.setProviderClass(producerClass); context.setProducerInstance(producerInstance); SchemaMeta schemaMeta = getOrCreateSchema(context); SwaggerProducer producer = swaggerEnv.createProducer(producerInstance, schemaMeta.getSwagger()); for (OperationMeta operationMeta : schemaMeta.getOperations()) { SwaggerProducerOperation producerOperation = producer.findOperation(operationMeta.getOperationId()); operationMeta.putExtData(Const.PRODUCER_OPERATION, producerOperation); } return schemaMeta; }