<?xml version="1.0" encoding="utf-8"?>
<!--RSS generated by Flaimo.com RSS Builder [2012-02-08 00:21:30]-->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"><channel><docs>http://bugs.jquantlib.org/</docs><link>http://bugs.jquantlib.org/</link><description><![CDATA[JQuantLib - Issue Management - Issues]]></description><title>JQuantLib - Issue Management - Issues</title><image><title>JQuantLib - Issue Management - Issues</title><url>http://bugs.jquantlib.org/images/mantis_logo_button.gif</url><link>http://bugs.jquantlib.org/</link><description><![CDATA[JQuantLib - Issue Management - Issues]]></description></image><language>en</language><category>All Projects</category><ttl>10</ttl><dc:language>en</dc:language><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><item><title>0000538: Google Guava</title><author></author><link>http://bugs.jquantlib.org/view.php?id=538</link><description><![CDATA[I found there are couples of functionalities, like Iterables.unmodifiableIterable and those Immutable implementation are present in Google Guava, will u consider to include Guava as a standard library for not reinventing the wheel?]]></description><category>General</category><pubDate>Tue, 24 Jan 2012 15:01:12 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=538</guid><comments>http://bugs.jquantlib.org/view.php?id=538#bugnotes</comments></item><item><title>0000537: Rename methods in order to mimic operator overloading implemented in Scala</title><author></author><link>http://bugs.jquantlib.org/view.php?id=537</link><description><![CDATA[For example, instead of method plus(...), it should be named $plus(...)&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.codecommit.com/blog/java/interop-between-java-and-scala&quot;&gt;http://www.codecommit.com/blog/java/interop-between-java-and-scala&lt;/a&gt; [&lt;a href=&quot;http://www.codecommit.com/blog/java/interop-between-java-and-scala&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]]]></description><category>code review</category><pubDate>Sun, 11 Dec 2011 21:01:46 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=537</guid><comments>http://bugs.jquantlib.org/view.php?id=537#bugnotes</comments></item><item><title>0000536: Some times IRR can not find the right value.</title><author></author><link>http://bugs.jquantlib.org/view.php?id=536</link><description><![CDATA[Brent(AbstractSolver1D) solver will cross the -1 and then will cause IRR no meaning.]]></description><category>General</category><pubDate>Wed, 30 Nov 2011 08:37:54 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=536</guid><comments>http://bugs.jquantlib.org/view.php?id=536#bugnotes</comments></item><item><title>0000534: Deploy JQuantLib artifacts onto a public repository</title><author></author><link>http://bugs.jquantlib.org/view.php?id=534</link><description><![CDATA[A simple solution would be deploy onto Sourceforge.&lt;br /&gt;
At the moment we have already a repository there at&lt;br /&gt;
&lt;br /&gt;
    &lt;a href=&quot;https://sourceforge.net/projects/jquant/files/repository/&quot;&gt;https://sourceforge.net/projects/jquant/files/repository/&lt;/a&gt; [&lt;a href=&quot;https://sourceforge.net/projects/jquant/files/repository/&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;
