There was a race condition in the test. The value passed to the
Random::nextInt method could sometimes be zero due to the other thread
not incrementing it in time.
Some platforms don't include `java.beans` package in the runtime. To
support these platforms we have to stop using classes from this package.
Replaced `java.beans.PropertyDescriptor` with an implementation copied
from OpenBeans. Also removed some unnecessary code. Haven't made any
changes in rome-fetcher because it is deprecated and will be removed in
the next major version.
Fixes#155
Since we don't have any convention for how to use @version it's best to
avoid it completely. As for the @author tag, it is considered redundant
nowadays because this information is in the version control system.
Dual-licensing allows us to choose any of the licenses. Since the rest
of the project is licensed under the Apache license it makes sense to
remove LGPL altogether.
`CustomTagImpl.java` and `DurationTest.java` didn't have Apache license
header, but I assume they were supposed to, judging from Robert's email
from 5 Aug 2010 on the Rome dev mailing list: "Well, all those files are
things I moved from my other project. If the license headers weren't
changed, it was simply because of an oversight on my part".
Parsing of a malformed or empty duration resulted in an uncaught
exception that was breaking feed parsing completely. We already catch
exceptions when parsing other fields, e.g. href attribute of the image
tag. Also, it's more user-friendly to handle malformed data instead of
failing everything.