Package org.apache.wink.common.internal.registry

Examples of org.apache.wink.common.internal.registry.ProvidersRegistry


            new ProvidersRegistry(new LifecycleManagersRegistry(), new ApplicationValidator());
        return providers;
    }

    public void testMessageBodyWriters() {
        ProvidersRegistry providers = createProvidersRegistryImpl();

        ByteArrayProvider byteArrayProvider = new ByteArrayProvider();
        InputStreamProvider inputStreamProvider = new InputStreamProvider();
        StringProvider stringProvider = new StringProvider();
        String2Provider string2Provider = new String2Provider();
        FileProvider fileProvider = new FileProvider();
        IntegerMessageBodyProvider objectMessageBodyProvider = new IntegerMessageBodyProvider();

        providers.addProvider(byteArrayProvider, WinkApplication.SYSTEM_PRIORITY);
        providers.addProvider(inputStreamProvider, WinkApplication.SYSTEM_PRIORITY);
        providers.addProvider(string2Provider);
        providers.addProvider(stringProvider, WinkApplication.SYSTEM_PRIORITY);
        providers.addProvider(fileProvider, WinkApplication.SYSTEM_PRIORITY);
        providers.addProvider(objectMessageBodyProvider);

        assertEquals(byteArrayProvider, providers
            .getMessageBodyReader(byte[].class, null, null, MediaType.APPLICATION_JSON_TYPE, null));
        assertEquals(string2Provider, providers.getMessageBodyReader(String.class,
                                                                    null,
                                                                    null,
                                                                    MediaType.WILDCARD_TYPE,
                                                                    null));
        assertEquals(fileProvider, providers
            .getMessageBodyReader(File.class, null, null, MediaType.APPLICATION_SVG_XML_TYPE, null));

        assertEquals(byteArrayProvider, providers
            .getMessageBodyWriter(byte[].class,
                                  null,
                                  null,
                                  MediaType.APPLICATION_ATOM_XML_TYPE,
                                  null));
        // string2Provider is favored over stringProvider because it is a
        // user-defined provider
        assertEquals(string2Provider, providers.getMessageBodyWriter(String.class,
                                                                     null,
                                                                     null,
                                                                     MediaType.WILDCARD_TYPE,
                                                                     null));
        assertEquals(fileProvider, providers
            .getMessageBodyWriter(File.class, null, null, MediaType.APPLICATION_SVG_XML_TYPE, null));

        assertEquals(IntegerMessageBodyProvider.class, providers
            .getMessageBodyWriter(Integer.class, null, null, MediaType.WILDCARD_TYPE, null)
            .getClass());
    }
View Full Code Here


            .getMessageBodyWriter(Integer.class, null, null, MediaType.WILDCARD_TYPE, null)
            .getClass());
    }

    public void testMessageBodyWritersMediaTypes() {
        ProvidersRegistry providers = createProvidersRegistryImpl();

        ByteArrayProvider byteArrayProvider = new ByteArrayProvider();
        InputStreamProvider inputStreamProvider = new InputStreamProvider();
        StringProvider stringProvider = new StringProvider();
        String2Provider string2Provider = new String2Provider();
        FileProvider fileProvider = new FileProvider();
        IntegerMessageBodyProvider objectMessageBodyProvider = new IntegerMessageBodyProvider();

        providers.addProvider(byteArrayProvider);
        providers.addProvider(inputStreamProvider);
        providers.addProvider(string2Provider, 0.6);
        providers.addProvider(stringProvider);
        providers.addProvider(fileProvider);
        providers.addProvider(objectMessageBodyProvider);

        Set<MediaType> integerWriterMediaType =
            providers.getMessageBodyWriterMediaTypes(Integer.class);
        assertTrue(integerWriterMediaType.contains(MediaType.WILDCARD_TYPE));
        assertTrue(integerWriterMediaType.contains(MediaType.TEXT_PLAIN_TYPE));
        Set<MediaType> stringWriterMediaTypes =
            providers.getMessageBodyWriterMediaTypes(String.class);
        assertTrue(stringWriterMediaTypes.contains(MediaType.WILDCARD_TYPE));
        Set<MediaType> ioWriterMediaTypes =
            providers.getMessageBodyWriterMediaTypes(InputStream.class);
        assertTrue(ioWriterMediaTypes.contains(MediaType.WILDCARD_TYPE));
        assertTrue(ioWriterMediaTypes.contains(MediaType.APPLICATION_OCTET_STREAM_TYPE));
    }
