public Map<String, String> getConfigurationFiles() { return nexusConfiguration.getConfigurationFiles(); }
/** * Get the list of configuration files in Nexus. */ @Override @GET @ResourceMethodSignature(output = ConfigurationsListResourceResponse.class) public Object get(Context context, Request request, Response response, Variant variant) throws ResourceException { ConfigurationsListResourceResponse result = new ConfigurationsListResourceResponse(); Map<String, String> configFileNames = getNexusConfiguration().getConfigurationFiles(); for (Map.Entry<String, String> entry : configFileNames.entrySet()) { ConfigurationsListResource resource = new ConfigurationsListResource(); resource.setResourceURI(createChildReference(request, this, entry.getKey()).toString()); resource.setName(entry.getValue()); result.addData(resource); } return result; } }
/** * Returns the requested Nexus configuration. The keys for various configurations should be discovered by querying * * the "/configs" resource first. This resource emits the raw configuration file used by Nexus as response body. * * @param configKey The configuration key for which we want to get the configuration. */ @Override @GET @ResourceMethodSignature(pathParams = {@PathParam("configKey")}, output = String.class) public Object get(Context context, Request request, Response response, Variant variant) throws ResourceException { String key = request.getAttributes().get(GlobalConfigurationPlexusResource.CONFIG_NAME_KEY).toString(); try { NexusStreamResponse result; if (!getNexusConfiguration().getConfigurationFiles().containsKey(key)) { throw new ResourceException(Status.CLIENT_ERROR_NOT_FOUND, "No configuration with key '" + key + "' found!"); } else { result = getNexusConfiguration().getConfigurationAsStreamByKey(key); } // TODO: make this real resource being able to be polled (ETag and last modified support) return new InputStreamRepresentation(MediaType.valueOf(result.getMimeType()), result.getInputStream()); } catch (IOException e) { throw new ResourceException(Status.SERVER_ERROR_INTERNAL, "IOException during configuration retrieval!", e); } }