private void validateCreateOrgData( String orgName, String password, String firstName, String lastName, String email, Boolean usePamAuth) { Map<String, String> values = new HashMap<String, String>(); values.put("orgName", orgName); values.put("desiredPassword", password); values.put("desiredPasswordConfirm", password); values.put("firstNames", firstName); values.put("lastName", lastName); ValidatorResult result = RhnValidationHelper.validate( this.getClass(), values, new LinkedList<String>(values.keySet()), VALIDATION_XSD); if (!result.isEmpty()) { log.error("Validation errors:"); for (ValidatorError error : result.getErrors()) { log.error(" " + error.getMessage()); } // Multiple errors could return here, but we'll have to just throw an // exception for the first one and return that to the user. ValidatorError e = result.getErrors().get(0); throw new ValidationException(e.getMessage()); } if (!usePamAuth && StringUtils.isEmpty(password)) { throw new FaultException( -501, "passwordRequiredOrUsePam", "Password is required if not using PAM authentication"); } }
/** * Set an organizations entitlement allocation for a channel family. * * <p>If increasing the entitlement allocation, the default organization must have a sufficient * number of free entitlements. * * @param sessionKey User's session key. * @param orgId Organization ID to set allocation for. * @param channelFamilyLabel Channel family to set allocation for. * @param allocation New flex entitlement allocation. * @return 1 on success. * @xmlrpc.doc Set an organization's flex entitlement allocation for the given software * entitlement. * <p>If increasing the flex entitlement allocation, the default organization (i.e. orgId=1) * must have a sufficient number of free flex entitlements. * @xmlrpc.param #param("string", "sessionKey") * @xmlrpc.param #param("int", "orgId") * @xmlrpc.param #param_desc("string", "label", "Software entitlement label.") * @xmlrpc.param #param("int", "allocation") * @xmlrpc.returntype #return_int_success() */ public int setSoftwareFlexEntitlements( String sessionKey, Integer orgId, String channelFamilyLabel, Integer allocation) { getSatAdmin(sessionKey); Org org = verifyOrgExists(orgId); lookupChannelFamily(channelFamilyLabel); UpdateOrgSoftwareEntitlementsCommand cmd = new UpdateOrgSoftwareEntitlementsCommand( channelFamilyLabel, org, null, Long.valueOf(allocation)); ValidatorError ve = cmd.store(); if (ve != null) { throw new ValidationException(ve.getMessage()); } return 1; }
/** * Set an organizations entitlement allocation for a channel family. * * <p>If increasing the entitlement allocation, the default organization (i.e. orgId=1) must have * a sufficient number of free entitlements. * * @param sessionKey User's session key. * @param orgId Organization ID to set allocation for. * @param systemEntitlementLabel System entitlement to set allocation for. * @param allocation New entitlement allocation. * @return 1 on success. * @xmlrpc.doc Set an organization's entitlement allocation for the given software entitlement. * <p>If increasing the entitlement allocation, the default organization (i.e. orgId=1) must * have a sufficient number of free entitlements. * @xmlrpc.param #param("string", "sessionKey") * @xmlrpc.param #param("int", "orgId") * @xmlrpc.param #param_desc("string", "label", "System entitlement label. Valid values include:") * #options() #item("enterprise_entitled") #item("monitoring_entitled") * #item("provisioning_entitled") #item("virtualization_host") * #item("virtualization_host_platform") #options_end() * @xmlrpc.param #param("int", "allocation") * @xmlrpc.returntype #return_int_success() */ public int setSystemEntitlements( String sessionKey, Integer orgId, String systemEntitlementLabel, Integer allocation) { getSatAdmin(sessionKey); Org org = verifyOrgExists(orgId); Entitlement ent = EntitlementManager.getByName(systemEntitlementLabel); if (ent == null || (!EntitlementManager.getAddonEntitlements().contains(ent) && !EntitlementManager.getBaseEntitlements().contains(ent))) { throw new InvalidEntitlementException(); } UpdateOrgSystemEntitlementsCommand cmd = new UpdateOrgSystemEntitlementsCommand(ent, org, new Long(allocation)); ValidatorError ve = cmd.store(); if (ve != null) { throw new ValidationException(ve.getMessage()); } return 1; }