package gov.nist.registry.ws.serviceclasses;
import gov.nist.registry.common2.exception.XdsInternalException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openhealthtools.common.ws.server.IheHTTPServer;
import org.openhealthtools.openexchange.config.PropertyFacade;
import org.openhealthtools.openxds.xca.api.XcaIG;
public class Ig {
private final static Log logger = LogFactory.getLog(Ig.class);
private static int numOfThreads = PropertyFacade.getInteger("ig.threads.number", 5);
static ExecutorService exec = Executors.newFixedThreadPool( numOfThreads );
static String home = PropertyFacade.getString("home.community.id");
public OMElement AdhocQueryRequest(OMElement ahqr) throws AxisFault {
XcaRegistry reg = new XcaRegistry();
return reg.AdhocQueryRequest(ahqr);
}
public OMElement RetrieveDocumentSetRequest(OMElement rdsr) throws AxisFault {
XcaRepository rep = new XcaRepository();
return rep.RetrieveDocumentSetRequest(rdsr);
}
public void setMessageContextIn(MessageContext inMessage) {
}
public static XcaIG getActor() {
XcaIG actor = null;
IheHTTPServer httpServer = (IheHTTPServer)MessageContext.getCurrentMessageContext().getTransportIn().getReceiver();
try {
actor = (XcaIG)httpServer.getIheActor();
if (actor == null) {
throw new XdsInternalException("Cannot find XcaIG actor configuration.");
}
} catch (XdsInternalException e) {
logger.fatal("Internal Error getting XcaIG actor configuration: " + e.getMessage());
}
return actor;
}
}