A future possibility would be deployment onto Maven Central]]></description><category>General</category><pubDate>Mon, 28 Nov 2011 02:43:46 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=534</guid><comments>http://bugs.jquantlib.org/view.php?id=534#bugnotes</comments></item><item><title>0000535: Review pom.xml, .project and .classpath in order to support Eclipse Indigo</title><author></author><link>http://bugs.jquantlib.org/view.php?id=535</link><description><![CDATA[Eclipse Indigo has a new m2e (formerly m2eclipse) plugin which behaves differently in regards to contents of pom.xml files.&lt;br /&gt;
&lt;br /&gt;
In a nutshell, now Eclipse complains that certain goals of certain plugins were not accepted. The effect is that Eclipse is not able to resolve dependencies anymore.&lt;br /&gt;
&lt;br /&gt;
Notice that the pom.xml files are correct and are processed as expected using Maven2/3 from the command line.&lt;br /&gt;
&lt;br /&gt;
Meanwhile, Maven3 is gaining acceptance and it is time to properly support Maven3 without breaking compatibility with Maven2.]]></description><category>General</category><pubDate>Sun, 27 Nov 2011 03:29:23 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=535</guid><comments>http://bugs.jquantlib.org/view.php?id=535#bugnotes</comments></item><item><title>0000509: Remove dependencies from our Artifactory repository</title><author></author><link>http://bugs.jquantlib.org/view.php?id=509</link><description><![CDATA[At the moment, our pom.xml makes reference to our Artifactory repository.&lt;br /&gt;
This is not convenient because we don't have enough bandwidth to serve a growing number of users building JQuantLib. More over, at the moment, all artifacts are being served by our Artifactory repository, which makes the problem worse.&lt;br /&gt;
&lt;br /&gt;
This task consists on:&lt;br /&gt;
1. deploying UmlGraph 4.9.0 to a reliable public repository;&lt;br /&gt;
2. deploying LaTeXtaglet to a reliable public repository;]]></description><category>General</category><pubDate>Sun, 27 Nov 2011 03:14:31 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=509</guid><comments>http://bugs.jquantlib.org/view.php?id=509#bugnotes</comments></item><item><title>0000533: ConvertibleBondTest.testBond fails in JDK 7</title><author></author><link>http://bugs.jquantlib.org/view.php?id=533</link><description><![CDATA[Under Ubuntu 11.10 Oracle jdk1.7.0 and jdk1.7.0_01 always get following test regression.&lt;br /&gt;
java.lang.AssertionError: failed to reproduce fixed-coupon bond price:&lt;br /&gt;
    calculated: 149.40857422869476&lt;br /&gt;
    expected:   95.0512826853826&lt;br /&gt;
    error:      54.35729154331216&lt;br /&gt;
	at org.junit.Assert.fail(Assert.java:74)&lt;br /&gt;
	at org.jquantlib.testsuite.instruments.ConvertibleBondTest.testBond(ConvertibleBondTest.java:267)]]></description><category>tests</category><pubDate>Sat, 26 Nov 2011 11:28:09 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=533</guid><comments>http://bugs.jquantlib.org/view.php?id=533#bugnotes</comments></item><item><title>0000356: The implementation of isEndOfMonth method in AbstractCalendar class is not correct</title><author></author><link>http://bugs.jquantlib.org/view.php?id=356</link><description><![CDATA[As described in the Calendar interface, the method `isEndOfMonth` in Calendar class return true if the date is last business day for the month in given market. &lt;br /&gt;
&lt;br /&gt;
But in the AbstractCalendar class, the method will return true when the date is not the last business day for the month but the holiday day.&lt;br /&gt;
&lt;br /&gt;
For example: &lt;br /&gt;
    Calendar unitedStatesCalendar = UnitedStates.getCalendar(Market.NYSE);&lt;br /&gt;
    Date date=DateFactory.getFactory().getDate(30,5,2009);&lt;br /&gt;
    System.out.println(unitedStatesCalendar.isEndOfMonth(date));&lt;br /&gt;
&lt;br /&gt;
The output is true ! Obviously, the date 2009-5-30 is neither the last business day nor the last day in May.]]></description><category>code review</category><pubDate>Sat, 26 Nov 2011 11:18:48 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=356</guid><comments>http://bugs.jquantlib.org/view.php?id=356#bugnotes</comments></item><item><title>0000531: LogCubic interpolator</title><author></author><link>http://bugs.jquantlib.org/view.php?id=531</link><description><![CDATA[An user reported an issue with LogCubicInterpolator.&lt;br /&gt;
&lt;br /&gt;
Please verify if our translation is in accordance with QuantLib 0.9.7.&lt;br /&gt;
If it is not (which means we have a bug, probably!), please validate an implement the fix sent by the user.&lt;br /&gt;
&lt;br /&gt;
Additional information below.&lt;br /&gt;
&lt;br /&gt;
Thanks]]></description><category>code review</category><pubDate>Sat, 26 Nov 2011 11:15:15 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=531</guid><comments>http://bugs.jquantlib.org/view.php?id=531#bugnotes</comments></item><item><title>0000532: skipTo maethod in SobolRsg class</title><author></author><link>http://bugs.jquantlib.org/view.php?id=532</link><description><![CDATA[It appears that this method should be equivalent to the skipTo function in (C++) QuantLib, but there's a difference in Line 1641.&lt;br /&gt;
&lt;br /&gt;
I have changed it to &lt;br /&gt;
&lt;br /&gt;
                    integerSequence[k] ^= directionIntegers[k][index];&lt;br /&gt;
