<commit_before># Salesforce Wave Client Library

A JAVA library for [Salesforce Wave REST API] (https://resources.docs.salesforce.com/sfdc/pdf/bi_dev_guide_rest.pdf).

## Features
This library can be used as a JAVA Client for executing Salesforce Wave API. Currently it supports querying a dataset using SAQL and return the result as POJO.


## Usage
This library requires Salesforce username, Salesforce password and Salesforce loginURL.
* Account provided in Salesforce username should have WAVE API privilege
* Salesforce password should be appended with security token. For example, if a user’s password is <PASSWORD>, and the security token is <PASSWORD>, the user must provide mypassword<PASSWORD>
* loginURL can be http://login.salesforce.com or http://test.salesforce.com 

### Querying a dataset
This library can be used to query a dataset using [SAQL] (https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_eql.meta/bi_dev_guide_eql/). Refer [WaveAPITest.java] (https://github.com/springml/salesforce-wave-api/blob/master/src/test/java/com/springml/salesforce/wave/api/WaveAPITest.java) for querying a dataset from Salesforce Wave

### Maven Dependency
```
<dependency>
    <groupId>com.springml</groupId>
    <artifactId>salesforce-wave-api</artifactId>
    <version>1.0.0</version>
</dependency>
```

### Example Usage
```java
import com.springml.salesforce.wave.api.APIFactory
import com.springml.salesforce.wave.api.WaveAPI;
import com.springml.salesforce.wave.model.QueryResult;
import com.springml.salesforce.wave.model.Results;

WaveAPI waveAPI = APIFactory.getInstance().waveAPI("salesforce_username",
                "salesforce_password_appended_with_security_token", "https://login.salesforce.com");
QueryResult result = waveAPI.query(SAQL);
List<Map<String,String>> records = result.getRecords();

```


### Note
Salesforce wave does not fetch more than 75000 records. So please make sure that your SAQL does not return more than 75000.

<commit_msg>Correction in README<commit_after># Salesforce Wave Client Library

A Java client library for [Salesforce Wave REST API] (https://resources.docs.salesforce.com/sfdc/pdf/bi_dev_guide_rest.pdf).

## Features
This library can be used as a Java Client of Salesforce Wave API. Currently it supports querying a dataset using S[AQL] (https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_eql.meta/bi_dev_guide_eql/) and return the result as POJO.


## Usage
This library requires Salesforce username, Salesforce password and Salesforce loginURL.
* Account provided in Salesforce username should have WAVE API privilege
* Salesforce password should be appended with security token. For example, if a user’s password is <PASSWORD>, and the security token is <PASSWORD>, the user must provide mypasswordXXXXXXXXXX
* loginURL can be http://login.salesforce.com or http://test.salesforce.com 

### Querying a dataset
This library can be used to query a dataset using [SAQL] (https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_eql.meta/bi_dev_guide_eql/). Refer [WaveAPITest.java] (https://github.com/springml/salesforce-wave-api/blob/master/src/test/java/com/springml/salesforce/wave/api/WaveAPITest.java) for querying a dataset from Salesforce Wave

### Maven Dependency
```
<dependency>
    <groupId>com.springml</groupId>
    <artifactId>salesforce-wave-api</artifactId>
    <version>1.0.0</version>
</dependency>
```

### Example Usage
```java
import com.springml.salesforce.wave.api.APIFactory
import com.springml.salesforce.wave.api.WaveAPI;
import com.springml.salesforce.wave.model.QueryResult;
import com.springml.salesforce.wave.model.Results;

WaveAPI waveAPI = APIFactory.getInstance().waveAPI("salesforce_username",
                "salesforce_password_appended_with_security_token", 
                "https://login.salesforce.com");
QueryResult result = waveAPI.query(SAQL);
List<Map<String,String>> records = result.getRecords();

```


### Note
Salesforce wave does not fetch more than 75000 records. So please make sure that your SAQL does not return more than 75000.


{'fraction_non_alphanumeric': 0.10377821393523062, 'fraction_numerical': 0.006378802747791953, 'mean_word_length': 4.986784140969163, 'pattern_counts': {'":': 0, '<': 28, '<?xml version=': 0, '>': 28, 'https://': 9, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 1, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3450180', 'n_tokens_mistral': 1313, 'n_tokens_neox': 1190, 'n_words': 351}