private Map getRegistrationProperties()

in integrations/jackson/jackson-jaxrs/src/main/java/org/apache/aries/jax/rs/jackson/JaxbJsonBundleActivator.java [81:108]


    private Map<String, ?> getRegistrationProperties(
        Dictionary<String, ?> properties) {

        Hashtable<String, Object> serviceProps =
            new Hashtable<String, Object>() {{
                put(JaxrsWhiteboardConstants.JAX_RS_EXTENSION, true);
                put(JaxrsWhiteboardConstants.JAX_RS_MEDIA_TYPE, MediaType.APPLICATION_JSON);
                putIfAbsent(
                    JaxrsWhiteboardConstants.JAX_RS_NAME, "jaxb-json");
                put(Constants.SERVICE_RANKING, Integer.MIN_VALUE);
                // Note that these are useful information, and bind us to the Jackson JAXB API
                // which is otherwise only optionally required
                put("jackson.jaxb.version", new com.fasterxml.jackson.module.jaxb.PackageVersion().version().toString());
                put("jackson.jaxrs.json.version", new com.fasterxml.jackson.jaxrs.json.PackageVersion().version().toString());
            }};

        Enumeration<String> keys = properties.keys();

        while (keys.hasMoreElements()) {
            String key = keys.nextElement();

            if(!key.startsWith(".")) {
                serviceProps.put(key, properties.get(key));
            }
        }

        return serviceProps;
    }