/*
* Copyright 2012 PRODYNA AG
*
* Licensed under the Eclipse Public License (EPL), Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/eclipse-1.0.php or
* http://www.nabucco.org/License.html
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.nabucco.framework.common.authorization.ui.rcp.edit.role.model;
import java.util.Set;
import org.nabucco.framework.base.facade.exception.client.ClientException;
import org.nabucco.framework.common.authorization.facade.datatype.AuthorizationGroup;
import org.nabucco.framework.common.authorization.facade.datatype.AuthorizationRole;
import org.nabucco.framework.common.authorization.facade.datatype.AuthorizationUser;
import org.nabucco.framework.common.authorization.facade.message.maintain.AuthorizationRoleMaintainMsg;
import org.nabucco.framework.common.authorization.ui.rcp.communication.AuthorizationComponentServiceDelegateFactory;
import org.nabucco.framework.common.authorization.ui.rcp.communication.maintain.MaintainAuthorizationDelegate;
import org.nabucco.framework.plugin.base.model.BusinessModel;
/**
* AuthorizationRoleEditBusinessModel
*
* @author Michael Krausse, PRODYNA AG
*/
public class AuthorizationRoleEditBusinessModel implements BusinessModel {
public static String ID = "org.nabucco.framework.common.authorization.ui.rcp.edit.role.model.AuthorizationRoleEditBusinessModel";
/**
* Save a Role
*
* @param authorizationRole
* should be saved
* @param groupList
* relating authorization groups to save
* @param userList
* relating authorization users to save
*
* @throws ClientException
* when save fails
*/
public AuthorizationRoleMaintainMsg save(AuthorizationRole authorizationRole, Set<AuthorizationGroup> groupList,
Set<AuthorizationUser> userList) throws ClientException {
AuthorizationRoleMaintainMsg message = new AuthorizationRoleMaintainMsg();
message.setAuthorizationRole(authorizationRole);
if (groupList != null) {
message.getAuthorizationGroupList().addAll(groupList);
}
if (userList != null) {
message.getAuthorizationUserList().addAll(userList);
}
MaintainAuthorizationDelegate maintainAuthorization = AuthorizationComponentServiceDelegateFactory
.getInstance().getMaintainAuthorization();
return maintainAuthorization.maintainAuthorizationRole(message);
}
}