View Full Code Here

    private void initProvidersRegistry() {
        // setup OFFactoryRegistry to support default and scope
        LifecycleManagersRegistry ofFactoryRegistry = new LifecycleManagersRegistry();
        ofFactoryRegistry.addFactoryFactory(new ScopeLifecycleManager<Object>());
        providersRegistry = new ProvidersRegistry(ofFactoryRegistry, new ApplicationValidator());

        // process all applications
        for (Application app : config.getApplications()) {
            processApplication(app);
        }
View Full Code Here

        RestServlet servlet = (RestServlet)this.getServlet();
        ServletContext context = servlet.getServletContext();
        RequestProcessor processor = (RequestProcessor) context.getAttribute(RequestProcessor.class.getName());
        DeploymentConfiguration config = processor.getConfiguration();
        ProvidersRegistry providersRegistry = config.getProvidersRegistry();
        // to confirm that the ignores are indeed happening, I need to get the private field
        // "messageBodyReaders" object, then it's superclass "data" object and inspect it:
        Field field = providersRegistry.getClass().getDeclaredField("messageBodyReaders");
        field.setAccessible(true);
        Object messageBodyReaders = field.get(providersRegistry);
        Field field2 = messageBodyReaders.getClass().getSuperclass().getDeclaredField("data");
        field2.setAccessible(true);
        HashMap data = (HashMap)field2.get(messageBodyReaders);
View Full Code Here

        Object entity = request.getEntity();
        if (entity == null) {
            return;
        }

        ProvidersRegistry providersRegistry = request.getAttribute(ProvidersRegistry.class);
        ClientRuntimeContext runtimeContext = new ClientRuntimeContext(providersRegistry);
        RuntimeContext saved = RuntimeContextTLS.getRuntimeContext();
        RuntimeContextTLS.setRuntimeContext(runtimeContext);
        try {
            Class<?> type = entity.getClass();
            Type genericType = type;
            if (entity instanceof GenericEntity) {
                GenericEntity<?> genericEntity = (GenericEntity<?>)entity;
                type = genericEntity.getRawType();
                genericType = genericEntity.getType();
                entity = genericEntity.getEntity();
            }
            MessageBodyWriter writer = null;
            MediaType contentMediaType = null;
            String contentType = request.getHeaders().getFirst(HttpHeaders.CONTENT_TYPE);
            if (contentType == null) {
                // attempt to infer the media type based on the providers
                // available for this type
                contentMediaType =
                    providersRegistry
                        .getMessageBodyWriterMediaTypeLimitByIsWritable(type, runtimeContext);
                if (contentMediaType == null) {
                    // default if we still couldn't find it
                    contentType = MediaType.APPLICATION_OCTET_STREAM;
                }
            } else
                contentMediaType = MediaType.valueOf(contentType);
            request.getHeaders().putSingle(HttpHeaders.CONTENT_TYPE, contentMediaType.toString());
            writer =
                providersRegistry.getMessageBodyWriter(type,
                                                       genericType,
                                                       null,
                                                       contentMediaType,
                                                       runtimeContext);
            if (writer == null) {
View Full Code Here

        ClientRequest request =
            createClientRequest(method, responseEntity, responseEntityType, requestEntity);
        HandlerContext context = createHandlerContext();

        ProvidersRegistry providersRegistry = request.getAttribute(ProvidersRegistry.class);
        ClientRuntimeContext runtimeContext = new ClientRuntimeContext(providersRegistry);
        RuntimeContext saved = RuntimeContextTLS.getRuntimeContext();
        RuntimeContextTLS.setRuntimeContext(runtimeContext);

        try {
View Full Code Here

            return null;
        }
        if (ClientResponse.class.equals(type)) {
            return (T)this;
        }
        ProvidersRegistry providersRegistry = getAttribute(ProvidersRegistry.class);
        RuntimeContext saved = RuntimeContextTLS.getRuntimeContext();
        ClientRuntimeContext runtimeContext = new ClientRuntimeContext(providersRegistry);
        RuntimeContextTLS.setRuntimeContext(runtimeContext);
        try {
            String contentType = getHeaders().getFirst(HttpHeaders.CONTENT_TYPE);
            if (contentType == null || contentType.length() == 0) {
                contentType = MediaType.APPLICATION_OCTET_STREAM;
            }
            MediaType contentMediaType = MediaType.valueOf(contentType);
            MessageBodyReader<T> reader =
                providersRegistry.getMessageBodyReader(type,
                                                       genericType,
                                                       null,
                                                       contentMediaType,
                                                       runtimeContext);
            if (reader == null) {
View Full Code Here

    protected void setUp() throws Exception {
        super.setUp();

        LifecycleManagersRegistry ofFactoryRegistry = new LifecycleManagersRegistry();
        ofFactoryRegistry.addFactoryFactory(new ScopeLifecycleManager<Object>());
        ProvidersRegistry providersRegistry =
            new ProvidersRegistry(ofFactoryRegistry, new ApplicationValidator());

        Set<Class<?>> classes = new ApplicationFileLoader(true).getClasses();
        if (classes != null) {
            for (Class<?> cls : classes) {
                if (ProviderMetadataCollector.isProvider(cls)) {
                    providersRegistry.addProvider(cls);
                }
            }
        }
        AbstractRuntimeContext runtimeContext = new AbstractRuntimeContext() {
View Full Code Here

            public String getFilterName() {
                return getServletName();
            }
        });

        ProvidersRegistry providers = config.getProvidersRegistry();
        providers.addProvider(new DataBindingJAXRSReader(registry), 0.001, true);
        providers.addProvider(new DataBindingJAXRSWriter(registry), 0.001, true);

        config.getResponseUserHandlers().add(new TuscanyResponseHandler());

        return config;
    }
View Full Code Here

            return null;
        }
        if (ClientResponse.class.equals(type)) {
            return (T)this;
        }
        ProvidersRegistry providersRegistry = getAttribute(ProvidersRegistry.class);
        RuntimeContext saved = RuntimeContextTLS.getRuntimeContext();
        ClientRuntimeContext runtimeContext = new ClientRuntimeContext(providersRegistry);
        RuntimeContextTLS.setRuntimeContext(runtimeContext);
        try {
            String contentType = getHeaders().getFirst(HttpHeaders.CONTENT_TYPE);
            if (contentType == null || contentType.length() == 0) {
                contentType = MediaType.APPLICATION_OCTET_STREAM;
            }
            MediaType contentMediaType = MediaType.valueOf(contentType);
            MessageBodyReader<T> reader =
                providersRegistry.getMessageBodyReader(type,
                                                       genericType,
                                                       null,
                                                       contentMediaType,
                                                       runtimeContext);
            if (reader == null) {
View Full Code Here

TOP

Related Classes of org.apache.wink.common.internal.registry.ProvidersRegistry

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.