Search in sources :

Example 6 with DatasetPath

use of io.hops.hopsworks.common.dataset.util.DatasetPath in project hopsworks by logicalclocks.

the class DatasetBuilder method datasetSharedWithItems.

// create dto from a list of DatasetSharedWith objects
private DatasetDTO datasetSharedWithItems(DatasetDTO dto, UriInfo uriInfo, ResourceRequest resourceRequest, Project accessProject, Users user, List<DatasetSharedWith> datasetSharedWithList, String parentPath, Users dirOwner) throws DatasetException, MetadataException, SchematizedTagException {
    if (datasetSharedWithList != null && !datasetSharedWithList.isEmpty()) {
        for (DatasetSharedWith datasetSharedWith : datasetSharedWithList) {
            DatasetPath datasetPath = datasetHelper.getTopLevelDatasetPath(accessProject, datasetSharedWith);
            dto.addItem(buildItems(uriInfo, resourceRequest, user, datasetPath, parentPath, dirOwner));
        }
    }
    return dto;
}
Also used : DatasetSharedWith(io.hops.hopsworks.persistence.entity.dataset.DatasetSharedWith) DatasetPath(io.hops.hopsworks.common.dataset.util.DatasetPath)

Example 7 with DatasetPath

use of io.hops.hopsworks.common.dataset.util.DatasetPath in project hopsworks by logicalclocks.

the class DatasetBuilder method datasetItems.

// create dto from a list of dataset
private DatasetDTO datasetItems(DatasetDTO dto, UriInfo uriInfo, ResourceRequest resourceRequest, List<Dataset> datasets, Project accessProject, Users user, String parentPath, Users dirOwner) throws DatasetException, MetadataException, SchematizedTagException {
    if (datasets != null && !datasets.isEmpty()) {
        for (Dataset dataset : datasets) {
            DatasetPath datasetPath = datasetHelper.getTopLevelDatasetPath(accessProject, dataset);
            dto.addItem(buildItems(uriInfo, resourceRequest, user, datasetPath, parentPath, dirOwner));
        }
    }
    return dto;
}
Also used : Dataset(io.hops.hopsworks.persistence.entity.dataset.Dataset) DatasetPath(io.hops.hopsworks.common.dataset.util.DatasetPath)

Example 8 with DatasetPath

use of io.hops.hopsworks.common.dataset.util.DatasetPath in project hopsworks by logicalclocks.

the class ModelsBuilder method build.

// Build specific
public ModelDTO build(UriInfo uriInfo, ResourceRequest resourceRequest, Users user, Project userProject, Project modelRegistryProject, ProvStateDTO fileProvenanceHit, String modelsFolder) throws DatasetException, ModelRegistryException, SchematizedTagException, MetadataException {
    ModelDTO modelDTO = new ModelDTO();
    uri(modelDTO, uriInfo, userProject, modelRegistryProject, fileProvenanceHit);
    if (expand(modelDTO, resourceRequest).isExpand()) {
        if (fileProvenanceHit.getXattrs() != null && fileProvenanceHit.getXattrs().containsKey(MODEL_SUMMARY_XATTR_NAME)) {
            ModelDTO modelSummary = modelUtils.convertProvenanceHitToModel(fileProvenanceHit);
            modelDTO.setId(fileProvenanceHit.getMlId());
            modelDTO.setName(modelSummary.getName());
            modelDTO.setVersion(modelSummary.getVersion());
            modelDTO.setUserFullName(modelSummary.getUserFullName());
            modelDTO.setCreated(fileProvenanceHit.getCreateTime());
            modelDTO.setMetrics(modelSummary.getMetrics());
            modelDTO.setDescription(modelSummary.getDescription());
            modelDTO.setProgram(modelSummary.getProgram());
            modelDTO.setFramework(modelSummary.getFramework());
            modelDTO.setTags(tagsBuilder.build(uriInfo, resourceRequest, user, userProject, modelRegistryProject, modelDTO));
            String modelVersionPath = modelsFolder + "/" + modelDTO.getName() + "/" + modelDTO.getVersion() + "/";
            DatasetPath modelSchemaPath = datasetHelper.getDatasetPath(userProject, modelVersionPath + Settings.HOPS_MODELS_SCHEMA, DatasetType.DATASET);
            if (resourceRequest.contains(ResourceRequest.Name.MODELSCHEMA) && modelSchemaPath.getInode() != null) {
                InodeDTO modelSchemaDTO = inodeBuilder.buildBlob(uriInfo, new ResourceRequest(ResourceRequest.Name.INODES), user, modelSchemaPath, modelSchemaPath.getInode(), FilePreviewMode.HEAD);
                modelDTO.setModelSchema(modelSchemaDTO);
            } else {
                InodeDTO modelSchemaDTO = inodeBuilder.buildResource(uriInfo, modelRegistryProject, modelSchemaPath);
                modelDTO.setModelSchema(modelSchemaDTO);
            }
            DatasetPath inputExamplePath = datasetHelper.getDatasetPath(userProject, modelVersionPath + Settings.HOPS_MODELS_INPUT_EXAMPLE, DatasetType.DATASET);
            if (resourceRequest.contains(ResourceRequest.Name.INPUTEXAMPLE) && inputExamplePath.getInode() != null) {
                InodeDTO inputExampleDTO = inodeBuilder.buildBlob(uriInfo, new ResourceRequest(ResourceRequest.Name.INODES), user, inputExamplePath, inputExamplePath.getInode(), FilePreviewMode.HEAD);
                modelDTO.setInputExample(inputExampleDTO);
            } else {
                InodeDTO inputExampleDTO = inodeBuilder.buildResource(uriInfo, modelRegistryProject, inputExamplePath);
                modelDTO.setInputExample(inputExampleDTO);
            }
            modelDTO.setEnvironment(modelSummary.getEnvironment());
            modelDTO.setExperimentId(modelSummary.getExperimentId());
            modelDTO.setExperimentProjectName(modelSummary.getExperimentProjectName());
            modelDTO.setProjectName(modelSummary.getProjectName());
            modelDTO.setModelRegistryId(modelRegistryProject.getId());
        }
    }
    return modelDTO;
}
Also used : ModelDTO(io.hops.hopsworks.api.modelregistry.models.dto.ModelDTO) InodeDTO(io.hops.hopsworks.api.dataset.inode.InodeDTO) DatasetPath(io.hops.hopsworks.common.dataset.util.DatasetPath) ResourceRequest(io.hops.hopsworks.common.api.ResourceRequest)

