package gov.nist.registry.ws.serviceclasses; import gov.nist.registry.common2.exception.ExceptionUtil; import gov.nist.registry.common2.exception.MetadataException; import gov.nist.registry.common2.registry.Metadata; import gov.nist.registry.common2.registry.MetadataParser; import gov.nist.registry.common2.registry.MetadataSupport; import gov.nist.registry.common2.registry.RegistryErrorList; import gov.nist.registry.common2.registry.RegistryResponse; import gov.nist.registry.common2.registry.Response; import gov.nist.registry.ws.config.Registry; import gov.nist.registry.ws.sq.StoredQueryFactory; import org.apache.axiom.om.OMElement; import org.openhealthtools.openxds.log.Message; public class Test12306 extends RG { public OMElement AdhocQueryRequest(OMElement ahqr) { return AdhocQueryRequest(ahqr, "XCA", "Test12306"); } public boolean runRequestValidation(OMElement request, RegistryErrorList rel, Message log_message) { try { StoredQueryFactory fact = Registry.getStoredQueryFactory(request, new RegistryResponse(Response.version_3),log_message); if ( fact.isLeafClassReturnType()) { rel.add_error(MetadataSupport.XDSRegistryMetadataError, "This test requires returnType=\"ObjectRef\"", "RG.java", log_message); return false; } return true; } catch (Exception e) { rel.add_error(MetadataSupport.XDSRegistryMetadataError, ExceptionUtil.exception_details(e), "RG.java", log_message); return false; } } public boolean runContentValidationService(Metadata request, Response response) { try { Metadata m = MetadataParser.parseNonSubmission(response.getResponse()); if ( m.getExtrinsicObjects().size() != 0 || m.getSubmissionSets().size() != 0 || m.getFolders().size() != 0 || m.getObjectRefs().size() != 2 || m.getAssociations().size() != 0) { throw new MetadataException("Expected 2 ObjectRefs, found " + m.getMetadataDescription()); } } catch (Exception e) { response.registryErrorList.add_error(MetadataSupport.XDSRegistryMetadataError, ExceptionUtil.exception_details(e), "RG.java", log_message); return false; } return true; } }