in src/main/java/com/aliyun/openservices/log/Client.java [4774:4822]
private List<TopostoreNode> listTopostoreNodeWithAutoPage(String topostoreName, List<String> reqNodeIds,
List<String> nodeTypes, Map<String, String> nodeProperties, Map<String, String> params) throws LogException{
List<TopostoreNode> finalNodes = new ArrayList<TopostoreNode>();
if(reqNodeIds.size()==0){
int offset = 0;
int total = 100000;
while( offset < total ){
ListTopostoreNodeRequest listNodeReq = new ListTopostoreNodeRequest();
listNodeReq.setTopostoreName(topostoreName);
listNodeReq.setProperties(nodeProperties);
listNodeReq.setNodeTypes(nodeTypes);
for(Map.Entry<String, String> kv: params.entrySet()){
listNodeReq.SetParam(kv.getKey(), kv.getValue());
}
ListTopostoreNodeResponse listNodeResp = this.listTopostoreNode(listNodeReq);
total = listNodeResp.getTotal();
for (TopostoreNode n: listNodeResp.getTopostoreNodes()){
offset++;
finalNodes.add(n);
}
}
} else {
List<List<String>> reqNodeIdLists = new ArrayList<List<String>>();
for(int i=0; i<reqNodeIds.size();i++) {
if(i % 200 == 0){
reqNodeIdLists.add(new ArrayList<String>());
}
reqNodeIdLists.get(i/200).add(reqNodeIds.get(i));
}
for(int i=0; i<reqNodeIdLists.size(); i++){
ListTopostoreNodeRequest listNodeReq = new ListTopostoreNodeRequest();
listNodeReq.setTopostoreName(topostoreName);
listNodeReq.setNodeIds(reqNodeIdLists.get(i));
listNodeReq.setProperties(nodeProperties);
listNodeReq.setNodeTypes(nodeTypes);
for(Map.Entry<String, String> kv: params.entrySet()){
listNodeReq.SetParam(kv.getKey(), kv.getValue());
}
ListTopostoreNodeResponse listNodeResp = this.listTopostoreNode(listNodeReq);
for (TopostoreNode n: listNodeResp.getTopostoreNodes()){
finalNodes.add(n);
}
}
}
return finalNodes;
}