Seam SVN: r14190 - in branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src: test/unit/org/jboss/seam/test/unit and 1 other directories.
by seam-commits@lists.jboss.org
Author: tkimura
Date: 2011-09-14 23:01:51 -0400 (Wed, 14 Sep 2011)
New Revision: 14190
Added:
branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/web/MultipartRequestImplTest.java
Modified:
branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/main/org/jboss/seam/web/MultipartRequestImpl.java
branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/testng.xml
Log:
JBPAPP-7182 Seam MultipartRequest missing data
Modified: branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/main/org/jboss/seam/web/MultipartRequestImpl.java
===================================================================
--- branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/main/org/jboss/seam/web/MultipartRequestImpl.java 2011-09-15 02:24:49 UTC (rev 14189)
+++ branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/main/org/jboss/seam/web/MultipartRequestImpl.java 2011-09-15 03:01:51 UTC (rev 14190)
@@ -330,6 +330,14 @@
{
if (checkSequence(buffer, i, CR_LF))
{
+ // Check next CR_LF available in the buffer
+ if ( read <= i + CR_LF.length)
+ { /* if there is no space left for CRLF in the buffer,
+ force pushing of remaining (unread) bytes to the beginning of the buffer,
+ read more bytes and try again */
+ i = read;
+ break;
+ }
String param = (encoding == null) ?
new String(buffer, pos, i - pos - 1) :
new String(buffer, pos, i - pos - 1, encoding);
@@ -420,16 +428,40 @@
{
// move the bytes that weren't read to the start of the buffer
int bytesNotRead = read - pos;
- System.arraycopy(buffer, pos, buffer, 0, bytesNotRead);
- read = input.read(buffer, bytesNotRead, buffer.length - bytesNotRead);
- // Decrement loopCounter if no data was readable
- if (read == 0)
+ if (buffer.length == bytesNotRead )
{
- loopCounter--;
- }
+ //if no end of parameter value can be found in the buffer, we have to increase size of the buffer
+
+ byte[] buffer1 = new byte[buffer.length * 2];
+ System.arraycopy(buffer, 0, buffer1, 0, buffer.length);
+ buffer = buffer1;
+
+ read = input.read(buffer, bytesNotRead, buffer.length - bytesNotRead);
+ if (read == -1)
+ {
+ break;// too bad - nothing more to read (EOF) and last parameter value couldn't be parsed
+ }
+
+ read += bytesNotRead;
+ }
+ else
+ {
+ System.arraycopy(buffer, pos, buffer, 0, bytesNotRead);
+ read = input.read(buffer, bytesNotRead, buffer.length - bytesNotRead);
+
+ if (read == -1)
+ {
+ break;
+ // too bad - nothing more to read (EOF) and last parameter value couldn't be parsed
+ }
+
+ if(read == 0)
+ loopCounter--;
+
+ read += bytesNotRead;
+ }
- read += bytesNotRead;
}
else
{
Modified: branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/testng.xml
===================================================================
--- branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/testng.xml 2011-09-15 02:24:49 UTC (rev 14189)
+++ branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/testng.xml 2011-09-15 03:01:51 UTC (rev 14190)
@@ -64,6 +64,7 @@
<test name="Seam Unit Tests - Filters">
<classes>
<class name="org.jboss.seam.test.unit.web.MultipartRequestTest" />
+ <class name="org.jboss.seam.test.unit.web.MultipartRequestImplTest" />
<class name="org.jboss.seam.test.unit.web.IdentityRequestWrapperTest" />
</classes>
</test>
Added: branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/web/MultipartRequestImplTest.java
===================================================================
--- branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/web/MultipartRequestImplTest.java (rev 0)
+++ branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/src/test/unit/org/jboss/seam/test/unit/web/MultipartRequestImplTest.java 2011-09-15 03:01:51 UTC (rev 14190)
@@ -0,0 +1,91 @@
+package org.jboss.seam.test.unit.web;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
+import java.util.Map;
+import org.testng.annotations.Test;
+import org.jboss.seam.web.MultipartRequestImpl;
+import org.jboss.seam.mock.EnhancedMockHttpServletRequest;
+
+public class MultipartRequestImplTest
+{
+ private static final String CRLF = "\r\n";
+ private static final String HYPHENS = "--";
+
+ @Test
+ public void testParseRequestBasic() throws Throwable
+ {
+ String boundary = "boundary10"; //10 bytes
+
+ String data =
+ HYPHENS + boundary + CRLF +
+ "Content-Disposition: form-data; name=\"foo\"" + CRLF +
+ CRLF +
+ "bar" + CRLF +
+ HYPHENS + boundary + HYPHENS;
+
+ byte[] dataBytes = data.getBytes("UTF-8");
+
+ EnhancedMockHttpServletRequest req = new EnhancedMockHttpServletRequest();
+ req.setContent(dataBytes);
+ req.setContentType("multipart/form-data; boundary=" + boundary);
+ MultipartRequestImpl r = new MultipartRequestImpl(req, false, 0);
+ Map m = r.getParameterMap();
+ assertNotNull(m);
+ assertEquals(r.getParameterValues("foo")[0], "bar");
+ }
+
+ @Test
+ public void testParseRequestBufferBoundary() throws Throwable
+ {
+
+ int bufferSize = 2048; // See MultipartRequestImpl
+
+ String boundary = "boundary10";
+
+ String paddingParameter =
+ HYPHENS + boundary + CRLF +
+ "Content-Disposition: form-data; name=\"padding\"" + CRLF +
+ CRLF;
+
+ String testParameter =
+ HYPHENS + boundary + CRLF +
+ "Content-Disposition: form-data; name=\"foo\"" + CRLF +
+ CRLF +
+ "bar" + CRLF +
+ HYPHENS + boundary + HYPHENS;
+
+ // let's put test parameter near the buffer boundary, from (bufferSize - 100) to (bufferSize + 100)
+ for (int i = -100; i < 100; i++)
+ {
+ StringBuffer buffer = new StringBuffer(bufferSize + 256);
+ buffer.append(paddingParameter);
+ int paddingSize = bufferSize - i - paddingParameter.length() - CRLF.length();
+ appendPaddingValue(buffer, paddingSize);
+ buffer.append(CRLF);
+ buffer.append(testParameter);
+ String data = buffer.toString();
+
+ byte[] dataBytes = data.getBytes("UTF-8");
+ EnhancedMockHttpServletRequest req = new EnhancedMockHttpServletRequest();
+ req.setContent(dataBytes);
+ req.setContentType("multipart/form-data; boundary=" + boundary);
+ MultipartRequestImpl r = new MultipartRequestImpl(req, false, 0);
+ Map m = r.getParameterMap();
+ assertNotNull(m);
+ assertEquals(r.getParameterValues("foo")[0], "bar");
+ }
+ }
+
+ private static StringBuffer appendPaddingValue(StringBuffer buffer, int length)
+ {
+ for (int i = 0; i < length; i++)
+ {
+ buffer.append("x");
+ }
+ return buffer;
+ }
+}
14 years, 7 months
Seam SVN: r14189 - branches/enterprise.
by seam-commits@lists.jboss.org
Author: tkimura
Date: 2011-09-14 22:24:49 -0400 (Wed, 14 Sep 2011)
New Revision: 14189
Added:
branches/enterprise/JBPAPP_5_1_1_JBPAPP-7182/
Log:
Create one-off branch
14 years, 7 months
Seam SVN: r14188 - branches/enterprise/JBPAPP_5_1_1_JBPAPP-7202/src/main/org/jboss/seam.
by seam-commits@lists.jboss.org
Author: smendenh(a)redhat.com
Date: 2011-09-14 15:49:59 -0400 (Wed, 14 Sep 2011)
New Revision: 14188
Modified:
branches/enterprise/JBPAPP_5_1_1_JBPAPP-7202/src/main/org/jboss/seam/Component.java
Log:
Changed HashSet to LinkedHashSet for the Business interfaces
Modified: branches/enterprise/JBPAPP_5_1_1_JBPAPP-7202/src/main/org/jboss/seam/Component.java
===================================================================
--- branches/enterprise/JBPAPP_5_1_1_JBPAPP-7202/src/main/org/jboss/seam/Component.java 2011-09-14 19:45:06 UTC (rev 14187)
+++ branches/enterprise/JBPAPP_5_1_1_JBPAPP-7202/src/main/org/jboss/seam/Component.java 2011-09-14 19:49:59 UTC (rev 14188)
@@ -1834,7 +1834,7 @@
public static Set<Class> getBusinessInterfaces(Class clazz)
{
- Set<Class> result = new HashSet<Class>();
+ Set<Class> result = new LinkedHashSet<Class>();
if ( clazz.isAnnotationPresent(LOCAL) )
{
14 years, 7 months
Seam SVN: r14187 - branches/enterprise.
by seam-commits@lists.jboss.org
Author: smendenh(a)redhat.com
Date: 2011-09-14 15:45:06 -0400 (Wed, 14 Sep 2011)
New Revision: 14187
Added:
branches/enterprise/JBPAPP_5_1_1_JBPAPP-7202/
Log:
one-off for JBPAPP-7207
14 years, 7 months
[seam/security] 5231d6: SEAMSECURITY-101
by noreply@github.com
Branch: refs/heads/develop
Home: https://github.com/seam/security
Commit: 5231d6c078da8b080a6f9c9b41bf7ece119ba0a7
https://github.com/seam/security/commit/5231d6c078da8b080a6f9c9b41bf7ece1...
Author: Shane Bryzak <sbryzak(a)gmail.com>
Date: 2011-09-14 (Wed, 14 Sep 2011)
Changed paths:
M examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObject.java
M examples/idmconsole/src/main/webapp/WEB-INF/beans.xml
A impl/src/main/java/org/jboss/seam/security/AuthorizationObserver.java
A impl/src/main/java/org/jboss/seam/security/SecurityExtension.java
A impl/src/main/java/org/jboss/seam/security/SecurityInterceptor.java
A impl/src/main/java/org/jboss/seam/security/SecurityInterceptorBinding.java
A impl/src/main/java/org/jboss/seam/security/SecurityInterceptorBindingLiteral.java
R impl/src/main/java/org/jboss/seam/security/extension/AuthorizationObserver.java
R impl/src/main/java/org/jboss/seam/security/extension/SecurityExtension.java
R impl/src/main/java/org/jboss/seam/security/extension/SecurityInterceptor.java
R impl/src/main/java/org/jboss/seam/security/extension/SecurityInterceptorBinding.java
R impl/src/main/java/org/jboss/seam/security/extension/SecurityInterceptorBindingLiteral.java
M impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
Log Message:
-----------
SEAMSECURITY-101
14 years, 7 months
[seam/mail] 6525ea: quick tests fix
by noreply@github.com
Branch: refs/heads/develop
Home: https://github.com/seam/mail
Commit: 6525ea3d8e35cb34ac47ddb271b41c3db0b6c560
https://github.com/seam/mail/commit/6525ea3d8e35cb34ac47ddb271b41c3db0b6c560
Author: Marek Schmidt <maschmid(a)redhat.com>
Date: 2011-09-13 (Tue, 13 Sep 2011)
Changed paths:
M core/impl/pom.xml
M examples/sendmail/pom.xml
M examples/sendmail/src/main/java/org/jboss/seam/mail/example/GmailSessionProducer.java
M examples/sendmail/src/test/java/org/jboss/seam/mail/examples/sendmail/ftest/SeleniumMailTest.java
M freemarker/impl/pom.xml
M pom.xml
M seam-render/impl/pom.xml
M velocity/impl/pom.xml
M velocity/impl/src/main/java/org/jboss/seam/mail/templating/velocity/CDIVelocityContext.java
Log Message:
-----------
quick tests fix
Commit: 753c345a2d13f39357d625d77f123ac677aa1e50
https://github.com/seam/mail/commit/753c345a2d13f39357d625d77f123ac677aa1e50
Author: codylerum <cody.lerum(a)gmail.com>
Date: 2011-09-14 (Wed, 14 Sep 2011)
Changed paths:
M core/impl/pom.xml
M examples/sendmail/pom.xml
M examples/sendmail/src/main/java/org/jboss/seam/mail/example/GmailSessionProducer.java
M examples/sendmail/src/test/java/org/jboss/seam/mail/examples/sendmail/ftest/SeleniumMailTest.java
M freemarker/impl/pom.xml
M pom.xml
M seam-render/impl/pom.xml
M velocity/impl/pom.xml
M velocity/impl/src/main/java/org/jboss/seam/mail/templating/velocity/CDIVelocityContext.java
Log Message:
-----------
Merge pull request #11 from maschmid/testsuite-update
quick tests fix
Compare: https://github.com/seam/mail/compare/b060bee...753c345
14 years, 7 months
[seam/security] 842640: actually enable the extension, update idmconsole e...
by noreply@github.com
Branch: refs/heads/develop
Home: https://github.com/seam/security
Commit: 842640dc365a1da575b15cb97fd21db1dff5c759
https://github.com/seam/security/commit/842640dc365a1da575b15cb97fd21db1d...
Author: Shane Bryzak <sbryzak(a)gmail.com>
Date: 2011-09-14 (Wed, 14 Sep 2011)
Changed paths:
M examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObject.java
M examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectAttribute.java
M examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectCredential.java
M examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationship.java
M examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityRoleName.java
M impl/src/main/java/org/jboss/seam/security/management/picketlink/JpaIdentityStoreConfiguration.java
M impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
Log Message:
-----------
actually enable the extension, update idmconsole example to use the new annotations
14 years, 7 months