@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(); }
public static APINamespaceBuilder builder() { return new APINamespaceBuilder(); }