
org.ow2.petals.ant.condition.HasEndpointDeployed Maven / Gradle / Ivy
/**
* Copyright (c) 2016 Linagora
*
* This program/library 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 program/library 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 program/library; If not, see http://www.gnu.org/licenses/
* for the GNU Lesser General Public License version 2.1.
*/
package org.ow2.petals.ant.condition;
import java.util.List;
import java.util.Map;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.condition.Condition;
import org.ow2.petals.ant.AbstractJBIAntTask;
import org.ow2.petals.clientserverapi.jbi.messaging.endpoint.EndpointDirectoryServiceConstants;
import org.ow2.petals.clientserverapi.jbi.messaging.endpoint.exception.EndpointDirectoryException;
import org.ow2.petals.jmx.api.api.JMXClient;
import org.ow2.petals.jmx.api.api.PetalsJmxApiFactory;
import org.ow2.petals.jmx.api.api.exception.ConnectionErrorException;
import org.ow2.petals.jmx.api.api.exception.DuplicatedServiceException;
import org.ow2.petals.jmx.api.api.exception.EndpointDirectoryServiceDoesNotExistException;
import org.ow2.petals.jmx.api.api.exception.EndpointDirectoryServiceErrorException;
import org.ow2.petals.jmx.api.api.exception.MissingServiceException;
/**
* A Ant {@link Condition} to check the number of endpoints deployed satisfying criteria
*
* @author Christophe DENEUX - Linagora
*
*/
public class HasEndpointDeployed implements Condition {
private String jmxHost = AbstractJBIAntTask.DEFAULT_JMX_HOST;
private int jmxPort = Integer.parseInt(AbstractJBIAntTask.DEFAULT_JMX_PORT);
private String jmxUsername;
private String jmxPassword;
private String interfaceName;
private String serviceName;
private String endpointName;
private int expectedNumber = 1;
/**
* @param host
* the host to set
*/
public void setHost(final String host) {
this.jmxHost = host;
}
/**
* @param port
* the port to set
*/
public void setPort(final int port) {
this.jmxPort = port;
}
/**
* @param username
* the username to set
*/
public void setUsername(final String username) {
this.jmxUsername = username;
}
/**
* @param password
* the password to set
*/
public void setPassword(final String password) {
this.jmxPassword = password;
}
/**
* @param interfaceName
* the interface name of the endpoint to check
*/
public void setInterfaceName(final String interfaceName) {
this.interfaceName = interfaceName;
}
/**
* @param serviceName
* the service name of the endpoint to check
*/
public void setServiceName(final String serviceName) {
this.serviceName = serviceName;
}
/**
* @param endpointName
* the endpoint name of the endpoint to check
*/
public void setEndpointName(final String endpointName) {
this.endpointName = endpointName;
}
/**
* @param expectedNumber
* the expected number of endpoint satisfying the criteria
*/
public void setExpectedNumber(final int expectedNumber) {
this.expectedNumber = expectedNumber;
}
@Override
public boolean eval() throws BuildException {
try {
final JMXClient jmxClient = PetalsJmxApiFactory.getInstance().createJMXClient(this.jmxHost, this.jmxPort,
this.jmxUsername, this.jmxPassword);
try {
int endpointMatching = 0;
final List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy