ItEr41S17CUAsignarUsuarioAProxectoTraballoItEr40S22: simplified the functions to add OrderAuthorizations in the Controller and the Model

Now functions are more general, and will be able to return a list of
the unsuccessful additions, which will be needed later when implementing
the check for duplicated OrderAuthorizations.
This commit is contained in:
Jacobo Aragunde Pérez 2009-12-30 21:43:56 +01:00 committed by Javier Moran Rua
parent 869d400a55
commit 24f4050df5
3 changed files with 45 additions and 32 deletions

View file

@ -4,6 +4,7 @@ import java.util.List;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.business.users.entities.OrderAuthorization;
import org.navalplanner.business.users.entities.OrderAuthorizationType;
import org.navalplanner.business.users.entities.Profile;
import org.navalplanner.business.users.entities.ProfileOrderAuthorization;
import org.navalplanner.business.users.entities.User;
@ -26,11 +27,27 @@ public interface IOrderAuthorizationModel {
List<UserOrderAuthorization> getUserOrderAuthorizations();
void addUserOrderAuthorization(User user, boolean readAuthorization,
boolean writeAuthorization);
/**
* Adds {@link UserOrderAuthorization} objects in the model.
*
* @param user User object to receive the authorization
* @param authorizations list of AuthorizationTypes
* @return A list of the AuthorizationTypes which failed,
* or null if all AuthorizationTypes were added successfully.
*/
List<OrderAuthorizationType> addUserOrderAuthorization(
User user, List<OrderAuthorizationType> authorizations);
void addProfileOrderAuthorization(Profile profile, boolean readAuthorization,
boolean writeAuthorization);
/**
* Adds {@link ProfileOrderAuthorization} objects in the model.
*
* @param profile Profile object to receive the authorization
* @param authorizations list of AuthorizationTypes
* @return A list of the AuthorizationTypes which failed,
* or null if all AuthorizationTypes were added successfully.
*/
List<OrderAuthorizationType> addProfileOrderAuthorization(
Profile profile, List<OrderAuthorizationType> authorizations);
void removeOrderAuthorization(OrderAuthorization orderAuthorization);

View file

@ -20,10 +20,12 @@
package org.navalplanner.web.users;
import java.util.ArrayList;
import java.util.List;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.business.users.entities.OrderAuthorization;
import org.navalplanner.business.users.entities.OrderAuthorizationType;
import org.navalplanner.business.users.entities.Profile;
import org.navalplanner.business.users.entities.ProfileOrderAuthorization;
import org.navalplanner.business.users.entities.User;
@ -77,13 +79,21 @@ public class OrderAuthorizationController extends GenericForwardComposer{
public void addOrderAuthorization(Comboitem comboItem,
boolean readAuthorization, boolean writeAuthorization) {
if(comboItem != null) {
List<OrderAuthorizationType> authorizations =
new ArrayList<OrderAuthorizationType>();
if(readAuthorization) {
authorizations.add(OrderAuthorizationType.READ_AUTHORIZATION);
}
if(writeAuthorization) {
authorizations.add(OrderAuthorizationType.WRITE_AUTHORIZATION);
}
if (comboItem.getValue() instanceof User) {
orderAuthorizationModel.addUserOrderAuthorization(
(User)comboItem.getValue(), readAuthorization, writeAuthorization);
(User)comboItem.getValue(), authorizations);
}
else if (comboItem.getValue() instanceof Profile) {
orderAuthorizationModel.addProfileOrderAuthorization(
(Profile)comboItem.getValue(), readAuthorization, writeAuthorization);
(Profile)comboItem.getValue(), authorizations);
}
}
Util.reloadBindings(window);

View file

@ -45,41 +45,27 @@ public class OrderAuthorizationModel implements IOrderAuthorizationModel {
private IOrderDAO orderDAO;
@Override
public void addProfileOrderAuthorization(Profile profile,
boolean readAuthorization, boolean writeAuthorization) {
if (readAuthorization) {
public List<OrderAuthorizationType> addProfileOrderAuthorization(
Profile profile, List<OrderAuthorizationType> authorizations) {
for(OrderAuthorizationType type : authorizations) {
ProfileOrderAuthorization orderAuthorization =
createProfileOrderAuthorization(order, profile);
orderAuthorization.setAuthorizationType(
OrderAuthorizationType.READ_AUTHORIZATION);
profileOrderAuthorizationList.add(orderAuthorization);
}
if (writeAuthorization) {
ProfileOrderAuthorization orderAuthorization =
createProfileOrderAuthorization(order, profile);
orderAuthorization.setAuthorizationType(
OrderAuthorizationType.WRITE_AUTHORIZATION);
orderAuthorization.setAuthorizationType(type);
profileOrderAuthorizationList.add(orderAuthorization);
}
return null;
}
@Override
public void addUserOrderAuthorization(User user,
boolean readAuthorization, boolean writeAuthorization) {
if (readAuthorization) {
UserOrderAuthorization userOrderAuthorization =
public List<OrderAuthorizationType> addUserOrderAuthorization(
User user, List<OrderAuthorizationType> authorizations) {
for(OrderAuthorizationType type : authorizations) {
UserOrderAuthorization orderAuthorization =
createUserOrderAuthorization(order, user);
userOrderAuthorization.setAuthorizationType(
OrderAuthorizationType.READ_AUTHORIZATION);
userOrderAuthorizationList.add(userOrderAuthorization);
}
if (writeAuthorization) {
UserOrderAuthorization userOrderAuthorization =
createUserOrderAuthorization(order, user);
userOrderAuthorization.setAuthorizationType(
OrderAuthorizationType.WRITE_AUTHORIZATION);
userOrderAuthorizationList.add(userOrderAuthorization);
orderAuthorization.setAuthorizationType(type);
userOrderAuthorizationList.add(orderAuthorization);
}
return null;
}
@Override