package gov.nist.registry.common2.test.registry; import gov.nist.registry.common2.exception.MetadataException; import gov.nist.registry.common2.registry.MetadataModel; import junit.framework.TestCase; import org.apache.axiom.om.OMElement; public class MetadataModelTest extends TestCase { MetadataModel mm; public void setUp() { mm = new MetadataModel(); } public void xtest_me_stack() throws Exception { mm.addDocument(); OMElement x1 = mm.get_me(); assertTrue(x1.getLocalName().equals("ExtrinsicObject")); mm.classification("a", "b", "c"); assertTrue(mm.size_me() == 1); OMElement x2 = mm.get_me(); assertTrue(x2.getLocalName().equals("Classification")); OMElement m = mm.pop_me(); assertTrue(mm.size_me() == 0); assertTrue(mm.get_me().getLocalName(), mm.get_me().getLocalName().equals("ExtrinsicObject")); } public void xtest_1() throws MetadataException, Exception { mm.addDocument() .id("Document1") .mimeType("text/plain") .name("Testdata") .slot("size", "1234") .description("Generated Metadata") .externalIdentifier("eid", "eidvlaue") .name("uniqueid") .end() .classification("scheme", mm.myId(), "foo") .name("my classification") .description("my description") .end() .grok(false) .compile() .print() ; //System.out.println(XmlFormatter.format(mm.get().toString(), false)); //mm.get(); mm.withExtrinsicObject("Document1"); assertTrue(mm.get_me().getLocalName().equals("ExtrinsicObject")); assertTrue(mm.withExtrinsicObject("Document1") .startAnd() .hasSlot("size") .hasAtt("mimeType", "text/plain") .endAnd("size or mimeType missing") .showErrors() .testResult() ); mm.withExtrinsicObject("Document1") .removeSlot("size") .startAnd() .hasSlot("size") .endAndNot() ; } public void test_submission() { try { ss_single_doc(); mm.compile(); mm .withExtrinsicObject("MyDoc") .removeSlot("creationTime") .removeSlot("hash") .removeClassifications("urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a") ; assertTrue( mm .grok(true) .print() .schemaCheck() .showErrors() .testResult() ) ; } catch (Exception e) { fail("Exception: " + e.getMessage()); } } private void ss_single_doc() throws Exception { mm .addRegistryPackage() .id("SubmissionSet") .name("My Submission Set") .description("My first generated submission set") .classification("urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d", mm.myId(), "") .slot("authorPerson", "joe") .slot("authorInstitution", "NIST") .slot("authorRole", "doc") .slot("authorSpecialty", "none") .end() .classification("urn:uuid:aa543740-bdda-424e-8c96-df4873be8500", mm.myId(), "code") .name("displayname") .slot("codingScheme", "mine") .end() .externalIdentifier("urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427", "mypid^^^domain") .name("XDSSubmissionSet.patientId") .end() .slot("submissionTime", "19991231") .externalIdentifier("urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8", "myuniqueid") .name("XDSSubmissionSet.uniqueId") .end() .end() .addDocument() .id("MyDoc") .classification("urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a", mm.myId(), "myclasscode") .name("display name") .slot("codingScheme", "a scheme") .end() .classification("urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f", mm.myId(), "very confidential") .name("display name") .slot("codingScheme", "a scheme") .end() .slot("creationTime", "00") .classification("urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d", mm.myId(), "my format") .name("display name") .slot("codingScheme", "a scheme") .end() .slot("hash", "abababa") .classification("urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1", mm.myId(), "my type") .name("display name") .slot("codingScheme", "a scheme") .end() .slot("languageCode", "en-us") .mimeType("text/plain") .externalIdentifier("urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446", "mypid^^^domain") .name("XDSDocumentEntry.patientId") .end() .classification("urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead", mm.myId(), "a practice setting") .name("display name") .slot("codingScheme", "a scheme") .end() .slot("serviceStartTime", "00") .slot("serviceStopTime", "00") .slot("size", "0") .slot("sourcePatientId", "ljs") .slot("sourcePatientInfo", "spi") .classification("urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a", mm.myId(), "my type code") .name("display name") .slot("codingScheme", "a scheme") .end() .externalIdentifier("urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab", "my unique id") .name("XDSDocumentEntry.patientId") .end() .slot("uri", "www") .end() .addAssociation() .associationType("HasMember") .sourceObject("SubmissionSet") .targetObject("MyDoc") .end(); } }