[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao ...

Christian Bauer christian at hibernate.org
Thu Mar 8 12:50:59 EST 2007


  User: cbauer  
  Date: 07/03/08 12:50:59

  Added:       examples/wiki/src/main/org/jboss/seam/wiki/core/dao 
                        Roles.java
  Log:
  Refactored Node editing framework, work on permission system
  
  Revision  Changes    Path
  1.1      date: 2007/03/08 17:50:59;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/Roles.java
  
  Index: Roles.java
  ===================================================================
  package org.jboss.seam.wiki.core.dao;
  
  import org.jboss.seam.ScopeType;
  import org.jboss.seam.wiki.core.model.Role;
  import org.jboss.seam.annotations.*;
  
  import javax.persistence.EntityManager;
  import java.io.Serializable;
  import java.util.List;
  import java.util.Map;
  import java.util.HashMap;
  
  public class Roles implements Serializable {
  
      @Name("roles")
      @Scope(ScopeType.CONVERSATION)
      @AutoCreate
      public static class RoleList {
  
          @In
          protected EntityManager entityManager;
  
          protected List<Role> roles;
  
          @Unwrap
          @SuppressWarnings({"unchecked"})
          @Transactional
          public List<Role> getRoles() {
              if (roles == null) {
                  entityManager.joinTransaction();
                  roles = (List<Role>)entityManager
                              .createQuery("select r from Role r order by r.accessLevel desc")
                              .getResultList();
                  if (roles.size() == 0)
                      throw new RuntimeException("You need to INSERT at least one role with access level 1000 into the database");
                  }
              return roles;
          }
  
      }
  
      @Name("roleMap")
      @Scope(ScopeType.CONVERSATION)
      @AutoCreate
      public static class RoleMap {
  
          @In
          List<Role> roles;
  
          Map<Integer,Role> roleMap;
  
          @Unwrap
          public Map<Integer,Role> getRoleMap() {
              if (roleMap == null) {
                  roleMap = new HashMap<Integer, Role>(roles.size());
                  for (Role role : roles) {
                      roleMap.put(role.getAccessLevel(), role);
                  }
              }
  
              return roleMap;
          }
      }
  
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list