BaseFacade.java :  » Authentication-Authorization » kasai-2.0.0 » org » manentia » kasai » ui » Java Open Source

Java Open Source » Authentication Authorization » kasai 2.0.0 
kasai 2.0.0 » org » manentia » kasai » ui » BaseFacade.java
package org.manentia.kasai.ui;

import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;

import javax.servlet.http.HttpServletRequest;

import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import org.manentia.kasai.Constants;
import org.manentia.kasai.KasaiFacade;
import org.manentia.kasai.exceptions.CannotAuditException;
import org.manentia.kasai.exceptions.DataAccessException;
import org.manentia.kasai.exceptions.DoesntExistsException;
import org.manentia.kasai.exceptions.InvalidAttributesException;
import org.manentia.kasai.exceptions.InvalidPasswordException;
import org.manentia.kasai.exceptions.NotEnoughPermissionException;
import org.manentia.kasai.exceptions.NotFoundException;
import org.manentia.kasai.exceptions.ServiceException;
import org.manentia.kasai.exceptions.ServiceNotAvailableException;
import org.manentia.kasai.exceptions.UserBlockedException;
import org.manentia.kasai.ui.actions.BaseAction;
import org.manentia.kasai.ui.exceptions.SessionExpiredException;
import org.manentia.kasai.ui.roles.RoleFacade;

import com.manentia.commons.log.Log;
import com.manentia.commons.xml.XMLException;


public class BaseFacade {
  public void login(String username, String password) throws DataAccessException, NotFoundException, UserBlockedException, InvalidPasswordException, ServiceException, ServiceNotAvailableException, CannotAuditException, XMLException{
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    KasaiFacade.getInstance().checkPasswordUser(username, password, request.getRemoteAddr());
    
    UserView userView = new UserView();
        userView.setUser(username);
        
        request.getSession().setAttribute("userView", userView);
  }
  
  public void changePassword(String oldPassword, String newPassword, String confirmation) throws SessionExpiredException, DataAccessException, InvalidAttributesException, ServiceException, ServiceNotAvailableException, DoesntExistsException, CannotAuditException, InvalidPasswordException, XMLException{
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    UserView userView = new BaseAction().validateSession(request);
    
    KasaiFacade.getInstance().changePasswordUser(userView.getUser(), oldPassword, newPassword, confirmation, request.getRemoteAddr());
  }
  
  public Collection listObjectRoles(String objectId) throws SessionExpiredException, DataAccessException {
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    UserView userView = new BaseAction().validateSession(request);
    
    return KasaiFacade.getInstance().listObjectRoles(userView.getUser(),objectId);
  }
  
  
  public Map decodeMessage(String data){
    HashMap map = new HashMap();
    
  
    String message = data;
    String level = "error";
    
    try {
      WebContext ctx = WebContextFactory.get();
      HttpServletRequest request = ctx.getHttpServletRequest();
      
            // we hope the module programmer used a key instead of a hard coded text
            ResourceBundle res = ResourceBundle.getBundle(Constants.MESSAGES_PROPERTY_FILE, request.getLocale());
            
            level = res.getString(message + ".level");
            message = res.getString(message); // dahhh ?? :)
        }catch (Exception unhandledBastard) {}
        
        
        map.put("message", message);
        map.put("level", level);
                
        return map;
  }
  
  public Map listUsersGroupsRoles() throws DataAccessException, SessionExpiredException, XMLException {
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    UserView userView = new BaseAction().validateSession(request);
    
    Map result = new HashMap();
    
    List users = KasaiFacade.getInstance().listUsers(userView.getUser(), null, null, null, null, -1, null, null);
    List groups = KasaiFacade.getInstance().listGroups(userView.getUser(), null, null, -1, -1);
    List roles = KasaiFacade.getInstance().listRoles(userView.getUser(), null);
    
    result.put("users", users);
    result.put("groups", groups);
    result.put("roles", roles);
    
    return result;
  }
  
  public void deleteObjectUserRole(int id) throws SessionExpiredException, DataAccessException, CannotAuditException{
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    UserView userView = new BaseAction().validateSession(request);
    
    KasaiFacade.getInstance().deleteObjectUserRole(userView.getUser(), id, request.getRemoteAddr());
  }
  
  public void deleteObjectGroupRole(int id) throws SessionExpiredException, DataAccessException, CannotAuditException{
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    UserView userView = new BaseAction().validateSession(request);
    
    KasaiFacade.getInstance().deleteObjectGroupRole(userView.getUser(), id, request.getRemoteAddr());
  }
  
  public void createObjectUserRole(String objectId, String user, int roleId) throws SessionExpiredException, DataAccessException, DoesntExistsException, NotEnoughPermissionException, CannotAuditException, XMLException {
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    UserView userView = new BaseAction().validateSession(request);
    
    KasaiFacade.getInstance().createObjectUserRole(userView.getUser(), objectId, user, roleId, request.getRemoteAddr());
  }
  
  public void createObjectGroupRole(String objectId, String group, int roleId) throws SessionExpiredException, DataAccessException, DoesntExistsException, NotEnoughPermissionException, CannotAuditException, XMLException {
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    
    UserView userView = new BaseAction().validateSession(request);
    
    KasaiFacade.getInstance().createObjectGroupRole(userView.getUser(), objectId, group, roleId, request.getRemoteAddr());
  }
  
  public String[] listUsernames() throws DataAccessException{
    return KasaiFacade.getInstance().listUsernames();
  }
  
  public Collection listOperatives() throws DataAccessException, SessionExpiredException{
    WebContext ctx = WebContextFactory.get();
    HttpServletRequest request = ctx.getHttpServletRequest();
    UserView userView = new BaseAction().validateSession(request);
    
    Collection result = KasaiFacade.getInstance().listOperatives(userView.getUser());
    
    Log.write("Operativas: " + result.size(), Log.DEBUG, "TEST", RoleFacade.class);
    
    return result;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.