package org.infinispan.server.test.util;
import org.infinispan.arquillian.core.RemoteInfinispanServer;
import org.infinispan.arquillian.core.RemoteInfinispanServers;
import org.infinispan.arquillian.model.RemoteInfinispanCache;
import org.infinispan.arquillian.model.RemoteInfinispanCacheManager;
/**
* A tuple-style object holder containing references to Remote interfaces for JMX statistics access.
*
* @author Michal Linhard (mlinhard@redhat.com)
*
*/
public class RemoteInfinispanMBeans {
public String serverName;
public String cacheName;
public String managerName;
public RemoteInfinispanServer server;
public RemoteInfinispanCache cache;
public RemoteInfinispanCacheManager manager;
public static RemoteInfinispanMBeans create(RemoteInfinispanServers servers, String serverName, String cacheName,
String managerName) {
return create(servers.getServer(serverName), serverName, cacheName, managerName);
}
public static RemoteInfinispanMBeans create(RemoteInfinispanServer server, String serverName, String cacheName,
String managerName) {
RemoteInfinispanMBeans r = new RemoteInfinispanMBeans();
r.serverName = serverName;
r.cacheName = cacheName;
r.managerName = managerName;
r.server = server;
r.manager = r.server.getCacheManager(managerName);
r.cache = r.manager.getCache(cacheName);
return r;
}
}