package com.thysmichels; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import com.sforce.soap.partner.*; import com.sforce.soap.partner.sobject.*; import com.sforce.ws.*; public class SearchSalesforce { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub //Create a new connectionconfig to your Salesforce Org ConnectorConfig sfconfig = new ConnectorConfig(); //Use your salesforce username = email sfconfig.setUsername("username"); //Use your saleforce password with your security token look like: passwordjeIzBAQKkR6FBW8bw5HbVkkkk sfconfig.setPassword("passwordsecuritytoken"); PartnerConnection partnercon = null; try { partnercon = Connector.newConnection(sfconfig); DescribeGlobalResult describeGlobalResult = partnercon.describeGlobal(); DescribeGlobalSObjectResult[] sobjectResults = describeGlobalResult.getSobjects(); System.out.println("*** Salesforce Objects ***"); for (int i = 0; i < sobjectResults.length; i++) { System.out.print("Object Number: [" + i + "] " + sobjectResults[i].getName() + "\t" + "|" + ""); } System.out.println("Enter Salesforce Object Number: "); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String name = reader.readLine(); DescribeSObjectResult describeSObjectResult = partnercon.describeSObject(sobjectResults[Integer.parseInt(name)].getName()); System.out.println("*** " + sobjectResults[Integer.parseInt(name)].getName() +" Fields ***"); Field[] fields = describeSObjectResult.getFields(); if (describeSObjectResult != null) { for (int k = 0; k < fields.length; k++) { System.out.print("Column Number: ["+ k + "] " + fields[k].getName() + "\t" + "|" + ""); } } System.out.println("\n" + "How many columns do you want to view: "); String times = reader.readLine(); String concatfield = ""; String arrfields[] = new String[Integer.parseInt(times)]; for (int m=0;m < Integer.parseInt(times);m++) { System.out.println("Enter the column number"); String field = reader.readLine(); if (m==0) { concatfield += fields[Integer.parseInt(field)].getName(); arrfields[m] = fields[Integer.parseInt(field)].getName(); } else { concatfield += "," + fields[Integer.parseInt(field)].getName(); arrfields[m] = fields[Integer.parseInt(field)].getName(); } } //for (int col=0; col 0) { for (SObject s: queryResults.getRecords()) { for (int col=0; col < arrfields.length; col++) { System.out.print(arrfields[col] + ": "+ s.getField(arrfields[col]) + "\t" + "|" + "\t"); } System.out.println("\n"); } } } catch(ConnectionException e) { e.printStackTrace(); } } }
Output
*** Salesforce Objects *** Object Number: [0] Account |Object Number: [1] AccountContactRole |Object Number: [2] AccountFeed |Object Number: [3] AccountHistory 0 *** Account Fields *** Column Number: [0] Id |Column Number: [1] IsDeleted |Column Number: [2] MasterRecordId |Column Number: [3] Name How many columns do you want to view: 3 Enter the column number 0 Enter the column number 3 Enter the column number 19 *** RESULT FROM SALESFORCE DYNAMIC QUERY *** Id: 001F000000gMPyrIAG | Name: Test2 | Website: null | Id: 001A000000JYp5yIAD | Name: GenePoint | Website: www.genepoint.com | Id: 001A000000JYp5zIAD | Name: United Oil & Gas, UK | Website: http://www.uos.com | Id: 001A000000JYp60IAD | Name: United Oil & Gas, Singapore | Website: http://www.uos.com | Id: 001A000000JYp61IAD | Name: Edge Communications | Website: http://edgecomm.com |