package org.rhq.enterprise.server.bundle;
import org.rhq.enterprise.server.plugin.pc.MasterServerPluginContainer;
import org.rhq.enterprise.server.plugin.pc.ServerPluginServiceMBean;
import org.rhq.enterprise.server.plugin.pc.bundle.BundleServerPluginContainer;
import org.rhq.enterprise.server.util.LookupUtil;
public class BundleManagerHelper {
public static BundleServerPluginContainer getPluginContainer() {
BundleServerPluginContainer pc;
try {
ServerPluginServiceMBean mbean = LookupUtil.getServerPluginService();
if (!mbean.isMasterPluginContainerStarted()) {
throw new IllegalStateException("The master plugin container is not started!");
}
MasterServerPluginContainer master = mbean.getMasterPluginContainer();
pc = master.getPluginContainerByClass(BundleServerPluginContainer.class);
} catch (IllegalStateException ise) {
throw ise;
} catch (Exception e) {
throw new IllegalStateException("Cannot obtain the Bundle plugin container!", e);
}
if (pc == null) {
throw new IllegalStateException("Bundle plugin container is null!");
}
return pc;
}
}