use of org.eclipse.kapua.app.console.shared.model.GwtUserCreator in project kapua by eclipse.
the class UserManageForm method submitAccount.
protected void submitAccount() {
// New account
if (m_existingUser == null) {
final GwtUserCreator gwtUserCreator = new GwtUserCreator();
gwtUserCreator.setScopeId(m_accountId);
gwtUserCreator.setUsername(username.getValue());
gwtUserCreator.setPassword(password.getValue());
gwtUserCreator.setDisplayName(displayName.getValue());
gwtUserCreator.setEmail(email.getValue());
gwtUserCreator.setPhoneNumber(phoneNumber.getValue());
gwtUserCreator.setPermissions(getEnabledUserPermissions());
gwtXSRFService.generateSecurityToken(new AsyncCallback<GwtXSRFToken>() {
@Override
public void onFailure(Throwable ex) {
FailureHandler.handle(ex);
}
@Override
public void onSuccess(GwtXSRFToken token) {
gwtUserService.create(token, gwtUserCreator, new AsyncCallback<GwtUser>() {
public void onFailure(Throwable caught) {
FailureHandler.handleFormException(m_formPanel, caught);
m_status.hide();
m_formPanel.getButtonBar().enable();
}
public void onSuccess(GwtUser user) {
ConsoleInfo.display(MSGS.info(), MSGS.userCreatedConfirmation(user.getUnescapedUsername()));
hide();
}
});
}
});
} else {
m_existingUser.setAdministrator(false);
m_existingUser.setPermissions(getEnabledUserPermissions());
super.submitAccount();
}
}
use of org.eclipse.kapua.app.console.shared.model.GwtUserCreator in project kapua by eclipse.
the class GwtUserServiceImpl method create.
public GwtUser create(GwtXSRFToken xsrfToken, GwtUserCreator gwtUserCreator) throws GwtKapuaException {
checkXSRFToken(xsrfToken);
GwtUser gwtUser = null;
try {
KapuaLocator locator = KapuaLocator.getInstance();
UserFactory userFactory = locator.getFactory(UserFactory.class);
KapuaId scopeId = KapuaEid.parseShortId(gwtUserCreator.getScopeId());
UserCreator userCreator = userFactory.newCreator(scopeId, gwtUserCreator.getUsername());
userCreator.setDisplayName(gwtUserCreator.getDisplayName());
userCreator.setEmail(gwtUserCreator.getEmail());
userCreator.setPhoneNumber(gwtUserCreator.getPhoneNumber());
//
// Create the User
UserService userService = locator.getService(UserService.class);
User user = userService.create(userCreator);
//
// Create permissions
Set<String> permissions = new HashSet<String>();
if (gwtUserCreator.getPermissions() != null) {
// build the set of permissions
permissions.addAll(Arrays.asList(gwtUserCreator.getPermissions().split(",")));
}
UserPermissionService userPermissionService = locator.getService(UserPermissionService.class);
UserPermissionFactory userPermissionFactory = locator.getFactory(UserPermissionFactory.class);
PermissionFactory permissionFactory = locator.getFactory(PermissionFactory.class);
for (String p : permissions) {
UserPermissionCreator userPermissionCreator = userPermissionFactory.newCreator(user.getScopeId());
userPermissionCreator.setUserId(scopeId);
String[] tokens = p.split(":");
String domain = null;
Actions action = null;
KapuaId targetScopeId = null;
if (tokens.length > 0) {
domain = tokens[0];
}
if (tokens.length > 1) {
action = Actions.valueOf(tokens[1]);
}
if (tokens.length > 2) {
targetScopeId = KapuaEid.parseShortId(tokens[2]);
}
Permission permission = permissionFactory.newPermission(domain, action, targetScopeId);
userPermissionCreator.setPermission(permission);
userPermissionService.create(userPermissionCreator);
}
//
// Create credentials
CredentialService credentialService = locator.getService(CredentialService.class);
CredentialFactory credentialFactory = locator.getFactory(CredentialFactory.class);
CredentialCreator credentialCreator = credentialFactory.newCreator(scopeId, user.getId(), CredentialType.PASSWORD, gwtUserCreator.getPassword());
credentialService.create(credentialCreator);
// convert to GwtAccount and return
// reload the user as we want to load all its permissions
gwtUser = KapuaGwtConverter.convert(userService.find(user.getScopeId(), user.getId()));
} catch (Throwable t) {
KapuaExceptionHandler.handle(t);
}
return gwtUser;
}
Aggregations