package gov.nist.registry.ws.serviceclasses;
import gov.nist.registry.common2.registry.Metadata;
import gov.nist.registry.common2.registry.MetadataSupport;
import gov.nist.registry.common2.registry.Response;
import gov.nist.registry.common2.registry.XdsCommon;
import gov.nist.registry.common2.service.AppendixV;
import gov.nist.registry.ws.ContentValidationService;
import gov.nist.registry.ws.ProvideAndRegisterDocumentSet;
import gov.nist.registry.ws.RetrieveDocumentSet;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
public class RepositoryBopt extends XdsService implements ContentValidationService {
public OMElement ProvideAndRegisterDocumentSetRequest(OMElement sor) {
try {
OMElement startup_error = beginTransaction("PnR.b", sor, AppendixV.REPOSITORY_ACTOR);
if (startup_error != null)
return startup_error;
log_message.setTestMessage("PnR.b");
ProvideAndRegisterDocumentSet s = new ProvideAndRegisterDocumentSet(log_message, XdsCommon.xds_b, getMessageContext());
OMElement result = s.provideAndRegisterDocumentSet(sor, this);
endTransaction(s.getStatus());
return result;
} catch (Exception e) {
return endTransaction(sor, e, AppendixV.REPOSITORY_ACTOR, "");
}
}
public OMElement RetrieveDocumentSetRequest(OMElement rdsr) {
try {
OMElement startup_error = beginTransaction("RET.b", rdsr, AppendixV.REPOSITORY_ACTOR);
if (startup_error != null)
return startup_error;
log_message.setTestMessage("RET.b");
OMNamespace ns = rdsr.getNamespace();
String ns_uri = ns.getNamespaceURI();
if (ns_uri == null || ! ns_uri.equals(MetadataSupport.xdsB.getNamespaceURI())) {
OMElement res = this.start_up_error(rdsr, "RepositoryB.java", AppendixV.REPOSITORY_ACTOR, "Invalid namespace on RetrieveDocumentSetRequest (" + ns_uri + ")", true);
endTransaction(false);
return res;
}
RetrieveDocumentSet s = new RetrieveDocumentSet(log_message, XdsCommon.xds_b, getMessageContext());
OMElement result = s.retrieveDocumentSet(rdsr, this, true /* optimize */, this);
endTransaction(s.getStatus());
return result;
} catch (Exception e) {
return endTransaction(rdsr, e, AppendixV.REPOSITORY_ACTOR, "");
}
}
public boolean runContentValidationService(Metadata m, Response response) {
return true;
}
}