/** * Retrieve detailed information about a particular module. * * @param type module type * @param name module name * @return detailed module information */ @RequestMapping(value = "/{type}/{name}", method = RequestMethod.GET) @ResponseStatus(HttpStatus.OK) public DetailedModuleRegistrationResource info( @PathVariable("type") ArtifactType type, @PathVariable("name") String name) { Assert.isTrue(type != ArtifactType.library, "Only modules are supported by this endpoint"); ArtifactRegistration registration = registry.find(name, type); if (registration == null) { return null; } DetailedModuleRegistrationResource result = new DetailedModuleRegistrationResource(moduleAssembler.toResource(registration)); Resource resource = moduleResolver.resolve(adapt(registration.getCoordinates())); List<ConfigurationMetadataProperty> properties = moduleConfigurationMetadataResolver.listProperties(resource); for (ConfigurationMetadataProperty property : properties) { result.addOption(property); } return result; }