Package com.sun.jersey.multipart

Examples of com.sun.jersey.multipart.MultiPart


    protected MultiPart readMultiPart(Class<MultiPart> type, Type genericType,
                              Annotation[] annotations, MediaType mediaType,
                              MultivaluedMap<String, String> headers,
                              InputStream stream) throws IOException, MIMEParsingException {
        MultiPart mp = super.readMultiPart(type, genericType, annotations, mediaType, headers, stream);
        closeableService.add(mp);
        return mp;
    }
View Full Code Here


                                      InputStream stream) throws IOException, MIMEParsingException {
        mediaType = unquoteMediaTypeParameters(mediaType, "boundary");
        MIMEMessage mm = new MIMEMessage(stream, mediaType.getParameters().get("boundary"), mimeConfig);

        boolean formData = false;
        MultiPart multiPart;
        if (MediaTypes.typeEquals(mediaType, MediaType.MULTIPART_FORM_DATA_TYPE)) {
            multiPart = new FormDataMultiPart();
            formData = true;
        } else {
            multiPart = new MultiPart();
        }

        multiPart.setProviders(providers);

        MultivaluedMap<String,String> mpHeaders = multiPart.getHeaders();
        for (Map.Entry<String,List<String>> entry : headers.entrySet()) {
            List<String> values = entry.getValue();
            for (String value : values) {
                mpHeaders.add(entry.getKey(), value);
            }
        }

        boolean fileNameFix;
        if (!formData) {
            multiPart.setMediaType(mediaType);
            fileNameFix = false;
        } else {
            // see if the User-Agent header corresponds to some version of MS Internet Explorer
            // if so, need to set fileNameFix to true to handle issue http://java.net/jira/browse/JERSEY-759
            String userAgent = headers.getFirst(HttpHeaders.USER_AGENT);
            fileNameFix = userAgent != null && userAgent.contains(" MSIE ");
        }

        for (MIMEPart mp : mm.getAttachments()) {
            BodyPart bodyPart = formData ? new FormDataBodyPart(fileNameFix) : new BodyPart();

            // Configure providers
            bodyPart.setProviders(providers);

            // Copy headers
            for (Header h : mp.getAllHeaders()) {
                bodyPart.getHeaders().add(h.getName(), h.getValue());
            }

            try {
                String contentType = bodyPart.getHeaders().getFirst("Content-Type");
                if (contentType != null)
                    bodyPart.setMediaType(MediaType.valueOf(contentType));

                bodyPart.getContentDisposition();
            } catch (IllegalArgumentException ex) {
                throw new WebApplicationException(ex, Status.BAD_REQUEST);
            }

            // Copy data into a BodyPartEntity structure
            bodyPart.setEntity(new BodyPartEntity(mp));
            // Add this BodyPart to our MultiPart
            multiPart.getBodyParts().add(bodyPart);
        }

        return multiPart;
    }
