From 5ae9017b3f55ce40b204c7e3e55eddb875fc0309 Mon Sep 17 00:00:00 2001 From: Kolea PLESCO Date: Sun, 31 Dec 2023 19:45:34 +0200 Subject: [PATCH] updates --- .../backend/mapping_package/models/entity.py | 10 +++++----- .../backend/test_data_suite/models/entity.py | 9 +++++++-- .../frontend/src/api/test-data-suites/index.js | 1 + .../app/specific-triple-map-fragments/[id]/edit.js | 2 -- .../frontend/src/pages/app/test-data-suites/create.js | 2 -- .../sections/app/conceptual-mapping-rule/list-table.js | 4 ++-- .../app/file-manager/file-collection-edit-form.js | 10 ++++++++++ .../mapping-package-form-select.js | 10 +++++----- .../src/sections/app/mapping-package/edit-form.js | 8 ++++---- .../app/specific-triple-map-fragment/edit-form.js | 7 ++----- .../app/specific-triple-map-fragment/list-table.js | 2 +- 11 files changed, 37 insertions(+), 28 deletions(-) diff --git a/mapping_workbench/backend/mapping_package/models/entity.py b/mapping_workbench/backend/mapping_package/models/entity.py index 09ccb78c7..a0612a826 100644 --- a/mapping_workbench/backend/mapping_package/models/entity.py +++ b/mapping_workbench/backend/mapping_package/models/entity.py @@ -13,7 +13,7 @@ BaseProjectResourceEntityInSchema, BaseProjectResourceEntityOutSchema from mapping_workbench.backend.shacl_test_suite.models.entity import SHACLTestSuite from mapping_workbench.backend.state_manager.models.state_object import ObjectState, StatefulObjectABC -from mapping_workbench.backend.test_data_suite.models.entity import TestDataSuite, TestDataSuiteState +#from mapping_workbench.backend.test_data_suite.models.entity import TestDataSuite, TestDataSuiteState class MappingPackageException(Exception): @@ -30,7 +30,7 @@ class MappingPackageIn(BaseProjectResourceEntityInSchema): end_date: Optional[datetime] = None min_xsd_version: Optional[str] = None max_xsd_version: Optional[str] = None - test_data_suites: Optional[List[Optional[Link[TestDataSuite]]]] = None + #test_data_suites: Optional[List[Optional[Link[TestDataSuite]]]] = None shacl_test_suites: Optional[List[Optional[Link[SHACLTestSuite]]]] = None @@ -56,7 +56,7 @@ class MappingPackageOut(BaseProjectResourceEntityOutSchema): end_date: Optional[datetime] = None min_xsd_version: Optional[str] = None max_xsd_version: Optional[str] = None - test_data_suites: Optional[List[Link[TestDataSuite]]] = None + #test_data_suites: Optional[List[Link[TestDataSuite]]] = None shacl_test_suites: Optional[List[Link[SHACLTestSuite]]] = None @@ -74,7 +74,7 @@ class MappingPackageState(ObjectState): end_date: Optional[datetime] = None min_xsd_version: Optional[str] = None max_xsd_version: Optional[str] = None - test_data_suites: List[TestDataSuiteState] = [] + #test_data_suites: List[TestDataSuiteState] = [] shacl_test_suites: List[SHACLTestSuite] = [] conceptual_mapping_rule_states: List[ConceptualMappingRuleState] = [] @@ -89,7 +89,7 @@ class MappingPackage(BaseProjectResourceEntity, StatefulObjectABC): end_date: Optional[datetime] = None min_xsd_version: Optional[str] = None max_xsd_version: Optional[str] = None - test_data_suites: Optional[List[Link[TestDataSuite]]] = None + #test_data_suites: Optional[List[Link[TestDataSuite]]] = None shacl_test_suites: Optional[List[Link[SHACLTestSuite]]] = None async def get_conceptual_mapping_rules(self) -> List[ConceptualMappingRuleState]: diff --git a/mapping_workbench/backend/test_data_suite/models/entity.py b/mapping_workbench/backend/test_data_suite/models/entity.py index 4455d5599..29a61d304 100644 --- a/mapping_workbench/backend/test_data_suite/models/entity.py +++ b/mapping_workbench/backend/test_data_suite/models/entity.py @@ -2,12 +2,13 @@ from typing import Optional, List import pymongo -from beanie import Link +from beanie import Link, PydanticObjectId from pymongo import IndexModel from mapping_workbench.backend.core.models.base_project_resource_entity import BaseProjectResourceEntity from mapping_workbench.backend.file_resource.models.file_resource import FileResource, FileResourceCollection, \ FileResourceIn +from mapping_workbench.backend.mapping_package.models.entity import MappingPackage from mapping_workbench.backend.shacl_test_suite.models.validator import SHACLTestDataValidationResult from mapping_workbench.backend.sparql_test_suite.models.validator import SPARQLTestDataValidationResult from mapping_workbench.backend.state_manager.models.state_object import StatefulObjectABC, ObjectState @@ -100,8 +101,12 @@ class TestDataSuiteState(ObjectState): test_data_states: List[TestDataState] -class TestDataSuite(FileResourceCollection, StatefulObjectABC): +class TestDataSuite( + FileResourceCollection, + StatefulObjectABC +): file_resources: Optional[List[Link[TestDataFileResource]]] = [] + mapping_package_id: Optional[PydanticObjectId] = None async def get_state(self) -> TestDataSuiteState: title = self.title diff --git a/mapping_workbench/frontend/src/api/test-data-suites/index.js b/mapping_workbench/frontend/src/api/test-data-suites/index.js index 91b8d0d2f..d47aa9998 100644 --- a/mapping_workbench/frontend/src/api/test-data-suites/index.js +++ b/mapping_workbench/frontend/src/api/test-data-suites/index.js @@ -14,6 +14,7 @@ class TestDataSuitesApi extends FileCollectionsApi { constructor() { super("test_data_suites"); this.isProjectResource = true; + this.hasMappingPackage = true; } async getValuesForSelector(request = {}) { diff --git a/mapping_workbench/frontend/src/pages/app/specific-triple-map-fragments/[id]/edit.js b/mapping_workbench/frontend/src/pages/app/specific-triple-map-fragments/[id]/edit.js index f42ca2bc2..7c4538eff 100644 --- a/mapping_workbench/frontend/src/pages/app/specific-triple-map-fragments/[id]/edit.js +++ b/mapping_workbench/frontend/src/pages/app/specific-triple-map-fragments/[id]/edit.js @@ -1,7 +1,5 @@ import ArrowLeftIcon from '@untitled-ui/icons-react/build/esm/ArrowLeft'; -import Box from '@mui/material/Box'; import Chip from '@mui/material/Chip'; -import Container from '@mui/material/Container'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import SvgIcon from '@mui/material/SvgIcon'; diff --git a/mapping_workbench/frontend/src/pages/app/test-data-suites/create.js b/mapping_workbench/frontend/src/pages/app/test-data-suites/create.js index b7084d58a..9ee39ad53 100644 --- a/mapping_workbench/frontend/src/pages/app/test-data-suites/create.js +++ b/mapping_workbench/frontend/src/pages/app/test-data-suites/create.js @@ -1,6 +1,4 @@ import ArrowLeftIcon from '@untitled-ui/icons-react/build/esm/ArrowLeft'; -import Box from '@mui/material/Box'; -import Container from '@mui/material/Container'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import SvgIcon from '@mui/material/SvgIcon'; diff --git a/mapping_workbench/frontend/src/sections/app/conceptual-mapping-rule/list-table.js b/mapping_workbench/frontend/src/sections/app/conceptual-mapping-rule/list-table.js index 510d71d61..226604bb3 100644 --- a/mapping_workbench/frontend/src/sections/app/conceptual-mapping-rule/list-table.js +++ b/mapping_workbench/frontend/src/sections/app/conceptual-mapping-rule/list-table.js @@ -301,7 +301,7 @@ export const ListTableMappingPackages = (props) => { isHovered } = props; - let ruleFilteredMappingPackages = item.mapping_packages.map(x => x.id); + let ruleFilteredMappingPackages = (item.mapping_packages || []).map(x => x.id); const [mappingPackages, setMappingPackages] = useState(ruleFilteredMappingPackages); const [projectMappingPackages, setProjectMappingPackages] = useState(initProjectMappingPackages || []); const [tempMappingPackages, setTempMappingPackages] = @@ -665,7 +665,7 @@ export const ListTableRow = (props) => { - {item.source_xpath.map( + {item.source_xpath && item.source_xpath.map( x => ( { @@ -49,6 +50,10 @@ export const FileCollectionEditForm = (props) => { initialValues['type'] = item.type || null; } + if (sectionApi.hasMappingPackage) { + initialValues['mapping_package_id'] = item.mapping_package_id || ''; + } + switch (sectionApi.section) { case 'test_data_suites': customPathName = paths.app.test_data_suites.index; @@ -131,6 +136,11 @@ export const FileCollectionEditForm = (props) => { > + {sectionApi.hasMappingPackage && ( + + + + )} {sectionApi.hasFileCollectionType && ( { const handleMappingPackageChange = useCallback(async (event) => { let value = event.target.value; - formik.setFieldValue('mapping_package', value); + formik.setFieldValue('mapping_package_id', value); }, [formik]) return ( <> {mappingPackagesStore.items.map((mapping_package) => ( { end_date: item.end_date && new Date(item.end_date) || '', min_xsd_version: item.min_xsd_version || '', max_xsd_version: item.max_xsd_version || '', - test_data_suites: (item.test_data_suites || []).map(x => x.id), + //test_data_suites: (item.test_data_suites || []).map(x => x.id), shacl_test_suites: (item.shacl_test_suites || []).map(x => x.id) }; @@ -125,7 +125,7 @@ export const EditForm = (props) => { - + {false && @@ -136,7 +136,7 @@ export const EditForm = (props) => { - + } diff --git a/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/edit-form.js b/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/edit-form.js index 953a3e4df..9417f4e32 100644 --- a/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/edit-form.js +++ b/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/edit-form.js @@ -16,9 +16,6 @@ import {FormTextField} from "../../../components/app/form/text-field"; import {sessionApi} from "../../../api/session"; import {MappingPackageFormSelect} from "../mapping-package/components/mapping-package-form-select"; import {FormCodeTextArea} from "../../../components/app/form/code-text-area"; -import FormControl from "@mui/material/FormControl"; -import FormLabel from "@mui/material/FormLabel"; -import Select from "@mui/material/Select"; import MenuItem from "@mui/material/MenuItem"; import TextField from "@mui/material/TextField"; import * as React from "react"; @@ -34,7 +31,7 @@ export const EditForm = (props) => { triple_map_uri: item.triple_map_uri || '', triple_map_content: item.triple_map_content || '', format: item.format || sectionApi.FILE_RESOURCE_DEFAULT_FORMAT || '', - mapping_package: (item.mapping_package && item.mapping_package.id) || '' + mapping_package_id: item.mapping_package_id || '' }; const formik = useFormik({ @@ -45,7 +42,7 @@ export const EditForm = (props) => { .max(255) .required('URI is required'), triple_map_content: Yup.string(), - mapping_package: Yup.string().max(255).required('Package is required') + mapping_package_id: Yup.string().max(255).required('Package is required') }), onSubmit: async (values, helpers) => { try { diff --git a/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/list-table.js b/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/list-table.js index e26a83dd3..6a2277c88 100644 --- a/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/list-table.js +++ b/mapping_workbench/frontend/src/sections/app/specific-triple-map-fragment/list-table.js @@ -184,7 +184,7 @@ export const ListTable = (props) => { - {projectMappingPackagesMap[item.mapping_package.id]} + {item.mapping_package && projectMappingPackagesMap[item.mapping_package.id]} {