public synchronized void grant()

in torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java [311:347]


	public synchronized void grant(Group group, Role role) throws DataBackendException, UnknownEntityException {
		boolean groupExists = getGroupManager().checkExists(group);
		boolean roleExists = getRoleManager().checkExists(role);

		if (groupExists && roleExists) {
			((DynamicGroup) group).addRole(role);
			((DynamicRole) role).addGroup(group);

			Connection con = null;

			try {
				con = Transaction.begin();

				((TorqueAbstractSecurityEntity) role).update(con);
				((TorqueAbstractSecurityEntity) group).update(con);

				Transaction.commit(con);
				con = null;
			} catch (TorqueException e) {
				throw new DataBackendException("grant('" + group.getName() + "', '" + role.getName() + "') failed", e);
			} finally {
				if (con != null) {
					Transaction.safeRollback(con);
				}
			}

			return;
		}

		if (!groupExists) {
			throw new UnknownEntityException("Unknown group '" + group.getName() + "'");
		}

		if (!roleExists) {
			throw new UnknownEntityException("Unknown role '" + role.getName() + "'");
		}
	}