protected String getPackage() { return context != null ? context.getPackageName() + DOT + ramlFile.getVersion() : dynamicNameSpace; }
public String getBaseUri(Raml raml) { if (baseUri != null) { return baseUri; } String baseUri = raml.getBaseUri().replace("{version}", raml.getVersion()); if (baseUriParameters != null) { for (final String param : baseUriParameters.split(",")) { final String[] keyValue = param.split("="); if (keyValue.length != 2) { throw new IllegalArgumentException("baseUriParameters must be of the form 'key1=value1,key2=value2,...' but is '" + baseUriParameters + "'"); } baseUri = baseUri.replace("{" + keyValue[0] + "}", keyValue[1]); } } if (baseUri.contains("{")) { throw new IllegalArgumentException("Unresolved baseUri: '" + baseUri + "'. Use 'baseUri' or 'baseUriParameters' parameters to specify it."); } return baseUri; }
if (raml.getVersion() != null) { definition.setVersion(raml.getVersion().substring(1));
if (raml.getVersion() != null) { definition.setVersion(raml.getVersion().substring(1));
if (raml.getVersion() != null) { definition.setVersion(raml.getVersion().substring(1));
if (raml.getVersion() != null) { definition.setVersion(raml.getVersion().substring(1));
if (raml.getVersion() != null) { definition.setVersion(raml.getVersion().substring(1));
@Test public void apiLevelDocs() { processResource("ApiLevelDocs.java", "raml", "all"); AssertJUnit.assertEquals("ApiLevelDocs should have produced exactly 1 results document", 1, output.size()); Map.Entry<String,String> entry = output.entrySet().iterator().next(); AssertJUnit.assertTrue("expected file named ApiLevelDocs-UltimateApi.raml", entry.getKey().endsWith("ApiLevelDocs-UltimateApi.raml")); Raml raml = new RamlDocumentBuilder().build(entry.getValue(), "http://example.com"); AssertJUnit.assertNotNull("RAML not parseable", raml); AssertJUnit.assertEquals("RAML title is incorrect", "The Ultimate REST API", raml.getTitle()); AssertJUnit.assertEquals("RAML version is incorrect", "v1", raml.getVersion()); AssertJUnit.assertEquals("RAML baseUri is incorrect", "/ultimate/api/v1", raml.getBaseUri()); List<DocumentationItem> documentation = raml.getDocumentation(); AssertJUnit.assertNotNull("RAML has no documentation items", documentation); AssertJUnit.assertEquals("RAML has too many documentation items", 1, documentation.size()); AssertJUnit.assertEquals("RAML documentation item has wrong title", "Overview", documentation.get(0).getTitle()); AssertJUnit.assertEquals("RAML documentation item has wrong content", "Some documentation of the API itself.", documentation.get(0).getContent().trim()); }
AssertJUnit.assertNotNull("RAML for MultiApiLevelDocs-RestApi1.raml not parseable", raml); AssertJUnit.assertEquals("RAML title is incorrect", "The RestApi1 API", raml.getTitle()); AssertJUnit.assertEquals("RAML version is incorrect", "v1", raml.getVersion()); AssertJUnit.assertEquals("RAML baseUri is incorrect", "/restapi1/api/v1", raml.getBaseUri()); List<DocumentationItem> documentation = raml.getDocumentation(); AssertJUnit.assertNotNull("RAML for MultiApiLevelDocs-RestApi2.raml not parseable", raml); AssertJUnit.assertEquals("RAML title is incorrect", "The RestApi2 API", raml.getTitle()); AssertJUnit.assertEquals("RAML version is incorrect", "v1", raml.getVersion()); AssertJUnit.assertEquals("RAML baseUri is incorrect", "/restapi2/api/v1", raml.getBaseUri()); documentation = raml.getDocumentation();
@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); } }