private APIReferenceBuilder(final String fileName) { result = new APIReference(); result.fileName = fileName; }
@Override public String toString() { return getFileName(); }
@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 APIReference transform(final Context context, final Map<String, Object> source) { final Boolean versionable = getValue(source, "versionable", Boolean.class); final Boolean async = getValue(source, "async", Boolean.class); final APIReference result = APIReference.builder(getValue(source, "fileName", String.class))// .description(getValue(source, "description", String.class))// .namespace(getValue(source, "namespace", String.class))// .path(getValue(source, "path", String.class))// .versionable(versionable == null ? Boolean.FALSE.booleanValue() : versionable.booleanValue())// .async(async == null ? Boolean.FALSE.booleanValue() : async.booleanValue())// .packageName(getValue(source, "packageName", String.class))// .build(); if (source.containsKey("id")) { LOG.warn("'id' attribute for api reference is deprecated " + "as it was not used, attribute will be removed in next major version"); } return result; }
@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(); }