principalName = transformPrincipalName(principalName, principalClass, attributes);
permission.setReadOnly(readonly != null && readonly.equals("true"));
Constructor principalConstructor = Class.forName(principalClass).getConstructor(new Class[]{String.class});
DefaultPrincipal principal = (DefaultPrincipal) principalConstructor.newInstance(new Object[]{principalName});
Policy securityPolicy = SecurityServices.lookup().getSecurityPolicy();
securityPolicy.addPermission(principal, permission);
securityPolicy.save();
}