// collect all the actions associated with this cell and its
// components
Set<Action> allActions = findActions(cell);
// get the security compnent from the cell
SecurityComponentMO sc = cell.getComponent(SecurityComponentMO.class);
if (sc == null || !sc.isOwned()) {
if (logger.isLoggable(Level.FINE)) {
logger.log(Level.FINE, "No security component for cell " +
cellID);
}
// there is no security component for this cell. Add a null
// entry to the cache, so we won't try to look it up every
// time
rsrc = new NullResourceImpl(cellID, parentID, allActions);
ctx.addResource(cellID, rsrc);
return rsrc;
}
// create a new resource for this cell and add it to the cache
rsrc = new CellResourceImpl(cellID.toString());
rsrc.setOwners(sc.getOwners());
rsrc.setPermissions(sc.getPermissions());
rsrc.setParentID(parentID);
rsrc.setActions(findActions(cell));
ctx.addResource(cellID, rsrc);
if (logger.isLoggable(Level.FINE)) {