private static void copyAttributes(TechnicalProduct domObj, VOTechnicalService vo) throws ValidationException { BLValidator.isId(FIELD_NAME_TECHNICAL_SERVICE_ID, vo.getTechnicalServiceId(), true); BLValidator.isId(FIELD_NAME_TECHNICAL_SERVICE_BUILD_ID, vo.getTechnicalServiceBuildId(), false); BLValidator.isDescription(FIELD_NAME_LOGIN_PATH, vo.getLoginPath(), false); BLValidator.isDescription(FIELD_NAME_PROVISIONING_VERSION, vo.getProvisioningVersion(), false); String baseUrl = vo.getBaseUrl(); while (baseUrl != null && (baseUrl.endsWith("\\"))) { baseUrl = baseUrl.substring(0, baseUrl.length() - 1); } BLValidator.isUrl( FIELD_NAME_BASE_URL, baseUrl, vo.getAccessType() != ServiceAccessType.DIRECT && vo.getAccessType() != ServiceAccessType.USER); String provisioningUrl = vo.getProvisioningUrl(); if (vo.getAccessType() != ServiceAccessType.EXTERNAL) { // if the provisioning URL is relative and the base URL is set // create an absolute URL with the help of the base URL if (provisioningUrl != null) { String lower = provisioningUrl.toLowerCase(); if (baseUrl != null && !lower.startsWith(PROTOCOLL_HTTP) && !lower.startsWith(PROTOCOLL_HTTPS)) { provisioningUrl = removeEndingSlash(baseUrl) + provisioningUrl; } } BLValidator.isUrl(FIELD_NAME_PROVISIONING_URL, provisioningUrl, true); } else if (provisioningUrl == null) { provisioningUrl = ""; } String loginPath = vo.getLoginPath(); if (loginPath == null) { loginPath = ""; } BLValidator.isRelativeUrl(FIELD_NAME_LOGIN_PATH, loginPath, baseUrl, false); domObj.setTechnicalProductId(vo.getTechnicalServiceId()); domObj.setTechnicalProductBuildId(vo.getTechnicalServiceBuildId()); domObj.setAccessType(vo.getAccessType()); domObj.setBaseURL(baseUrl); domObj.setLoginPath(loginPath); domObj.setProvisioningURL(provisioningUrl); domObj.setProvisioningVersion(vo.getProvisioningVersion()); domObj.setBillingIdentifier(vo.getBillingIdentifier()); }