/* * JBoss, Home of Professional Open Source. * Copyright 2010, Red Hat, Inc., and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.jboss.as.messaging; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import org.jboss.as.controller.AttributeDefinition; import org.jboss.as.messaging.jms.ConnectionFactoryAttributes; import org.jboss.as.messaging.jms.ConnectionFactoryAttributes.Common; import org.jboss.as.messaging.jms.ConnectionFactoryAttributes.Pooled; import org.jboss.as.messaging.jms.bridge.JMSBridgeDefinition; import org.jboss.as.messaging.logging.MessagingLogger; /** * @author <a href="mailto:david.lloyd@redhat.com">David M. Lloyd</a> * @author scott.stark@jboss.org * @author <a href="mailto:andy.taylor@jboss.com">Andy Taylor</a> */ public enum Element { // must be first UNKNOWN((String) null), // Messaging 1.0 elements in alpha order ACCEPTORS(CommonAttributes.ACCEPTORS), ADDRESS(getAttributeDefinitions(QueueDefinition.ADDRESS, DivertDefinition.ADDRESS, GroupingHandlerDefinition.GROUPING_HANDLER_ADDRESS, ClusterConnectionDefinition.ADDRESS)), ADDRESS_SETTINGS(CommonAttributes.ADDRESS_SETTINGS), ALLOW_FAILBACK(CommonAttributes.ALLOW_FAILBACK), ASYNC_CONNECTION_EXECUTION_ENABLED(CommonAttributes.ASYNC_CONNECTION_EXECUTION_ENABLED), BACKUP(CommonAttributes.BACKUP), BINDINGS_DIRECTORY(CommonAttributes.BINDINGS_DIRECTORY), BRIDGE(CommonAttributes.BRIDGE), BRIDGES(CommonAttributes.BRIDGES), BROADCAST_GROUP(CommonAttributes.BROADCAST_GROUP), BROADCAST_GROUPS(CommonAttributes.BROADCAST_GROUPS), BROADCAST_PERIOD(BroadcastGroupDefinition.BROADCAST_PERIOD), CHECK_FOR_LIVE_SERVER(CommonAttributes.CHECK_FOR_LIVE_SERVER), CLASS_NAME(CommonAttributes.CLASS_NAME), @Deprecated CLUSTERED(CommonAttributes.CLUSTERED), CLUSTER_CONNECTION(CommonAttributes.CLUSTER_CONNECTION), CLUSTER_CONNECTIONS(CommonAttributes.CLUSTER_CONNECTIONS), CLUSTER_PASSWORD(CommonAttributes.CLUSTER_PASSWORD), CLUSTER_USER(CommonAttributes.CLUSTER_USER), CONNECTION_TTL_OVERRIDE(CommonAttributes.CONNECTION_TTL_OVERRIDE), CONNECTOR_SERVICE(CommonAttributes.CONNECTOR_SERVICE), CONNECTOR_SERVICES(CommonAttributes.CONNECTOR_SERVICES), CONNECTOR_REF(getConnectorRefDefinitions()), CORE_QUEUES(CommonAttributes.CORE_QUEUES), CREATE_BINDINGS_DIR(CommonAttributes.CREATE_BINDINGS_DIR), CREATE_JOURNAL_DIR(CommonAttributes.CREATE_JOURNAL_DIR), DISCOVERY_GROUP(CommonAttributes.DISCOVERY_GROUP), DISCOVERY_GROUPS(CommonAttributes.DISCOVERY_GROUPS), DIVERT(CommonAttributes.DIVERT), DIVERTS(CommonAttributes.DIVERTS), DURABLE(CommonAttributes.DURABLE), EXCLUSIVE(DivertDefinition.EXCLUSIVE), FAILBACK_DELAY(CommonAttributes.FAILBACK_DELAY), FAILOVER_ON_SHUTDOWN(CommonAttributes.FAILOVER_ON_SHUTDOWN), FILE_DEPLOYMENT_ENABLED(CommonAttributes.FILE_DEPLOYMENT_ENABLED), FORWARDING_ADDRESS(getForwardingAddressDefinitions()), FORWARD_WHEN_NO_CONSUMERS(ClusterConnectionDefinition.FORWARD_WHEN_NO_CONSUMERS), GROUP_ADDRESS(CommonAttributes.GROUP_ADDRESS), GROUP_PORT(CommonAttributes.GROUP_PORT), GROUPING_HANDLER(CommonAttributes.GROUPING_HANDLER), GROUP_TIMEOUT(GroupingHandlerDefinition.GROUP_TIMEOUT), HORNETQ_SERVER(CommonAttributes.HORNETQ_SERVER), HTTP_ACCEPTOR(CommonAttributes.HTTP_ACCEPTOR), HTTP_CONNECTOR(CommonAttributes.HTTP_CONNECTOR), ID_CACHE_SIZE(CommonAttributes.ID_CACHE_SIZE), INITIAL_WAIT_TIMEOUT(DiscoveryGroupDefinition.INITIAL_WAIT_TIMEOUT), IN_VM_ACCEPTOR(CommonAttributes.IN_VM_ACCEPTOR), IN_VM_CONNECTOR(CommonAttributes.IN_VM_CONNECTOR), JGROUPS_CHANNEL(CommonAttributes.JGROUPS_CHANNEL), JGROUPS_STACK(CommonAttributes.JGROUPS_STACK), JMX_DOMAIN(CommonAttributes.JMX_DOMAIN), JMX_MANAGEMENT_ENABLED(CommonAttributes.JMX_MANAGEMENT_ENABLED), JOURNAL_BUFFER_SIZE(CommonAttributes.JOURNAL_BUFFER_SIZE), JOURNAL_BUFFER_TIMEOUT(CommonAttributes.JOURNAL_BUFFER_TIMEOUT), JOURNAL_COMPACT_MIN_FILES(CommonAttributes.JOURNAL_COMPACT_MIN_FILES), JOURNAL_COMPACT_PERCENTAGE(CommonAttributes.JOURNAL_COMPACT_PERCENTAGE), JOURNAL_DIRECTORY(CommonAttributes.JOURNAL_DIRECTORY), JOURNAL_FILE_SIZE(CommonAttributes.JOURNAL_FILE_SIZE), JOURNAL_MAX_IO(CommonAttributes.JOURNAL_MAX_IO), JOURNAL_MIN_FILES(CommonAttributes.JOURNAL_MIN_FILES), JOURNAL_SYNC_NON_TRANSACTIONAL(CommonAttributes.JOURNAL_SYNC_NON_TRANSACTIONAL), JOURNAL_SYNC_TRANSACTIONAL(CommonAttributes.JOURNAL_SYNC_TRANSACTIONAL), JOURNAL_TYPE(CommonAttributes.JOURNAL_TYPE), LARGE_MESSAGES_DIRECTORY(CommonAttributes.LARGE_MESSAGES_DIRECTORY), @Deprecated LIVE_CONNECTOR_REF(CommonAttributes.LIVE_CONNECTOR_REF), LOCAL_BIND_ADDRESS(CommonAttributes.LOCAL_BIND_ADDRESS), LOCAL_BIND_PORT(CommonAttributes.LOCAL_BIND_PORT), LOG_JOURNAL_WRITE_RATE(CommonAttributes.LOG_JOURNAL_WRITE_RATE), MANAGEMENT_ADDRESS(CommonAttributes.MANAGEMENT_ADDRESS), MANAGEMENT_NOTIFICATION_ADDRESS(CommonAttributes.MANAGEMENT_NOTIFICATION_ADDRESS), MAX_HOPS(ClusterConnectionDefinition.MAX_HOPS), MAX_REDELIVERY_DELAY(AddressSettingDefinition.MAX_REDELIVERY_DELAY), MAX_SAVED_REPLICATED_JOURNAL_SIZE(CommonAttributes.MAX_SAVED_REPLICATED_JOURNAL_SIZE), MEMORY_MEASURE_INTERVAL(CommonAttributes.MEMORY_MEASURE_INTERVAL), MEMORY_WARNING_THRESHOLD(CommonAttributes.MEMORY_WARNING_THRESHOLD), MESSAGE_COUNTER_ENABLED(CommonAttributes.MESSAGE_COUNTER_ENABLED), MESSAGE_COUNTER_MAX_DAY_HISTORY(CommonAttributes.MESSAGE_COUNTER_MAX_DAY_HISTORY), MESSAGE_COUNTER_SAMPLE_PERIOD(CommonAttributes.MESSAGE_COUNTER_SAMPLE_PERIOD), MESSAGE_EXPIRY_SCAN_PERIOD(CommonAttributes.MESSAGE_EXPIRY_SCAN_PERIOD), MESSAGE_EXPIRY_THREAD_PRIORITY(CommonAttributes.MESSAGE_EXPIRY_THREAD_PRIORITY), NAME(CommonAttributes.NAME), NETTY_ACCEPTOR(CommonAttributes.NETTY_ACCEPTOR), NETTY_CONNECTOR(CommonAttributes.NETTY_CONNECTOR), BACKUP_GROUP_NAME(CommonAttributes.BACKUP_GROUP_NAME), OVERRIDE_IN_VM_SECURITY(CommonAttributes.OVERRIDE_IN_VM_SECURITY), PAGE_MAX_CONCURRENT_IO(CommonAttributes.PAGE_MAX_CONCURRENT_IO), PAGING_DIRECTORY(CommonAttributes.PAGING_DIRECTORY), PERF_BLAST_PAGES(CommonAttributes.PERF_BLAST_PAGES), PERSIST_DELIVERY_COUNT_BEFORE_DELIVERY(CommonAttributes.PERSIST_DELIVERY_COUNT_BEFORE_DELIVERY), PERSIST_ID_CACHE(CommonAttributes.PERSIST_ID_CACHE), PERSISTENCE_ENABLED(CommonAttributes.PERSISTENCE_ENABLED), QUEUE(CommonAttributes.QUEUE), REAPER_PERIOD(GroupingHandlerDefinition.REAPER_PERIOD), REDELIVERY_MULTIPLIER(AddressSettingDefinition.REDELIVERY_MULTIPLIER), REFRESH_TIMEOUT(DiscoveryGroupDefinition.REFRESH_TIMEOUT), REMOTING_INTERCEPTORS(CommonAttributes.REMOTING_INTERCEPTORS), REMOTING_INCOMING_INTERCEPTORS(CommonAttributes.REMOTING_INCOMING_INTERCEPTORS), REMOTING_OUTGOING_INTERCEPTORS(CommonAttributes.REMOTING_OUTGOING_INTERCEPTORS), REPLICATION_CLUSTERNAME(CommonAttributes.REPLICATION_CLUSTERNAME), ROUTING_NAME(DivertDefinition.ROUTING_NAME), RUN_SYNC_SPEED_TEST(CommonAttributes.RUN_SYNC_SPEED_TEST), SECURITY_DOMAIN(CommonAttributes.SECURITY_DOMAIN), SECURITY_ENABLED(CommonAttributes.SECURITY_ENABLED), SECURITY_INVALIDATION_INTERVAL(CommonAttributes.SECURITY_INVALIDATION_INTERVAL), SECURITY_SETTINGS(CommonAttributes.SECURITY_SETTINGS), SERVER_DUMP_INTERVAL(CommonAttributes.SERVER_DUMP_INTERVAL), SHARED_STORE(CommonAttributes.SHARED_STORE), STATISTICS_ENABLED(CommonAttributes.STATISTICS_ENABLED), SUBSYSTEM(CommonAttributes.SUBSYSTEM), TRANSACTION_TIMEOUT(CommonAttributes.TRANSACTION_TIMEOUT), TRANSACTION_TIMEOUT_SCAN_PERIOD(CommonAttributes.TRANSACTION_TIMEOUT_SCAN_PERIOD), TRANSFORMER_CLASS_NAME(CommonAttributes.TRANSFORMER_CLASS_NAME), WILD_CARD_ROUTING_ENABLED(CommonAttributes.WILD_CARD_ROUTING_ENABLED), ACCEPTOR(CommonAttributes.ACCEPTOR), CONNECTORS(CommonAttributes.CONNECTORS), CONNECTOR(CommonAttributes.CONNECTOR), FACTORY_CLASS(CommonAttributes.FACTORY_CLASS), FILTER(CommonAttributes.FILTER), PARAM(CommonAttributes.PARAM), SECURITY_SETTING(CommonAttributes.SECURITY_SETTING), PERMISSION_ELEMENT_NAME(CommonAttributes.PERMISSION_ELEMENT_NAME), ADDRESS_SETTING(CommonAttributes.ADDRESS_SETTING), DEAD_LETTER_ADDRESS(CommonAttributes.DEAD_LETTER_ADDRESS), EXPIRY_ADDRESS(CommonAttributes.EXPIRY_ADDRESS), EXPIRY_DELAY(AddressSettingDefinition.EXPIRY_DELAY), REDELIVERY_DELAY(AddressSettingDefinition.REDELIVERY_DELAY), MAX_DELIVERY_ATTEMPTS(AddressSettingDefinition.MAX_DELIVERY_ATTEMPTS), MAX_SIZE_BYTES(AddressSettingDefinition.MAX_SIZE_BYTES), ADDRESS_FULL_MESSAGE_POLICY(AddressSettingDefinition.ADDRESS_FULL_MESSAGE_POLICY), PAGE_MAX_CACHE_SIZE(AddressSettingDefinition.PAGE_MAX_CACHE_SIZE), PAGE_SIZE_BYTES(AddressSettingDefinition.PAGE_SIZE_BYTES), MESSAGE_COUNTER_HISTORY_DAY_LIMIT(AddressSettingDefinition.MESSAGE_COUNTER_HISTORY_DAY_LIMIT), LVQ(AddressSettingDefinition.LAST_VALUE_QUEUE), REDISTRIBUTION_DELAY(AddressSettingDefinition.REDISTRIBUTION_DELAY), SEND_TO_DLA_ON_NO_ROUTE(AddressSettingDefinition.SEND_TO_DLA_ON_NO_ROUTE), SLOW_CONSUMER_CHECK_PERIOD(AddressSettingDefinition.SLOW_CONSUMER_CHECK_PERIOD), SLOW_CONSUMER_POLICY(AddressSettingDefinition.SLOW_CONSUMER_POLICY), SLOW_CONSUMER_THRESHOLD(AddressSettingDefinition.SLOW_CONSUMER_THRESHOLD), STATIC_CONNECTORS(CommonAttributes.STATIC_CONNECTORS), TIMEOUT(GroupingHandlerDefinition.TIMEOUT), TYPE(GroupingHandlerDefinition.TYPE), //JMS Stuff AUTO_GROUP(Common.AUTO_GROUP), BLOCK_ON_ACK(Common.BLOCK_ON_ACKNOWLEDGE), BLOCK_ON_DURABLE_SEND(Common.BLOCK_ON_DURABLE_SEND), BLOCK_ON_NON_DURABLE_SEND(Common.BLOCK_ON_NON_DURABLE_SEND), CACHE_LARGE_MESSAGE_CLIENT(Common.CACHE_LARGE_MESSAGE_CLIENT), CALL_TIMEOUT(CommonAttributes.CALL_TIMEOUT), CALL_FAILOVER_TIMEOUT(CommonAttributes.CALL_FAILOVER_TIMEOUT), CHECK_PERIOD(getCheckPeriodDefinitions()), CLIENT_FAILURE_CHECK_PERIOD(Common.CLIENT_FAILURE_CHECK_PERIOD), CLIENT_ID(CommonAttributes.CLIENT_ID), CONNECTION_FACTORY(getConnectionFactoryDefinitions()), CONNECTION_FACTORIES(CommonAttributes.JMS_CONNECTION_FACTORIES), CONNECTION_TTL(getConnectionTTLDefinitions()), CONFIRMATION_WINDOW_SIZE(getConfirmationWindowSizeDefinitions()), CONSUMER_MAX_RATE(Common.CONSUMER_MAX_RATE), CONSUMER_WINDOW_SIZE(Common.CONSUMER_WINDOW_SIZE), DISCOVERY_INITIAL_WAIT_TIMEOUT(Common.DISCOVERY_INITIAL_WAIT_TIMEOUT), DISCOVERY_GROUP_REF(CommonAttributes.DISCOVERY_GROUP_REF), DUPS_OK_BATCH_SIZE(Common.DUPS_OK_BATCH_SIZE), ENTRIES(Common.ENTRIES), ENTRY(CommonAttributes.ENTRY), FAILOVER_ON_INITIAL_CONNECTION(Common.FAILOVER_ON_INITIAL_CONNECTION), FAILOVER_ON_SERVER_SHUTDOWN(Common.FAILOVER_ON_SERVER_SHUTDOWN), GROUP_ID(Common.GROUP_ID), HA(CommonAttributes.HA), INITIAL_CONNECT_ATTEMPTS(getInitialConnectAttemptsDefinitions()), INITIAL_MESSAGE_PACKET_SIZE(Pooled.INITIAL_MESSAGE_PACKET_SIZE), JMS_DESTINATIONS(CommonAttributes.JMS_DESTINATIONS), JMS_TOPIC(CommonAttributes.JMS_TOPIC), JMS_QUEUE(CommonAttributes.JMS_QUEUE), LOAD_BALANCING_CLASS_NAME(Common.CONNECTION_LOAD_BALANCING_CLASS_NAME), MAX_POOL_SIZE(Pooled.MAX_POOL_SIZE), MAX_RETRY_INTERVAL(getMaxRetryIntervalDefinitions()), MIN_LARGE_MESSAGE_SIZE(getMinLargeMessageSizeDefinitions()), MIN_POOL_SIZE(Pooled.MIN_POOL_SIZE), NOTIFICATION_ATTEMPTS(ClusterConnectionDefinition.NOTIFICATION_ATTEMPTS), NOTIFICATION_INTERVAL(ClusterConnectionDefinition.NOTIFICATION_INTERVAL), PASSWORD(getPasswordDefinitions()), PRE_ACK(Common.PRE_ACKNOWLEDGE), PRODUCER_WINDOW_SIZE(Common.PRODUCER_WINDOW_SIZE), PRODUCER_MAX_RATE(Common.PRODUCER_MAX_RATE), QUEUE_NAME(BridgeDefinition.QUEUE_NAME), RECONNECT_ATTEMPTS(getReconnectAttemptsDefinitions()), RECONNECT_ATTEMPTS_ON_SAME_NODE(BridgeDefinition.RECONNECT_ATTEMPTS_ON_SAME_NODE), RETRY_INTERVAL(getRetryIntervalDefinitions()), RETRY_INTERVAL_MULTIPLIER(getRetryIntervalMultiplierDefinitions()), SELECTOR(CommonAttributes.SELECTOR), SCHEDULED_THREAD_POOL_MAX_SIZE(getScheduledThreadPoolDefinitions()), THREAD_POOL_MAX_SIZE(getThreadPoolDefinitions()), TRANSACTION_BATH_SIZE(Common.TRANSACTION_BATCH_SIZE), USER(getUserDefinitions()), USE_DUPLICATE_DETECTION(getDuplicateDetectionDefinitions()), USE_AUTO_RECOVERY(Pooled.USE_AUTO_RECOVERY), USE_GLOBAL_POOLS(Common.USE_GLOBAL_POOLS), POOLED_CONNECTION_FACTORY(CommonAttributes.POOLED_CONNECTION_FACTORY), TRANSACTION(ConnectionFactoryAttributes.Pooled.TRANSACTION), MODE(CommonAttributes.MODE), INBOUND_CONFIG(CommonAttributes.INBOUND_CONFIG), USE_JNDI(Pooled.USE_JNDI), JNDI_PARAMS(Pooled.JNDI_PARAMS), USE_LOCAL_TX(Pooled.USE_LOCAL_TX), COMPRESS_LARGE_MESSAGES(ConnectionFactoryAttributes.Common.COMPRESS_LARGE_MESSAGES), CONNECTION_FACTORY_TYPE(ConnectionFactoryAttributes.Regular.FACTORY_TYPE), SETUP_ATTEMPTS(Pooled.SETUP_ATTEMPTS), SETUP_INTERVAL(Pooled.SETUP_INTERVAL), SOCKET_BINDING(RemoteTransportDefinition.SOCKET_BINDING.getName()), // JMS Bridge JMS_BRIDGE(CommonAttributes.JMS_BRIDGE), SOURCE(JMSBridgeDefinition.SOURCE), TARGET(JMSBridgeDefinition.TARGET), DESTINATION(getDestinationDefinitions()), CONTEXT(getContextDefinitions()), PROPERTY("property"), QUALITY_OF_SERVICE(JMSBridgeDefinition.QUALITY_OF_SERVICE), FAILURE_RETRY_INTERVAL(JMSBridgeDefinition.FAILURE_RETRY_INTERVAL), MAX_RETRIES(JMSBridgeDefinition.MAX_RETRIES), MAX_BATCH_SIZE(JMSBridgeDefinition.MAX_BATCH_SIZE), MAX_BATCH_TIME(JMSBridgeDefinition.MAX_BATCH_TIME), SUBSCRIPTION_NAME(JMSBridgeDefinition.SUBSCRIPTION_NAME), ADD_MESSAGE_ID_IN_HEADER(JMSBridgeDefinition.ADD_MESSAGE_ID_IN_HEADER), MODULE(JMSBridgeDefinition.MODULE), ; private final String name; private final AttributeDefinition definition; private final Map<String, AttributeDefinition> definitions; Element(final String name) { this.name = name; this.definition = null; this.definitions = null; } Element(final AttributeDefinition definition) { this.name = definition.getXmlName(); this.definition = definition; this.definitions = null; } Element(final List<AttributeDefinition> definitions) { this.definition = null; this.definitions = new HashMap<String, AttributeDefinition>(); String ourName = null; for (AttributeDefinition def : definitions) { if (ourName == null) { ourName = def.getXmlName(); } else if (!ourName.equals(def.getXmlName())) { throw MessagingLogger.ROOT_LOGGER.attributeDefinitionsMustMatch(def.getXmlName(), ourName); } if (this.definitions.put(def.getName(), def) != null) { throw MessagingLogger.ROOT_LOGGER.attributeDefinitionsNotUnique(def.getName()); } } this.name = ourName; } Element(final Map<String, AttributeDefinition> definitions) { this.definition = null; this.definitions = new HashMap<String, AttributeDefinition>(); String ourName = null; for (Map.Entry<String, AttributeDefinition> def : definitions.entrySet()) { String xmlName = def.getValue().getXmlName(); if (ourName == null) { ourName = xmlName; } else if (!ourName.equals(xmlName)) { throw MessagingLogger.ROOT_LOGGER.attributeDefinitionsMustMatch(xmlName, ourName); } this.definitions.put(def.getKey(), def.getValue()); } this.name = ourName; } /** * Get the local name of this element. * * @return the local name */ public String getLocalName() { return name; } public AttributeDefinition getDefinition() { return definition; } public AttributeDefinition getDefinition(final String name) { return definitions.get(name); } private static final Map<String, Element> MAP; static { final Map<String, Element> map = new HashMap<String, Element>(); for (Element element : values()) { final String name = element.getLocalName(); if (name != null) map.put(name, element); } MAP = map; } public static Element forName(String localName) { final Element element = MAP.get(localName); return element == null ? UNKNOWN : element; } private static List<AttributeDefinition> getAttributeDefinitions(final AttributeDefinition... attributeDefinitions) { return Arrays.asList(attributeDefinitions); } private static Map<String, AttributeDefinition> getScheduledThreadPoolDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("server", CommonAttributes.SCHEDULED_THREAD_POOL_MAX_SIZE); result.put("connection", Common.SCHEDULED_THREAD_POOL_MAX_SIZE); return result; } private static Map<String, AttributeDefinition> getThreadPoolDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("server", CommonAttributes.THREAD_POOL_MAX_SIZE); result.put("connection", Common.THREAD_POOL_MAX_SIZE); return result; } private static Map<String, AttributeDefinition> getConnectorRefDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("simple", ClusterConnectionDefinition.CONNECTOR_REF); result.put("broadcast-group", BroadcastGroupDefinition.CONNECTOR_REFS); result.put("bridge", BridgeDefinition.CONNECTOR_REFS); result.put("cluster-connection", ClusterConnectionDefinition.CONNECTOR_REFS); return result; } private static Map<String, AttributeDefinition> getReconnectAttemptsDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("connection", Common.RECONNECT_ATTEMPTS); result.put("pooled-connection", Pooled.RECONNECT_ATTEMPTS); result.put("bridge", BridgeDefinition.RECONNECT_ATTEMPTS); result.put("cluster", ClusterConnectionDefinition.RECONNECT_ATTEMPTS); return result; } private static Map<String, AttributeDefinition> getConfirmationWindowSizeDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("connection", ConnectionFactoryAttributes.Common.CONFIRMATION_WINDOW_SIZE); result.put("bridge", CommonAttributes.BRIDGE_CONFIRMATION_WINDOW_SIZE); return result; } private static Map<String, AttributeDefinition> getForwardingAddressDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("divert", DivertDefinition.FORWARDING_ADDRESS); result.put("bridge", BridgeDefinition.FORWARDING_ADDRESS); return result; } private static Map<String, AttributeDefinition> getDuplicateDetectionDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("cluster", ClusterConnectionDefinition.USE_DUPLICATE_DETECTION); result.put("bridge", BridgeDefinition.USE_DUPLICATE_DETECTION); return result; } private static Map<String, AttributeDefinition> getRetryIntervalDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("cluster", ClusterConnectionDefinition.RETRY_INTERVAL); result.put("connection", ConnectionFactoryAttributes.Common.RETRY_INTERVAL); result.put("default", CommonAttributes.RETRY_INTERVAL); return result; } private static Map<String, AttributeDefinition> getRetryIntervalMultiplierDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("cluster", ClusterConnectionDefinition.RETRY_INTERVAL_MULTIPLIER); result.put("connection", ConnectionFactoryAttributes.Common.RETRY_INTERVAL_MULTIPLIER); result.put("default", CommonAttributes.RETRY_INTERVAL_MULTIPLIER); return result; } private static Map<String, AttributeDefinition> getMaxRetryIntervalDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("cluster", ClusterConnectionDefinition.MAX_RETRY_INTERVAL); result.put("connection", ConnectionFactoryAttributes.Common.MAX_RETRY_INTERVAL); result.put("default", CommonAttributes.MAX_RETRY_INTERVAL); return result; } private static Map<String, AttributeDefinition> getMinLargeMessageSizeDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("connection", ConnectionFactoryAttributes.Common.MIN_LARGE_MESSAGE_SIZE); result.put("default", CommonAttributes.MIN_LARGE_MESSAGE_SIZE); return result; } private static Map<String, AttributeDefinition> getConnectionTTLDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("cluster", ClusterConnectionDefinition.CONNECTION_TTL); result.put("connection", ConnectionFactoryAttributes.Common.CONNECTION_TTL); result.put("default", CommonAttributes.CONNECTION_TTL); return result; } private static Map<String, AttributeDefinition> getCheckPeriodDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("cluster", ClusterConnectionDefinition.CHECK_PERIOD); result.put("default", CommonAttributes.CHECK_PERIOD); return result; } private static Map<String, AttributeDefinition> getUserDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("source", JMSBridgeDefinition.SOURCE_USER); result.put("target", JMSBridgeDefinition.TARGET_USER); result.put("default", BridgeDefinition.USER); return result; } private static Map<String, AttributeDefinition> getPasswordDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("source", JMSBridgeDefinition.SOURCE_PASSWORD); result.put("target", JMSBridgeDefinition.TARGET_PASSWORD); result.put("default", BridgeDefinition.PASSWORD); return result; } private static Map<String, AttributeDefinition> getConnectionFactoryDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("source", JMSBridgeDefinition.SOURCE_CONNECTION_FACTORY); result.put("target", JMSBridgeDefinition.TARGET_CONNECTION_FACTORY); return result; } private static Map<String, AttributeDefinition> getDestinationDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("source", JMSBridgeDefinition.SOURCE_DESTINATION); result.put("target", JMSBridgeDefinition.TARGET_DESTINATION); return result; } private static Map<String, AttributeDefinition> getContextDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("source", JMSBridgeDefinition.SOURCE_CONTEXT); result.put("target", JMSBridgeDefinition.TARGET_CONTEXT); return result; } private static Map<String, AttributeDefinition> getInitialConnectAttemptsDefinitions() { final Map<String, AttributeDefinition> result = new HashMap<String, AttributeDefinition>(); result.put("bridge", BridgeDefinition.INITIAL_CONNECT_ATTEMPTS); result.put("cluster", ClusterConnectionDefinition.INITIAL_CONNECT_ATTEMPTS); result.put("pooled", Pooled.INITIAL_CONNECT_ATTEMPTS); return result; } }