[jira] [Commented] (IO-546) ClosedOutputStream#flush should throw
[ https://issues.apache.org/jira/browse/IO-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16128181#comment-16128181 ] Elijah Zupancic commented on IO-546: This sample application illustrates the inconsistency: {code:java} import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.CloseShieldOutputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; public class BrokenShield { public static void main(String[] argv) throws IOException { File file = File.createTempFile("broken-shield", "txt"); byte[] arbitraryData = "Hello World ".getBytes(StandardCharsets.UTF_8); FileOutputStream fout = new FileOutputStream(file); BufferedOutputStream bout = new BufferedOutputStream(fout, 9); CloseShieldOutputStream cout = new CloseShieldOutputStream(fout); try { // This should work because we haven't tried to close the stream cout.write(arbitraryData); // Here we pretend this is some stupid library that insists on // closing a stream when it shouldn't. cout.close(); // After we try to close the stream, new data can't be written to // the stream. For example: cout.write(arbitraryData); // Would throw an exception like: // java.io.IOException: write(72) failed: stream is closed // However, if we call flush(), no exception is thrown - this is // inconsistent with the behavior of write() cout.flush(); } finally { // We properly close the stream we have to use the underlying // stream like you would expect. fout.close(); } try (FileInputStream fin = new FileInputStream(file)) { String data = IOUtils.toString(fin, StandardCharsets.UTF_8); System.out.println(data); } } } {code} > ClosedOutputStream#flush should throw > - > > Key: IO-546 > URL: https://issues.apache.org/jira/browse/IO-546 > Project: Commons IO > Issue Type: Improvement > Components: Streams/Writers >Reporter: Tomas Celaya >Priority: Minor > Attachments: IO-546.patch > > > While debugging an issue involving usage of {{CloseShieldOutputStream}} I > discovered that {{ClosedOutputStream#flush}} is not overridden and will > silently succeed. Not sure how much of a breaking change this might be but I > think it makes more sense for {{ClosedOutputStream#flush}} to throw. This is > only really meaningful in contexts where multiple streams are being chained > together and some of the streams before {{CloseShieldOutputStream}} perform > buffering, but it would make behavior more consistent for these more complex > use-cases. > No patches are included because I'm interested in hearing what the opinion > would be on this issue. I can provide a patch if this seems like desired > behavior. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (IO-546) ClosedOutputStream#flush should throw
[ https://issues.apache.org/jira/browse/IO-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16128181#comment-16128181 ] Elijah Zupancic edited comment on IO-546 at 8/16/17 1:14 AM: - This sample application illustrates the inconsistency: {code:java} import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.CloseShieldOutputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; public class BrokenShield { public static void main(String[] argv) throws IOException { File file = File.createTempFile("broken-shield", "txt"); byte[] arbitraryData = "Hello World ".getBytes(StandardCharsets.UTF_8); FileOutputStream fout = new FileOutputStream(file); CloseShieldOutputStream cout = new CloseShieldOutputStream(fout); try { // This should work because we haven't tried to close the stream cout.write(arbitraryData); // Here we pretend this is some stupid library that insists on // closing a stream when it shouldn't. cout.close(); // After we try to close the stream, new data can't be written to // the stream. For example: cout.write(arbitraryData); // Would throw an exception like: // java.io.IOException: write(72) failed: stream is closed // However, if we call flush(), no exception is thrown - this is // inconsistent with the behavior of write() cout.flush(); } finally { // We properly close the stream we have to use the underlying // stream like you would expect. fout.close(); } try (FileInputStream fin = new FileInputStream(file)) { String data = IOUtils.toString(fin, StandardCharsets.UTF_8); System.out.println(data); } } } {code} was (Author: elijah): This sample application illustrates the inconsistency: {code:java} import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.CloseShieldOutputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; public class BrokenShield { public static void main(String[] argv) throws IOException { File file = File.createTempFile("broken-shield", "txt"); byte[] arbitraryData = "Hello World ".getBytes(StandardCharsets.UTF_8); FileOutputStream fout = new FileOutputStream(file); BufferedOutputStream bout = new BufferedOutputStream(fout, 9); CloseShieldOutputStream cout = new CloseShieldOutputStream(fout); try { // This should work because we haven't tried to close the stream cout.write(arbitraryData); // Here we pretend this is some stupid library that insists on // closing a stream when it shouldn't. cout.close(); // After we try to close the stream, new data can't be written to // the stream. For example: cout.write(arbitraryData); // Would throw an exception like: // java.io.IOException: write(72) failed: stream is closed // However, if we call flush(), no exception is thrown - this is // inconsistent with the behavior of write() cout.flush(); } finally { // We properly close the stream we have to use the underlying // stream like you would expect. fout.close(); } try (FileInputStream fin = new FileInputStream(file)) { String data = IOUtils.toString(fin, StandardCharsets.UTF_8); System.out.println(data); } } } {code} > ClosedOutputStream#flush should throw > - > > Key: IO-546 > URL: https://issues.apache.org/jira/browse/IO-546 > Project: Commons IO > Issue Type: Improvement > Components: Streams/Writers >Reporter: Tomas Celaya >Priority: Minor > Attachments: IO-546.patch > > > While debugging an issue involving usage of {{CloseShieldOutputStream}} I > discovered that {{ClosedOutputStream#flush}} is not overridden and will > silently succeed. Not sure how much of a breaking change this might be but I > think it makes more sense for {{ClosedOutputStream#flush}} to throw. This is > only really meaningful in contexts where multiple streams are being chained > together and some of the streams before {{CloseShieldOutputStream}} perform > buffering, but it would make behavior more consistent for these more complex > use-cases. > No patches are included
[jira] [Issue Comment Deleted] (IO-546) ClosedOutputStream#flush should throw
[ https://issues.apache.org/jira/browse/IO-546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated IO-546: --- Comment: was deleted (was: bq. ClosedOutputStream#flush is not overridden and will silently succeed. If I am understanding this correctly, when close() is called for the first time, any methods that are wrapped in the {{ProxyOutputStream}} are no longer available. This seems pathological. The purpose of this class is to prevent close() from being called on the underlying stream. If it is called accidentally, then the underlying stream _should_ still be open and methods like flush() should be available.) > ClosedOutputStream#flush should throw > - > > Key: IO-546 > URL: https://issues.apache.org/jira/browse/IO-546 > Project: Commons IO > Issue Type: Improvement > Components: Streams/Writers >Reporter: Tomas Celaya >Priority: Minor > Attachments: IO-546.patch > > > While debugging an issue involving usage of {{CloseShieldOutputStream}} I > discovered that {{ClosedOutputStream#flush}} is not overridden and will > silently succeed. Not sure how much of a breaking change this might be but I > think it makes more sense for {{ClosedOutputStream#flush}} to throw. This is > only really meaningful in contexts where multiple streams are being chained > together and some of the streams before {{CloseShieldOutputStream}} perform > buffering, but it would make behavior more consistent for these more complex > use-cases. > No patches are included because I'm interested in hearing what the opinion > would be on this issue. I can provide a patch if this seems like desired > behavior. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IO-546) ClosedOutputStream#flush should throw
[ https://issues.apache.org/jira/browse/IO-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16128165#comment-16128165 ] Elijah Zupancic commented on IO-546: bq. ClosedOutputStream#flush is not overridden and will silently succeed. If I am understanding this correctly, when close() is called for the first time, any methods that are wrapped in the {{ProxyOutputStream}} are no longer available. This seems pathological. The purpose of this class is to prevent close() from being called on the underlying stream. If it is called accidentally, then the underlying stream _should_ still be open and methods like flush() should be available. > ClosedOutputStream#flush should throw > - > > Key: IO-546 > URL: https://issues.apache.org/jira/browse/IO-546 > Project: Commons IO > Issue Type: Improvement > Components: Streams/Writers >Reporter: Tomas Celaya >Priority: Minor > Attachments: IO-546.patch > > > While debugging an issue involving usage of {{CloseShieldOutputStream}} I > discovered that {{ClosedOutputStream#flush}} is not overridden and will > silently succeed. Not sure how much of a breaking change this might be but I > think it makes more sense for {{ClosedOutputStream#flush}} to throw. This is > only really meaningful in contexts where multiple streams are being chained > together and some of the streams before {{CloseShieldOutputStream}} perform > buffering, but it would make behavior more consistent for these more complex > use-cases. > No patches are included because I'm interested in hearing what the opinion > would be on this issue. I can provide a patch if this seems like desired > behavior. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Resolved] (CHAIN-47) WebContext, ServletWebContext should be interfaces.
[ https://issues.apache.org/jira/browse/CHAIN-47?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic resolved CHAIN-47. -- Resolution: Fixed Fix Version/s: 2.0 Resolved on 1366094. WebContext, ServletWebContext should be interfaces. --- Key: CHAIN-47 URL: https://issues.apache.org/jira/browse/CHAIN-47 Project: Commons Chain Issue Type: Improvement Affects Versions: 1.0, 1.1, 1.2 Environment: n/a Reporter: ori Fix For: 2.0 WebContext should not be an abstract class. ServletWebContext should not be a concrete class. Different applications may want to have different base implementations of context but still have WebContext methods. A perfect example is in Struts 1.3: WebActionContext and ServletActionContext duplicate many of the methods in their chain equivalents without adhering to a common interface. I use the classes below in my application. Most Commons projects do not use the IXxxx interface naming convention but I had no choice here. public interface IWebContext extends Context { public Map getApplicationScope(); public MapString, String getHeader(); public MapString, String[] getHeaderValues(); public MapString, String getInitParam(); public MapString, String getParam(); public MapString, String[] getParamValues(); public Map getRequestScope(); public Map getSessionScope(); } public interface IServletWebContext extends IWebContext { public ServletContext getContext(); public MapString, Cookie getCookies(); public Cookie deleteCookie( final String cookieName ); public HttpServletRequest getRequest(); public HttpServletResponse getResponse(); } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CHAIN-72) configuration façade APIs
[ https://issues.apache.org/jira/browse/CHAIN-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic resolved CHAIN-72. -- Resolution: Fixed Resolved on 1366118. @Simo - I've address the issues that you raised in the comments. configuration façade APIs - Key: CHAIN-72 URL: https://issues.apache.org/jira/browse/CHAIN-72 Project: Commons Chain Issue Type: New Feature Affects Versions: 2.0 Reporter: Simone Tripodi Assignee: Elijah Zupancic Fix For: 2.0 Attachments: chain-72.diff As discussed in ML, define a façade API for textual configurations and rename the current XML configuration module to xml-configuration (and adapt it to new APIs) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-72) configuration façade APIs
[ https://issues.apache.org/jira/browse/CHAIN-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-72: - Attachment: chain-72.diff Proposed changes to create a facade. configuration façade APIs - Key: CHAIN-72 URL: https://issues.apache.org/jira/browse/CHAIN-72 Project: Commons Chain Issue Type: New Feature Affects Versions: 2.0 Reporter: Simone Tripodi Assignee: Elijah Zupancic Fix For: 2.0 Attachments: chain-72.diff As discussed in ML, define a façade API for textual configurations and rename the current XML configuration module to xml-configuration (and adapt it to new APIs) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-72) configuration façade APIs
[ https://issues.apache.org/jira/browse/CHAIN-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-72: - Attachment: (was: chain-72.diff) configuration façade APIs - Key: CHAIN-72 URL: https://issues.apache.org/jira/browse/CHAIN-72 Project: Commons Chain Issue Type: New Feature Affects Versions: 2.0 Reporter: Simone Tripodi Assignee: Elijah Zupancic Fix For: 2.0 Attachments: chain-72.diff As discussed in ML, define a façade API for textual configurations and rename the current XML configuration module to xml-configuration (and adapt it to new APIs) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-72) configuration façade APIs
[ https://issues.apache.org/jira/browse/CHAIN-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-72: - Attachment: chain-72.diff First draft of facade api. configuration façade APIs - Key: CHAIN-72 URL: https://issues.apache.org/jira/browse/CHAIN-72 Project: Commons Chain Issue Type: New Feature Affects Versions: 2.0 Reporter: Simone Tripodi Assignee: Elijah Zupancic Fix For: 2.0 Attachments: chain-72.diff As discussed in ML, define a façade API for textual configurations and rename the current XML configuration module to xml-configuration (and adapt it to new APIs) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CHAIN-75) Update serialVersionUID field in chain classes to a format based on the current date
Elijah Zupancic created CHAIN-75: Summary: Update serialVersionUID field in chain classes to a format based on the current date Key: CHAIN-75 URL: https://issues.apache.org/jira/browse/CHAIN-75 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Priority: Trivial As per Jörg's recommendation, we will update the serialVersionUID of chain classes to a format using the current date to determine version. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-75) Update serialVersionUID field in chain classes to a format based on the current date
[ https://issues.apache.org/jira/browse/CHAIN-75?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-75: - Attachment: chain-75.diff Update serialVersionUID field in chain classes to a format based on the current date Key: CHAIN-75 URL: https://issues.apache.org/jira/browse/CHAIN-75 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Priority: Trivial Attachments: chain-75.diff As per Jörg's recommendation, we will update the serialVersionUID of chain classes to a format using the current date to determine version. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CHAIN-75) Update serialVersionUID field in chain classes to a format based on the current date
[ https://issues.apache.org/jira/browse/CHAIN-75?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic resolved CHAIN-75. -- Resolution: Fixed Fix Version/s: 2.0 Resolved on 1365262. Update serialVersionUID field in chain classes to a format based on the current date Key: CHAIN-75 URL: https://issues.apache.org/jira/browse/CHAIN-75 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Priority: Trivial Fix For: 2.0 Attachments: chain-75.diff As per Jörg's recommendation, we will update the serialVersionUID of chain classes to a format using the current date to determine version. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (DIGESTER-166) Link to core API documentation is broken on the front page of the Digester site
Elijah Zupancic created DIGESTER-166: Summary: Link to core API documentation is broken on the front page of the Digester site Key: DIGESTER-166 URL: https://issues.apache.org/jira/browse/DIGESTER-166 Project: Commons Digester Issue Type: Bug Affects Versions: 3.2 Reporter: Elijah Zupancic Priority: Trivial The link to Core APIs on the front page of the Digester project is broken. It points to: http://commons.apache.org/digester/commons-digester-3.0/core.html It probably should point to: http://commons.apache.org/digester/guide/core.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (DIGESTER-166) Link to core API documentation is broken on the front page of the Digester site
[ https://issues.apache.org/jira/browse/DIGESTER-166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated DIGESTER-166: - Attachment: digester-166.diff Link to core API documentation is broken on the front page of the Digester site --- Key: DIGESTER-166 URL: https://issues.apache.org/jira/browse/DIGESTER-166 Project: Commons Digester Issue Type: Bug Affects Versions: 3.2 Reporter: Elijah Zupancic Priority: Trivial Attachments: digester-166.diff The link to Core APIs on the front page of the Digester project is broken. It points to: http://commons.apache.org/digester/commons-digester-3.0/core.html It probably should point to: http://commons.apache.org/digester/guide/core.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (DIGESTER-166) Link to core API documentation is broken on the front page of the Digester site
[ https://issues.apache.org/jira/browse/DIGESTER-166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic resolved DIGESTER-166. -- Resolution: Fixed Fixed in trunk version 1364892. For changes see attached patch. Link to core API documentation is broken on the front page of the Digester site --- Key: DIGESTER-166 URL: https://issues.apache.org/jira/browse/DIGESTER-166 Project: Commons Digester Issue Type: Bug Affects Versions: 3.2 Reporter: Elijah Zupancic Priority: Trivial Attachments: digester-166.diff The link to Core APIs on the front page of the Digester project is broken. It points to: http://commons.apache.org/digester/commons-digester-3.0/core.html It probably should point to: http://commons.apache.org/digester/guide/core.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CHAIN-71) Remove @Deprecated methods
Elijah Zupancic created CHAIN-71: Summary: Remove @Deprecated methods Key: CHAIN-71 URL: https://issues.apache.org/jira/browse/CHAIN-71 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Fix For: 2.0 Remove all @Deprecated methods for the 2.0 release. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-71) Remove @Deprecated methods
[ https://issues.apache.org/jira/browse/CHAIN-71?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-71: - Attachment: chain-71.patch Patch to remove deprecated code. Remove @Deprecated methods -- Key: CHAIN-71 URL: https://issues.apache.org/jira/browse/CHAIN-71 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Fix For: 2.0 Attachments: chain-71.patch Remove all @Deprecated methods for the 2.0 release. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CHAIN-69) Fixed Checkstyle / PMD Warnings
Elijah Zupancic created CHAIN-69: Summary: Fixed Checkstyle / PMD Warnings Key: CHAIN-69 URL: https://issues.apache.org/jira/browse/CHAIN-69 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Fix For: 2.0 In this issue, we fix many PMD and checkstyle violations. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-69) Fixed Checkstyle / PMD Warnings
[ https://issues.apache.org/jira/browse/CHAIN-69?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-69: - Attachment: chain-69.diff Checkstyle / PMD violations fixes. Fixed Checkstyle / PMD Warnings --- Key: CHAIN-69 URL: https://issues.apache.org/jira/browse/CHAIN-69 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Fix For: 2.0 Attachments: chain-69.diff In this issue, we fix many PMD and checkstyle violations. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CHAIN-58) Update Chain Context interface to use K,V generics
Update Chain Context interface to use K,V generics -- Key: CHAIN-58 URL: https://issues.apache.org/jira/browse/CHAIN-58 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Fix For: 2.0 As discussed in the mailing list, I am suggesting that we change the definition of Context from: -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-58) Update Chain Context interface to use K,V generics
[ https://issues.apache.org/jira/browse/CHAIN-58?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-58: - Description: As discussed in the mailing list, I am suggesting that we change the definition of Context from: {noformat} public interface Context extends MapString, Object { {noformat} to: {noformat} public interface ContextK, V extends MapK, V { {noformat} was:As discussed in the mailing list, I am suggesting that we change the definition of Context from: Update Chain Context interface to use K,V generics -- Key: CHAIN-58 URL: https://issues.apache.org/jira/browse/CHAIN-58 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Fix For: 2.0 As discussed in the mailing list, I am suggesting that we change the definition of Context from: {noformat} public interface Context extends MapString, Object { {noformat} to: {noformat} public interface ContextK, V extends MapK, V { {noformat} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-58) Update Chain Context interface to use K,V generics
[ https://issues.apache.org/jira/browse/CHAIN-58?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-58: - Attachment: chain-58.diff Update Chain Context interface to use K,V generics -- Key: CHAIN-58 URL: https://issues.apache.org/jira/browse/CHAIN-58 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Elijah Zupancic Fix For: 2.0 Attachments: chain-58.diff As discussed in the mailing list, I am suggesting that we change the definition of Context from: {noformat} public interface Context extends MapString, Object { {noformat} to: {noformat} public interface ContextK, V extends MapK, V { {noformat} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-57) Chain 2.0 does not build on older JDKs
[ https://issues.apache.org/jira/browse/CHAIN-57?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13102675#comment-13102675 ] Elijah Zupancic commented on CHAIN-57: -- What versions of the compiler work on OS X? Chain 2.0 does not build on older JDKs -- Key: CHAIN-57 URL: https://issues.apache.org/jira/browse/CHAIN-57 Project: Commons Chain Issue Type: Bug Affects Versions: 2.0 Environment: OS name: linux version: 2.6.35-30-generic arch: amd64 Family: unix Ubuntu 10.10 x64 Versions Tested: {noformat} ibm-java2-x86_64-50 (1.5 j9vmxa6423ifx-20110624) [SUCCESS] Sun/Oracle 1.5.0_22 [FAILURE] OpenJdk 1.6.0_20 [SUCCESS] Sun/Oracle 1.6.0_11 [FAILURE] Sun/Oracle 1.6.0_21 [FAILURE] Sun/Oracle 1.6.0_27 [SUCCESS] ibm-java-x86_64-60 (1.6 jvmxa6460-20081105_25433) [FAILURE] ibm-java-x86_64-60 (1.6 jvmxa6460sr9-20110624_85526) [SUCCESS] {noformat} Reporter: Elijah Zupancic Priority: Minor Older versions of the JDK irrespective of vendor fail to compile chain v2. I recommend that we do not do any code changes, but rather inform the users in the documentation to compile with a newer JDK version. The following is the typical output of a failed build. This particular output is when I tried to build using the Sun/Oracle JDK 1.6.0_21. {noformat} mvn clean package [INFO] Scanning for projects... [INFO] [INFO] Building Commons Chain [INFO]task-segment: [clean, package] [INFO] [INFO] artifact org.apache.maven.plugins:maven-idea-plugin: checking for updates from internal [INFO] Repository 'internal' will be blacklisted [INFO] [clean:clean {execution: default-clean}] [INFO] Deleting /home/elijah/dev/version-2.0-work/target [INFO] [antrun:run {execution: javadoc.resources}] [INFO] Executing tasks main: [copy] Copying 2 files to /home/elijah/dev/version-2.0-work/target/apidocs/META-INF [INFO] Executed tasks [INFO] Setting property: classpath.resource.loader.class = 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'. [INFO] Setting property: velocimacro.messages.on = 'false'. [INFO] Setting property: resource.loader = 'classpath'. [INFO] Setting property: resource.manager.logwhenfound = 'false'. [INFO] [remote-resources:process {execution: default}] [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'iso-8859-1' encoding to copy filtered resources. [INFO] Copying 2 resources to META-INF [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 63 source files to /home/elijah/dev/version-2.0-work/target/classes [INFO] [bundle:manifest {execution: bundle-manifest}] [WARNING] Warning in manifest for commons-chain:commons-chain:jar:2.0-SNAPSHOT : Did not find matching referal for !javax.portlet [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'iso-8859-1' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] Compiling 37 source files to /home/elijah/dev/version-2.0-work/target/test-classes [INFO] - [ERROR] COMPILATION ERROR : [INFO] - [ERROR] /home/elijah/dev/version-2.0-work/src/test/java/org/apache/commons/chain/generic/DispatchCommandTestCase.java:[141,42] type parameters of TT cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,java.lang.Object [INFO] 1error [INFO] - [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure /home/elijah/dev/version-2.0-work/src/test/java/org/apache/commons/chain/generic/DispatchCommandTestCase.java:[141,42] type parameters of TT cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,java.lang.Object [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 15 seconds [INFO] Finished at: Wed Sep 07 08:09:12 PDT 2011 [INFO] Final Memory: 51M/300M [INFO] {noformat} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-57) Chain 2.0 does not build on older JDKs
[ https://issues.apache.org/jira/browse/CHAIN-57?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13103129#comment-13103129 ] Elijah Zupancic commented on CHAIN-57: -- I've just verified that chain now builds in all of the environments that I tested with previously. The patch works! @Simo, do you want to close this issue? Chain 2.0 does not build on older JDKs -- Key: CHAIN-57 URL: https://issues.apache.org/jira/browse/CHAIN-57 Project: Commons Chain Issue Type: Bug Affects Versions: 2.0 Environment: OS name: linux version: 2.6.35-30-generic arch: amd64 Family: unix Ubuntu 10.10 x64 Versions Tested: {noformat} ibm-java2-x86_64-50 (1.5 j9vmxa6423ifx-20110624) [SUCCESS] Sun/Oracle 1.5.0_22 [FAILURE] OpenJdk 1.6.0_20 [SUCCESS] Sun/Oracle 1.6.0_11 [FAILURE] Sun/Oracle 1.6.0_21 [FAILURE] Sun/Oracle 1.6.0_27 [SUCCESS] ibm-java-x86_64-60 (1.6 jvmxa6460-20081105_25433) [FAILURE] ibm-java-x86_64-60 (1.6 jvmxa6460sr9-20110624_85526) [SUCCESS] {noformat} Reporter: Elijah Zupancic Priority: Minor Older versions of the JDK irrespective of vendor fail to compile chain v2. I recommend that we do not do any code changes, but rather inform the users in the documentation to compile with a newer JDK version. The following is the typical output of a failed build. This particular output is when I tried to build using the Sun/Oracle JDK 1.6.0_21. {noformat} mvn clean package [INFO] Scanning for projects... [INFO] [INFO] Building Commons Chain [INFO]task-segment: [clean, package] [INFO] [INFO] artifact org.apache.maven.plugins:maven-idea-plugin: checking for updates from internal [INFO] Repository 'internal' will be blacklisted [INFO] [clean:clean {execution: default-clean}] [INFO] Deleting /home/elijah/dev/version-2.0-work/target [INFO] [antrun:run {execution: javadoc.resources}] [INFO] Executing tasks main: [copy] Copying 2 files to /home/elijah/dev/version-2.0-work/target/apidocs/META-INF [INFO] Executed tasks [INFO] Setting property: classpath.resource.loader.class = 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'. [INFO] Setting property: velocimacro.messages.on = 'false'. [INFO] Setting property: resource.loader = 'classpath'. [INFO] Setting property: resource.manager.logwhenfound = 'false'. [INFO] [remote-resources:process {execution: default}] [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'iso-8859-1' encoding to copy filtered resources. [INFO] Copying 2 resources to META-INF [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 63 source files to /home/elijah/dev/version-2.0-work/target/classes [INFO] [bundle:manifest {execution: bundle-manifest}] [WARNING] Warning in manifest for commons-chain:commons-chain:jar:2.0-SNAPSHOT : Did not find matching referal for !javax.portlet [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'iso-8859-1' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] Compiling 37 source files to /home/elijah/dev/version-2.0-work/target/test-classes [INFO] - [ERROR] COMPILATION ERROR : [INFO] - [ERROR] /home/elijah/dev/version-2.0-work/src/test/java/org/apache/commons/chain/generic/DispatchCommandTestCase.java:[141,42] type parameters of TT cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,java.lang.Object [INFO] 1error [INFO] - [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure /home/elijah/dev/version-2.0-work/src/test/java/org/apache/commons/chain/generic/DispatchCommandTestCase.java:[141,42] type parameters of TT cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,java.lang.Object [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 15 seconds [INFO] Finished at: Wed Sep 07 08:09:12 PDT 2011 [INFO] Final Memory: 51M/300M [INFO] {noformat} -- This message is automatically
[jira] [Created] (CHAIN-57) Chain 2.0 does not build on older JDKs
Chain 2.0 does not build on older JDKs -- Key: CHAIN-57 URL: https://issues.apache.org/jira/browse/CHAIN-57 Project: Commons Chain Issue Type: Bug Affects Versions: 2.0 Environment: OS name: linux version: 2.6.35-30-generic arch: amd64 Family: unix Ubuntu 10.10 x64 Versions Tested: {noformat} ibm-java2-x86_64-50 (1.5 j9vmxa6423ifx-20110624) [SUCCESS] Sun/Oracle 1.5.0_22 [FAILURE] OpenJdk 1.6.0_20 [SUCCESS] Sun/Oracle 1.6.0_11 [FAILURE] Sun/Oracle 1.6.0_21 [FAILURE] Sun/Oracle 1.6.0_27 [SUCCESS] ibm-java-x86_64-60 (1.6 jvmxa6460-20081105_25433) [FAILURE] ibm-java-x86_64-60 (1.6 jvmxa6460sr9-20110624_85526) [SUCCESS] {noformat} Reporter: Elijah Zupancic Priority: Minor Older versions of the JDK irrespective of vendor fail to compile chain v2. I recommend that we do not do any code changes, but rather inform the users in the documentation to compile with a newer JDK version. The following is the typical output of a failed build. This particular output is when I tried to build using the Sun/Oracle JDK 1.6.0_21. {noformat} mvn clean package [INFO] Scanning for projects... [INFO] [INFO] Building Commons Chain [INFO]task-segment: [clean, package] [INFO] [INFO] artifact org.apache.maven.plugins:maven-idea-plugin: checking for updates from internal [INFO] Repository 'internal' will be blacklisted [INFO] [clean:clean {execution: default-clean}] [INFO] Deleting /home/elijah/dev/version-2.0-work/target [INFO] [antrun:run {execution: javadoc.resources}] [INFO] Executing tasks main: [copy] Copying 2 files to /home/elijah/dev/version-2.0-work/target/apidocs/META-INF [INFO] Executed tasks [INFO] Setting property: classpath.resource.loader.class = 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'. [INFO] Setting property: velocimacro.messages.on = 'false'. [INFO] Setting property: resource.loader = 'classpath'. [INFO] Setting property: resource.manager.logwhenfound = 'false'. [INFO] [remote-resources:process {execution: default}] [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'iso-8859-1' encoding to copy filtered resources. [INFO] Copying 2 resources to META-INF [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 63 source files to /home/elijah/dev/version-2.0-work/target/classes [INFO] [bundle:manifest {execution: bundle-manifest}] [WARNING] Warning in manifest for commons-chain:commons-chain:jar:2.0-SNAPSHOT : Did not find matching referal for !javax.portlet [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'iso-8859-1' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] Compiling 37 source files to /home/elijah/dev/version-2.0-work/target/test-classes [INFO] - [ERROR] COMPILATION ERROR : [INFO] - [ERROR] /home/elijah/dev/version-2.0-work/src/test/java/org/apache/commons/chain/generic/DispatchCommandTestCase.java:[141,42] type parameters of TT cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,java.lang.Object [INFO] 1error [INFO] - [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure /home/elijah/dev/version-2.0-work/src/test/java/org/apache/commons/chain/generic/DispatchCommandTestCase.java:[141,42] type parameters of TT cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,java.lang.Object [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 15 seconds [INFO] Finished at: Wed Sep 07 08:09:12 PDT 2011 [INFO] Final Memory: 51M/300M [INFO] {noformat} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-55) split the huge project in submodules
[ https://issues.apache.org/jira/browse/CHAIN-55?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13098162#comment-13098162 ] Elijah Zupancic commented on CHAIN-55: -- I agree regarding splitting the project as well. I always wondered if anyone was actually using the faces or portlets modules. With regards to the servlet module, I don't think we should drop it. It is clunky and could be refactored. Moreover, I remember the WebServletContext being functionally read-only and confusing to use, so I ended up extending it so that I could make it work the way that I expected. split the huge project in submodules Key: CHAIN-55 URL: https://issues.apache.org/jira/browse/CHAIN-55 Project: Commons Chain Issue Type: Improvement Affects Versions: 2.0 Reporter: Simone Tripodi Assignee: Simone Tripodi Fix For: 2.0 As discussed in the [dev ML|http://markmail.org/message/pnyin5xzmxt2up5q], there is a general agreement between people interested on chain, on splitting the huge component in small submodules, in order to have a lightweight, dependencies-less (unless the logging library, if required) and self-contained core module, and users interested on core APIs only don't need to bring unused code in their applications. SUggested modules are: * core APIs; * XML configuration APIs (depends from Digester); * servlet (depends from Servlet APIs); * portlet (depends from Portlet APIs); * faces (depends from Faces APIs). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-49) ContextBase not deserialized correctly
[ https://issues.apache.org/jira/browse/CHAIN-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13096006#comment-13096006 ] Elijah Zupancic commented on CHAIN-49: -- Is there a unit test anywhere that reproduces this bug? ContextBase not deserialized correctly -- Key: CHAIN-49 URL: https://issues.apache.org/jira/browse/CHAIN-49 Project: Commons Chain Issue Type: Bug Affects Versions: 1.2 Environment: RMI Reporter: Bert Courtyn When deserializing ContextBase, the transient property _descriptors_ isn't deserialized. The comment in the code says that those fields should be filled in by the non argument constructor, but this isn't correct. Because ContextBase extends HashMap, which implements the Serialisable-interface, it's not the constructor of ContextBase that is called but the non-argument constructor of AbstractMap (superclass of HashMap and the first superclass which doesn't implement Serialisable). Therefore the initialize method of ContextBase is never called when a ContextBase-object is deserialized and the _descriptors_-property is never set. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13093194#comment-13093194 ] Elijah Zupancic commented on CHAIN-53: -- @Matt Benson Thanks for catching that. For some reason, that implementation detail slipped my mind. I will write a unit test to see if the existing API supports NULL keys. Since the context base uses JavaBeanUtils to map keys to class setters / getters, it may very well not support null keys. Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Assignee: Simone Tripodi Labels: newbie, patch Attachments: CHAIN-53_2011-08-25.patch As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-53: - Attachment: (was: v2_patch_2011-08-18.diff) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch Attachments: CHAIN-53_2011-08-25.patch As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-53: - Attachment: CHAIN-53_2011-08-25.patch The updated working patch for the v2 branch. Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch Attachments: CHAIN-53_2011-08-25.patch As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13092212#comment-13092212 ] Elijah Zupancic commented on CHAIN-53: -- The patch has been updated and should now be working. Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch Attachments: CHAIN-53_2011-08-25.patch As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-53: - Attachment: v2_patch_2011-08-18.diff This patch supersedes the previous patch. It incorporates changes that are a result of fixing issues reported by checkstyle. Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch Attachments: v2_patch.diff, v2_patch_2011-08-18.diff As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-53: - Attachment: (was: v2_patch.diff) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch Attachments: v2_patch_2011-08-18.diff As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-53: - Description: As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. was: As posted in the mailing list, I've done this work outside of an offical branch. Here is the source: http://elijah.zupancic.name/projects/commons-chain-v2-proof-of-concept.tar.gz And here is a diff: http://elijah.zupancic.name/projects/uber-diff In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } I'm very much new to the ASF and I was advised to file a bug in order to get the process started for these changes to be integrated. Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elijah Zupancic updated CHAIN-53: - Attachment: v2_patch.diff This patch contains all of the changes needed to update commons chain to use generics and the jdk 1.5. Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch Attachments: v2_patch.diff As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13085971#comment-13085971 ] Elijah Zupancic commented on CHAIN-53: -- Note to self and others. If this patch gets voted in, I will need to update the documentation to reflect the inclusion of Generics. Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch Attachments: v2_patch.diff As posted in the mailing list, I've done this work outside of an offical branch. In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } The only incompatibility with the existing API is in: org.apache.commons.chain.web.servlet.ServletHeaderValuesMap on line 97. Previously the API was returning SetEntryString, EnumerationString when by all indications it actually should have been returning SetEntryString, String[]. I believe that I fixed a previously undiscovered bug here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic As posted in the mailing list, I've done this work outside of an offical branch. Here is the source: http://elijah.zupancic.name/projects/commons-chain-v2-proof-of-concept.tar.gz And here is a diff: http://elijah.zupancic.name/projects/uber-diff In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } I'm very much new to the ASF and I was advised to file a bug in order to get the process started for these changes to be integrated. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CHAIN-53) Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions
[ https://issues.apache.org/jira/browse/CHAIN-53?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13085189#comment-13085189 ] Elijah Zupancic commented on CHAIN-53: -- Thanks for the comments Matt. * I will revert back to the MyFaces 1.0 API. * I could add put methods that support Object, Object and then cast them to the K, V types. * I will upload the diff to the bug once I have reverted the MyFaces changes. * Do we want to update the version to 2.0? It seems like it would make sense because we are supporting a newer JDK. Or since it is backwards-compatible would just doing a minor upgrade would be sufficient? Global Update of Chain - Generics, JDK 1.5, Update Dependency Versions -- Key: CHAIN-53 URL: https://issues.apache.org/jira/browse/CHAIN-53 Project: Commons Chain Issue Type: Improvement Reporter: Elijah Zupancic Labels: newbie, patch As posted in the mailing list, I've done this work outside of an offical branch. Here is the source: http://elijah.zupancic.name/projects/commons-chain-v2-proof-of-concept.tar.gz And here is a diff: http://elijah.zupancic.name/projects/uber-diff In this patch: * Global upgrade to the JDK 1.5 * Added @Override annotations * Upgraded to the Servlet 2.5 API * Upgraded to the Faces 2.1 API * Upgraded to the Portlet 2.0 API * Upgraded the Maven Parent POM version * Added generics support to Command so that Command's API looks like: public interface CommandT extends Context { ... boolean execute(T context) throws Exception; } I'm very much new to the ASF and I was advised to file a bug in order to get the process started for these changes to be integrated. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira