@Test(groups = "slow") public void testApplicator() throws Exception { final InputStream is = new ByteArrayInputStream(testOverdueHelper.getConfigXml().getBytes()); final OverdueConfig config = XMLLoader.getObjectFromStreamNoValidation(is, OverdueConfig.class); overdueWrapperFactory.setOverdueConfig(config); final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class); Mockito.when(bundle.getId()).thenReturn(UUID.randomUUID()); OverdueState<SubscriptionBundle> state; state = config.getBundleStateSet().findState("OD1"); applicator.apply( null, null, bundle, DefaultBlockingState.CLEAR_STATE_NAME, state, internalCallContext); testOverdueHelper.checkStateApplied(state); checkBussEvent("OD1"); state = config.getBundleStateSet().findState("OD2"); applicator.apply( null, null, bundle, DefaultBlockingState.CLEAR_STATE_NAME, state, internalCallContext); testOverdueHelper.checkStateApplied(state); checkBussEvent("OD2"); state = config.getBundleStateSet().findState("OD3"); applicator.apply( null, null, bundle, DefaultBlockingState.CLEAR_STATE_NAME, state, internalCallContext); testOverdueHelper.checkStateApplied(state); checkBussEvent("OD3"); }
@LifecycleHandlerType(LifecycleLevel.LOAD_CATALOG) public synchronized void loadConfig() throws ServiceException { if (!isConfigLoaded) { try { final URI u = new URI(properties.getConfigURI()); overdueConfig = XMLLoader.getObjectFromUri(u, OverdueConfig.class); // File not found? if (overdueConfig == null) { log.warn("Unable to load the overdue config from " + properties.getConfigURI()); overdueConfig = new OverdueConfig(); } isConfigLoaded = true; } catch (final URISyntaxException e) { overdueConfig = new OverdueConfig(); } catch (final IllegalArgumentException e) { overdueConfig = new OverdueConfig(); } catch (final Exception e) { throw new ServiceException(e); } factory.setOverdueConfig(overdueConfig); ((DefaultOverdueUserApi) userApi).setOverdueConfig(overdueConfig); } }