Skip to content

Commit fc7daaa

Browse files
committed
Refactored query results
1 parent 642e464 commit fc7daaa

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

src/main/java/com/intuit/developer/tutorials/controller/JobsController.java

+13-10
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
import java.math.BigInteger;
55
import java.text.ParseException;
66
import java.util.ArrayList;
7-
import java.util.Iterator;
87
import java.util.List;
98

109
import javax.servlet.http.HttpSession;
1110

1211
import com.fasterxml.jackson.core.JsonProcessingException;
1312
import com.fasterxml.jackson.databind.ObjectMapper;
1413
import com.intuit.ipp.core.Context;
14+
import com.intuit.ipp.core.IEntity;
1515
import com.intuit.ipp.core.ServiceType;
1616
import com.intuit.ipp.data.Account;
1717
import com.intuit.ipp.data.AccountTypeEnum;
@@ -27,6 +27,7 @@
2727
import com.intuit.ipp.data.ReferenceType;
2828
import com.intuit.ipp.data.SalesItemLineDetail;
2929
import com.intuit.ipp.security.OAuth2Authorizer;
30+
import com.intuit.ipp.services.QueryResult;
3031
import com.intuit.ipp.util.Config;
3132
import com.intuit.ipp.util.DateUtils;
3233
import org.apache.commons.lang.StringUtils;
@@ -52,7 +53,9 @@
5253
@Controller
5354
public class JobsController {
5455

55-
public static final String MINOR_VERSION = "4";
56+
private static final String MINOR_VERSION = "4";
57+
58+
private static final String ACCOUNT_QUERY = "select * from Account where AccountType='%s' maxresults 1";
5659

5760
@Autowired
5861
OAuth2PlatformClientFactory factory;
@@ -246,17 +249,17 @@ private Estimate getEstimateWithMandatoryFields(Item item, Customer customer, Da
246249
}
247250

248251
private Account findAccountByType(AccountTypeEnum accountTypeEnum, DataService service) throws FMSException {
249-
final List<Account> accountList = service.findAll(new Account());
250252

251-
final Iterator<Account> accountIterator = accountList.iterator();
253+
final QueryResult queryResult = service.executeQuery(String.format(ACCOUNT_QUERY, accountTypeEnum.value()));
254+
255+
final List<? extends IEntity> entities = queryResult.getEntities();
256+
257+
Account account = null;
252258

253-
while (accountIterator.hasNext()) {
254-
final Account account = accountIterator.next();
255-
if(account.getAccountType() == accountTypeEnum) {
256-
return account;
257-
}
259+
if(!entities.isEmpty()) {
260+
account = (Account)entities.get(0);
258261
}
259-
return null;
262+
return account;
260263
}
261264

262265
private Customer getCustomerWithMandatoryFields() {

0 commit comments

Comments
 (0)