| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.activemq.artemis.ra; |
| |
| import javax.jms.Session; |
| import javax.resource.spi.ConnectionRequestInfo; |
| |
| /** |
| * Connection request information |
| */ |
| public class ActiveMQRAConnectionRequestInfo implements ConnectionRequestInfo { |
| |
| /** |
| * Trace enabled |
| */ |
| private static boolean trace = ActiveMQRALogger.LOGGER.isTraceEnabled(); |
| |
| /** |
| * The user name |
| */ |
| private String userName; |
| |
| /** |
| * The password |
| */ |
| private String password; |
| |
| /** |
| * The client id |
| */ |
| private String clientID; |
| |
| /** |
| * The type |
| */ |
| private final int type; |
| |
| /** |
| * Use transactions |
| */ |
| private final boolean transacted; |
| |
| /** |
| * The acknowledge mode |
| */ |
| private final int acknowledgeMode; |
| |
| /** |
| * Constructor |
| * |
| * @param prop The resource adapter properties |
| * @param type The connection type |
| */ |
| public ActiveMQRAConnectionRequestInfo(final ActiveMQRAProperties prop, final int type) { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("constructor(" + prop + ")"); |
| } |
| |
| userName = prop.getUserName(); |
| password = prop.getPassword(); |
| clientID = prop.getClientID(); |
| this.type = type; |
| transacted = true; |
| acknowledgeMode = Session.AUTO_ACKNOWLEDGE; |
| } |
| |
| /** |
| * Constructor |
| * |
| * @param transacted Use transactions |
| * @param acknowledgeMode The acknowledge mode |
| * @param type The connection type |
| */ |
| public ActiveMQRAConnectionRequestInfo(final boolean transacted, final int acknowledgeMode, final int type) { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("constructor(" + transacted + |
| ", " + |
| acknowledgeMode + |
| ", " + |
| type + |
| ")"); |
| } |
| |
| this.transacted = transacted; |
| this.acknowledgeMode = acknowledgeMode; |
| this.type = type; |
| } |
| |
| /** |
| * Fill in default values if they are missing |
| * |
| * @param prop The resource adapter properties |
| */ |
| public void setDefaults(final ActiveMQRAProperties prop) { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("setDefaults(" + prop + ")"); |
| } |
| |
| if (userName == null) { |
| userName = prop.getUserName(); |
| } |
| if (password == null) { |
| password = prop.getPassword(); |
| } |
| if (clientID == null) { |
| clientID = prop.getClientID(); |
| } |
| } |
| |
| /** |
| * Get the user name |
| * |
| * @return The value |
| */ |
| public String getUserName() { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("getUserName()"); |
| } |
| |
| return userName; |
| } |
| |
| /** |
| * Set the user name |
| * |
| * @param userName The value |
| */ |
| public void setUserName(final String userName) { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("setUserName(" + userName + ")"); |
| } |
| |
| this.userName = userName; |
| } |
| |
| /** |
| * Get the password |
| * |
| * @return The value |
| */ |
| public String getPassword() { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("getPassword()"); |
| } |
| |
| return password; |
| } |
| |
| /** |
| * Set the password |
| * |
| * @param password The value |
| */ |
| public void setPassword(final String password) { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("setPassword(****)"); |
| } |
| |
| this.password = password; |
| } |
| |
| /** |
| * Get the client id |
| * |
| * @return The value |
| */ |
| public String getClientID() { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("getClientID()"); |
| } |
| |
| return clientID; |
| } |
| |
| /** |
| * Set the client id |
| * |
| * @param clientID The value |
| */ |
| public void setClientID(final String clientID) { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("setClientID(" + clientID + ")"); |
| } |
| |
| this.clientID = clientID; |
| } |
| |
| /** |
| * Get the connection type |
| * |
| * @return The type |
| */ |
| public int getType() { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("getType()"); |
| } |
| |
| return type; |
| } |
| |
| /** |
| * Use transactions |
| * |
| * @return True if transacted; otherwise false |
| */ |
| public boolean isTransacted() { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("isTransacted() " + transacted); |
| } |
| |
| return transacted; |
| } |
| |
| /** |
| * Get the acknowledge mode |
| * |
| * @return The mode |
| */ |
| public int getAcknowledgeMode() { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("getAcknowledgeMode()"); |
| } |
| |
| return acknowledgeMode; |
| } |
| |
| /** |
| * Indicates whether some other object is "equal to" this one. |
| * |
| * @param obj Object with which to compare |
| * @return True if this object is the same as the obj argument; false otherwise. |
| */ |
| @Override |
| public boolean equals(final Object obj) { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("equals(" + obj + ")"); |
| } |
| |
| if (obj == null) { |
| return false; |
| } |
| |
| if (obj instanceof ActiveMQRAConnectionRequestInfo) { |
| ActiveMQRAConnectionRequestInfo you = (ActiveMQRAConnectionRequestInfo) obj; |
| return ActiveMQRaUtils.compare(userName, you.getUserName()) && ActiveMQRaUtils.compare(password, you.getPassword()) && |
| ActiveMQRaUtils.compare(clientID, you.getClientID()) && |
| type == you.getType() && |
| transacted == you.isTransacted() && |
| acknowledgeMode == you.getAcknowledgeMode(); |
| } |
| else { |
| return false; |
| } |
| } |
| |
| /** |
| * Return the hash code for the object |
| * |
| * @return The hash code |
| */ |
| @Override |
| public int hashCode() { |
| if (ActiveMQRAConnectionRequestInfo.trace) { |
| ActiveMQRALogger.LOGGER.trace("hashCode()"); |
| } |
| |
| int hash = 7; |
| |
| hash += 31 * hash + (userName != null ? userName.hashCode() : 0); |
| hash += 31 * hash + (password != null ? password.hashCode() : 0); |
| hash += 31 * hash + Integer.valueOf(type).hashCode(); |
| hash += 31 * hash + (transacted ? 1 : 0); |
| hash += 31 * hash + Integer.valueOf(acknowledgeMode).hashCode(); |
| |
| return hash; |
| } |
| |
| @Override |
| public String toString() { |
| return "ActiveMQRAConnectionRequestInfo[type=" + type + |
| ", transacted=" + transacted + ", acknowledgeMode=" + acknowledgeMode + |
| ", clientID=" + clientID + ", userName=" + userName + ", password=****]"; |
| } |
| } |