package org.neo4j.kernel.management; import java.util.ArrayList; import java.util.List; import org.neo4j.kernel.impl.transaction.XaDataSourceManager; import org.neo4j.kernel.impl.transaction.xaframework.XaDataSource; class XaManager extends Neo4jJmx implements XaManagerMBean { private final XaDataSourceManager datasourceMananger; static class AsMXBean extends Neo4jJmx implements XaManagerMXBean { private final XaDataSourceManager datasourceMananger; AsMXBean( int instanceId, XaDataSourceManager datasourceMananger ) { super( instanceId ); this.datasourceMananger = datasourceMananger; } public XaResourceInfo[] getXaResources() { return getXaResourcesImpl( datasourceMananger ); } } XaManager( int instanceId, XaDataSourceManager datasourceMananger ) { super( instanceId ); this.datasourceMananger = datasourceMananger; } public XaResourceInfo[] getXaResources() { return getXaResourcesImpl( datasourceMananger ); } private static XaResourceInfo[] getXaResourcesImpl( XaDataSourceManager datasourceMananger ) { List<XaResourceInfo> result = new ArrayList<XaResourceInfo>(); for ( XaDataSource datasource : datasourceMananger.getAllRegisteredDataSources() ) { result.add( new XaResourceInfo( datasource ) ); } return result.toArray( new XaResourceInfo[result.size()] ); } }