private APIGroupBuilder() { result = new APIGroup(); }
private API getFirstApi(final APIGroup apis) { return Iterables.getFirst(apis.getApis(), null); }
@Override public APIGroup transform(final Context context, final org.raml.model.Raml source, final APIReference reference, final File globalSchemaStore) { final APINamespaceBuilder namespaceBuilder = APINamespace.builder(); namespaceBuilder.namespace(reference.getNamespace()); namespaceBuilder.packageName(reference.getPackageName()); namespaceBuilder.path(reference.getPath()); namespaceBuilder.version(source.getVersion()); namespaceBuilder.versionable(reference.isVersionable()); final APINamespace namespace = namespaceBuilder.build(); try (final JSONSchemaStore store = new JSONSchemaStore(source, globalSchemaStore, context)) { // Determine all of the root paths, and create one api per path final APIGroupBuilder groupBuilder = APIGroup.builder(); groupBuilder.namespace(namespace); for (final org.raml.model.Resource sourceResourceRoot : source.getResources().values()) { groupBuilder.api(transformAPI(context, source, sourceResourceRoot, store, namespace, reference.isAsync())); } return groupBuilder.build(); } catch (final IOException e) { throw new IllegalArgumentException(e); } }
@Override public APIGroup transform(final SwaggerAPIListing source, final APIReference reference) { final APINamespace namespace = APINamespace.builder()// .namespace(reference.getNamespace())// .packageName(reference.getPackageName())// .path(reference.getPath())// .version(source.getApiVersion())// .versionable(reference.isVersionable())// .build(); final APIBuilder apiBuilder = API.builder(); apiBuilder.name(source.getDescription() == null ? source.getFileName() : source.getDescription()); apiBuilder.qualifier(transformAPIQualifier(source.getFileName())); apiBuilder.description(source.getDescription()); apiBuilder.path(source.getResourcePath()); for (final SwaggerAPI sourceResource : source.getApis()) { final Resource targetResource = transformResource(sourceResource); apiBuilder.resources(targetResource); } return APIGroup.builder().api(apiBuilder.build()).namespace(namespace).build(); }
protected Raml buildRamlModel(final APIGroup apis) { final Raml raml = new Raml(); final API api = getFirstApi(apis); Preconditions.checkNotNull(api); raml.setBaseUri(api.getBaseUri()); raml.setVersion(api.getNamespace().getVersion()); // TODO raml.setSchemas(schemaResolver.resolve(api.getTypes())); // raml.setSecuredBy(); // raml.setSecuritySchemes(); raml.setDocumentation(documentationResolver.resolve(api)); // raml.setSchemas(); raml.setTitle(api.getName()); final ImmutableMap.Builder<String, org.raml.model.Resource> resources = ImmutableMap.builder(); for (final API singleApi : apis.getApis()) { resources.put(extractTrailingRoot(singleApi), createTopLevelResource(singleApi)); } raml.setResources(resources.build()); return raml; }