Skip to content

Commit 6c86e72

Browse files
committed
Implement the getDynamicGlobalProperties method of the Codenser API (Work on #208)
1 parent 8919b11 commit 6c86e72

File tree

2 files changed

+38
-8
lines changed

2 files changed

+38
-8
lines changed

core/src/main/java/eu/bittrade/libs/steemj/SteemJ.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,10 @@
1717
package eu.bittrade.libs.steemj;
1818

1919
import java.security.InvalidParameterException;
20-
import java.text.ParseException;
21-
import java.text.SimpleDateFormat;
2220
import java.util.ArrayList;
2321
import java.util.Arrays;
24-
import java.util.Date;
2522
import java.util.List;
2623
import java.util.Map;
27-
import java.util.TimeZone;
2824
import java.util.UUID;
2925

3026
import org.apache.commons.lang3.tuple.ImmutablePair;
@@ -38,6 +34,7 @@
3834

3935
import eu.bittrade.crypto.core.ECKey;
4036
import eu.bittrade.crypto.core.Sha256Hash;
37+
import eu.bittrade.libs.steemj.base.models.Account;
4138
import eu.bittrade.libs.steemj.base.models.BeneficiaryRouteType;
4239
import eu.bittrade.libs.steemj.base.models.ChainProperties;
4340
import eu.bittrade.libs.steemj.base.models.CommentOptionsExtension;
@@ -47,16 +44,12 @@
4744
import eu.bittrade.libs.steemj.base.models.ScheduledHardfork;
4845
import eu.bittrade.libs.steemj.chain.SignedTransaction;
4946
import eu.bittrade.libs.steemj.communication.CommunicationHandler;
50-
import eu.bittrade.libs.steemj.communication.jrpc.JsonRPCRequest;
5147
import eu.bittrade.libs.steemj.configuration.SteemJConfig;
5248
import eu.bittrade.libs.steemj.enums.PrivateKeyType;
53-
import eu.bittrade.libs.steemj.enums.RequestMethod;
5449
import eu.bittrade.libs.steemj.enums.RewardFundType;
55-
import eu.bittrade.libs.steemj.enums.SteemApiType;
5650
import eu.bittrade.libs.steemj.exceptions.SteemCommunicationException;
5751
import eu.bittrade.libs.steemj.exceptions.SteemInvalidTransactionException;
5852
import eu.bittrade.libs.steemj.exceptions.SteemResponseException;
59-
import eu.bittrade.libs.steemj.exceptions.SteemTransformationException;
6053
import eu.bittrade.libs.steemj.fc.TimePointSec;
6154
import eu.bittrade.libs.steemj.plugins.apis.account.by.key.AccountByKeyApi;
6255
import eu.bittrade.libs.steemj.plugins.apis.account.by.key.models.GetKeyReferencesArgs;
@@ -71,6 +64,7 @@
7164
import eu.bittrade.libs.steemj.plugins.apis.condenser.CondenserApi;
7265
import eu.bittrade.libs.steemj.plugins.apis.condenser.models.AccountVote;
7366
import eu.bittrade.libs.steemj.plugins.apis.condenser.models.ExtendedAccount;
67+
import eu.bittrade.libs.steemj.plugins.apis.condenser.models.ExtendedDynamicGlobalProperties;
7468
import eu.bittrade.libs.steemj.plugins.apis.condenser.models.ExtendedLimitOrder;
7569
import eu.bittrade.libs.steemj.plugins.apis.condenser.models.State;
7670
import eu.bittrade.libs.steemj.plugins.apis.database.DatabaseApi;
@@ -2066,6 +2060,11 @@ public List<Tag> getTrendingTags(String firstTagPattern, int limit)
20662060
// ## UTILITY METHODS ######################################################
20672061
// #########################################################################
20682062

2063+
public static double calculateRemainingBandwidth(ExtendedDynamicGlobalProperties extendedDynamicGlobalProperties,
2064+
Account account) {
2065+
return 0.0;
2066+
}
2067+
20692068
/*
20702069
* TODO: Provided by mdfk -> Needs to adjusted to work with the new api
20712070
* calls. private double getEarnedMoney(Comment comment) throws

core/src/main/java/eu/bittrade/libs/steemj/plugins/apis/condenser/CondenserApi.java

+31
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,40 @@
2323
import eu.bittrade.libs.steemj.enums.SteemApiType;
2424
import eu.bittrade.libs.steemj.exceptions.SteemCommunicationException;
2525
import eu.bittrade.libs.steemj.exceptions.SteemResponseException;
26+
import eu.bittrade.libs.steemj.plugins.apis.condenser.models.ExtendedDynamicGlobalProperties;
2627
import eu.bittrade.libs.steemj.plugins.apis.condenser.models.State;
28+
import eu.bittrade.libs.steemj.plugins.apis.database.DatabaseApi;
2729

30+
/**
31+
* This class implements the "condenser_api".
32+
*
33+
* @author <a href="http://steemit.com/@dez1337">dez1337</a>
34+
*/
2835
public class CondenserApi {
36+
/** Add a private constructor to hide the implicit public one. */
37+
private CondenserApi() {
38+
}
39+
40+
/**
41+
* Like
42+
* {@link DatabaseApi#getDynamicGlobalProperties(CommunicationHandler)}, but
43+
* returns an {@link ExtendedDynamicGlobalProperties} object providing
44+
* additional information.
45+
*
46+
* @param communicationHandler
47+
* @return ExtendedDynamicGlobalProperties
48+
* @throws SteemCommunicationException
49+
* @throws SteemResponseException
50+
*/
51+
public static ExtendedDynamicGlobalProperties getDynamicGlobalProperties(CommunicationHandler communicationHandler)
52+
throws SteemCommunicationException, SteemResponseException {
53+
JsonRPCRequest requestObject = new JsonRPCRequest(SteemApiType.CONDENSER_API,
54+
RequestMethod.GET_DYNAMIC_GLOBAL_PROPERTIES, null);
55+
56+
return communicationHandler.performRequest(requestObject, ExtendedDynamicGlobalProperties.class).get(0);
57+
58+
}
59+
2960
/**
3061
* This API is a short-cut for returning all of the state required for a
3162
* particular URL with a single query.

0 commit comments

Comments
 (0)