public SimpleAddressManager(final BindingsFactory bindingsFactory, final StorageManager storageManager) { this(bindingsFactory, new WildcardConfiguration(), storageManager); }
@Test public void testWildcardConversion() throws Exception { String amqTarget = "TEST.ONE.>"; String coreTarget = OpenWireUtil.OPENWIRE_WILDCARD.convert(amqTarget, new WildcardConfiguration()); assertEquals("TEST.ONE.#", coreTarget); amqTarget = "TEST.*.ONE"; coreTarget = OpenWireUtil.OPENWIRE_WILDCARD.convert(amqTarget, new WildcardConfiguration()); assertEquals("TEST.*.ONE", coreTarget); amqTarget = "a.*.>.>"; coreTarget = OpenWireUtil.OPENWIRE_WILDCARD.convert(amqTarget, new WildcardConfiguration()); assertEquals("a.*.#.#", coreTarget); } }
private WildcardConfiguration createWildCardConfiguration() { WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setAnyWords('#'); wildcardConfiguration.setDelimiter('/'); wildcardConfiguration.setRoutingEnabled(true); wildcardConfiguration.setSingleWord('+'); return wildcardConfiguration; }
private void addWildCardConfiguration(Configuration configuration) { WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setAnyWords('#'); wildcardConfiguration.setDelimiter('/'); wildcardConfiguration.setRoutingEnabled(true); wildcardConfiguration.setSingleWord('+'); configuration.setWildCardConfiguration(wildcardConfiguration); }
@Override public void configureBroker() throws Exception { super.configureBroker(); WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setDelimiter('.'); wildcardConfiguration.setSingleWord('*'); wildcardConfiguration.setAnyWords('>'); server.getConfiguration().setWildCardConfiguration(wildcardConfiguration); }
@Test public void testWildCardAddressRemovalDifferentWildcard() throws Exception { final WildcardConfiguration configuration = new WildcardConfiguration(); configuration.setAnyWords('>'); WildcardAddressManager ad = new WildcardAddressManager(new BindingFactoryFake(), configuration, null); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic1.>"), RoutingType.MULTICAST)); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic1.test"), RoutingType.MULTICAST)); ad.addBinding(new BindingFake("Topic1.>", "one")); assertEquals(1, ad.getBindingsForRoutingAddress(SimpleString.toSimpleString("Topic1.>")).getBindings().size()); assertEquals(1, ad.getBindingsForRoutingAddress(SimpleString.toSimpleString("Topic1.test")).getBindings().size()); assertEquals(0, ad.getDirectBindings(SimpleString.toSimpleString("Topic1.test")).getBindings().size()); assertEquals(1, ad.getDirectBindings(SimpleString.toSimpleString("Topic1.>")).getBindings().size()); //Remove the address ad.removeAddressInfo(SimpleString.toSimpleString("Topic1.test")); //should still have 1 address and binding assertEquals(1, ad.getAddresses().size()); assertEquals(1, ad.getBindings().size()); ad.removeBinding(SimpleString.toSimpleString("one"), null); ad.removeAddressInfo(SimpleString.toSimpleString("Topic1.>")); assertEquals(0, ad.getAddresses().size()); assertEquals(0, ad.getBindings().size()); }
@Test public void testWildCardAddressDirectBindings() throws Exception { final WildcardConfiguration configuration = new WildcardConfiguration(); configuration.setAnyWords('>'); WildcardAddressManager ad = new WildcardAddressManager(new BindingFactoryFake(), configuration, null); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic1.>"), RoutingType.MULTICAST)); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic1.test"), RoutingType.MULTICAST)); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic1.test.test1"), RoutingType.MULTICAST)); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic1.test.test2"), RoutingType.MULTICAST)); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic2.>"), RoutingType.MULTICAST)); ad.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("Topic2.test"), RoutingType.MULTICAST)); ad.addBinding(new BindingFake("Topic1.>", "one")); ad.addBinding(new BindingFake("Topic1.test", "two")); ad.addBinding(new BindingFake("Topic2.test", "three")); assertEquals(1, ad.getBindingsForRoutingAddress(SimpleString.toSimpleString("Topic1.>")).getBindings().size()); assertEquals(2, ad.getBindingsForRoutingAddress(SimpleString.toSimpleString("Topic1.test")).getBindings().size()); assertEquals(1, ad.getBindingsForRoutingAddress(SimpleString.toSimpleString("Topic1.test.test1")).getBindings().size()); assertEquals(1, ad.getBindingsForRoutingAddress(SimpleString.toSimpleString("Topic1.test.test2")).getBindings().size()); assertEquals(1, ad.getDirectBindings(SimpleString.toSimpleString("Topic1.>")).getBindings().size()); assertEquals(1, ad.getDirectBindings(SimpleString.toSimpleString("Topic1.test")).getBindings().size()); assertEquals(0, ad.getDirectBindings(SimpleString.toSimpleString("Topic1.test1")).getBindings().size()); assertEquals(0, ad.getDirectBindings(SimpleString.toSimpleString("Topic1.test2")).getBindings().size()); assertEquals(0, ad.getDirectBindings(SimpleString.toSimpleString("Topic2.>")).getBindings().size()); assertEquals(1, ad.getDirectBindings(SimpleString.toSimpleString("Topic2.test")).getBindings().size()); }
@Override @Before public void setUp() throws Exception { super.setUp(); WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setDelimiter('/'); Configuration configuration = createDefaultInVMConfig().setWildcardRoutingEnabled(true).setTransactionTimeoutScanPeriod(500).setWildCardConfiguration(wildcardConfiguration); server = addServer(ActiveMQServers.newActiveMQServer(configuration, false)); server.start(); server.getManagementService().enableNotifications(false); locator = createInVMNonHALocator(); sf = createSessionFactory(locator); clientSession = addClientSession(sf.createSession(false, true, true)); }
final String TOPIC = "test/+/some/#"; WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setAnyWords('#'); wildcardConfiguration.setDelimiter('/');
try { WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setAnyWords('#'); wildcardConfiguration.setDelimiter('/');
@Test public void testMatchingDocsCustomUnderscorDelimiter() throws Throwable { WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setDelimiter('_'); HierarchicalObjectRepository<String> repo = new HierarchicalObjectRepository<>(wildcardConfiguration); repo.addMatch("a_b_#", "ab#"); repo.addMatch("a_b_d_#", "abd#"); repo.addMatch("#", "root"); Assert.assertEquals("ab#", repo.getMatch("a_b")); Assert.assertEquals("ab#", repo.getMatch("a_b_c")); Assert.assertEquals("abd#", repo.getMatch("a_b_d_lll")); Assert.assertEquals("root", repo.getMatch("z_z_z_z_z")); Assert.assertEquals("root", repo.getMatch("a_babc")); Assert.assertEquals("ab#", repo.getMatch("a_b_dabc")); Assert.assertEquals("abd#", repo.getMatch("a_b_d")); }
@Test public void testMatchingDocsCustomForwardSlashDelimiter() throws Throwable { WildcardConfiguration wildcardConfiguration = new WildcardConfiguration(); wildcardConfiguration.setDelimiter('/'); HierarchicalObjectRepository<String> repo = new HierarchicalObjectRepository<>(wildcardConfiguration); repo.addMatch("a/b/#", "ab#"); repo.addMatch("a/b/d/#", "abd#"); repo.addMatch("#", "root"); Assert.assertEquals("ab#", repo.getMatch("a/b")); Assert.assertEquals("ab#", repo.getMatch("a/b/c")); Assert.assertEquals("abd#", repo.getMatch("a/b/d/lll")); Assert.assertEquals("root", repo.getMatch("z/z/z/z/z")); Assert.assertEquals("root", repo.getMatch("a/babc")); Assert.assertEquals("ab#", repo.getMatch("a/b/dabc")); Assert.assertEquals("abd#", repo.getMatch("a/b/d")); }