&lt;br /&gt;
and it works very well (after making the method public).]]></description><category>code review</category><pubDate>Thu, 13 Oct 2011 01:55:36 +0100</pubDate><guid>http://bugs.jquantlib.org/view.php?id=532</guid><comments>http://bugs.jquantlib.org/view.php?id=532#bugnotes</comments></item><item><title>0000497: DatesTest: Fix reason testConvertionToJavaDate &amp; testConvertionFromJavaDate</title><author></author><link>http://bugs.jquantlib.org/view.php?id=497</link><description><![CDATA[JQL and ISO dates are getting shifted from Aug 2198 onwards. Below are error msgs from tests:&lt;br /&gt;
NFO: JQL Date = August 28, 2198    :::   ISODate = Mon Aug 27 20:00:00 EDT 2198&lt;br /&gt;
INFO: JQL Date = August 29, 2198   :::   ISODate = Tue Aug 28 20:00:00 EDT 2198&lt;br /&gt;
INFO: JQL Date = August 30, 2198   :::   ISODate = Wed Aug 29 20:00:00 EDT 2198&lt;br /&gt;
INFO: JQL Date = August 31, 2198   :::   ISODate = Thu Aug 30 20:00:00 EDT 2198&lt;br /&gt;
INFO: JQL Date = September 1, 2198 :::   ISODate = Fri Aug 31 20:00:00 EDT 2198&lt;br /&gt;
....]]></description><category>tests</category><pubDate>Sun, 09 Oct 2011 12:10:19 +0100</pubDate><guid>http://bugs.jquantlib.org/view.php?id=497</guid><comments>http://bugs.jquantlib.org/view.php?id=497#bugnotes</comments></item><item><title>0000530: Cannot include in the war application</title><author></author><link>http://bugs.jquantlib.org/view.php?id=530</link><description><![CDATA[When I try to include jquantlib.jar in my web project, I encounter a error message of Context Error, it says missing slf4j-api]]></description><category>code review</category><pubDate>Mon, 29 Aug 2011 17:13:21 +0100</pubDate><guid>http://bugs.jquantlib.org/view.php?id=530</guid><comments>http://bugs.jquantlib.org/view.php?id=530#bugnotes</comments></item><item><title>0000529: Review class LineSearchBasedMethod</title><author></author><link>http://bugs.jquantlib.org/view.php?id=529</link><description><![CDATA[Review class LineSearchBasedMethod]]></description><category>code review</category><pubDate>Tue, 21 Jun 2011 17:02:49 +0100</pubDate><guid>http://bugs.jquantlib.org/view.php?id=529</guid><comments>http://bugs.jquantlib.org/view.php?id=529#bugnotes</comments></item><item><title>0000485: Implement BMASwapRateHelper</title><author></author><link>http://bugs.jquantlib.org/view.php?id=485</link><description><![CDATA[Implement this class.&lt;br /&gt;
First, verify if we have all required support classes it depends on.&lt;br /&gt;
&lt;br /&gt;
Perform full code review and complete documentation.]]></description><category>code review</category><pubDate>Fri, 25 Mar 2011 11:02:26 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=485</guid><comments>http://bugs.jquantlib.org/view.php?id=485#bugnotes</comments></item><item><title>0000522: Translate BMASwapRateHelper</title><author></author><link>http://bugs.jquantlib.org/view.php?id=522</link><description><![CDATA[Translate BMASwapRateHelper]]></description><category>translation</category><pubDate>Fri, 25 Mar 2011 10:59:36 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=522</guid><comments>http://bugs.jquantlib.org/view.php?id=522#bugnotes</comments></item><item><title>0000521: Translate BMASwap</title><author></author><link>http://bugs.jquantlib.org/view.php?id=521</link><description><![CDATA[Translate BMASwap]]></description><category>translation</category><pubDate>Fri, 25 Mar 2011 10:59:13 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=521</guid><comments>http://bugs.jquantlib.org/view.php?id=521#bugnotes</comments></item><item><title>0000523: Translate ConvexMonotone</title><author></author><link>http://bugs.jquantlib.org/view.php?id=523</link><description><![CDATA[Translate ConvexMonotone]]></description><category>translation</category><pubDate>Fri, 25 Mar 2011 09:06:37 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=523</guid><comments>http://bugs.jquantlib.org/view.php?id=523#bugnotes</comments></item><item><title>0000452: Implement AbcdSquared</title><author></author><link>http://bugs.jquantlib.org/view.php?id=452</link><description><![CDATA[Implement AbcdSquared]]></description><category>translation</category><pubDate>Wed, 23 Mar 2011 19:27:02 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=452</guid><comments>http://bugs.jquantlib.org/view.php?id=452#bugnotes</comments></item><item><title>0000210: Review TypeToken, TypeReference and test cases</title><author></author><link>http://bugs.jquantlib.org/view.php?id=210</link><description><![CDATA[Study the possibility of move all the functionality to TypeToken and make TypeReference only call methods from TypeToken.&lt;br /&gt;
&lt;br /&gt;
Test cases need to be improved and exercise all functionalities provided by TypeToken. In addition, these test cases could be organized in a way to serve as example of usage and functionality of TypeToken.]]></description><category>code review</category><pubDate>Tue, 22 Mar 2011 23:09:29 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=210</guid><comments>http://bugs.jquantlib.org/view.php?id=210#bugnotes</comments></item><item><title>0000447: Class model for typetoken usage</title><author></author><link>http://bugs.jquantlib.org/view.php?id=447</link><description><![CDATA[Usually anonymous classes are used for creating simple delegate objects and can access the static and instance variables of the enclosing outer class. &lt;br /&gt;
&lt;br /&gt;
In our library, Type tokens in combination of anonymous classes is used to make the code look somewhat close to c++ quantlib templates. This is forcing us to define anonymous classes with empty body which isn't the pattern anonymous classes are meant for. Also, it can lead to class leak by loading a new class for every occurrence of anonymous class in the code. &lt;br /&gt;
&lt;br /&gt;
Anyways, since we want to support c++ api as close as possible, we will continue to support the model, but the class should be abstract and there should be separate delegate of the same class type for each type token(or combination of tokens) to which calls are delegated. This will satisfy developers who are java centric and prefer type safe programming and want to avoid overhead of introspection of type tokens.  &lt;br /&gt;
&lt;br /&gt;
Lets take TimeSeries as an example. The current implementation has following drawbacks.&lt;br /&gt;
1. Class is not abstract, so instance can be created without anonymous extension which will generate a runtime error&lt;br /&gt;
2. Methods find and findIntervalPrice can result in classcastexception. We should throw an exception with a better message.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lets update the class to reflect the proposal...make the class abstract  Define delegate as extension of the class. Also add additional check in constructor.&lt;br /&gt;
&lt;br /&gt;
public abstract class TimeSeries&lt;T&gt; {&lt;br /&gt;
    private final TimeSeries&lt;T&gt; delegate;&lt;br /&gt;
    &lt;br /&gt;
     public TimeSeries() {&lt;br /&gt;
       if(this.getClass() != TimeSeriesDouble.class &amp;&amp;&lt;br /&gt;
          this.getClass() != TimeSeriesIntervalPrice.class){&lt;br /&gt;
&lt;br /&gt;
        final Class&lt;?&gt; klass = new TypeTokenTree(this.getClass()).getRoot().get(0).getElement();&lt;br /&gt;
        if (Double.class.isAssignableFrom(klass)) {&lt;br /&gt;
            this.delegate = new TimeSeriesDouble();&lt;br /&gt;
        } else if (IntervalPrice.class.isAssignableFrom(klass)) {&lt;br /&gt;
            this.delegate = new TimeSeriesIntervalPrice();&lt;br /&gt;
        } else {&lt;br /&gt;
            throw new LibraryException(&quot;only Double and IntervalPrice are supported&quot;); // QA:[RG]::verified // TODO: message&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
    public double find(final Date d) /*@ReadOnly*/ {&lt;br /&gt;
        return delegate.find(d);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public IntervalPrice findIntervalPrice(final Date d) /*@ReadOnly*/ {&lt;br /&gt;
        return delegate.find(d);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
------&lt;br /&gt;
public class TimeSeriesDouble extends TimeSeries&lt;Double&gt;&lt;br /&gt;
{&lt;br /&gt;
    private final NavigableMap&lt;Date, Double&gt; map;&lt;br /&gt;
    public double find(final Date d) /*@ReadOnly*/ {&lt;br /&gt;
        return map.get(d);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public IntervalPrice findIntervalPrice(final Date d) /*@ReadOnly*/ {&lt;br /&gt;
       throw new UnSupportedExcepition(&quot;Method not supported&quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
---------&lt;br /&gt;
public class TimeSeriesIntervalPrice extends TimeSeries&lt;IntervalPrice&gt;&lt;br /&gt;
{&lt;br /&gt;
    private final NavigableMap&lt;Date, IntervalPrice&gt; map;&lt;br /&gt;
    public double find(final Date d) /*@ReadOnly*/ {&lt;br /&gt;
        throw new UnSupportedExcepition(&quot;Method not supported&quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public IntervalPrice findIntervalPrice(final Date d) /*@ReadOnly*/ {&lt;br /&gt;
       return map.get(d);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We made the class abstract so that usage of TimeSeries directly will enforce anonymous class for c++ quantlib like programming model and also provides developer typesafe programming model.&lt;br /&gt;
&lt;br /&gt;
For anonymous class style model, we can do&lt;br /&gt;
    TimeSeries&lt;Double&gt; dt = new TimeSeries&lt;Double&gt;( ){ };&lt;br /&gt;
    TimeSeries&lt;IntegerPrice&gt; it = new TimeSeries&lt;IntegerPrice&gt;( ){ };&lt;br /&gt;
&lt;br /&gt;
For typesafe programming&lt;br /&gt;
     TimeSeries&lt;Double&gt; dt1 = new TimeSeriesDouble( );&lt;br /&gt;
     TimeSeries&lt;IntegerPrice&gt; it1 = new TimeSeriesIntegerPrice( );&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
I think we should try to follow this model whenever possible to make the code cleaner.]]></description><category>code review</category><pubDate>Tue, 22 Mar 2011 23:09:00 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=447</guid><comments>http://bugs.jquantlib.org/view.php?id=447#bugnotes</comments></item><item><title>0000528: Complete AnalyticCapFloorEngine</title><author></author><link>http://bugs.jquantlib.org/view.php?id=528</link><description><![CDATA[Complete AnalyticCapFloorEngine]]></description><category>translation</category><pubDate>Tue, 22 Mar 2011 16:47:25 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=528</guid><comments>http://bugs.jquantlib.org/view.php?id=528#bugnotes</comments></item><item><title>0000527: Get rid of DynamicProxyInvocationHandler</title><author></author><link>http://bugs.jquantlib.org/view.php?id=527</link><description><![CDATA[DynamicProxyInvocationHandler employs reflection in order to do its work.&lt;br /&gt;
We should not employ reflection.&lt;br /&gt;
A better solution is needed.]]></description><category>code review</category><pubDate>Tue, 22 Mar 2011 16:04:07 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=527</guid><comments>http://bugs.jquantlib.org/view.php?id=527#bugnotes</comments></item><item><title>0000512: Request to add Ohloh Project widget to the jquantlib wiki media website</title><author></author><link>http://bugs.jquantlib.org/view.php?id=512</link><description><![CDATA[Administrative request to add a Widget Page to the jQuantLib Wiki Media website:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://jquantlib.org/index.php?title=Widget:Ohloh_Project&amp;action=edit&quot;&gt;http://jquantlib.org/index.php?title=Widget:Ohloh_Project&amp;action=edit&lt;/a&gt; [&lt;a href=&quot;http://jquantlib.org/index.php?title=Widget:Ohloh_Project&amp;action=edit&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;
See the following:&lt;br /&gt;
&lt;a href=&quot;http://www.mediawikiwidgets.org/Widget:Ohloh_Project&quot;&gt;http://www.mediawikiwidgets.org/Widget:Ohloh_Project&lt;/a&gt; [&lt;a href=&quot;http://www.mediawikiwidgets.org/Widget:Ohloh_Project&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]]]></description><category>sysadmin</category><pubDate>Sat, 12 Mar 2011 23:59:35 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=512</guid><comments>http://bugs.jquantlib.org/view.php?id=512#bugnotes</comments></item><item><title>0000526: Translate Inflation Index Classes</title><author></author><link>http://bugs.jquantlib.org/view.php?id=526</link><description><![CDATA[Translate Inflation Index Classes&lt;br /&gt;
&lt;br /&gt;
ukrpi&lt;br /&gt;
euhicp]]></description><category>translation</category><pubDate>Mon, 07 Mar 2011 16:26:05 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=526</guid><comments>http://bugs.jquantlib.org/view.php?id=526#bugnotes</comments></item><item><title>0000442: indexes.ibor classes need translation</title><author></author><link>http://bugs.jquantlib.org/view.php?id=442</link><description><![CDATA[Libor. USDLibor, etc]]></description><category>translation</category><pubDate>Tue, 01 Mar 2011 16:42:42 +0000</pubDate><guid>http://bugs.jquantlib.org/view.php?id=442</guid><comments>http://bugs.jquantlib.org/view.php?id=442#bugnotes</comments></item></channel></rss>