Example 9 with DatasetPath

use of io.hops.hopsworks.common.dataset.util.DatasetPath in project hopsworks by logicalclocks.

the class ModelTagsBuilder method build.

public TagsDTO build(UriInfo uriInfo, ResourceRequest resourceRequest, Users user, Project userProject, Project modelRegistryProject, ModelDTO model) throws SchematizedTagException, DatasetException, MetadataException {
    DatasetPath modelDsPath = datasetHelper.getDatasetPath(userProject, modelUtils.getModelFullPath(modelRegistryProject, model.getName(), model.getVersion()), DatasetType.DATASET);
    TagsDTO dto = tagsBuilder.build(uriInfo, resourceRequest, user, modelDsPath);
    uriAll(dto, uriInfo, userProject, modelRegistryProject, model.getId());
    return dto;
}
Also used : TagsDTO(io.hops.hopsworks.common.tags.TagsDTO) DatasetPath(io.hops.hopsworks.common.dataset.util.DatasetPath)

Example 10 with DatasetPath

use of io.hops.hopsworks.common.dataset.util.DatasetPath in project hopsworks by logicalclocks.

the class ModelsController method deleteInternal.

private void deleteInternal(Users user, Project project, String path) throws DatasetException {
    DatasetPath datasetPath = datasetHelper.getDatasetPath(project, path, DatasetType.DATASET);
    datasetController.delete(project, user, datasetPath.getFullPath(), datasetPath.getDataset(), datasetPath.isTopLevelDataset());
}
Also used : DatasetPath(io.hops.hopsworks.common.dataset.util.DatasetPath)

Aggregations

DatasetPath (io.hops.hopsworks.common.dataset.util.DatasetPath)26 Users (io.hops.hopsworks.persistence.entity.user.Users)15 Path (javax.ws.rs.Path)14 Produces (javax.ws.rs.Produces)14 AllowedProjectRoles (io.hops.hopsworks.api.filter.AllowedProjectRoles)13 JWTRequired (io.hops.hopsworks.jwt.annotation.JWTRequired)13 ApiOperation (io.swagger.annotations.ApiOperation)13 ApiKeyRequired (io.hops.hopsworks.api.filter.apiKey.ApiKeyRequired)10 ResourceRequest (io.hops.hopsworks.common.api.ResourceRequest)9 DatasetException (io.hops.hopsworks.exceptions.DatasetException)9 Project (io.hops.hopsworks.persistence.entity.project.Project)9 Dataset (io.hops.hopsworks.persistence.entity.dataset.Dataset)8 GET (javax.ws.rs.GET)7 TagsDTO (io.hops.hopsworks.common.tags.TagsDTO)5 GenericException (io.hops.hopsworks.exceptions.GenericException)4 WebApplicationException (javax.ws.rs.WebApplicationException)4 InodeDTO (io.hops.hopsworks.api.dataset.inode.InodeDTO)3 DELETE (javax.ws.rs.DELETE)3 PUT (javax.ws.rs.PUT)3 ProvArtifactUsageParentDTO (io.hops.hopsworks.api.provenance.ops.dto.ProvArtifactUsageParentDTO)2