Page 1 of 1

Please use unique versions numbers

PostPosted: Thu Apr 13, 2017 1:39 am
by Seamus Boyle
Dear Release Manager

I went to download the latest versions of "1.4.1" yesterday and surprise surprise, they have been changed again. I run md5sum on the new download compared that to four other "1.4.1" releases I had previously downloaded all with the exact same filename - ForexConnectAPI-1.4.1-Linux-x86_64.tar.gz, and yep they are all different.

Please use different version numbers for different versions.

To make matters worse, the downloads available today are not even Source compatible with the versions available when the initial 1.4.1 release announcement was made.

Where can I get the exact downloads available during November 2016?

When was IO2GSession::getReportUrl removed?

Re: Please use unique versions numbers

PostPosted: Mon Jul 10, 2017 4:08 pm
by mr_clean
+1 to that. A version should be set in stone and minor updates should increment the version number and also not break backward compatibility.

I am now missing these methods from the 1.4.1 Java ForexConnect API, which were available in the past in the same version:
- O2GAccountRow.getusedMargin
- O2GSession.getReportURL

Can you please bring them back or suggest viable alternatives?

Re: Please use unique versions numbers

PostPosted: Thu Aug 03, 2017 4:20 pm
by Konstantin.Toporov
Sorry for the mess with the versions.
GetReportURL was removed due to security reasons.
About UsedMargin - we will investigate.

Re: Please use unique versions numbers

PostPosted: Fri Aug 11, 2017 1:45 pm
by Konstantin.Toporov
GetUsedMargin - moved to the extended interface.

class IO2GAccountTableRow : public IO2GAccountRow
{
protected:
IO2GAccountTableRow();

public:

virtual double getUsedMargin() = 0;
....

(ForexConnectAPI\include\Rows\IO2GAccountRow.h)

Hope, it helps.

Re: Please use unique versions numbers

PostPosted: Fri Aug 11, 2017 9:19 pm
by mr_clean
Thanks for the reply. This looks like C++; can you please tell me where it is in the Java API? It used to be O2GAccountRow.getusedMargin, but last time I checked it is no longer in the last "version" of the 1.4.1.

Also you mentioned that getReportURL was removed for security reasons. Is there any other (programmatic) alternative?

Regards

Re: Please use unique versions numbers

PostPosted: Tue Aug 15, 2017 11:31 am
by Konstantin.Toporov
I attached a picture showing getUsedMargin in the help docs for Java.
About the Reports - unfortunately it is not possible in this version.

Re: Please use unique versions numbers

PostPosted: Thu Aug 24, 2017 2:08 am
by mr_clean
Thanks for your help.

Unfortunately, I stil have the same issue using O2GAccountTableRow, more specifically with the latest v1.4.1 Linux-X86_64 API.

While O2GAccountTableRow.getUsedMargin works perfectly fine on OSX (so does O2GAccountRow for that matter, being the base class where the method is implemented), it seems like the current ForexConnectAPI-1.4.1-Linux-x86_64 build as of today August 23rd 2017 (http://fxcodebase.com/bin/forexconnect/ ... _64.tar.gz) is missing getUsedMarginNative:

java.lang.UnsatisfiedLinkError: com.fxcore2.O2GAccountRow.getUsedMarginNative(J)D
at com.fxcore2.O2GAccountRow.getUsedMarginNative(Native Method)
at com.fxcore2.O2GAccountRow.getUsedMargin(Unknown Source)
at (Something that actually cals O2GAccountTableRow.getUsedMargin)
...

Running the same code with an older version of the API doesn't have this issue...

Could you please look into this when you have a chance?

Regards,

Re: Please use unique versions numbers

PostPosted: Mon Aug 28, 2017 2:47 am
by Konstantin.Toporov
I was unable to reproduce the problem with the mentioned version.
I modified samples/java/TableManagerSamples/PrintTable/src/Main.java to print UsedMargin:
(Line 62)
Code: Select all
   private static O2GAccountRow getAccount(O2GTableManager tableManager) throws Exception {
        O2GAccountsTable accountsTable = (O2GAccountsTable)tableManager.getTable(O2GTableType.ACCOUNTS);
        O2GTableIterator accountsIterator = new O2GTableIterator();
        O2GAccountTableRow accountRow = accountsTable.getNextRow(accountsIterator);
        while(accountRow!= null) {
            System.out.println(String.format("AccountID: %s, Balance: %.2f UsedMargin %.2f",
                    accountRow.getAccountID(), accountRow.getBalance(), accountRow.getUsedMargin()));
            accountRow = accountsTable.getNextRow(accountsIterator);
        }
        return accountsTable.getRow(0);
    }


And it worked just fine.
Probably there is a problem with library paths in your environment.
Could you modify the sample the same way and run?

Re: Please use unique versions numbers

PostPosted: Wed Aug 30, 2017 10:09 am
by mr_clean
My bad.

What you gave me works; there is a problem with _my_ build.

Thanks a lot for your help!