Added multipart module
This commit is contained in:
parent
06afa0f5b1
commit
55f003d2ce
113
resteasy-2.3.2.Final-mime4j-0.7.2.patch
Normal file
113
resteasy-2.3.2.Final-mime4j-0.7.2.patch
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
diff --git a/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java b/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java
|
||||||
|
index 6763d4e..cc41e2f 100644
|
||||||
|
--- a/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java
|
||||||
|
+++ b/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java
|
||||||
|
@@ -10,10 +10,10 @@ import java.util.Map;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import javax.ws.rs.ext.Providers;
|
||||||
|
|
||||||
|
-import org.apache.james.mime4j.field.ContentDispositionField;
|
||||||
|
-import org.apache.james.mime4j.field.FieldName;
|
||||||
|
+import org.apache.james.mime4j.dom.field.ContentDispositionField;
|
||||||
|
+import org.apache.james.mime4j.dom.field.FieldName;
|
||||||
|
import org.apache.james.mime4j.message.BodyPart;
|
||||||
|
-import org.apache.james.mime4j.parser.Field;
|
||||||
|
+import org.apache.james.mime4j.stream.Field;
|
||||||
|
import org.jboss.resteasy.util.GenericType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
diff --git a/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java b/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java
|
||||||
|
index 2865174..d5a1e0c 100644
|
||||||
|
--- a/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java
|
||||||
|
+++ b/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java
|
||||||
|
@@ -1,14 +1,18 @@
|
||||||
|
package org.jboss.resteasy.plugins.providers.multipart;
|
||||||
|
|
||||||
|
-import org.apache.james.mime4j.field.ContentTypeField;
|
||||||
|
-import org.apache.james.mime4j.message.BinaryBody;
|
||||||
|
-import org.apache.james.mime4j.message.Body;
|
||||||
|
+import org.apache.james.mime4j.dom.MessageBuilder;
|
||||||
|
+import org.apache.james.mime4j.dom.MessageServiceFactory;
|
||||||
|
+import org.apache.james.mime4j.dom.field.ContentTypeField;
|
||||||
|
+import org.apache.james.mime4j.dom.BinaryBody;
|
||||||
|
+import org.apache.james.mime4j.dom.Body;
|
||||||
|
+import org.apache.james.mime4j.dom.Entity;
|
||||||
|
import org.apache.james.mime4j.message.BodyPart;
|
||||||
|
-import org.apache.james.mime4j.message.Message;
|
||||||
|
-import org.apache.james.mime4j.message.Multipart;
|
||||||
|
-import org.apache.james.mime4j.message.TextBody;
|
||||||
|
-import org.apache.james.mime4j.parser.Field;
|
||||||
|
+import org.apache.james.mime4j.dom.Message;
|
||||||
|
+import org.apache.james.mime4j.dom.Multipart;
|
||||||
|
+import org.apache.james.mime4j.dom.TextBody;
|
||||||
|
+import org.apache.james.mime4j.stream.Field;
|
||||||
|
import org.apache.james.mime4j.util.CharsetUtil;
|
||||||
|
+import org.apache.james.mime4j.MimeException;
|
||||||
|
import org.jboss.resteasy.spi.HttpRequest;
|
||||||
|
import org.jboss.resteasy.spi.ResteasyProviderFactory;
|
||||||
|
import org.jboss.resteasy.util.CaseInsensitiveMap;
|
||||||
|
@@ -29,6 +33,7 @@ import java.io.StringWriter;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.lang.annotation.Annotation;
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
+import java.nio.charset.Charset;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
@@ -73,8 +78,14 @@ public class MultipartInputImpl implements MultipartInput
|
||||||
|
|
||||||
|
public void parse(InputStream is) throws IOException
|
||||||
|
{
|
||||||
|
- mimeMessage = new Message(addHeaderToHeadlessStream(is));
|
||||||
|
- extractParts();
|
||||||
|
+ try {
|
||||||
|
+ MessageServiceFactory factory = MessageServiceFactory.newInstance();
|
||||||
|
+ MessageBuilder builder = factory.newMessageBuilder();
|
||||||
|
+ mimeMessage = builder.parseMessage(addHeaderToHeadlessStream(is));
|
||||||
|
+ extractParts();
|
||||||
|
+ } catch (MimeException e) {
|
||||||
|
+ throw new IOException("Couldn't parse message", e);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
protected InputStream addHeaderToHeadlessStream(InputStream is)
|
||||||
|
@@ -104,8 +115,8 @@ public class MultipartInputImpl implements MultipartInput
|
||||||
|
protected void extractParts() throws IOException
|
||||||
|
{
|
||||||
|
Multipart multipart = (Multipart) mimeMessage.getBody();
|
||||||
|
- for (BodyPart bodyPart : multipart.getBodyParts())
|
||||||
|
- parts.add(extractPart(bodyPart));
|
||||||
|
+ for (Entity bodyPart : multipart.getBodyParts())
|
||||||
|
+ parts.add(extractPart((BodyPart) bodyPart));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected InputPart extractPart(BodyPart bodyPart) throws IOException
|
||||||
|
@@ -197,8 +208,11 @@ public class MultipartInputImpl implements MultipartInput
|
||||||
|
try
|
||||||
|
{
|
||||||
|
String charset = contentType.getParameters().get("charset");
|
||||||
|
- if (charset != null)
|
||||||
|
- charset = CharsetUtil.toJavaCharset(charset);
|
||||||
|
+ if (charset != null) {
|
||||||
|
+ Charset c = CharsetUtil.lookup(charset);
|
||||||
|
+ if (c != null)
|
||||||
|
+ charset = c.name();
|
||||||
|
+ }
|
||||||
|
inputStreamReader = charset == null ? new InputStreamReader(
|
||||||
|
inputStream)
|
||||||
|
: new InputStreamReader(inputStream, charset);
|
||||||
|
diff --git a/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java b/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java
|
||||||
|
index da7f0b7..2063a76 100644
|
||||||
|
--- a/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java
|
||||||
|
+++ b/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java
|
||||||
|
@@ -8,8 +8,8 @@ import java.util.Map;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import javax.ws.rs.ext.Providers;
|
||||||
|
|
||||||
|
-import org.apache.james.mime4j.field.ContentTypeField;
|
||||||
|
-import org.apache.james.mime4j.field.FieldName;
|
||||||
|
+import org.apache.james.mime4j.dom.field.ContentTypeField;
|
||||||
|
+import org.apache.james.mime4j.dom.field.FieldName;
|
||||||
|
import org.apache.james.mime4j.message.BodyPart;
|
||||||
|
|
||||||
|
/**
|
@ -26,14 +26,10 @@ index 455d6ee..2ce1d2d 100644
|
|||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
diff --git a/providers/pom.xml b/providers/pom.xml
|
diff --git a/providers/pom.xml b/providers/pom.xml
|
||||||
index b4b5518..ce04a5d 100644
|
index b4b5518..eb9826b 100644
|
||||||
--- a/providers/pom.xml
|
--- a/providers/pom.xml
|
||||||
+++ b/providers/pom.xml
|
+++ b/providers/pom.xml
|
||||||
@@ -21,10 +21,8 @@
|
@@ -25,6 +25,5 @@
|
||||||
<module>jackson</module>
|
|
||||||
<module>test-jackson-jaxb-coexistence</module>
|
|
||||||
<module>resteasy-atom</module>
|
|
||||||
- <module>multipart</module>
|
|
||||||
<module>yaml</module>
|
<module>yaml</module>
|
||||||
<module>resteasy-html</module>
|
<module>resteasy-html</module>
|
||||||
<module>test-resteasy-html</module>
|
<module>test-resteasy-html</module>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
diff --git a/async-http-jbossweb/async-http-jbossweb-jar/pom.xml b/async-http-jbossweb/async-http-jbossweb-jar/pom.xml
|
||||||
|
index 4a31c8b..80b5a58 100644
|
||||||
--- a/async-http-jbossweb/async-http-jbossweb-jar/pom.xml
|
--- a/async-http-jbossweb/async-http-jbossweb-jar/pom.xml
|
||||||
+++ b/async-http-jbossweb/async-http-jbossweb-jar/pom.xml
|
+++ b/async-http-jbossweb/async-http-jbossweb-jar/pom.xml
|
||||||
@@ -14,9 +14,8 @@
|
@@ -14,9 +14,8 @@
|
||||||
@ -40,6 +42,21 @@ index deca25f..1c27e72 100644
|
|||||||
-</project>
|
-</project>
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
+</project>
|
+</project>
|
||||||
|
diff --git a/pom.xml b/pom.xml
|
||||||
|
index 455d6ee..5250f81 100644
|
||||||
|
--- a/pom.xml
|
||||||
|
+++ b/pom.xml
|
||||||
|
@@ -255,8 +255,8 @@
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.james</groupId>
|
||||||
|
- <artifactId>apache-mime4j</artifactId>
|
||||||
|
- <version>0.6</version>
|
||||||
|
+ <artifactId>apache-mime4j-core</artifactId>
|
||||||
|
+ <version>0.7.2</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>commons-logging</artifactId>
|
||||||
diff --git a/providers/fastinfoset/pom.xml b/providers/fastinfoset/pom.xml
|
diff --git a/providers/fastinfoset/pom.xml b/providers/fastinfoset/pom.xml
|
||||||
index 7d4de0f..b6dbd53 100644
|
index 7d4de0f..b6dbd53 100644
|
||||||
--- a/providers/fastinfoset/pom.xml
|
--- a/providers/fastinfoset/pom.xml
|
||||||
@ -107,7 +124,7 @@ index dfce204..6269fb8 100644
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/providers/multipart/pom.xml b/providers/multipart/pom.xml
|
diff --git a/providers/multipart/pom.xml b/providers/multipart/pom.xml
|
||||||
index 9acdfb4..a230d04 100644
|
index 9acdfb4..c4cef26 100644
|
||||||
--- a/providers/multipart/pom.xml
|
--- a/providers/multipart/pom.xml
|
||||||
+++ b/providers/multipart/pom.xml
|
+++ b/providers/multipart/pom.xml
|
||||||
@@ -34,7 +34,11 @@
|
@@ -34,7 +34,11 @@
|
||||||
@ -119,10 +136,17 @@ index 9acdfb4..a230d04 100644
|
|||||||
+ </dependency>
|
+ </dependency>
|
||||||
+ <dependency>
|
+ <dependency>
|
||||||
+ <groupId>org.apache.james</groupId>
|
+ <groupId>org.apache.james</groupId>
|
||||||
+ <artifactId>apache-mime4j-project</artifactId>
|
+ <artifactId>apache-mime4j-dom</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.servlet</groupId>
|
<groupId>javax.servlet</groupId>
|
||||||
|
@@ -70,4 +74,4 @@
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
-</project>
|
||||||
|
\ No newline at end of file
|
||||||
|
+</project>
|
||||||
diff --git a/providers/resteasy-atom/pom.xml b/providers/resteasy-atom/pom.xml
|
diff --git a/providers/resteasy-atom/pom.xml b/providers/resteasy-atom/pom.xml
|
||||||
index 732c0c4..54a230e 100644
|
index 732c0c4..54a230e 100644
|
||||||
--- a/providers/resteasy-atom/pom.xml
|
--- a/providers/resteasy-atom/pom.xml
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
Name: resteasy
|
Name: resteasy
|
||||||
Version: 2.3.2
|
Version: 2.3.2
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
Summary: Framework for RESTful Web services and Java applications
|
Summary: Framework for RESTful Web services and Java applications
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
License: ASL 2.0 and CDDL
|
License: ASL 2.0 and CDDL
|
||||||
@ -18,6 +18,8 @@ Patch0: %{name}-%{namedversion}-remove-dependenciesA.patch
|
|||||||
Patch1: %{name}-%{namedversion}-fix-tests.patch
|
Patch1: %{name}-%{namedversion}-fix-tests.patch
|
||||||
Patch2: %{name}-%{namedversion}-remove-currently-unbuilt-modules.patch
|
Patch2: %{name}-%{namedversion}-remove-currently-unbuilt-modules.patch
|
||||||
Patch3: %{name}-%{namedversion}-fix-javadoc.patch
|
Patch3: %{name}-%{namedversion}-fix-javadoc.patch
|
||||||
|
# Support for mime4j 0.7.2
|
||||||
|
Patch4: %{name}-%{namedversion}-mime4j-0.7.2.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
@ -26,7 +28,8 @@ BuildRequires: apache-commons-cli
|
|||||||
BuildRequires: apache-commons-codec
|
BuildRequires: apache-commons-codec
|
||||||
BuildRequires: apache-commons-logging
|
BuildRequires: apache-commons-logging
|
||||||
BuildRequires: apache-commons-collections
|
BuildRequires: apache-commons-collections
|
||||||
# BuildRequires: apache-mime4j
|
BuildRequires: apache-mime4j >= 0:0.7.2-2
|
||||||
|
BuildRequires: apache-james-project
|
||||||
|
|
||||||
BuildRequires: bea-stax
|
BuildRequires: bea-stax
|
||||||
BuildRequires: bouncycastle
|
BuildRequires: bouncycastle
|
||||||
@ -104,6 +107,7 @@ Requires: apache-commons-codec
|
|||||||
Requires: apache-commons-collections
|
Requires: apache-commons-collections
|
||||||
Requires: apache-commons-lang
|
Requires: apache-commons-lang
|
||||||
Requires: apache-commons-logging
|
Requires: apache-commons-logging
|
||||||
|
Requires: apache-mime4j >= 0:0.7.2-2
|
||||||
|
|
||||||
# B:
|
# B:
|
||||||
Requires: bea-stax
|
Requires: bea-stax
|
||||||
@ -172,6 +176,7 @@ This package contains the API documentation for %{name}.
|
|||||||
%patch1 -p1 -b .p1
|
%patch1 -p1 -b .p1
|
||||||
%patch2 -p1 -b .p2
|
%patch2 -p1 -b .p2
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
mvn-rpmbuild -Dmaven.test.skip=true -e install javadoc:aggregate
|
mvn-rpmbuild -Dmaven.test.skip=true -e install javadoc:aggregate
|
||||||
@ -214,6 +219,7 @@ providers/jaxb resteasy-jaxb-provider
|
|||||||
providers/jettison resteasy-jettison-provider
|
providers/jettison resteasy-jettison-provider
|
||||||
providers/resteasy-atom resteasy-atom-provider
|
providers/resteasy-atom resteasy-atom-provider
|
||||||
providers/resteasy-html resteasy-html
|
providers/resteasy-html resteasy-html
|
||||||
|
providers/multipart resteasy-multipart-provider
|
||||||
providers/yaml resteasy-yaml-provider
|
providers/yaml resteasy-yaml-provider
|
||||||
resteasy-bom resteasy-bom
|
resteasy-bom resteasy-bom
|
||||||
resteasy-guice resteasy-guice
|
resteasy-guice resteasy-guice
|
||||||
@ -229,7 +235,6 @@ tjws tjws
|
|||||||
# async-http-jbossweb/async-http-jbossweb-jar async-http-jbossweb
|
# async-http-jbossweb/async-http-jbossweb-jar async-http-jbossweb
|
||||||
# async-http-tomcat/asynch-http-tomcat-jar async-http-tomcat6
|
# async-http-tomcat/asynch-http-tomcat-jar async-http-tomcat6
|
||||||
# eagledns eagledns-fork
|
# eagledns eagledns-fork
|
||||||
# providers/multipart resteasy-multipart-provider
|
|
||||||
# providers/resteasy-hibernatevalidator-provider resteasy-hibernatevalidator-provider
|
# providers/resteasy-hibernatevalidator-provider resteasy-hibernatevalidator-provider
|
||||||
# resteasy-cache/resteasy-cache-core resteasy-cache-core
|
# resteasy-cache/resteasy-cache-core resteasy-cache-core
|
||||||
# resteasy-links resteasy-links
|
# resteasy-links resteasy-links
|
||||||
@ -252,6 +257,9 @@ cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
|
|||||||
%doc License.html
|
%doc License.html
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Apr 24 2012 Marek Goldmann <mgoldman@redhat.com> 2.3.2-6
|
||||||
|
- Added resteasy-multipart-provider module
|
||||||
|
|
||||||
* Mon Apr 23 2012 Juan Hernandez <juan.hernandez@redhat.com> 2.3.2-5
|
* Mon Apr 23 2012 Juan Hernandez <juan.hernandez@redhat.com> 2.3.2-5
|
||||||
- Fix the async HTTP Servlet 3.0 artifact id
|
- Fix the async HTTP Servlet 3.0 artifact id
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user