Search in sources :

Example 16 with Folder

use of com.nedap.archie.rm.directory.Folder in project ehrbase by ehrbase.

the class FolderAccessTest method shouldInsertFolderWithNoSubfolders.

@Test
@Ignore
public void shouldInsertFolderWithNoSubfolders() throws Exception {
    // the creation and commit returning valid ids implies that the FolderMockDataProvider.java has provided the corresponding result for each SQL generated when inserting
    // create folder to insert
    Folder folder = new Folder();
    UIDBasedId uid = new ObjectVersionId("f8a2af65-fe89-45a4-9456-07c5e17b1634");
    ObjectVersionId uidim = new ObjectVersionId("f8a2af65-fe89-45a4-9456-07c5e17b1634");
    folder.setUid(uid);
    DvText name = new DvText();
    name.setValue("nameOfFolder");
    folder.setName(name);
    folder.setArchetypeNodeId("archetype_1");
    ItemStructure is = new ItemStructure() {

        @Override
        public List getItems() {
            Item item = new Item() {

                @Override
                public DvText getName() {
                    return new DvText("fol1");
                }
            };
            List<Item> items = new ArrayList<>();
            items.add(item);
            return items;
        }
    };
    folder.setDetails(is);
    // insert folder
    FolderAccess fa1 = new FolderAccess(testDomainAccess);
    FolderAccess fa2 = (FolderAccess) FolderAccess.getNewFolderAccessInstance(fa1, folder, DateTime.now(), UUID.fromString("f6a2af65-fe89-45a4-9456-07c5e17b1634"));
    assertEquals("f8a2af65-fe89-45a4-9456-07c5e17b1634", fa2.getFolderRecord().getId().toString());
    assertEquals("archetype_1", fa2.getFolderRecord().getArchetypeNodeId());
    assertEquals("nameOfFolder", fa2.getFolderRecord().getName());
    String expected = ("'{\n" + "  \"_type\" : \"\",\n" + "  \"items\" : [ {\n" + "    \"name\" : {\n" + "      \"_type\" : \"DV_TEXT\",\n" + "      \"value\" : \"fol1\"\n" + "    }\n" + "  } ]\n" + "}'::jsonb").replaceAll("\\n|\\r\\n", // avoids problems amond different platforms due to different representations of line change.
    System.getProperty("line.separator"));
    StringWriter expectedStringWriter = new StringWriter();
    PrintWriter printWriter = new PrintWriter(expectedStringWriter);
    // avoids problems amond different platforms due to different representations of line change.
    printWriter.print(expected);
    printWriter.close();
    assertEquals(expectedStringWriter.toString(), fa2.getFolderRecord().getDetails().toString());
    // commit and check returned UID is the valid one
    UUID storedFolderUid = fa2.commit(LocalDateTime.now(), UUID.randomUUID());
    assertEquals("f8a2af65-fe89-45a4-9456-07c5e17b1634", storedFolderUid.toString());
}
Also used : UIDBasedId(com.nedap.archie.rm.support.identification.UIDBasedId) ArrayList(java.util.ArrayList) ItemStructure(com.nedap.archie.rm.datastructures.ItemStructure) ObjectVersionId(com.nedap.archie.rm.support.identification.ObjectVersionId) Folder(com.nedap.archie.rm.directory.Folder) DvText(com.nedap.archie.rm.datavalues.DvText) I_FolderAccess(org.ehrbase.dao.access.interfaces.I_FolderAccess) Item(com.nedap.archie.rm.datastructures.Item) StringWriter(java.io.StringWriter) UUID(java.util.UUID) PrintWriter(java.io.PrintWriter) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 17 with Folder

use of com.nedap.archie.rm.directory.Folder in project ehrbase by ehrbase.

the class FolderUtilsTest method detectsDuplicateFolderNames.

@Test(expected = IllegalArgumentException.class)
public void detectsDuplicateFolderNames() throws IOException {
    String value = IOUtils.toString(FolderTestDataCanonicalJson.FOLDER_WITH_DUPLICATE_NAMES.getStream(), UTF_8);
    Folder testFolder = canonicalJson.unmarshal(value, Folder.class);
    FolderUtils.checkSiblingNameConflicts(testFolder);
}
Also used : Folder(com.nedap.archie.rm.directory.Folder) Test(org.junit.Test)

Aggregations

Folder (com.nedap.archie.rm.directory.Folder)17 Test (org.junit.Test)12 UUID (java.util.UUID)7 I_FolderAccess (org.ehrbase.dao.access.interfaces.I_FolderAccess)6 DvText (com.nedap.archie.rm.datavalues.DvText)5 Ignore (org.junit.Ignore)5 ObjectVersionId (com.nedap.archie.rm.support.identification.ObjectVersionId)4 ArrayList (java.util.ArrayList)4 ItemStructure (com.nedap.archie.rm.datastructures.ItemStructure)3 UIDBasedId (com.nedap.archie.rm.support.identification.UIDBasedId)3 I_ContributionAccess (org.ehrbase.dao.access.interfaces.I_ContributionAccess)3 Item (com.nedap.archie.rm.datastructures.Item)2 ObjectRef (com.nedap.archie.rm.support.identification.ObjectRef)2 PrintWriter (java.io.PrintWriter)2 StringWriter (java.io.StringWriter)2 VersionUid (org.ehrbase.client.openehrclient.VersionUid)2 StructuredString (org.ehrbase.response.ehrscape.StructuredString)2 TemporaryFolder (org.junit.rules.TemporaryFolder)2 ObjectId (com.nedap.archie.rm.support.identification.ObjectId)1 PartyRef (com.nedap.archie.rm.support.identification.PartyRef)1