@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))
{
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);
}
}