log.trace("OAUTH1AccessToken Provider "+socialProvider);
String actionToDo = "";
// https://github.com/e14n/pump.io
// on 2013 identi.ca changed name to pump.io
if (socialProvider.equals(SocialProvider.IDENTICA) || socialProvider.equals(SocialProvider.PUMPIO)) {
IdenticaAPIOperations apiOperations = new IdenticaAPITemplate(
apiKey, consumerSecret, accessToken.getValue(),
accessToken.getSecret());
IdentiCaProfile profile = apiOperations.getUserProfile();
log.debug("identica profile "+profile.toString());
SocialUserProfile profileAPI = apiOperations.getProfile();
final SocialAccount socialAccount = getSecurityService().getCurrentSocialAccount(socialProvider,
String.valueOf(profile.getId()));
if (socialAccount == null) {
getSecurityService().addNewSocialAccount(
accessToken.getValue(), accessToken.getSecret(), null, profileAPI,
socialProvider, getUserAccount());
} else {
log.warn("This account already exist");
throw new EnMeExistPreviousConnectionException(getMessage("social.repeated.account"));
}
} else if (socialProvider.equals(SocialProvider.LINKEDIN)) {
LinkedInAPIOperations apiOperations = new LinkedInAPITemplate(
apiKey, consumerSecret, accessToken.getValue(),
accessToken.getSecret());
LinkedInProfile profile = apiOperations.getUserProfile();
SocialUserProfile profileAPI = apiOperations.getProfile();
log.debug("linkedin profile "+profile.toString());
final SocialAccount socialAccount = getSecurityService().getCurrentSocialAccount(socialProvider, profile.getId());
if (socialAccount == null) {
getSecurityService().addNewSocialAccount(
accessToken.getValue(), accessToken.getSecret(), null, profileAPI,
socialProvider, getUserAccount());
} else {
log.warn("This account already exist");
throw new EnMeExistPreviousConnectionException(getMessage("social.repeated.account"));
}
} else if (socialProvider.equals(SocialProvider.TWITTER)) {
TwitterAPIOperations operations = new TwitterAPITemplate(consumerSecret, apiKey, accessToken.getValue(),
accessToken.getSecret());
SocialUserProfile profile = operations.getProfile();
log.debug("twitter profile "+profile.toString());
final SocialAccount socialAccount = getSecurityService().getCurrentSocialAccount(socialProvider, profile.getId());
if (socialAccount == null) {
getSecurityService().addNewSocialAccount(
accessToken.getValue(), accessToken.getSecret(), null, profile,
socialProvider, getUserAccount());
} else {
log.warn("This account already exist");
throw new EnMeExistPreviousConnectionException(getMessage("social.repeated.account"));
}
//FUTURE - Issues with OAuth1 request.
} else if (socialProvider.equals(SocialProvider.YAHOO)) {
//FUTURE - Only valid on defined domain.
log.debug("Yahoo provider is disabled");
} else if (socialProvider.equals(SocialProvider.PLURK)) {
PlurkAPIOperations apiOperations = new PlurkAPITemplate(
apiKey, consumerSecret, accessToken.getValue(),
accessToken.getSecret());
SocialUserProfile profile = apiOperations.getProfile();
log.debug("plurk profile " + profile.toString());
final SocialAccount socialAccount = getSecurityService().getCurrentSocialAccount(socialProvider, profile.getId());
if (socialAccount == null) {
getSecurityService().addNewSocialAccount(
accessToken.getValue(), accessToken.getSecret(), null, profile,
socialProvider, getUserAccount());
} else {
log.warn("This account already exist");
throw new EnMeExistPreviousConnectionException(getMessage("social.repeated.account"));
}
} else if (socialProvider.equals(SocialProvider.TUMBLR)) {
TumblrAPIOperations apiOperations = new TumblrAPITemplate(
apiKey, consumerSecret, accessToken.getValue(),
accessToken.getSecret());
SocialUserProfile profile = apiOperations.getProfile();
log.debug("linkedin profile "+profile.toString());
final SocialAccount socialAccount = getSecurityService().getCurrentSocialAccount(socialProvider, profile.getId());
if (socialAccount == null) {
getSecurityService().addNewSocialAccount(
accessToken.getValue(), accessToken.getSecret(), null, profile,