@RequestMapping(path = "/metadata/config", produces = "application/json") @ResponseBody public InitializrMetadata config() { return this.metadataProvider.get(); }
@RequestMapping(path = { "/spring.tar.gz", "spring.tgz" }) public String springTgz() { String url = this.metadataProvider.get().createCliDistributionURl("tar.gz"); return "redirect:" + url; }
@RequestMapping(path = { "/spring", "/spring.zip" }) public String spring() { String url = this.metadataProvider.get().createCliDistributionURl("zip"); return "redirect:" + url; }
@ModelAttribute public BasicProjectRequest projectRequest( @RequestHeader Map<String, String> headers) { ProjectRequest request = new ProjectRequest(); request.getParameters().putAll(headers); request.initialize(this.metadataProvider.get()); return request; }
@Override public void contribute(Info.Builder builder) { Map<String, Object> details = new LinkedHashMap<>(); this.metadataProvider.get().getDependencies().getAll().forEach((dependency) -> { if (dependency.getBom() == null) { contribute(details, dependency); } }); if (!details.isEmpty()) { builder.withDetail("dependency-ranges", details); } }
public boolean isForceSsl() { if (this.forceSsl == null) { this.forceSsl = this.metadataProvider.get().getConfiguration().getEnv() .isForceSsl(); } return this.forceSsl; }
/** * Render the home page with the specified template. * @param model the model data */ protected void renderHome(Map<String, Object> model) { InitializrMetadata metadata = this.metadataProvider.get(); model.put("serviceUrl", generateAppUrl()); BeanWrapperImpl wrapper = new BeanWrapperImpl(metadata); for (PropertyDescriptor descriptor : wrapper.getPropertyDescriptors()) { if ("types".equals(descriptor.getName())) { model.put("types", removeTypes(metadata.getTypes())); } else { model.put(descriptor.getName(), wrapper.getPropertyValue(descriptor.getName())); } } // Google analytics support model.put("trackingCode", metadata.getConfiguration().getEnv().getGoogleAnalyticsTrackingCode()); }
@Override public void contribute(Info.Builder builder) { Map<String, Object> details = new LinkedHashMap<>(); this.metadataProvider.get().getConfiguration().getEnv().getBoms() .forEach((k, v) -> { if (v.getMappings() != null && !v.getMappings().isEmpty()) { Map<String, Object> bom = new LinkedHashMap<>(); v.getMappings().forEach((it) -> { String requirement = "Spring Boot " + it.determineVersionRangeRequirement(); bom.put(it.getVersion(), requirement); }); details.put(k, bom); } }); if (!details.isEmpty()) { builder.withDetail("bom-ranges", details); } }
@GetMapping(path = "/ui/dependencies", produces = "application/json") public ResponseEntity<String> dependencies( @RequestParam(required = false) String version) { List<DependencyGroup> dependencyGroups = this.metadataProvider.get() .getDependencies().getContent(); List<DependencyItem> content = new ArrayList<>(); Version requestedVersion = (StringUtils.isEmpty(version) ? null : Version.parse(version)); dependencyGroups.forEach((group) -> group.getContent().forEach((dependency) -> { if (requestedVersion != null && dependency.getVersionRange() != null) { if (dependency.match(requestedVersion)) { content.add(new DependencyItem(group.getName(), dependency)); } } else { content.add(new DependencyItem(group.getName(), dependency)); } })); String json = writeDependencies(content); return ResponseEntity.ok().contentType(MediaType.APPLICATION_JSON) .eTag(createUniqueId(json)).body(json); }
private ResponseEntity<String> serviceCapabilitiesFor( InitializrMetadataVersion version, MediaType contentType) { String appUrl = generateAppUrl(); String content = getJsonMapper(version).write(this.metadataProvider.get(), appUrl); return ResponseEntity.ok().contentType(contentType).eTag(createUniqueId(content)) .cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)).body(content); }
public ProjectRequest createProjectRequest(String... styles) { ProjectRequest request = new ProjectRequest(); request.initialize(this.projectGenerator.getMetadataProvider().get()); request.getStyle().addAll(Arrays.asList(styles)); return request; }
Assert.notNull(originalRequest.getBootVersion(), "boot version must not be null"); Map<String, Object> model = new LinkedHashMap<>(); InitializrMetadata metadata = this.metadataProvider.get();
private ResponseEntity<String> dependenciesFor(InitializrMetadataVersion version, String bootVersion) { InitializrMetadata metadata = this.metadataProvider.get(); Version v = (bootVersion != null) ? Version.parse(bootVersion) : Version.parse(metadata.getBootVersions().getDefault().getId()); DependencyMetadata dependencyMetadata = this.dependencyMetadataProvider .get(metadata, v); String content = new DependencyMetadataV21JsonMapper().write(dependencyMetadata); return ResponseEntity.ok().contentType(version.getMediaType()) .eTag(createUniqueId(content)) .cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)).body(content); }
@RequestMapping(path = "/", produces = "text/plain") public ResponseEntity<String> serviceCapabilitiesText( @RequestHeader(value = HttpHeaders.USER_AGENT, required = false) String userAgent) { String appUrl = generateAppUrl(); InitializrMetadata metadata = this.metadataProvider.get(); BodyBuilder builder = ResponseEntity.ok().contentType(MediaType.TEXT_PLAIN); if (userAgent != null) { Agent agent = Agent.fromUserAgent(userAgent); if (agent != null) { if (AgentId.CURL.equals(agent.getId())) { String content = this.commandLineHelpGenerator .generateCurlCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } if (AgentId.HTTPIE.equals(agent.getId())) { String content = this.commandLineHelpGenerator .generateHttpieCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } if (AgentId.SPRING_BOOT_CLI.equals(agent.getId())) { String content = this.commandLineHelpGenerator .generateSpringBootCliCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } } } String content = this.commandLineHelpGenerator .generateGenericCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); }
public ProjectRequestDocument createDocument(ProjectRequestEvent event) { InitializrMetadata metadata = this.metadataProvider.get(); ProjectRequest request = event.getProjectRequest();
@Test void initializeRemoteConfig() throws Exception { InitializrMetadata localMetadata = this.metadataProvider.get(); InitializrMetadata metadata = InitializrMetadataBuilder.create() .withInitializrMetadata(new UrlResource(createUrl("/metadata/config"))) .build(); // Basic assertions assertThat(metadata.getDependencies().getContent()) .hasSameSizeAs(localMetadata.getDependencies().getContent()); assertThat(metadata.getTypes().getContent()) .hasSameSizeAs(localMetadata.getTypes().getContent()); assertThat(metadata.getBootVersions().getContent()) .hasSameSizeAs(localMetadata.getBootVersions().getContent()); assertThat(metadata.getPackagings().getContent()) .hasSameSizeAs(localMetadata.getPackagings().getContent()); assertThat(metadata.getJavaVersions().getContent()) .hasSameSizeAs(localMetadata.getJavaVersions().getContent()); assertThat(metadata.getLanguages().getContent()) .hasSameSizeAs(localMetadata.getLanguages().getContent()); }
@Override public void contribute(Info.Builder builder) { Map<String, Object> details = new LinkedHashMap<>(); this.metadataProvider.get().getDependencies().getAll().forEach((d) -> { if (d.getBom() == null) { contribute(details, d); } }); if (!details.isEmpty()) { builder.withDetail("dependency-ranges", details); } }
@Override public void contribute(Info.Builder builder) { Map<String, Object> details = new LinkedHashMap<>(); this.metadataProvider.get().getConfiguration().getEnv().getBoms() .forEach((k, v) -> { if (v.getMappings() != null && !v.getMappings().isEmpty()) { Map<String, Object> bom = new LinkedHashMap<>(); v.getMappings().forEach((it) -> { String requirement = "Spring Boot " + it.determineVersionRangeRequirement(); bom.put(it.getVersion(), requirement); }); details.put(k, bom); } }); if (!details.isEmpty()) { builder.withDetail("bom-ranges", details); } }
public ProjectRequestDocument createDocument(ProjectRequestEvent event) { InitializrMetadata metadata = this.metadataProvider.get(); ProjectRequest request = event.getProjectRequest();