package org.ovirt.engine.core.bll.utils;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.ovirt.engine.core.bll.interfaces.BackendCommandObjectsHandler;
import org.slf4j.Logger;
public class BackendUtils {
public static final String BACKEND_COMMAND_OBJECTS_HANDLER_JNDI_NAME =
"java:global/engine/bll/Backend!org.ovirt.engine.core.bll.interfaces.BackendCommandObjectsHandler";
/**
* This method should be used only at {@link BackendUtils} code for creating
* and execution {@link BackendUtils} objects directly.
* @return proxy object to create the {@link BackendUtils} objects and run them
*/
public static BackendCommandObjectsHandler getBackendCommandObjectsHandler(Logger log) {
InitialContext ctx = null;
try {
ctx = new InitialContext();
return (BackendCommandObjectsHandler) ctx.lookup(BACKEND_COMMAND_OBJECTS_HANDLER_JNDI_NAME);
} catch (NamingException e) {
log.error("Getting backend command objects handler failed: {}", e.getMessage());
log.debug("Exception", e);
return null;
} finally {
closeContext(log, ctx);
}
}
public static void closeContext(Logger log, InitialContext ctx) {
try {
if (ctx != null) {
ctx.close();
}
} catch(NamingException e) {
log.error("Error closing Context: {}", e.getMessage());
log.debug("Exception", e);
}
}
}