[jira] [Updated] (SANSELAN-63) Audit and fix resource leaks
[ https://issues.apache.org/jira/browse/SANSELAN-63?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Adrian Moerchen updated SANSELAN-63: Attachment: finbugs.patch I've recommend you to use Findbugs. I've attached a patch for you {{pom.xml}}. After applying the patch you can run {{mvn site}}. This will also generate the Findbugs analyses. There you can search for *OS_OPEN_STREAM* to find possible candidates where stream may left be open. For developent you could add Findbugs to Eclipse or whatever you use. Links: http://findbugs.sourceforge.net/ http://mojo.codehaus.org/findbugs-maven-plugin/ http://findbugs.sourceforge.net/manual/eclipse.html Btw. Is there a release date for the next version? Audit and fix resource leaks Key: SANSELAN-63 URL: https://issues.apache.org/jira/browse/SANSELAN-63 Project: Commons Sanselan Issue Type: Bug Affects Versions: 0.97 Environment: Windows 7, Java 1.7.0.1, 0.97-Incubator Reporter: Adrian Moerchen Attachments: 380440_295155317172029_185275861493309_985773_37867068_n.bmp, finbugs.patch The attached image is somehow corrupt (it still can be opened with IrfanView). Trying to read the image information with {{Sanselan.getImageInfo(file)}} results in an IOException. After this the image is still locked on the file system, and can't be deleted for example. I expected it to be immediately get unlocked on the file system, after the error occured. -- 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] (COLLECTIONS-285) TreeBidiMap should implement Serializable
[ https://issues.apache.org/jira/browse/COLLECTIONS-285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] William R. Speirs updated COLLECTIONS-285: -- Attachment: COLLECTIONS_285.diff Updated Yandell's patch based on the new generics version. TreeBidiMap should implement Serializable - Key: COLLECTIONS-285 URL: https://issues.apache.org/jira/browse/COLLECTIONS-285 Project: Commons Collections Issue Type: Improvement Components: BidiMap Affects Versions: 3.2 Reporter: Geert Pante Fix For: 4.0-beta-1 Attachments: COLLECTIONS-285.patch, COLLECTIONS_285.diff TreeBidiMap does not implement Serializable. DualTreeBidiMap does. It's just a matter of checking which fields should be transient and done. In fact, all Maps should be Serializable. -- 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] (MATH-747) Several Constructors for PoissonDistributionImpl are broken
Several Constructors for PoissonDistributionImpl are broken --- Key: MATH-747 URL: https://issues.apache.org/jira/browse/MATH-747 Project: Commons Math Issue Type: Bug Affects Versions: 2.2 Reporter: Steve Appling Priority: Critical Fix For: 2.2.1 Only the constructor PoissonDistributionImpl(double) seems to actually work. All of the others cause a NullPointeException. The working one creates a default NormalDistribution, but all of the others just leave the member normal set to null and cause an NPE in the constructor. I can't even find a work around to construct a PoissonDistributionImpl with both a specified mean and an epsilon, since there is no way to set epsilon after creation and the constructor PoissonDistributionImpl(double p, double epsilon) does not work. -- 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] (MATH-747) Several Constructors for PoissonDistributionImpl are broken
[ https://issues.apache.org/jira/browse/MATH-747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steve Appling updated MATH-747: --- Description: Only the constructor PoissonDistributionImpl(double) seems to actually work. All of the others cause a NullPointerException. The working one creates a default NormalDistribution, but all of the others just leave the member normal set to null and cause an NPE in the constructor. I can't even find a work around to construct a PoissonDistributionImpl with both a specified mean and an epsilon, since there is no way to set epsilon after creation and the constructor PoissonDistributionImpl(double p, double epsilon) does not work. was: Only the constructor PoissonDistributionImpl(double) seems to actually work. All of the others cause a NullPointeException. The working one creates a default NormalDistribution, but all of the others just leave the member normal set to null and cause an NPE in the constructor. I can't even find a work around to construct a PoissonDistributionImpl with both a specified mean and an epsilon, since there is no way to set epsilon after creation and the constructor PoissonDistributionImpl(double p, double epsilon) does not work. Several Constructors for PoissonDistributionImpl are broken --- Key: MATH-747 URL: https://issues.apache.org/jira/browse/MATH-747 Project: Commons Math Issue Type: Bug Affects Versions: 2.2 Reporter: Steve Appling Priority: Critical Fix For: 2.2.1 Only the constructor PoissonDistributionImpl(double) seems to actually work. All of the others cause a NullPointerException. The working one creates a default NormalDistribution, but all of the others just leave the member normal set to null and cause an NPE in the constructor. I can't even find a work around to construct a PoissonDistributionImpl with both a specified mean and an epsilon, since there is no way to set epsilon after creation and the constructor PoissonDistributionImpl(double p, double epsilon) does not work. -- 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] (MATH-431) New tests: Wilcoxon signed-rank test and Mann-Whitney U
[ https://issues.apache.org/jira/browse/MATH-431?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Neidhart updated MATH-431: - Fix Version/s: (was: 3.0) 3.1 New tests: Wilcoxon signed-rank test and Mann-Whitney U --- Key: MATH-431 URL: https://issues.apache.org/jira/browse/MATH-431 Project: Commons Math Issue Type: New Feature Reporter: Mikkel Meyer Andersen Assignee: Mikkel Meyer Andersen Priority: Minor Fix For: 3.1 Attachments: MATH431-patch1, MannWhitneyUTest.java, MannWhitneyUTestImpl.java, WilcoxonSignedRankTest.java, WilcoxonSignedRankTestImpl.java Original Estimate: 4h Remaining Estimate: 4h Wilcoxon signed-rank test and Mann-Whitney U are commonly used non-parametric statistical hypothesis tests (e.g. instead of various t-tests when normality is not present). -- 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] (MATH-748) Additional Clustering Algorithms
Additional Clustering Algorithms Key: MATH-748 URL: https://issues.apache.org/jira/browse/MATH-748 Project: Commons Math Issue Type: New Feature Affects Versions: 3.1 Reporter: Thomas Neidhart Priority: Minor CM currently contains one clustering algorithm (k-means++), but I would like to see at least a few other standard algorithms like the following: * HAC * Fuzzy K-Means * SOM * OPTICS I have already implementations for the first two ones and could contribute them quite easily. Data clustering does not really qualify as low-level math functions so its up to the community to decide whether we want to include also more machine learning related algorithms (also related to classification algos). -- 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] (MATH-749) Convex Hull algorithm
[ https://issues.apache.org/jira/browse/MATH-749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Neidhart updated MATH-749: - Priority: Minor (was: Major) Convex Hull algorithm - Key: MATH-749 URL: https://issues.apache.org/jira/browse/MATH-749 Project: Commons Math Issue Type: New Feature Reporter: Thomas Neidhart Priority: Minor Labels: 2d, geometric Fix For: 3.1 It would be nice to have an implementation of Graham's scan algorithm to compute the convex hull of a set of points in a plane. -- 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] (MATH-749) Convex Hull algorithm
Convex Hull algorithm - Key: MATH-749 URL: https://issues.apache.org/jira/browse/MATH-749 Project: Commons Math Issue Type: New Feature Reporter: Thomas Neidhart Fix For: 3.1 It would be nice to have an implementation of Graham's scan algorithm to compute the convex hull of a set of points in a plane. -- 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] (MATH-750) Voronoi diagram algorithm
Voronoi diagram algorithm - Key: MATH-750 URL: https://issues.apache.org/jira/browse/MATH-750 Project: Commons Math Issue Type: New Feature Reporter: Thomas Neidhart Priority: Minor Fix For: 3.1 It would be nice to have an implementation of Voronoi diagrams in CM see [http://en.wikipedia.org/wiki/Voronoi_diagram]. -- 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] [Reopened] (LANG-462) FastDateFormat supports parse
[ https://issues.apache.org/jira/browse/LANG-462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henri Yandell reopened LANG-462: Reopening to evaluate patch or move to Java 6. FastDateFormat supports parse - Key: LANG-462 URL: https://issues.apache.org/jira/browse/LANG-462 Project: Commons Lang Issue Type: New Feature Components: lang.time.* Reporter: Franz Wong Fix For: 3.2 Attachments: DateParser.patch, LANG-462-FormatCache.patch, LANG-462-Hen.patch, LANG-462_buildfix.patch, UseFormatCache.patch, lang462.patch, with_interfaces.patch, with_interfaces2.patch, with_updated_tests.patch Currently FastDateFormat only supports formatting the ISO8601 time zone, however, it doesn't support parsing such string to Date. -- 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] [Commented] (MATH-748) Additional Clustering Algorithms
[ https://issues.apache.org/jira/browse/MATH-748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211065#comment-13211065 ] Gilles commented on MATH-748: - +1 Additional Clustering Algorithms Key: MATH-748 URL: https://issues.apache.org/jira/browse/MATH-748 Project: Commons Math Issue Type: New Feature Affects Versions: 3.1 Reporter: Thomas Neidhart Priority: Minor Labels: clustering CM currently contains one clustering algorithm (k-means++), but I would like to see at least a few other standard algorithms like the following: * HAC * Fuzzy K-Means * SOM * OPTICS I have already implementations for the first two ones and could contribute them quite easily. Data clustering does not really qualify as low-level math functions so its up to the community to decide whether we want to include also more machine learning related algorithms (also related to classification algos). -- 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] [Commented] (MATH-747) Several Constructors for PoissonDistributionImpl are broken
[ https://issues.apache.org/jira/browse/MATH-747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211070#comment-13211070 ] Gilles commented on MATH-747: - You are right. I suggest that you try the snapshot of the upcoming version 3.0 (there won't be a 2.2.1 release). Several Constructors for PoissonDistributionImpl are broken --- Key: MATH-747 URL: https://issues.apache.org/jira/browse/MATH-747 Project: Commons Math Issue Type: Bug Affects Versions: 2.2 Reporter: Steve Appling Priority: Critical Fix For: 2.2.1 Only the constructor PoissonDistributionImpl(double) seems to actually work. All of the others cause a NullPointerException. The working one creates a default NormalDistribution, but all of the others just leave the member normal set to null and cause an NPE in the constructor. I can't even find a work around to construct a PoissonDistributionImpl with both a specified mean and an epsilon, since there is no way to set epsilon after creation and the constructor PoissonDistributionImpl(double p, double epsilon) does not work. -- 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] (MATH-747) Several Constructors for PoissonDistributionImpl are broken
[ https://issues.apache.org/jira/browse/MATH-747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gilles resolved MATH-747. - Resolution: Won't Fix Fix Version/s: (was: 2.2.1) 3.0 The code does not exist anymore in trunk. Several Constructors for PoissonDistributionImpl are broken --- Key: MATH-747 URL: https://issues.apache.org/jira/browse/MATH-747 Project: Commons Math Issue Type: Bug Affects Versions: 2.2 Reporter: Steve Appling Priority: Critical Fix For: 3.0 Only the constructor PoissonDistributionImpl(double) seems to actually work. All of the others cause a NullPointerException. The working one creates a default NormalDistribution, but all of the others just leave the member normal set to null and cause an NPE in the constructor. I can't even find a work around to construct a PoissonDistributionImpl with both a specified mean and an epsilon, since there is no way to set epsilon after creation and the constructor PoissonDistributionImpl(double p, double epsilon) does not work. -- 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] [Commented] (MATH-742) Please make PolynomialSplineFunction Serializable
[ https://issues.apache.org/jira/browse/MATH-742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211077#comment-13211077 ] Neil Roeth commented on MATH-742: - First, thanks for continuing to respond, I do want to understand the reasoning behind this decision and you are helping make it clear. {quote} We are already in trouble, because of this lack of policy, for several classes for which Serializable is a supposedly innocuous feature (e.g. fields that should be transient cannot be because no explicit serialization is implemented). {quote} Do you mean that if you corrected this and made them transient, you would introduce an incompatibility with objects serialized using older versions of the class? If not that, then could you explain? {quote} In the Commons project, there is a commitment that minor releases must be fully compatible; that implies that relying on a default serialization would prevent any change to internal structure of a class. {quote} I understand completely about not making changes in minor releases. Since that commitment is for minor releases, that implies that it could be done at the next major release, right? {quote} Maybe that you are not aware of the constraints imposed by Serializable; maybe that you don't care because in your use-case, you'll never be confronted to the problem of a wrong serialized form. But another user's use-case might bring him here complaining about our inconsistent support of Serializable. Would he be less right than you? {quote} Not aware is more likely than don't care. I may be ignorant but I'm not callous. :-) I understand that suddenly changing how a class is serialized could break things for use cases other than mine and that is no less right than mine. Another reason to restrict the change to a major version. {quote} It is always trivial to add implements Serializable to a class definition. But it is not trivial to do the implementation in the right way; just adding implements Serializable is not the right way, never. Again, it could be good enough for some purpose, but the wish for CM to be an example of good Java programming, is not compatible with statements such as We know it's sloppy, so don't use it whenever you need something that works {quote} This is the core of the issue. I can see that implementing Serializable might require special code in some cases, but why is just adding implements Serializable _never_ the right way? You provided an example of wrapper code to do serialization for a class that is not serializable, but would you provide an example of how to transform a class that is not serializable directly into one that is? I.e., not with a wrapper, but by adding implements Serializable and then adding the explicit serialization methods to the class itself? I would like to see an example of good Java programming with regard to serialization. {quote} The purpose of CM is to provide robust implementations of mathematical utilities; supporting distributed applications is a totally different game. {quote} In my business, we often do massive calculations that require hundreds or thousands of cpu-hours that need to be completed overnight, so they need to be distributed. Regardless of how robust the implementation is otherwise, if it does not support distribution, then that alone might make it unusable. Please make PolynomialSplineFunction Serializable - Key: MATH-742 URL: https://issues.apache.org/jira/browse/MATH-742 Project: Commons Math Issue Type: Improvement Affects Versions: 2.2 Reporter: Neil Roeth Priority: Minor Attachments: PolynomialSplineFunction.java PolynomialSplineFunction is not Serializable, while the very similar PolynomialFunction class in the same package is. All that needs to be done is to add the import: {{import java.io.Serializable;}} and change this: {{public class PolynomialSplineFunction implements DifferentiableUnivariateRealFunction}} to this: {{public class PolynomialSplineFunction implements DifferentiableUnivariateRealFunction, Serializable}} I made exactly that modification to a local copy and it serialized successfully. Before the change, I got serialization errors. Thanks. -- 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] [Closed] (EMAIL-110) java.lang.OutOfMemoryError: Java heap space while parsing Mime part
[ https://issues.apache.org/jira/browse/EMAIL-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Siegfried Goeschl closed EMAIL-110. --- Applied patch to trunk java.lang.OutOfMemoryError: Java heap space while parsing Mime part --- Key: EMAIL-110 URL: https://issues.apache.org/jira/browse/EMAIL-110 Project: Commons Email Issue Type: Bug Affects Versions: 1.2 Environment: Windows, Linux Reporter: Stephen Kruger Assignee: Siegfried Goeschl Priority: Blocker Attachments: EMAIL-110.patch, MailBug.zip, crashfix.eml I have a particular eml message which appears to cause a complete memory overflow deep within commons-email. A look at the source code does reveal a suspect while loop which appears to never exit properly, and should be rewritten so that bad data could not give us this situation. The stack trace is : java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2786) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71) at javax.mail.internet.MimeMultipart.readTillFirstBoundary(MimeMultipart.java:316) at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:186) at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:130) at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:539) at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:133) at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:1393) at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1366) at javax.mail.Transport.send(Transport.java:76) at javax.mail.Transport.send(Transport.java:48) There are many public threads illustrating this same error, but they never pinpoint the code to Commons Email, I'm guessing I'm using the code in a way which exhibits this behaviour : http://stackoverflow.com/questions/3177092/uploading-to-blobstore-gives-a-java-heap-outofmemoryerror http://stackoverflow.com/questions/2994031/outofmemoryerror-trying-to-upload-to-blobstore-locally -- 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] (EMAIL-111) Update the current trunk to be binary compatible with the commons-email-1.2 release
[ https://issues.apache.org/jira/browse/EMAIL-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Siegfried Goeschl resolved EMAIL-111. - Resolution: Fixed Applied patch to trunk Update the current trunk to be binary compatible with the commons-email-1.2 release --- Key: EMAIL-111 URL: https://issues.apache.org/jira/browse/EMAIL-111 Project: Commons Email Issue Type: Task Reporter: Siegfried Goeschl Assignee: Siegfried Goeschl Fix For: 1.3 Attachments: returntypes.diff, sslTls.diff The last RC was rejected because the RC is not binary compatible with commons-email-1.2 * some getter methods return Email instead of void which breaks binary compatibility * two protected member variable (SSL TLS related) were removed since their name was misleading The goals of the task is to get rid of those Clirr warnings in order to avoid a new major 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] (SANDBOX-394) Check arguments
Check arguments --- Key: SANDBOX-394 URL: https://issues.apache.org/jira/browse/SANDBOX-394 Project: Commons Sandbox Issue Type: Improvement Components: Graph Reporter: Marco Speranza Priority: Minor Add the assertion for classes *SourceSelector and check if the Vertex is contained in the input Graph before selecting the algorithm to apply -- 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] [Commented] (SANDBOX-394) Check arguments
[ https://issues.apache.org/jira/browse/SANDBOX-394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=1327#comment-1327 ] Simone Tripodi commented on SANDBOX-394: I'd say that that approach could be generally applied in every chained method for every entry point. Let's check algorithms input before starting any execution. Check arguments --- Key: SANDBOX-394 URL: https://issues.apache.org/jira/browse/SANDBOX-394 Project: Commons Sandbox Issue Type: Improvement Components: Graph Reporter: Marco Speranza Priority: Minor Add the assertion for classes *SourceSelector and check if the Vertex is contained in the input Graph before selecting the algorithm to apply -- 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] [Commented] (MATH-742) Please make PolynomialSplineFunction Serializable
[ https://issues.apache.org/jira/browse/MATH-742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211121#comment-13211121 ] Gilles commented on MATH-742: - bq. Do you mean that if you corrected this and made them transient, you would introduce an incompatibility with objects serialized using older versions of the class? If not that, then could you explain? [...] It was an example of a case where the appropriate serialization code might be missing. In other words, because it is so simple to add Serializable _just in case_, we create problems for later. My main point is that CM should not spend its scarce human resources to provide features (in that case: support for serialization) that _should_ require careful planning. But if people want to contribute, they will bring the feature, together with the necessary unit testing. Personally, I think that there should be a commitment to *support* the feature... However, as you've understood, my preference would really be to drop all Serializable but the indispensable (I was convinced by the remotely-generated exception use case). This case will also give you the example of implementing the explicit serialization methods (if that's what you asked): Have a look at the ExceptionContext class (in package o.a.c.m.exception.util). In CM, the trends is currently going towards having immutable classes. The constructors' precondition checks guarantee the state of the object and people who want that serialization provides the same guarantee (where good Java programming includes robustness) have come up with the idiom which I've adapted above for PolynomialSplineFunction. Please make PolynomialSplineFunction Serializable - Key: MATH-742 URL: https://issues.apache.org/jira/browse/MATH-742 Project: Commons Math Issue Type: Improvement Affects Versions: 2.2 Reporter: Neil Roeth Priority: Minor Attachments: PolynomialSplineFunction.java PolynomialSplineFunction is not Serializable, while the very similar PolynomialFunction class in the same package is. All that needs to be done is to add the import: {{import java.io.Serializable;}} and change this: {{public class PolynomialSplineFunction implements DifferentiableUnivariateRealFunction}} to this: {{public class PolynomialSplineFunction implements DifferentiableUnivariateRealFunction, Serializable}} I made exactly that modification to a local copy and it serialized successfully. Before the change, I got serialization errors. Thanks. -- 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] [Commented] (MATH-449) Storeless covariance
[ https://issues.apache.org/jira/browse/MATH-449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211163#comment-13211163 ] Gilles commented on MATH-449: - Thomas, It is not necessary to resolve this issue before 3.0. Thus you could postpone to 3.1 if more discussion is needed to clarify the missing parts. Storeless covariance Key: MATH-449 URL: https://issues.apache.org/jira/browse/MATH-449 Project: Commons Math Issue Type: Improvement Reporter: Patrick Meyer Assignee: Thomas Neidhart Fix For: 3.0 Attachments: MATH-449.patch, MATH-449.patch Original Estimate: 168h Remaining Estimate: 168h Currently there is no storeless version for computing the covariance. However, Pebay (2008) describes algorithms for on-line covariance computations, [http://infoserve.sandia.gov/sand_doc/2008/086212.pdf]. I have provided a simple class for implementing this algorithm. It would be nice to have this integrated into org.apache.commons.math.stat.correlation.Covariance. {code} //This code is granted for inclusion in the Apache Commons under the terms of the ASL. public class StorelessCovariance{ private double deltaX = 0.0; private double deltaY = 0.0; private double meanX = 0.0; private double meanY = 0.0; private double N=0; private Double covarianceNumerator=0.0; private boolean unbiased=true; public Covariance(boolean unbiased){ this.unbiased = unbiased; } public void increment(Double x, Double y){ if(x!=null y!=null){ N++; deltaX = x - meanX; deltaY = y - meanY; meanX += deltaX/N; meanY += deltaY/N; covarianceNumerator += ((N-1.0)/N)*deltaX*deltaY; } } public Double getResult(){ if(unbiased){ return covarianceNumerator/(N-1.0); }else{ return covarianceNumerator/N; } } } {code} -- 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] (MATH-698) Bounds in BOBYQAOptimizer and CMAESOptimizer
[ https://issues.apache.org/jira/browse/MATH-698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gilles resolved MATH-698. - Resolution: Fixed Bounds in BOBYQAOptimizer and CMAESOptimizer Key: MATH-698 URL: https://issues.apache.org/jira/browse/MATH-698 Project: Commons Math Issue Type: Improvement Reporter: Gilles Priority: Minor Labels: api-change Fix For: 3.0 Attachments: CMAESOptimizer.java.NEW, CMAESOptimizerTest.java.NEW The bounds should be passed as arguments to the optimize method, instead of through the constructor. This is now possible, following the resolution of MATH-697. -- 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] [Commented] (MATH-698) Bounds in BOBYQAOptimizer and CMAESOptimizer
[ https://issues.apache.org/jira/browse/MATH-698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211166#comment-13211166 ] Gilles commented on MATH-698: - The code does not support mixing finite and infinite bounds: A workaround has been introduced in revision 1290909. We want might to try and remove that limitation but it requires non trivial changes to the code, and my initial attempt led many unit tests failing. Anyways, it can be done later, as a new issue. Bounds in BOBYQAOptimizer and CMAESOptimizer Key: MATH-698 URL: https://issues.apache.org/jira/browse/MATH-698 Project: Commons Math Issue Type: Improvement Reporter: Gilles Priority: Minor Labels: api-change Fix For: 3.0 Attachments: CMAESOptimizer.java.NEW, CMAESOptimizerTest.java.NEW The bounds should be passed as arguments to the optimize method, instead of through the constructor. This is now possible, following the resolution of MATH-697. -- 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] [Commented] (MATH-742) Please make PolynomialSplineFunction Serializable
[ https://issues.apache.org/jira/browse/MATH-742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211195#comment-13211195 ] Neil Roeth commented on MATH-742: - {quote} It was an example of a case where the appropriate serialization code might be missing. In other words, because it is so simple to add Serializable just in case, we create problems for later. {quote} I am not understanding what problems this could cause - can you give some explicit examples? I don't know what your criteria are for appropriate serialization code - can you describe a case where the default serialization code is not appropriate and _why_ it is not appropriate? As far as I can tell, the writeObject() and readObject() methods in ExceptionContext are unnecessary because they simply do what the default mechanism does anyway (except that it replaces throwing an exception for a non-serializable object with a String that says it is non-serializable). What am I missing? Your code for a class that serializes PolynomialSplineFunction pulls coefficients[] out of the underlying PolynomialFunction class and serializes them. Why do that instead of just using PolynomialFunction.writeObject()? Why is it better programming practice to create separate serialization classes that have deep knowledge of the class structure of each of its data members rather than encapsulate the serialization in each of those classes? If PolynomialFunction implements Serializable, then either PolynomialFunction.writeObject() will do the right thing or it is a bug in PolynomialFunction's implementation of writeObject() - a serializer for PolynomialSplineFunction shouldn't have to take on the responsibility of serializing the guts of PolynomialFunction. I don't see how breaking encapsulation like this is an improvement over the default mechanism, which doesn't break it. Please make PolynomialSplineFunction Serializable - Key: MATH-742 URL: https://issues.apache.org/jira/browse/MATH-742 Project: Commons Math Issue Type: Improvement Affects Versions: 2.2 Reporter: Neil Roeth Priority: Minor Attachments: PolynomialSplineFunction.java PolynomialSplineFunction is not Serializable, while the very similar PolynomialFunction class in the same package is. All that needs to be done is to add the import: {{import java.io.Serializable;}} and change this: {{public class PolynomialSplineFunction implements DifferentiableUnivariateRealFunction}} to this: {{public class PolynomialSplineFunction implements DifferentiableUnivariateRealFunction, Serializable}} I made exactly that modification to a local copy and it serialized successfully. Before the change, I got serialization errors. Thanks. -- 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] (SANSELAN-41) Can't parse EPS
[ https://issues.apache.org/jira/browse/SANSELAN-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Damjan Jovanovic resolved SANSELAN-41. -- Resolution: Later Sanselan doesn't support vector graphics at the moment. Parsing Postscript seems difficult. What we could do is provide the EPS preview image, if one is available, but even that isn't going to happen in time for the next release. Can't parse EPS --- Key: SANSELAN-41 URL: https://issues.apache.org/jira/browse/SANSELAN-41 Project: Commons Sanselan Issue Type: Wish Reporter: Jason Harrop On an EPS image, Sanselan.getImageInfo fails with org.apache.sanselan.ImageReadException: Can't parse this format. at org.apache.sanselan.Sanselan.getImageParser(Sanselan.java:621) at org.apache.sanselan.Sanselan.getImageInfo(Sanselan.java:587) at org.apache.sanselan.Sanselan.getImageInfo(Sanselan.java:563) at org.apache.sanselan.Sanselan.getImageInfo(Sanselan.java:582) -- 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] (SANSELAN-50) Support for WEBP Image Format
[ https://issues.apache.org/jira/browse/SANSELAN-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Damjan Jovanovic resolved SANSELAN-50. -- Resolution: Later Not going to happen in time for the next release - deferring. Support for WEBP Image Format - Key: SANSELAN-50 URL: https://issues.apache.org/jira/browse/SANSELAN-50 Project: Commons Sanselan Issue Type: New Feature Reporter: Wilian C. B. Labels: format, image, webp A new image format designed by Google is emerging, it uses lossy compression. It is used to reduce image file size to speed up web page loading and its principal purpose is to supersede JPEG as the primary format for photographs on the web. It would be really good to add this new image format :-) -- 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] [Commented] (SANSELAN-25) Support for reading Radiance HDR images
[ https://issues.apache.org/jira/browse/SANSELAN-25?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13211221#comment-13211221 ] Damjan Jovanovic commented on SANSELAN-25: -- Peter, can I copy your Radiance HDR code into Sanselan? Is it under a suitable license? Support for reading Radiance HDR images --- Key: SANSELAN-25 URL: https://issues.apache.org/jira/browse/SANSELAN-25 Project: Commons Sanselan Issue Type: New Feature Reporter: peter royal I have added support for reading Radiance HDR images to Sanselan. The code is available at http://github.com/osi/sanselan/tree/radiance-hdr If the changes look good (i was specifically curious about http://github.com/osi/sanselan/commit/f29c13db8479aca7b421876fcc001d180d384458#L0R92 relative to the overall library design), I can commit them as I have commons commit privs. Just wanted to raise this as an issue prior to just slamming changes in :) -- 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