Skip to content
This repository has been archived by the owner on Sep 30, 2019. It is now read-only.

Commit

Permalink
DMF-452 : Facebook valve : create user in jahia (improvements)
Browse files Browse the repository at this point in the history
  • Loading branch information
amidani-jahia committed Nov 18, 2015
1 parent 05096dd commit 9087456
Showing 1 changed file with 25 additions and 23 deletions.
Expand Up @@ -181,33 +181,35 @@ public void invoke(Object context, ValveContext valveContext) throws PipelineExc
JCRTemplate.getInstance().doExecuteWithSystemSessionAsUser((JahiaUser) null, "default", userLocale, new JCRCallback<Object>() {
public Object doInJCR(JCRSessionWrapper session) throws RepositoryException {

//Look for previous connection's user
JCRUserNode userNode = userService.lookupUser(user.getEmail(), session);
if(userNode == null){
//Create the user in JCR
userNode = userService.createUser(user.getEmail(), "SHA-1:*", props, session);
if(!StringUtils.isBlank(user.getEmail())) {
//Look for previous connection's user
JCRUserNode userNode = userService.lookupUser(user.getEmail(), session);
if (userNode == null) {
throw new RuntimeException("Cannot create user from access token");
//Create the user in JCR
userNode = userService.createUser(user.getEmail(), "SHA-1:*", props, session);
if (userNode == null) {
throw new RuntimeException("Cannot create user from access token");
}
} else {
facebookPropertiesMapping.mapProperties(userNode, props);
}
}else{
facebookPropertiesMapping.mapProperties(userNode, props);
}
try {
URL urlPicture = new URL(user.getPicture().getUrl());
InputStream input = urlPicture.openStream();
JCRNodeWrapper filesFolder = userNode.hasNode("files")?userNode.getNode("files"):userNode.addNode("files", "jnt:folder");
JCRNodeWrapper pictureNode = filesFolder.uploadFile(user.getId(), input, ContentTypes.IMAGE_JPEG);

if(pictureNode != null ){

pictureNode.addMixin("jmix:autoPublish");
userNode.setProperty("j:picture", pictureNode);
try {
URL urlPicture = new URL(user.getPicture().getUrl());
InputStream input = urlPicture.openStream();
JCRNodeWrapper filesFolder = userNode.hasNode("files") ? userNode.getNode("files") : userNode.addNode("files", "jnt:folder");
JCRNodeWrapper pictureNode = filesFolder.uploadFile(user.getId(), input, ContentTypes.IMAGE_JPEG);

if (pictureNode != null) {

pictureNode.addMixin("jmix:autoPublish");
userNode.setProperty("j:picture", pictureNode);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
session.save();
loginFacebookUser(authContext, request, userNode, session.getLocale());
}
session.save();
loginFacebookUser(authContext, request, userNode, session.getLocale());
return null;
}
});
Expand Down

0 comments on commit 9087456

Please sign in to comment.