/* * JBoss, Home of Professional Open Source * Copyright 2007, Red Hat Middleware LLC, and individual contributors * by the @authors tag. See the copyright.txt 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.test.deployers.deployer.support; import java.io.Serializable; import java.util.Properties; import org.jboss.managed.api.annotation.ManagementObject; import org.jboss.managed.api.annotation.ManagementObjectID; import org.jboss.managed.api.annotation.ManagementProperty; import org.jboss.managed.plugins.WritethroughManagedPropertyImpl; /** * Test connection factory like metadata. * * @author Scott.Stark@jboss.org * @version $Revision$ */ @ManagementObject public class ConnMetaData implements Serializable { private static final long serialVersionUID = 1; private int minSize; private int maxSize; private String connType; private String jndiName; private String username; private char[] password; private boolean localTransactions; private TxSupportMetaData txSupportMetaData; private Properties connProperties; private SecMetaData securityMetaData; @ManagementProperty(name="datasource-type", constraintsFactory=AllowedDsTypes.class, propertyFactory=WritethroughManagedPropertyImpl.class) public String getConnType() { return connType; } public void setConnType(String connType) { this.connType = connType; } @ManagementProperty(name="jndi-name", propertyFactory=WritethroughManagedPropertyImpl.class) @ManagementObjectID(type="DataSource") public String getJndiName() { return jndiName; } public void setJndiName(String jndiName) { this.jndiName = jndiName; } @ManagementProperty(name="max-size", propertyFactory=WritethroughManagedPropertyImpl.class) public int getMaxSize() { return maxSize; } public void setMaxSize(int maxSize) { this.maxSize = maxSize; } @ManagementProperty(name="min-size", propertyFactory=WritethroughManagedPropertyImpl.class) public int getMinSize() { return minSize; } public void setMinSize(int minSize) { this.minSize = minSize; } @ManagementProperty(propertyFactory=WritethroughManagedPropertyImpl.class) public char[] getPassword() { return password; } public void setPassword(char[] password) { this.password = password; } @ManagementProperty(propertyFactory=WritethroughManagedPropertyImpl.class) public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @ManagementProperty(name="connection-properties", propertyFactory=WritethroughManagedPropertyImpl.class) public Properties getConnProperties() { return connProperties; } public void setConnProperties(Properties connProperties) { this.connProperties = connProperties; } @ManagementProperty(name="local-transaction") public Boolean getLocalTransactions() { return localTransactions; } public void setLocalTransactions(Boolean localTransactions) { this.localTransactions = localTransactions; } @ManagementProperty(name="tx-metadata", constraintsFactory=AllowedTxSupportMetaData.class) public TxSupportMetaData getTransactionSupportMetaData() { return txSupportMetaData; } public void setTransactionSupportMetaData(TxSupportMetaData md) { this.txSupportMetaData = md; } @ManagementProperty(name="security-domain", managed=true) public SecMetaData getSecurityMetaData() { return securityMetaData; } public void setSecurityMetaData(SecMetaData securityMetaData) { this.securityMetaData = securityMetaData; } }