Search in sources :

Example 11 with Configuration

use of org.apache.nifi.minifi.c2.api.Configuration in project nifi-minifi by apache.

the class ConfigService method initConfigurationProviderValue.

public ConfigurationProviderValue initConfigurationProviderValue(ConfigurationProviderKey key) {
    if (logger.isDebugEnabled()) {
        logger.debug("Attempting to load and cache configuration with key " + key);
    }
    try {
        List<MediaType> acceptValues = key.getAcceptValues();
        Pair<MediaType, ConfigurationProvider> providerPair = getProvider(acceptValues);
        Map<String, List<String>> parameters = key.getParameters();
        Integer version = null;
        List<String> versionList = parameters.get("version");
        if (versionList != null && versionList.size() > 0) {
            try {
                version = Integer.parseInt(versionList.get(0));
            } catch (NumberFormatException e) {
                throw new InvalidParameterException("Unable to parse " + version + " as integer.", e);
            }
        }
        return new ConfigurationProviderValue(providerPair.getSecond().getConfiguration(providerPair.getFirst().toString(), version, parameters), providerPair.getFirst(), null);
    } catch (ConfigurationProviderException e) {
        return new ConfigurationProviderValue(null, null, e);
    }
}
Also used : ConfigurationProvider(org.apache.nifi.minifi.c2.api.ConfigurationProvider) ConfigurationProviderException(org.apache.nifi.minifi.c2.api.ConfigurationProviderException) InvalidParameterException(org.apache.nifi.minifi.c2.api.InvalidParameterException) MediaType(javax.ws.rs.core.MediaType) ArrayList(java.util.ArrayList) List(java.util.List)

Example 12 with Configuration

use of org.apache.nifi.minifi.c2.api.Configuration in project nifi-minifi by apache.

the class ConfigService method getContentTypes.

@GET
@Path("/contentTypes")
@Produces(MediaType.APPLICATION_JSON)
public Response getContentTypes(@Context HttpServletRequest request, @Context UriInfo uriInfo) {
    try {
        authorizer.authorize(SecurityContextHolder.getContext().getAuthentication(), uriInfo);
    } catch (AuthorizationException e) {
        logger.warn(HttpRequestUtil.getClientString(request) + " not authorized to access " + uriInfo, e);
        return Response.status(403).build();
    }
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    List<String> contentTypes;
    try {
        contentTypes = configurationProviderInfo.get().getContentTypes();
    } catch (ConfigurationProviderException e) {
        logger.warn("Unable to initialize content type information.", e);
        return Response.status(500).build();
    }
    try {
        objectMapper.writerWithDefaultPrettyPrinter().writeValue(byteArrayOutputStream, contentTypes);
    } catch (IOException e) {
        logger.warn("Unable to write configuration providers to output stream.", e);
        return Response.status(500).build();
    }
    return Response.ok().type(MediaType.APPLICATION_JSON_TYPE).entity(byteArrayOutputStream.toByteArray()).build();
}
Also used : ConfigurationProviderException(org.apache.nifi.minifi.c2.api.ConfigurationProviderException) AuthorizationException(org.apache.nifi.minifi.c2.api.security.authorization.AuthorizationException) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Aggregations

WriteableConfiguration (org.apache.nifi.minifi.c2.api.cache.WriteableConfiguration)9 ConfigurationCacheFileInfo (org.apache.nifi.minifi.c2.api.cache.ConfigurationCacheFileInfo)8 Test (org.junit.Test)7 List (java.util.List)6 ConfigurationProviderException (org.apache.nifi.minifi.c2.api.ConfigurationProviderException)5 ByteArrayOutputStream (java.io.ByteArrayOutputStream)4 IOException (java.io.IOException)4 InputStream (java.io.InputStream)3 HashMap (java.util.HashMap)3 InvalidParameterException (org.apache.nifi.minifi.c2.api.InvalidParameterException)3 ByteArrayInputStream (java.io.ByteArrayInputStream)2 HttpURLConnection (java.net.HttpURLConnection)2 ArrayList (java.util.ArrayList)2 Map (java.util.Map)2 GET (javax.ws.rs.GET)2 MediaType (javax.ws.rs.core.MediaType)2 AuthorizationException (org.apache.nifi.minifi.c2.api.security.authorization.AuthorizationException)2 FileSystemConfigurationCache (org.apache.nifi.minifi.c2.cache.filesystem.FileSystemConfigurationCache)2 UncheckedExecutionException (com.google.common.util.concurrent.UncheckedExecutionException)1 Closeable (java.io.Closeable)1