@Override public Transformer getDivertTransformer(String name, TransformerConfiguration transformerConfiguration) { Transformer transformer = divertTransformers.get(name); if (transformer == null && transformerConfiguration != null && transformerConfiguration.getClassName() != null) { transformer = instantiateTransformer(transformerConfiguration); addDivertTransformer(name, transformer); } return transformer; }
private TransformerConfiguration getTransformerConfiguration(final String transformerClassName) { return new TransformerConfiguration(transformerClassName).setProperties(Collections.EMPTY_MAP); }
private Transformer instantiateTransformer(final TransformerConfiguration transformerConfiguration) { Transformer transformer = null; if (transformerConfiguration != null && transformerConfiguration.getClassName() != null) { try { transformer = loadClass(transformerConfiguration.getClassName()); transformer.init(Collections.unmodifiableMap(transformerConfiguration.getProperties())); } catch (Exception e) { throw ActiveMQMessageBundle.BUNDLE.errorCreatingTransformerClass(e, transformerConfiguration.getClassName()); } } return transformer; }
TransformerConfiguration transformerConfiguration = new TransformerConfiguration(AddHeadersTransformer.class.getName()); transformerConfiguration.getProperties().put(propKey, propValue);
static DivertConfiguration createDivertConfiguration(final OperationContext context, String name, ModelNode model) throws OperationFailedException { final ModelNode routingNode = DivertDefinition.ROUTING_NAME.resolveModelAttribute(context, model); final String routingName = routingNode.isDefined() ? routingNode.asString() : null; final String address = DivertDefinition.ADDRESS.resolveModelAttribute(context, model).asString(); final String forwardingAddress = DivertDefinition.FORWARDING_ADDRESS.resolveModelAttribute(context, model).asString(); final boolean exclusive = DivertDefinition.EXCLUSIVE.resolveModelAttribute(context, model).asBoolean(); final ModelNode filterNode = CommonAttributes.FILTER.resolveModelAttribute(context, model); final String filter = filterNode.isDefined() ? filterNode.asString() : null; DivertConfiguration config = new DivertConfiguration() .setName(name) .setRoutingName(routingName) .setAddress(address) .setForwardingAddress(forwardingAddress) .setExclusive(exclusive) .setFilterString(filter); final ModelNode transformerClassName = CommonAttributes.TRANSFORMER_CLASS_NAME.resolveModelAttribute(context, model); if (transformerClassName.isDefined()) { config.setTransformerConfiguration(new TransformerConfiguration(transformerClassName.asString())); } return config; }
@Override public Map<String, String> getTransformerProperties() { clearIO(); try { return configuration.getTransformerConfiguration() == null ? null : configuration.getTransformerConfiguration().getProperties(); } finally { blockOnIO(); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((address == null) ? 0 : address.hashCode()); result = prime * result + (exclusive ? 1231 : 1237); result = prime * result + ((filterString == null) ? 0 : filterString.hashCode()); result = prime * result + ((forwardingAddress == null) ? 0 : forwardingAddress.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((routingName == null) ? 0 : routingName.hashCode()); result = prime * result + ((transformerConfiguration == null) ? 0 : transformerConfiguration.hashCode()); result = prime * result + ((routingType == null) ? 0 : routingType.hashCode()); return result; }
if (other.transformerConfiguration != null) return false; } else if (!transformerConfiguration.equals(other.transformerConfiguration)) return false; if (routingType == null) {
static DivertConfiguration createDivertConfiguration(final OperationContext context, String name, ModelNode model) throws OperationFailedException { final ModelNode routingNode = DivertDefinition.ROUTING_NAME.resolveModelAttribute(context, model); final String routingName = routingNode.isDefined() ? routingNode.asString() : null; final String address = DivertDefinition.ADDRESS.resolveModelAttribute(context, model).asString(); final String forwardingAddress = DivertDefinition.FORWARDING_ADDRESS.resolveModelAttribute(context, model).asString(); final boolean exclusive = DivertDefinition.EXCLUSIVE.resolveModelAttribute(context, model).asBoolean(); final ModelNode filterNode = CommonAttributes.FILTER.resolveModelAttribute(context, model); final String filter = filterNode.isDefined() ? filterNode.asString() : null; DivertConfiguration config = new DivertConfiguration() .setName(name) .setRoutingName(routingName) .setAddress(address) .setForwardingAddress(forwardingAddress) .setExclusive(exclusive) .setFilterString(filter); final ModelNode transformerClassName = CommonAttributes.TRANSFORMER_CLASS_NAME.resolveModelAttribute(context, model); if (transformerClassName.isDefined()) { config.setTransformerConfiguration(new TransformerConfiguration(transformerClassName.asString())); } return config; }
@Override public Map<String, String> getTransformerProperties() { clearIO(); try { return configuration.getTransformerConfiguration() == null ? null : configuration.getTransformerConfiguration().getProperties(); } finally { blockOnIO(); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (int) (callTimeout ^ (callTimeout >>> 32)); result = prime * result + (int) (clientFailureCheckPeriod ^ (clientFailureCheckPeriod >>> 32)); result = prime * result + confirmationWindowSize; result = prime * result + producerWindowSize; result = prime * result + (int) (connectionTTL ^ (connectionTTL >>> 32)); result = prime * result + ((discoveryGroupName == null) ? 0 : discoveryGroupName.hashCode()); result = prime * result + ((filterString == null) ? 0 : filterString.hashCode()); result = prime * result + ((forwardingAddress == null) ? 0 : forwardingAddress.hashCode()); result = prime * result + (ha ? 1231 : 1237); result = prime * result + (int) (maxRetryInterval ^ (maxRetryInterval >>> 32)); result = prime * result + minLargeMessageSize; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((password == null) ? 0 : password.hashCode()); result = prime * result + ((queueName == null) ? 0 : queueName.hashCode()); result = prime * result + initialConnectAttempts; result = prime * result + reconnectAttempts; result = prime * result + (int) (retryInterval ^ (retryInterval >>> 32)); long temp; temp = Double.doubleToLongBits(retryIntervalMultiplier); result = prime * result + (int) (temp ^ (temp >>> 32)); result = prime * result + ((staticConnectors == null) ? 0 : staticConnectors.hashCode()); result = prime * result + ((transformerConfiguration == null) ? 0 : transformerConfiguration.hashCode()); result = prime * result + (useDuplicateDetection ? 1231 : 1237); result = prime * result + ((user == null) ? 0 : user.hashCode()); return result; }
if (other.transformerConfiguration != null) return false; } else if (!transformerConfiguration.equals(other.transformerConfiguration)) return false; if (useDuplicateDetection != other.useDuplicateDetection)
@Override public Transformer getBridgeTransformer(String name, TransformerConfiguration transformerConfiguration) { Transformer transformer = bridgeTransformers.get(name); if (transformer == null && transformerConfiguration != null && transformerConfiguration.getClassName() != null) { transformer = instantiateTransformer(transformerConfiguration); addBridgeTransformer(name, transformer); } return transformer; }
@Test public void testAttributes() throws Exception { checkResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(divertConfig.getName(), divertConfig.getAddress())); DivertControl divertControl = createDivertManagementControl(divertConfig.getName(), divertConfig.getAddress()); Assert.assertEquals(divertConfig.getFilterString(), divertControl.getFilter()); Assert.assertEquals(divertConfig.isExclusive(), divertControl.isExclusive()); Assert.assertEquals(divertConfig.getName(), divertControl.getUniqueName()); Assert.assertEquals(divertConfig.getRoutingName(), divertControl.getRoutingName()); Assert.assertEquals(divertConfig.getAddress(), divertControl.getAddress()); Assert.assertEquals(divertConfig.getForwardingAddress(), divertControl.getForwardingAddress()); Assert.assertEquals(divertConfig.getTransformerConfiguration().getClassName(), divertControl.getTransformerClassName()); Assert.assertEquals(divertConfig.getTransformerConfiguration().getProperties(), divertControl.getTransformerProperties()); }
private TransformerConfiguration getTransformerConfiguration(final Node node) { Element element = (Element) node; String className = getString(element, "class-name", null, Validators.NO_CHECK); Map<String, String> properties = getMapOfChildPropertyElements(element); return new TransformerConfiguration(className).setProperties(properties); }
config.setTransformerConfiguration(new TransformerConfiguration(transformerClassName.asString()));
@Override public String getTransformerClassName() { clearIO(); try { return configuration.getTransformerConfiguration() == null ? null : configuration.getTransformerConfiguration().getClassName(); } finally { blockOnIO(); } }
Assert.assertEquals("forwarding-address1", dic.getForwardingAddress()); Assert.assertEquals("speed > 88", dic.getFilterString()); Assert.assertEquals("org.foo.Transformer", dic.getTransformerConfiguration().getClassName()); Assert.assertEquals(true, dic.isExclusive()); } else if (dic.getName().equals("divert2")) { Assert.assertEquals("forwarding-address2", dic.getForwardingAddress()); Assert.assertEquals("speed < 88", dic.getFilterString()); Assert.assertEquals("org.foo.Transformer2", dic.getTransformerConfiguration().getClassName()); Assert.assertEquals(false, dic.isExclusive()); } else { Assert.assertEquals("divert3", dic.getName()); Assert.assertEquals("org.foo.DivertTransformer3", dic.getTransformerConfiguration().getClassName()); Assert.assertEquals("divertTransformerValue1", dic.getTransformerConfiguration().getProperties().get("divertTransformerKey1")); Assert.assertEquals("divertTransformerValue2", dic.getTransformerConfiguration().getProperties().get("divertTransformerKey2")); Assert.assertEquals("bridge-forwarding-address1", bc.getForwardingAddress()); Assert.assertEquals("sku > 1", bc.getFilterString()); Assert.assertEquals("org.foo.BridgeTransformer", bc.getTransformerConfiguration().getClassName()); Assert.assertEquals(3, bc.getRetryInterval()); Assert.assertEquals(0.2, bc.getRetryIntervalMultiplier(), 0.0001); } else { Assert.assertEquals("bridge3", bc.getName()); Assert.assertEquals("org.foo.BridgeTransformer3", bc.getTransformerConfiguration().getClassName()); Assert.assertEquals("bridgeTransformerValue1", bc.getTransformerConfiguration().getProperties().get("bridgeTransformerKey1")); Assert.assertEquals("bridgeTransformerValue2", bc.getTransformerConfiguration().getProperties().get("bridgeTransformerKey2"));
@Override public void createDivert(final String name, final String routingName, final String address, final String forwardingAddress, final boolean exclusive, final String filterString, final String transformerClassName, final Map<String, String> transformerProperties, final String routingType) throws Exception { checkStarted(); clearIO(); try { TransformerConfiguration transformerConfiguration = transformerClassName == null ? null : new TransformerConfiguration(transformerClassName).setProperties(transformerProperties); DivertConfiguration config = new DivertConfiguration().setName(name).setRoutingName(routingName).setAddress(address).setForwardingAddress(forwardingAddress).setExclusive(exclusive).setFilterString(filterString).setTransformerConfiguration(transformerConfiguration).setRoutingType(ComponentConfigurationRoutingType.valueOf(routingType)); server.deployDivert(config); } finally { blockOnIO(); } }
config.setTransformerConfiguration(new TransformerConfiguration(transformerClassName.asString()));