use of com.salesmanager.core.business.exception.ServiceException in project shopizer by shopizer-ecommerce.
the class IntegrationModulesLoader method loadIntegrationModules.
public List<IntegrationModule> loadIntegrationModules(String jsonFilePath) throws Exception {
List<IntegrationModule> modules = new ArrayList<IntegrationModule>();
ObjectMapper mapper = new ObjectMapper();
try {
InputStream in = this.getClass().getClassLoader().getResourceAsStream(jsonFilePath);
@SuppressWarnings("rawtypes") Map[] objects = mapper.readValue(in, Map[].class);
for (Map object : objects) {
modules.add(this.loadModule(object));
}
return modules;
} catch (Exception e) {
throw new ServiceException(e);
}
}
use of com.salesmanager.core.business.exception.ServiceException in project shopizer by shopizer-ecommerce.
the class PaymentServiceImpl method getPaymentModulesConfigured.
@Override
public Map<String, IntegrationConfiguration> getPaymentModulesConfigured(MerchantStore store) throws ServiceException {
try {
Map<String, IntegrationConfiguration> modules = new HashMap<String, IntegrationConfiguration>();
MerchantConfiguration merchantConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.PAYMENT_MODULES, store);
if (merchantConfiguration != null) {
if (!StringUtils.isBlank(merchantConfiguration.getValue())) {
String decrypted = encryption.decrypt(merchantConfiguration.getValue());
modules = ConfigurationModulesLoader.loadIntegrationConfigurations(decrypted);
}
}
return modules;
} catch (Exception e) {
throw new ServiceException(e);
}
}
use of com.salesmanager.core.business.exception.ServiceException in project shopizer by shopizer-ecommerce.
the class PaymentServiceImpl method removePaymentModuleConfiguration.
@Override
public void removePaymentModuleConfiguration(String moduleCode, MerchantStore store) throws ServiceException {
try {
Map<String, IntegrationConfiguration> modules = new HashMap<String, IntegrationConfiguration>();
MerchantConfiguration merchantConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.PAYMENT_MODULES, store);
if (merchantConfiguration != null) {
if (!StringUtils.isBlank(merchantConfiguration.getValue())) {
String decrypted = encryption.decrypt(merchantConfiguration.getValue());
modules = ConfigurationModulesLoader.loadIntegrationConfigurations(decrypted);
}
modules.remove(moduleCode);
String configs = ConfigurationModulesLoader.toJSONString(modules);
String encrypted = encryption.encrypt(configs);
merchantConfiguration.setValue(encrypted);
merchantConfigurationService.saveOrUpdate(merchantConfiguration);
}
MerchantConfiguration configuration = merchantConfigurationService.getMerchantConfiguration(moduleCode, store);
if (configuration != null) {
// custom module
merchantConfigurationService.delete(configuration);
}
} catch (Exception e) {
throw new ServiceException(e);
}
}
use of com.salesmanager.core.business.exception.ServiceException in project shopizer by shopizer-ecommerce.
the class PaymentServiceImpl method validateCreditCard.
@Override
public void validateCreditCard(String number, CreditCardType creditCard, String month, String date) throws ServiceException {
try {
Integer.parseInt(month);
Integer.parseInt(date);
} catch (NumberFormatException nfe) {
throw new ServiceException(ServiceException.EXCEPTION_VALIDATION, "Invalid date format", "messages.error.creditcard.dateformat");
}
if (StringUtils.isBlank(number)) {
throw new ServiceException(ServiceException.EXCEPTION_VALIDATION, "Invalid card number", "messages.error.creditcard.number");
}
Matcher m = Pattern.compile("[^\\d\\s.-]").matcher(number);
if (m.find()) {
throw new ServiceException(ServiceException.EXCEPTION_VALIDATION, "Invalid card number", "messages.error.creditcard.number");
}
Matcher matcher = Pattern.compile("[\\s.-]").matcher(number);
number = matcher.replaceAll("");
validateCreditCardDate(Integer.parseInt(month), Integer.parseInt(date));
validateCreditCardNumber(number, creditCard);
}
use of com.salesmanager.core.business.exception.ServiceException in project shopizer by shopizer-ecommerce.
the class PaymentServiceImpl method savePaymentModuleConfiguration.
@Override
public void savePaymentModuleConfiguration(IntegrationConfiguration configuration, MerchantStore store) throws ServiceException {
// validate entries
try {
String moduleCode = configuration.getModuleCode();
PaymentModule module = paymentModules.get(moduleCode);
if (module == null) {
throw new ServiceException("Payment module " + moduleCode + " does not exist");
}
module.validateModuleConfiguration(configuration, store);
} catch (IntegrationException ie) {
throw ie;
}
try {
Map<String, IntegrationConfiguration> modules = new HashMap<String, IntegrationConfiguration>();
MerchantConfiguration merchantConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.PAYMENT_MODULES, store);
if (merchantConfiguration != null) {
if (!StringUtils.isBlank(merchantConfiguration.getValue())) {
String decrypted = encryption.decrypt(merchantConfiguration.getValue());
modules = ConfigurationModulesLoader.loadIntegrationConfigurations(decrypted);
}
} else {
merchantConfiguration = new MerchantConfiguration();
merchantConfiguration.setMerchantStore(store);
merchantConfiguration.setKey(Constants.PAYMENT_MODULES);
}
modules.put(configuration.getModuleCode(), configuration);
String configs = ConfigurationModulesLoader.toJSONString(modules);
String encrypted = encryption.encrypt(configs);
merchantConfiguration.setValue(encrypted);
merchantConfigurationService.saveOrUpdate(merchantConfiguration);
} catch (Exception e) {
throw new ServiceException(e);
}
}
Aggregations