Search in sources :

Example 46 with Folder

use of org.talend.dataprep.api.folder.Folder in project data-prep by Talend.

the class AbstractFolderTest method parentIdShouldBeNullForHome.

@Test
public void parentIdShouldBeNullForHome() throws Exception {
    // when
    final Folder home = getFolderRepository().getHome();
    // then
    assertNull(home.getParentId());
}
Also used : Folder(org.talend.dataprep.api.folder.Folder) ServiceBaseTest(org.talend.ServiceBaseTest)

Example 47 with Folder

use of org.talend.dataprep.api.folder.Folder in project data-prep by Talend.

the class AbstractFolderTest method create_two_children_little_children_then_remove.

/**
 * this test create a hierarchy then delete part of it doing some assert on list, size then delete part of it
 * asserting the deletion
 */
@Test
public void create_two_children_little_children_then_remove() throws Exception {
    // - foo
    // - beer
    // +- bar
    long sizeBefore = getFolderRepository().size();
    Folder foo = getFolderRepository().addFolder(homeFolderId, "foo");
    Folder beer = getFolderRepository().addFolder(homeFolderId, "beer");
    Folder bar = getFolderRepository().addFolder(beer.getId(), "bar");
    assertChildrenSize(homeFolderId, 2);
    // testing child of /bar
    List<Folder> folders = getChildren(beer.getId());
    assertThat(folders).isNotNull().isNotEmpty().hasSize(1);
    assertThat(StringUtils.strip(folders.get(0).getPath(), "/")).isEqualToIgnoringCase("beer/bar");
    assertThat(folders.get(0).getName()).isEqualToIgnoringCase("bar");
    getFolderRepository().removeFolder(bar.getId());
    // testing child of /beer after removing the first child
    assertChildrenSize(beer.getId(), 0);
    // testing the whole size
    long sizeAfter = getFolderRepository().size();
    assertThat(sizeAfter).isEqualTo(2);
    getFolderRepository().removeFolder(foo.getId());
    getFolderRepository().removeFolder(beer.getId());
    sizeAfter = getFolderRepository().size();
    assertThat(sizeAfter).isEqualTo(sizeBefore);
    assertChildrenSize(homeFolderId, 0);
}
Also used : Folder(org.talend.dataprep.api.folder.Folder) ServiceBaseTest(org.talend.ServiceBaseTest)

Example 48 with Folder

use of org.talend.dataprep.api.folder.Folder in project data-prep by Talend.

the class AbstractFolderTest method shouldLocateEntry.

@Test
public void shouldLocateEntry() throws Exception {
    // given (root & 2 entries)
    final Folder root = getFolderRepository().getHome();
    final FolderEntry littleCreatures = new FolderEntry(DATASET, "littleCreatures");
    getFolderRepository().addFolderEntry(littleCreatures, root.getId());
    final FolderEntry bordeaux = new FolderEntry(PREPARATION, "bordeaux");
    getFolderRepository().addFolderEntry(bordeaux, root.getId());
    // given (foo & 2 entries)
    final Folder foo = getFolderRepository().addFolder(homeFolderId, "foo");
    final FolderEntry cars = new FolderEntry(DATASET, "cars");
    getFolderRepository().addFolderEntry(cars, foo.getId());
    final FolderEntry boats = new FolderEntry(PREPARATION, "boats");
    getFolderRepository().addFolderEntry(boats, foo.getId());
    // add some noise
    getFolderRepository().addFolder(foo.getId(), "bar");
    getFolderRepository().addFolder(homeFolderId, "hello");
    // then
    assertNull(getFolderRepository().locateEntry(pathToId("not to be found"), PREPARATION));
    assertEquals(root.getId(), getFolderRepository().locateEntry(bordeaux.getContentId(), bordeaux.getContentType()).getId());
    assertEquals(root.getId(), getFolderRepository().locateEntry(littleCreatures.getContentId(), littleCreatures.getContentType()).getId());
    assertEquals(foo.getId(), getFolderRepository().locateEntry(cars.getContentId(), cars.getContentType()).getId());
    assertEquals(foo.getId(), getFolderRepository().locateEntry(boats.getContentId(), boats.getContentType()).getId());
}
Also used : FolderEntry(org.talend.dataprep.api.folder.FolderEntry) Folder(org.talend.dataprep.api.folder.Folder) ServiceBaseTest(org.talend.ServiceBaseTest)

Example 49 with Folder

use of org.talend.dataprep.api.folder.Folder in project data-prep by Talend.

