public void querySample() { try { // Set query batch size partnerConnection.setQueryOptions(250); // SOQL query to use String soqlQuery = "SELECT FirstName, LastName FROM Contact"; // Make the query call and get the query results QueryResult qr = partnerConnection.query(soqlQuery); boolean done = false; int loopCount = 0; // Loop through the batches of returned results while (!done) { System.out.println("Records in results set " + loopCount++ + " - "); SObject[] records = qr.getRecords(); // Process the query results for (int i = 0; i < records.length; i++) { SObject contact = records[i]; Object firstName = contact.getField("FirstName"); Object lastName = contact.getField("LastName"); if (firstName == null) { System.out.println("Contact " + (i + 1) + ": " + lastName); } else { System.out.println("Contact " + (i + 1) + ": " + firstName + " " + lastName); } } if (qr.isDone()) { done = true; } else { qr = partnerConnection.queryMore(qr.getQueryLocator()); } } } catch (ConnectionException ce) { ce.printStackTrace(); } System.out.println("\nQuery execution completed."); }
public void searchSample(String phoneNumber) { try { // Example of phoneNumber format: 4155551212 String soslQuery = "FIND {" + phoneNumber + "} IN Phone FIELDS " + "RETURNING " + "Contact(Id, Phone, FirstName, LastName), " + "Lead(Id, Phone, FirstName, LastName)," + "Account(Id, Phone, Name)"; // Perform SOSL query SearchResult sResult = partnerConnection.search(soslQuery); // Get the records returned by the search result SearchRecord[] records = sResult.getSearchRecords(); // Create lists of objects to hold search result records List<SObject> contacts = new ArrayList<SObject>(); List<SObject> leads = new ArrayList<SObject>(); List<SObject> accounts = new ArrayList<SObject>(); // Iterate through the search result records // and store the records in their corresponding lists // based on record type. if (records != null && records.length > 0) { for (int i = 0; i < records.length; i++) { SObject record = records[i].getRecord(); if (record.getType().toLowerCase().equals("contact")) { contacts.add(record); } else if (record.getType().toLowerCase().equals("lead")) { leads.add(record); } else if (record.getType().toLowerCase().equals("account")) { accounts.add(record); } } // Display the contacts that the search returned if (contacts.size() > 0) { System.out.println("Found " + contacts.size() + " contact(s):"); for (SObject contact : contacts) { System.out.println( contact.getId() + " - " + contact.getField("FirstName") + " " + contact.getField("LastName") + " - " + contact.getField("Phone")); } } // Display the leads that the search returned if (leads.size() > 0) { System.out.println("Found " + leads.size() + " lead(s):"); for (SObject lead : leads) { System.out.println( lead.getId() + " - " + lead.getField("FirstName") + " " + lead.getField("LastName") + " - " + lead.getField("Phone")); } } // Display the accounts that the search returned if (accounts.size() > 0) { System.out.println("Found " + accounts.size() + " account(s):"); for (SObject account : accounts) { System.out.println( account.getId() + " - " + account.getField("Name") + " - " + account.getField("Phone")); } } } else { // The search returned no records System.out.println("No records were found for the search."); } } catch (ConnectionException ce) { ce.printStackTrace(); } }