You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by am...@apache.org on 2017/11/03 14:41:45 UTC
[1/3] incubator-unomi git commit: Adding a feature,
A power user can set from the cfg file: if the current profile is a
contact on SaleForce otherwise a lead is created.
Repository: incubator-unomi
Updated Branches:
refs/heads/master 3e35842f4 -> c3c678184
Adding a feature, A power user can set from the cfg file: if the current profile is a contact on SaleForce otherwise a lead is created.
Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/d04794c1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/d04794c1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/d04794c1
Branch: refs/heads/master
Commit: d04794c1b2836a2333de88057ac60e9882c9642d
Parents: 3e3c8cc
Author: Dinesh <di...@ynov.com>
Authored: Thu Oct 26 18:06:50 2017 +0200
Committer: Dinesh <di...@ynov.com>
Committed: Thu Oct 26 18:06:50 2017 +0200
----------------------------------------------------------------------
.../unomi/sfdc/services/SFDCConfiguration.java | 33 +++---
.../sfdc/services/internal/SFDCServiceImpl.java | 103 +++++++++++++------
.../resources/OSGI-INF/blueprint/blueprint.xml | 3 +
.../main/resources/org.apache.unomi.sfdc.cfg | 3 +-
4 files changed, 95 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d04794c1/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/SFDCConfiguration.java
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/SFDCConfiguration.java b/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/SFDCConfiguration.java
index fc84579..116daed 100644
--- a/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/SFDCConfiguration.java
+++ b/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/SFDCConfiguration.java
@@ -51,8 +51,9 @@ public class SFDCConfiguration extends Item {
private String unomiIdentifierField;
private String sfdcIdentifierField;
- public SFDCConfiguration() {
- }
+ private boolean sfdcCheckIfContactExistBeforeLeadCreation;
+
+ public SFDCConfiguration() { }
public String getSfdcLoginEndpoint() {
return sfdcLoginEndpoint;
@@ -114,18 +115,6 @@ public class SFDCConfiguration extends Item {
return sfdcFieldMappings;
}
- public String getSfdcFieldMappingsIdentifier() {
- return sfdcFieldMappingsIdentifier;
- }
-
- public long getSfdcSessionTimeout() {
- return sfdcSessionTimeout;
- }
-
- public void setSfdcSessionTimeout(long sfdcSessionTimeout) {
- this.sfdcSessionTimeout = sfdcSessionTimeout;
- }
-
public void setSfdcFieldMappings(String sfdcFieldMappings) {
this.sfdcFieldMappings = sfdcFieldMappings;
String[] mappings = sfdcFieldMappings.split(",");
@@ -149,6 +138,22 @@ public class SFDCConfiguration extends Item {
}
}
+ public long getSfdcSessionTimeout() {
+ return sfdcSessionTimeout;
+ }
+
+ public void setSfdcSessionTimeout(long sfdcSessionTimeout) {
+ this.sfdcSessionTimeout = sfdcSessionTimeout;
+ }
+
+ public boolean isSfdcCheckIfContactExistBeforeLeadCreation() {
+ return sfdcCheckIfContactExistBeforeLeadCreation;
+ }
+
+ public void setSfdcCheckIfContactExistBeforeLeadCreation(boolean sfdcCheckIfContactExistBeforeLeadCreation) {
+ this.sfdcCheckIfContactExistBeforeLeadCreation = sfdcCheckIfContactExistBeforeLeadCreation;
+ }
+
public Map<String, String> getUnomiToSfdcFieldMappings() {
return unomiToSfdcFieldMappings;
}
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d04794c1/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/internal/SFDCServiceImpl.java
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/internal/SFDCServiceImpl.java b/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/internal/SFDCServiceImpl.java
index 7ef6bea..d60a4ac 100644
--- a/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/internal/SFDCServiceImpl.java
+++ b/extensions/salesforce-connector/services/src/main/java/org/apache/unomi/sfdc/services/internal/SFDCServiceImpl.java
@@ -66,6 +66,9 @@ public class SFDCServiceImpl implements SFDCService {
private static final String REST_ENDPOINT_URI = "/services/data/v38.0";
private static final String STREAMING_ENDPOINT_URI = "/cometd/38.0";
+ private static final String RESULTSET_KEY_CONTACT = "CONTACT";
+ private static final String RESULTSET_KEY_LEAD = "LEAD";
+
private static final int CONNECTION_TIMEOUT = 20 * 1000; // milliseconds
private static final int READ_TIMEOUT = 120 * 1000; // milliseconds
@@ -192,13 +195,13 @@ public class SFDCServiceImpl implements SFDCService {
return recentLeadIds;
}
- public Map<String,Object> getSObject(String sobjectName, String objectId) {
+ public Map<String, Object> getSObject(String sobjectName, String objectId) {
if (!isConnected()) {
return null;
}
Map<String, Object> sobjectMap = new LinkedHashMap<>();
- String baseUrl = sfdcSession.getEndPoint() + REST_ENDPOINT_URI + "/sobjects/" + sobjectName +"/" + objectId;
+ String baseUrl = sfdcSession.getEndPoint() + REST_ENDPOINT_URI + "/sobjects/" + sobjectName + "/" + objectId;
HttpGet getSObject = new HttpGet(baseUrl);
try {
@@ -221,13 +224,13 @@ public class SFDCServiceImpl implements SFDCService {
return sobjectMap;
}
- public Map<String,Object> getSObjectDescribe(String sobjectName) {
+ public Map<String, Object> getSObjectDescribe(String sobjectName) {
Map<String, Object> sobjectDescribe = new LinkedHashMap<>();
if (!isConnected()) {
return null;
}
- String baseUrl = sfdcSession.getEndPoint() + REST_ENDPOINT_URI + "/sobjects/" + sobjectName +"/describe";
+ String baseUrl = sfdcSession.getEndPoint() + REST_ENDPOINT_URI + "/sobjects/" + sobjectName + "/describe";
HttpGet getSObjectDescribe = new HttpGet(baseUrl);
try {
@@ -259,12 +262,12 @@ public class SFDCServiceImpl implements SFDCService {
if (!isConnected()) {
return null;
}
- Map<String,Object> leadDescribe = getSObjectDescribe("Lead");
+ Map<String, Object> leadDescribe = getSObjectDescribe("Lead");
Object[] fields = (Object[]) leadDescribe.get("fields");
Set<String> updateableFields = new TreeSet<>();
Set<String> compoundFieldNames = new TreeSet<>();
for (Object field : fields) {
- Map<String,Object> fieldDescribe = (Map<String,Object>) field;
+ Map<String, Object> fieldDescribe = (Map<String, Object>) field;
String fieldName = (String) fieldDescribe.get("name");
String compoundFieldName = (String) fieldDescribe.get("compoundFieldName");
if (compoundFieldName != null) {
@@ -304,15 +307,7 @@ public class SFDCServiceImpl implements SFDCService {
return true;
}
- public Set<String> findLeadIdsByIdentifierValue(String identifierFieldValue) {
- Set<String> results = new LinkedHashSet<String>();
- if (!isConnected()) {
- return results;
- }
- Object response = query("SELECT Id FROM Lead WHERE " + sfdcConfiguration.getSfdcIdentifierField() + "='" + identifierFieldValue + "'");
- if (response == null) {
- return results;
- }
+ private Set<String> mappingResponse(Object response, Set<String> results) {
Map<String, Object> result = (Map<String, Object>) response;
Long totalSize = (Long) result.get("totalSize");
Boolean done = (Boolean) result.get("done");
@@ -329,13 +324,47 @@ public class SFDCServiceImpl implements SFDCService {
return results;
}
+ public Set<String> findLeadIdsByIdentifierValue(String identifierFieldValue) {
+ Set<String> results = new LinkedHashSet<>();
+ if (!isConnected()) {
+ return results;
+ }
+ Object response = query("SELECT Id FROM Lead WHERE " + sfdcConfiguration.getSfdcIdentifierField() + "='" +
+ identifierFieldValue + "'");
+ if (response == null) {
+ return results;
+ }
+ return mappingResponse(response, results);
+ }
+
+ private boolean isProfileInContacts(String identifierFieldValue) {
+ logger.info("Checking if we have a contact for identifier value {}...", identifierFieldValue);
+ if (sfdcConfiguration.isSfdcCheckIfContactExistBeforeLeadCreation()) {
+ Object response;
+ Set<String> queryResult = new LinkedHashSet<>();
+ response = query("SELECT Id FROM Contact WHERE " + sfdcConfiguration.getSfdcIdentifierField() +
+ "='" + identifierFieldValue + "'");
+ queryResult = mappingResponse(response, queryResult);
+ if (queryResult.size() > 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
@Override
public String createOrUpdateLead(Profile profile) {
if (!isConnected()) {
return null;
}
- // first we must check if an existing lead exists for the profile.
+ // first we must check if an existing contact exists for the profile.
String unomiIdentifierValue = (String) profile.getProperty(sfdcConfiguration.getUnomiIdentifierField());
+ if (isProfileInContacts(unomiIdentifierValue)) {
+ logger.info("Contact {} found in SFDC... No SFDC field value to send, will not send anything to " +
+ "Salesforce. ", unomiIdentifierValue);
+ return null;
+ }
+ // then we must check if an existing lead exists for the profile.
logger.info("Checking if we have a lead for identifier value {}...", unomiIdentifierValue);
Set<String> foundExistingSfdcLeadIds = findLeadIdsByIdentifierValue(unomiIdentifierValue);
@@ -345,7 +374,8 @@ public class SFDCServiceImpl implements SFDCService {
if (foundExistingSfdcLeadIds.size() > 1) {
// we found multiple leads matching the identifier value !
- logger.warn("Found multiple matching leads for identifier value {}, will use first matching one !", unomiIdentifierValue);
+ logger.warn("Found multiple matching leads for identifier value {}, will use first matching one !",
+ unomiIdentifierValue);
}
if (foundExistingSfdcLeadIds.size() > 0) {
@@ -411,7 +441,8 @@ public class SFDCServiceImpl implements SFDCService {
String baseUrl = sfdcSession.getEndPoint() + REST_ENDPOINT_URI + "/sobjects/Lead";
HttpEntityEnclosingRequestBase request = new HttpPost(baseUrl);
if (foundExistingSfdcLeadIds.size() > 0) {
- baseUrl = sfdcSession.getEndPoint() + REST_ENDPOINT_URI + "/sobjects/Lead/" + foundExistingSfdcLeadIds.iterator().next();
+ baseUrl = sfdcSession.getEndPoint() + REST_ENDPOINT_URI + "/sobjects/Lead/" + foundExistingSfdcLeadIds
+ .iterator().next();
sfdcLeadFields.remove("Id");
request = new HttpPatch(baseUrl);
}
@@ -460,17 +491,19 @@ public class SFDCServiceImpl implements SFDCService {
// we didn't find a corresponding lead in salesforce.
return false;
} else if (foundSfdcLeadIds.size() > 1) {
- logger.warn("Found multiple leads in Salesforce for identifier value {}, will use first one.", foundSfdcLeadIds);
+ logger.warn("Found multiple leads in Salesforce for identifier value {}, will use first one.",
+ foundSfdcLeadIds);
} else {
logger.info("Found corresponding lead with identifier value {}", unomiIdentifierValue);
}
- Map<String,Object> sfdcLead = getLead(foundSfdcLeadIds.iterator().next());
+ Map<String, Object> sfdcLead = getLead(foundSfdcLeadIds.iterator().next());
if (sfdcLead == null) {
- logger.error("Error retrieving lead {} from Salesforce", foundSfdcLeadIds );
+ logger.error("Error retrieving lead {} from Salesforce", foundSfdcLeadIds);
return false;
}
boolean profileUpdated = false;
- for (Map.Entry<String,String> sfdcToUnomiFieldMappingEntry : sfdcConfiguration.getSfdcToUnomiFieldMappings().entrySet()) {
+ for (Map.Entry<String, String> sfdcToUnomiFieldMappingEntry : sfdcConfiguration.getSfdcToUnomiFieldMappings()
+ .entrySet()) {
String sfdcFieldName = sfdcToUnomiFieldMappingEntry.getKey();
String unomiFieldName = sfdcToUnomiFieldMappingEntry.getValue();
if (sfdcLead.get(sfdcFieldName) != null) {
@@ -486,7 +519,7 @@ public class SFDCServiceImpl implements SFDCService {
}
@Override
- public Map<String,Object> query(String query) {
+ public Map<String, Object> query(String query) {
if (!isConnected()) {
return null;
}
@@ -502,7 +535,7 @@ public class SFDCServiceImpl implements SFDCService {
return null;
}
if (responseObject != null && responseObject instanceof Map) {
- return (Map<String,Object>) responseObject;
+ return (Map<String, Object>) responseObject;
}
return null;
} catch (UnsupportedEncodingException e) {
@@ -536,7 +569,7 @@ public class SFDCServiceImpl implements SFDCService {
}
if (responseObject instanceof Map) {
- return (Map<String,Object>) responseObject;
+ return (Map<String, Object>) responseObject;
}
return null;
} catch (UnsupportedEncodingException e) {
@@ -584,7 +617,8 @@ public class SFDCServiceImpl implements SFDCService {
return client;
}
- public void setupPushListener(String channelName, ClientSessionChannel.MessageListener messageListener) throws Exception {
+ public void setupPushListener(String channelName, ClientSessionChannel.MessageListener messageListener) throws
+ Exception {
if (!isConnected()) {
return;
}
@@ -668,7 +702,8 @@ public class SFDCServiceImpl implements SFDCService {
private void setupPushTopics(String host, String sessionId) throws HttpException, IOException {
- String baseUrl = host + REST_ENDPOINT_URI + "/query?q=" + URLEncoder.encode("SELECT Id from PushTopic WHERE name = 'LeadUpdates'", "UTF-8");
+ String baseUrl = host + REST_ENDPOINT_URI + "/query?q=" + URLEncoder.encode("SELECT Id from PushTopic WHERE " +
+ "name = 'LeadUpdates'", "UTF-8");
HttpGet get = new HttpGet(baseUrl);
Map<String, String> queryResponse = (Map<String, String>) handleRequest(get);
@@ -685,12 +720,13 @@ public class SFDCServiceImpl implements SFDCService {
List<BasicNameValuePair> parametersBody = new ArrayList<>();
parametersBody.add(new BasicNameValuePair("grant_type", "password"));
parametersBody.add(new BasicNameValuePair("username", sfdcConfiguration.getSfdcUserUsername()));
- parametersBody.add(new BasicNameValuePair("password", sfdcConfiguration.getSfdcUserPassword() + sfdcConfiguration.getSfdcUserSecurityToken()));
+ parametersBody.add(new BasicNameValuePair("password", sfdcConfiguration.getSfdcUserPassword() +
+ sfdcConfiguration.getSfdcUserSecurityToken()));
parametersBody.add(new BasicNameValuePair("client_id", sfdcConfiguration.getSfdcConsumerKey()));
parametersBody.add(new BasicNameValuePair("client_secret", sfdcConfiguration.getSfdcConsumerSecret()));
oauthPost.setEntity(new UrlEncodedFormEntity(parametersBody, "UTF-8"));
- Map<String, String> oauthLoginResponse = (Map<String,String>) handleRequest(oauthPost, 0, false);
+ Map<String, String> oauthLoginResponse = (Map<String, String>) handleRequest(oauthPost, 0, false);
if (oauthLoginResponse == null) {
return false;
}
@@ -744,7 +780,8 @@ public class SFDCServiceImpl implements SFDCService {
return handleRequest(request, 1, true);
}
- private Object handleRequest(HttpUriRequest request, int retryCount, boolean addAuthorizationHeader) throws IOException, HttpException {
+ private Object handleRequest(HttpUriRequest request, int retryCount, boolean addAuthorizationHeader) throws
+ IOException, HttpException {
CloseableHttpClient client = HttpClientBuilder.create().build();
if (addAuthorizationHeader) {
SFDCSession sfdcSession = getValidSession();
@@ -764,7 +801,8 @@ public class SFDCServiceImpl implements SFDCService {
CloseableHttpResponse response = client.execute(request);
if (response.getStatusLine().getStatusCode() >= 400) {
- if ((response.getStatusLine().getStatusCode() == 401 || response.getStatusLine().getStatusCode() == 403) && retryCount > 0) {
+ if ((response.getStatusLine().getStatusCode() == 401 || response.getStatusLine().getStatusCode() == 403)
+ && retryCount > 0) {
// probably the session has expired, let's try to login again
logger.warn("Unauthorized request, attempting to login again...");
boolean loginSuccessful = login(sfdcConfiguration);
@@ -775,7 +813,8 @@ public class SFDCServiceImpl implements SFDCService {
logger.warn("Retrying request {} once again...", request);
return handleRequest(request, 0, true);
} else {
- logger.error("Error executing request {}: {}-{}", request, response.getStatusLine().getStatusCode(), response.getStatusLine().getStatusCode());
+ logger.error("Error executing request {}: {}-{}", request, response.getStatusLine().getStatusCode(),
+ response.getStatusLine().getStatusCode());
if (response.getEntity() != null) {
logger.error("Entity={}", EntityUtils.toString(response.getEntity()));
}
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d04794c1/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 1b0b0ce..bf0108d 100644
--- a/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -34,6 +34,7 @@
<cm:property name="sfdc.fields.mappings.identifier" value=""/>
<cm:property name="sfdc.fields.mappings" value=""/>
<cm:property name="sfdc.session.timeout" value="900000"/>
+ <cm:property name="sfdc.checkIfContactExistBeforeLeadCreation" value="false"/>
</cm:default-properties>
</cm:property-placeholder>
@@ -52,6 +53,8 @@
<property name="sfdcFieldMappings" value="${sfdc.fields.mappings}"/>
<property name="sfdcFieldMappingsIdentifier" value="${sfdc.fields.mappings.identifier}"/>
<property name="sfdcSessionTimeout" value="${sfdc.session.timeout}" />
+ <property name="sfdcCheckIfContactExistBeforeLeadCreation"
+ value="${sfdc.checkIfContactExistBeforeLeadCreation}"/>
</bean>
<bean id="sfdcServiceImpl" class="org.apache.unomi.sfdc.services.internal.SFDCServiceImpl" init-method="start"
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d04794c1/extensions/salesforce-connector/services/src/main/resources/org.apache.unomi.sfdc.cfg
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/services/src/main/resources/org.apache.unomi.sfdc.cfg b/extensions/salesforce-connector/services/src/main/resources/org.apache.unomi.sfdc.cfg
index 939bddb..db0f950 100644
--- a/extensions/salesforce-connector/services/src/main/resources/org.apache.unomi.sfdc.cfg
+++ b/extensions/salesforce-connector/services/src/main/resources/org.apache.unomi.sfdc.cfg
@@ -23,4 +23,5 @@ sfdc.consumer.secret=
sfdc.channel=/topic/LeadUpdates
sfdc.fields.mappings=email=Email,firstName=FirstName,lastName=LastName,company=Company,phoneNumber=Phone,jobTitle=Title,city=City,zipCode=PostalCode,address=Street,sfdcStatus=Status,sfdcRating=Rating
sfdc.fields.mappings.identifier=email=Email
-sfdc.session.timeout=900000
\ No newline at end of file
+sfdc.checkIfContactExistBeforeLeadCreation=false
+sfdc.session.timeout=900000
[2/3] incubator-unomi git commit: Merge remote-tracking branch
'upstream/master'
Posted by am...@apache.org.
Merge remote-tracking branch 'upstream/master'
Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/edf38686
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/edf38686
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/edf38686
Branch: refs/heads/master
Commit: edf386866bc35282b6f0a57046f39eac39764e5b
Parents: d04794c adbb62a
Author: Dinesh <di...@ynov.com>
Authored: Thu Nov 2 09:40:14 2017 +0100
Committer: Dinesh <di...@ynov.com>
Committed: Thu Nov 2 09:40:14 2017 +0100
----------------------------------------------------------------------
.../main/java/org/apache/unomi/api/Consent.java | 72 ++++++++++
.../java/org/apache/unomi/api/ConsentGrant.java | 22 +++
.../org/apache/unomi/api/ContextResponse.java | 23 ++++
.../main/java/org/apache/unomi/api/Profile.java | 48 ++++++-
.../router/api/ImportExportConfiguration.java | 20 ---
.../ImportExportConfigurationService.java | 1 +
.../src/main/feature/feature.xml | 3 -
.../java/org/apache/unomi/itests/AllITs.java | 2 +-
.../apache/unomi/itests/ProfileExportIT.java | 19 +--
.../unomi/itests/ProfileImportActorsIT.java | 15 +-
.../unomi/itests/ProfileImportBasicIT.java | 3 +-
.../unomi/itests/ProfileImportRankingIT.java | 15 +-
.../itests/ProfileImportSurfersDeleteIT.java | 25 +---
.../unomi/itests/ProfileImportSurfersIT.java | 15 +-
.../itests/ProfileImportSurfersOverwriteIT.java | 15 +-
.../itests/ProfilePropertiesUpdateActionIT.java | 114 ---------------
.../unomi/itests/PropertiesUpdateActionIT.java | 114 +++++++++++++++
.../actions/ModifyConsentsAction.java | 67 +++++++++
.../baseplugin/actions/SetPropertyAction.java | 8 +-
.../actions/UpdateProfilePropertiesAction.java | 125 -----------------
.../actions/UpdatePropertiesAction.java | 138 +++++++++++++++++++
.../cxs/actions/modifyConsentsAction.json | 16 +++
.../actions/updateProfilePropertiesAction.json | 16 ---
.../cxs/actions/updatePropertiesAction.json | 16 +++
.../modifyConsentsEventCondition.json | 23 ++++
.../updateProfilePropertiesEventCondition.json | 6 +-
.../cxs/rules/updateProfileProperties.json | 23 ----
.../META-INF/cxs/rules/updateProperties.json | 23 ++++
.../resources/OSGI-INF/blueprint/blueprint.xml | 12 +-
.../resources/OSGI-INF/blueprint/blueprint.xml | 2 +-
.../resources/org.apache.unomi.thirdparty.cfg | 6 +-
.../markdown/versions/master/configuration.md | 2 +-
tools/shell-commands/pom.xml | 4 +-
.../org/apache/unomi/web/ContextServlet.java | 1 +
34 files changed, 594 insertions(+), 420 deletions(-)
----------------------------------------------------------------------
[3/3] incubator-unomi git commit: Merge branch 'pr/33'
Posted by am...@apache.org.
Merge branch 'pr/33'
Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/c3c67818
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/c3c67818
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/c3c67818
Branch: refs/heads/master
Commit: c3c678184d8f08619ed23e4450dd3f466dd863fd
Parents: 3e35842 edf3868
Author: Abdelkader Midani <am...@apache.org>
Authored: Fri Nov 3 15:41:29 2017 +0100
Committer: Abdelkader Midani <am...@apache.org>
Committed: Fri Nov 3 15:41:29 2017 +0100
----------------------------------------------------------------------
.../unomi/sfdc/services/SFDCConfiguration.java | 33 +++---
.../sfdc/services/internal/SFDCServiceImpl.java | 103 +++++++++++++------
.../resources/OSGI-INF/blueprint/blueprint.xml | 3 +
.../main/resources/org.apache.unomi.sfdc.cfg | 3 +-
4 files changed, 95 insertions(+), 47 deletions(-)
----------------------------------------------------------------------