View Full Code Here

    public void testTwo() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/two").accept("multipart/mixed");
        try {
            MultiPart result = builder.get(MultiPart.class);
            checkMediaType(new MediaType("multipart", "mixed"), result.getMediaType());
            assertEquals(2, result.getBodyParts().size());
            BodyPart part1 = result.getBodyParts().get(0);
            checkMediaType(new MediaType("text", "plain"), part1.getMediaType());
            checkEntity("This is the first segment", (BodyPartEntity) part1.getEntity());
            BodyPart part2 = result.getBodyParts().get(1);
            checkMediaType(new MediaType("text", "xml"), part2.getMediaType());
            checkEntity("<outer><inner>value</inner></outer>", (BodyPartEntity) part2.getEntity());

            result.getParameterizedHeaders();
            result.cleanup();
        } catch (IOException e) {
            e.printStackTrace(System.out);
            fail("Caught exception: " + e);
        } catch(ParseException e) {
            e.printStackTrace(System.out);
View Full Code Here

    public void testThree() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/three").accept("multipart/mixed");
        try {
            MultiPart result = builder.get(MultiPart.class);
            checkMediaType(new MediaType("multipart", "mixed"), result.getMediaType());
            assertEquals(2, result.getBodyParts().size());
            BodyPart part1 = result.getBodyParts().get(0);
            checkMediaType(new MediaType("text", "plain"), part1.getMediaType());
            checkEntity("This is the first segment", (BodyPartEntity) part1.getEntity());
            BodyPart part2 = result.getBodyParts().get(1);
            checkMediaType(new MediaType("x-application", "x-format"), part2.getMediaType());
            MultiPartBean entity = part2.getEntityAs(MultiPartBean.class);
            assertEquals("myname", entity.getName());
            assertEquals("myvalue", entity.getValue());

            result.getParameterizedHeaders();
            result.cleanup();
        } catch (IOException e) {
            e.printStackTrace(System.out);
            fail("Caught exception: " + e);
        } catch(ParseException e) {
            e.printStackTrace(System.out);
View Full Code Here

    public void testFour() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/four").accept("text/plain").type("multipart/mixed");
        try {
            MultiPartBean bean = new MultiPartBean("myname", "myvalue");
            MultiPart entity = new MultiPart().
                    bodyPart("This is the first segment", new MediaType("text", "plain")).
                    bodyPart(bean, new MediaType("x-application", "x-format"));
            String response = builder.put(String.class, entity);
            if (!response.startsWith("SUCCESS:")) {
                fail("Response is '" + response + "'");
View Full Code Here

    public void testFourBiz() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/four").accept("text/plain").header("Content-Type", "multipart/mixed");
        try {
            MultiPartBean bean = new MultiPartBean("myname", "myvalue");
            MultiPart entity = new MultiPart().
                    bodyPart("This is the first segment", new MediaType("text", "plain")).
                    bodyPart(bean, new MediaType("x-application", "x-format"));
            String response = builder.put(String.class, entity);
            if (!response.startsWith("SUCCESS:")) {
                fail("Response is '" + response + "'");
View Full Code Here

    // Test sending a completely empty MultiPart
    public void testSix() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/six").type("multipart/mixed").accept("text/plain");
        try {
            builder.post(String.class, new MultiPart());
            fail("Should have thrown an exception about zero body parts");
        } catch (ClientHandlerException e) {
            assertNotNull(e.getCause());
            assertEquals(WebApplicationException.class, e.getCause().getClass());
            WebApplicationException wae = (WebApplicationException) e.getCause();
View Full Code Here

    public void testTen() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/ten").accept("text/plain").type("multipart/mixed");
        try {
            MultiPartBean bean = new MultiPartBean("myname", "myvalue");
            MultiPart entity = new MultiPart().
                    bodyPart(bean, new MediaType("x-application", "x-format")).
                    bodyPart("", MediaType.APPLICATION_OCTET_STREAM_TYPE);
            String response = builder.put(String.class, entity);
            if (!response.startsWith("SUCCESS:")) {
                fail("Response is '" + response + "'");
View Full Code Here

    // Echo back the multipart that was sent
    public void testTwelve() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/twelve").accept("multipart/mixed").type("multipart/mixed");
        try {
            MultiPart entity = new MultiPart().
                    bodyPart("CONTENT", MediaType.TEXT_PLAIN_TYPE);
            MultiPart response = builder.put(MultiPart.class, entity);
            String actual = response.getBodyParts().get(0).getEntityAs(String.class);
            assertEquals("CONTENT", actual);
            response.cleanup();
        } catch (UniformInterfaceException e) {
            report(e);
            fail("Caught exception: " + e);
        }
View Full Code Here

    // Call clean up explicitly
    public void testThirteen() {
        WebResource.Builder builder = client.resource(getUri())
                .path("multipart/thirteen").accept("multipart/mixed").type("multipart/mixed");
        try {
            MultiPart entity = new MultiPart().
                    bodyPart("CONTENT", MediaType.TEXT_PLAIN_TYPE);
            String response = builder.put(String.class, entity);
            assertEquals("cleanup", response);
        } catch (UniformInterfaceException e) {
            report(e);
View Full Code Here

TOP

Related Classes of com.sun.jersey.multipart.MultiPart

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.