the class AbstractFolderTest method shouldAddMultipleInOneCallFolders.

@Test
public void shouldAddMultipleInOneCallFolders() throws Exception {
    // given
    assertEquals(0, getFolderRepository().size());
    final Folder marketing = getFolderRepository().addFolder(homeFolderId, "marketing");
    // when
    final Folder q1 = getFolderRepository().addFolder(marketing.getId(), "2016/q1");
    // then
    assertNotNull(q1);
    assertEquals(3, getFolderRepository().size());
    final Folder folder2016 = getFolderRepository().getFolderById(q1.getParentId());
    assertEquals("2016", folder2016.getName());
    assertEquals(marketing.getId(), folder2016.getParentId());
}
Also used : Folder(org.talend.dataprep.api.folder.Folder) ServiceBaseTest(org.talend.ServiceBaseTest)

Example 50 with Folder

use of org.talend.dataprep.api.folder.Folder in project data-prep by Talend.

the class APIPreparationConversions method toEnrichedPreparation.

private EnrichedPreparation toEnrichedPreparation(PreparationMessage preparationMessage, EnrichedPreparation enrichedPreparation, ApplicationContext applicationContext) {
    final SecurityProxy securityProxy = applicationContext.getBean(SecurityProxy.class);
    // Add related dataset information
    if (preparationMessage.getDataSetId() == null) {
        return enrichedPreparation;
    } else {
        // get the dataset metadata
        try {
            // because dataset are not shared
            securityProxy.asTechnicalUser();
            final DataSetGetMetadata bean = applicationContext.getBean(DataSetGetMetadata.class, preparationMessage.getDataSetId());
            final DataSetMetadata dataSetMetadata = bean.execute();
            enrichedPreparation.setSummary(new EnrichedPreparation.DataSetMetadataSummary(dataSetMetadata));
        } catch (Exception e) {
            LOGGER.debug("error reading dataset metadata {} : {}", enrichedPreparation.getId(), e);
            return enrichedPreparation;
        } finally {
            securityProxy.releaseIdentity();
        }
    }
    // Add step ids
    LinkedList<String> collected = new LinkedList<>();
    preparationMessage.getSteps().stream().map(Step::getId).forEach(s -> {
        if (s != null && (collected.isEmpty() || !collected.getLast().equals(s))) {
            collected.add(s);
        }
    });
    enrichedPreparation.setSteps(collected);
    // Add folder information
    final LocatePreparation command = applicationContext.getBean(LocatePreparation.class, enrichedPreparation.getId());
    final Folder folder = command.execute();
    enrichedPreparation.setFolder(folder);
    return enrichedPreparation;
}
Also used : LocatePreparation(org.talend.dataprep.api.service.command.preparation.LocatePreparation) EnrichedPreparation(org.talend.dataprep.api.service.api.EnrichedPreparation) SecurityProxy(org.talend.dataprep.security.SecurityProxy) Folder(org.talend.dataprep.api.folder.Folder) DataSetGetMetadata(org.talend.dataprep.command.dataset.DataSetGetMetadata) DataSetMetadata(org.talend.dataprep.api.dataset.DataSetMetadata) LinkedList(java.util.LinkedList)

Aggregations

Folder (org.talend.dataprep.api.folder.Folder)69 Test (org.junit.Test)36 Response (com.jayway.restassured.response.Response)25 BasePreparationTest (org.talend.dataprep.preparation.BasePreparationTest)21 ServiceBaseTest (org.talend.ServiceBaseTest)17 FolderEntry (org.talend.dataprep.api.folder.FolderEntry)16 TDPException (org.talend.dataprep.exception.TDPException)9 Collectors.toList (java.util.stream.Collectors.toList)7 List (java.util.List)6 Preparation (org.talend.dataprep.api.preparation.Preparation)6 DataSetMetadata (org.talend.dataprep.api.dataset.DataSetMetadata)5 RowMetadata (org.talend.dataprep.api.dataset.RowMetadata)5 FolderInfo (org.talend.dataprep.api.folder.FolderInfo)5 EnrichedPreparation (org.talend.dataprep.api.service.api.EnrichedPreparation)5 Stream (java.util.stream.Stream)4 Autowired (org.springframework.beans.factory.annotation.Autowired)4 PREPARATION (org.talend.dataprep.api.folder.FolderContentType.PREPARATION)4 ApiOperation (io.swagger.annotations.ApiOperation)3 IOException (java.io.IOException)3 InputStream (java.io.InputStream)3