diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseAnnotationDTOCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseAnnotationDTOCrudController.java index 701b31726..7476761e6 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseAnnotationDTOCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseAnnotationDTOCrudController.java @@ -3,13 +3,13 @@ import org.alliancegenome.curation_api.dao.base.BaseSQLDAO; import org.alliancegenome.curation_api.enums.BackendBulkDataProvider; import org.alliancegenome.curation_api.exceptions.ObjectUpdateException; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; import org.alliancegenome.curation_api.model.entities.Annotation; import org.alliancegenome.curation_api.model.ingest.dto.AnnotationDTO; import org.alliancegenome.curation_api.services.base.BaseAnnotationDTOCrudService; public abstract class BaseAnnotationDTOCrudController, E extends Annotation, T extends AnnotationDTO, D extends BaseSQLDAO> extends BaseEntityCrudController - implements BaseDTOCrudControllerInterface { + implements BaseUpsertControllerInterface { protected abstract void init(); @@ -21,7 +21,7 @@ protected void setService(S service) { } public E upsert(T dto) throws ObjectUpdateException { - return upsert(dto, null); + return service.upsert(dto); } public E upsert(T dto, BackendBulkDataProvider dataProvider) throws ObjectUpdateException { diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseDTOCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseDTOCrudController.java deleted file mode 100644 index 391032d7b..000000000 --- a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseDTOCrudController.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.alliancegenome.curation_api.controllers.base; - -import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; -import org.alliancegenome.curation_api.enums.BackendBulkDataProvider; -import org.alliancegenome.curation_api.exceptions.ObjectUpdateException; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; -import org.alliancegenome.curation_api.model.ingest.dto.base.BaseDTO; -import org.alliancegenome.curation_api.services.base.BaseDTOCrudService; - -public abstract class BaseDTOCrudController, E extends BaseEntity, T extends BaseDTO, D extends BaseEntityDAO> extends BaseEntityCrudController - implements BaseDTOCrudControllerInterface { - - protected abstract void init(); - - private BaseDTOCrudService service; - - protected void setService(S service) { - super.setService(service); - this.service = service; - } - - public E upsert(T dto) throws ObjectUpdateException { - return upsert(dto, null); - } - - public E upsert(T dto, BackendBulkDataProvider dataProvider) throws ObjectUpdateException { - return service.upsert(dto, dataProvider); - } - -} diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseDocumentController.java b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseDocumentController.java index d8fa1b17f..233c8b4ac 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseDocumentController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseDocumentController.java @@ -4,13 +4,12 @@ import org.alliancegenome.curation_api.dao.base.BaseDocumentDAO; import org.alliancegenome.curation_api.document.base.BaseDocument; -import org.alliancegenome.curation_api.interfaces.base.BaseIdDocumentInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSearchControllerInterface; import org.alliancegenome.curation_api.model.input.Pagination; -import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; import org.alliancegenome.curation_api.services.base.BaseDocumentService; -public abstract class BaseDocumentController, E extends BaseDocument, D extends BaseDocumentDAO> implements BaseIdDocumentInterface { +public abstract class BaseDocumentController, E extends BaseDocument, D extends BaseDocumentDAO> implements BaseSearchControllerInterface { private BaseDocumentService service; @@ -20,10 +19,6 @@ protected void setService(S service) { protected abstract void init(); - public ObjectResponse get(String curie) { - return service.get(curie); - } - public SearchResponse search(Integer page, Integer limit, HashMap params) { if (params == null) params = new HashMap(); diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseEntityCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseEntityCrudController.java index 8d09ec930..0a33a6b99 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseEntityCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseEntityCrudController.java @@ -5,14 +5,14 @@ import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; import org.alliancegenome.curation_api.interfaces.base.BaseIdCrudInterface; -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import org.alliancegenome.curation_api.model.input.Pagination; import org.alliancegenome.curation_api.response.ObjectListResponse; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; import org.alliancegenome.curation_api.services.base.BaseEntityCrudService; -public abstract class BaseEntityCrudController, E extends BaseEntity, D extends BaseEntityDAO> implements BaseIdCrudInterface { +public abstract class BaseEntityCrudController, E extends AuditedObject, D extends BaseEntityDAO> implements BaseIdCrudInterface { protected BaseEntityCrudService service; @@ -30,16 +30,24 @@ public ObjectListResponse create(List entities) { return service.create(entities); } - public ObjectResponse get(Long id) { - return service.get(id); + public ObjectResponse getById(Long id) { + return service.getById(id); + } + + public ObjectResponse getByCurie(String curie) { + return service.getByCurie(curie); } public ObjectResponse update(E entity) { return service.update(entity); } - public ObjectResponse delete(Long id) { - return service.delete(id); + public ObjectResponse deleteByCurie(String curie) { + return service.deleteByCurie(curie); + } + + public ObjectResponse deleteById(Long id) { + return service.deleteById(id); } public SearchResponse findByField(String field, String value) { diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseOntologyTermController.java b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseOntologyTermController.java index 5890d4a75..57bce9a37 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseOntologyTermController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/base/BaseOntologyTermController.java @@ -10,7 +10,7 @@ import org.alliancegenome.curation_api.services.helpers.GenericOntologyLoadHelper; import org.alliancegenome.curation_api.util.ProcessDisplayHelper; -public abstract class BaseOntologyTermController, E extends OntologyTerm, D extends BaseEntityDAO> extends CurieObjectCrudController> { +public abstract class BaseOntologyTermController, E extends OntologyTerm, D extends BaseEntityDAO> extends BaseEntityCrudController> { private GenericOntologyLoadHelper loader; diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/base/CurieObjectCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/base/CurieObjectCrudController.java deleted file mode 100644 index e618e1501..000000000 --- a/src/main/java/org/alliancegenome/curation_api/controllers/base/CurieObjectCrudController.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.alliancegenome.curation_api.controllers.base; - -import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; -import org.alliancegenome.curation_api.interfaces.base.CurieObjectCrudInterface; -import org.alliancegenome.curation_api.model.entities.base.CurieObject; -import org.alliancegenome.curation_api.response.ObjectResponse; -import org.alliancegenome.curation_api.services.base.CurieObjectCrudService; - -public abstract class CurieObjectCrudController, E extends CurieObject, D extends BaseEntityDAO> extends BaseEntityCrudController implements CurieObjectCrudInterface { - - protected CurieObjectCrudService service; - - protected void setService(S service) { - super.setService(service); - this.service = service; - } - - public ObjectResponse get(String curie) { - return service.get(curie); - } - - public ObjectResponse delete(String curie) { - return service.delete(curie); - } - -} diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/base/SubmittedObjectCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/base/SubmittedObjectCrudController.java index 1986fef94..30addd988 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/base/SubmittedObjectCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/base/SubmittedObjectCrudController.java @@ -3,13 +3,17 @@ import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; import org.alliancegenome.curation_api.enums.BackendBulkDataProvider; import org.alliancegenome.curation_api.exceptions.ObjectUpdateException; -import org.alliancegenome.curation_api.interfaces.base.SubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSubmittedObjectCrudInterface; import org.alliancegenome.curation_api.model.entities.base.SubmittedObject; import org.alliancegenome.curation_api.model.ingest.dto.base.BaseDTO; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.services.base.SubmittedObjectCrudService; -public abstract class SubmittedObjectCrudController, E extends SubmittedObject, T extends BaseDTO, D extends BaseEntityDAO> extends CurieObjectCrudController implements SubmittedObjectCrudInterface { +public abstract class SubmittedObjectCrudController, E extends SubmittedObject, T extends BaseDTO, D extends BaseEntityDAO> extends BaseEntityCrudController implements + BaseSubmittedObjectCrudInterface, + BaseUpsertControllerInterface +{ protected SubmittedObjectCrudService service; @@ -18,22 +22,20 @@ protected void setService(S service) { this.service = service; } - @Override - public ObjectResponse get(String identifierString) { - return service.get(identifierString); - } - - @Override - public ObjectResponse delete(String identifierString) { - return service.delete(identifierString); - } - public E upsert(T dto) throws ObjectUpdateException { - return upsert(dto, null); + return service.upsert(dto); } public E upsert(T dto, BackendBulkDataProvider dataProvider) throws ObjectUpdateException { return service.upsert(dto, dataProvider); } + public ObjectResponse getByIdentifier(String identifierString) { + return service.getByIdentifier(identifierString); + } + + public ObjectResponse deleteByIdentifier(String identifierString) { + return service.deleteByIdentifier(identifierString); + } + } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMDiseaseAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMDiseaseAnnotationCrudController.java index 105ea417d..f2213b503 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMDiseaseAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMDiseaseAnnotationCrudController.java @@ -34,7 +34,8 @@ public APIResponse updateAgmDiseaseAnnotations(String dataProvider, List get(String identifierString) { - return agmDiseaseAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return agmDiseaseAnnotationService.getByIdentifier(identifierString); } + } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMPhenotypeAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMPhenotypeAnnotationCrudController.java index c40c84513..71ba5fab8 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMPhenotypeAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AGMPhenotypeAnnotationCrudController.java @@ -23,7 +23,7 @@ protected void init() { setService(agmPhenotypeAnnotationService); } - public ObjectResponse get(String identifierString) { - return agmPhenotypeAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return agmPhenotypeAnnotationService.getByIdentifier(identifierString); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AlleleDiseaseAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AlleleDiseaseAnnotationCrudController.java index 4ae69ebcf..91480e98a 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AlleleDiseaseAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AlleleDiseaseAnnotationCrudController.java @@ -35,7 +35,8 @@ public APIResponse updateAlleleDiseaseAnnotations(String dataProvider, List get(String identifierString) { - return alleleDiseaseAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return alleleDiseaseAnnotationService.getByIdentifier(identifierString); } + } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AllelePhenotypeAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AllelePhenotypeAnnotationCrudController.java index 27f1c2b0f..3b44c4914 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/AllelePhenotypeAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/AllelePhenotypeAnnotationCrudController.java @@ -23,7 +23,7 @@ protected void init() { setService(allelePhenotypeAnnotationService); } - public ObjectResponse get(String identifierString) { - return allelePhenotypeAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return allelePhenotypeAnnotationService.getByIdentifier(identifierString); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ConstructCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ConstructCrudController.java index 85cab928c..9a5719b0e 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ConstructCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ConstructCrudController.java @@ -16,8 +16,7 @@ import jakarta.inject.Inject; @RequestScoped -public class ConstructCrudController extends SubmittedObjectCrudController - implements ConstructCrudInterface { +public class ConstructCrudController extends SubmittedObjectCrudController implements ConstructCrudInterface { @Inject ConstructService constructService; @@ -34,4 +33,6 @@ protected void init() { public APIResponse updateConstructs(String dataProvider, List annotations) { return constructExecutor.runLoad(dataProvider, annotations); } + + } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/DiseaseAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/DiseaseAnnotationCrudController.java index 4046db7f0..43a5ed02c 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/DiseaseAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/DiseaseAnnotationCrudController.java @@ -23,7 +23,7 @@ protected void init() { setService(diseaseAnnotationService); } - public ObjectResponse get(String identifierString) { - return diseaseAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return diseaseAnnotationService.getByIdentifier(identifierString); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneDiseaseAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneDiseaseAnnotationCrudController.java index b5a78c4fe..a49b82f03 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneDiseaseAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneDiseaseAnnotationCrudController.java @@ -35,7 +35,7 @@ public APIResponse updateGeneDiseaseAnnotations(String dataProvider, List get(String identifierString) { - return geneDiseaseAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return geneDiseaseAnnotationService.getByIdentifier(identifierString); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneGeneticInteractionCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneGeneticInteractionCrudController.java index fe121c0d4..61638591b 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneGeneticInteractionCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneGeneticInteractionCrudController.java @@ -31,11 +31,12 @@ protected void init() { setService(geneGeneticInteractionService); } - public ObjectResponse get(String identifierString) { - return geneGeneticInteractionService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return geneGeneticInteractionService.getByIdentifier(identifierString); } public APIResponse updateInteractions(List interactionData) { return geneGeneticInteractionExecutor.runLoad(interactionData); } + } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneInteractionCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneInteractionCrudController.java index fa540480c..06d24a244 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneInteractionCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneInteractionCrudController.java @@ -24,7 +24,7 @@ protected void init() { setService(geneInteractionService); } - public ObjectResponse get(String identifierString) { - return geneInteractionService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return geneInteractionService.getByIdentifer(identifierString); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneMolecularInteractionCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneMolecularInteractionCrudController.java index e610d6724..c5c6630e9 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneMolecularInteractionCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GeneMolecularInteractionCrudController.java @@ -31,8 +31,8 @@ protected void init() { setService(geneMolecularInteractionService); } - public ObjectResponse get(String identifierString) { - return geneMolecularInteractionService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return geneMolecularInteractionService.getByIdentifier(identifierString); } public APIResponse updateInteractions(List interactionData) { diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GenePhenotypeAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GenePhenotypeAnnotationCrudController.java index a68ca4e61..eed8cbe4e 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/GenePhenotypeAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/GenePhenotypeAnnotationCrudController.java @@ -23,7 +23,7 @@ protected void init() { setService(genePhenotypeAnnotationService); } - public ObjectResponse get(String identifierString) { - return genePhenotypeAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return genePhenotypeAnnotationService.getByIdentifier(identifierString); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/InformationContentEntityCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/InformationContentEntityCrudController.java index 9bfe35e6d..eadc0fe3f 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/InformationContentEntityCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/InformationContentEntityCrudController.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.controllers.crud; -import org.alliancegenome.curation_api.controllers.base.CurieObjectCrudController; +import org.alliancegenome.curation_api.controllers.base.BaseEntityCrudController; import org.alliancegenome.curation_api.dao.InformationContentEntityDAO; import org.alliancegenome.curation_api.interfaces.crud.InformationContentEntityCrudInterface; import org.alliancegenome.curation_api.model.entities.InformationContentEntity; @@ -11,7 +11,7 @@ import jakarta.inject.Inject; @RequestScoped -public class InformationContentEntityCrudController extends CurieObjectCrudController +public class InformationContentEntityCrudController extends BaseEntityCrudController implements InformationContentEntityCrudInterface { @Inject diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/MoleculeCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/MoleculeCrudController.java index 7091275d1..b9b9565c7 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/MoleculeCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/MoleculeCrudController.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.controllers.crud; -import org.alliancegenome.curation_api.controllers.base.CurieObjectCrudController; +import org.alliancegenome.curation_api.controllers.base.BaseEntityCrudController; import org.alliancegenome.curation_api.dao.MoleculeDAO; import org.alliancegenome.curation_api.interfaces.crud.MoleculeCrudInterface; import org.alliancegenome.curation_api.jobs.executors.MoleculeExecutor; @@ -16,7 +16,7 @@ import jakarta.inject.Inject; @RequestScoped -public class MoleculeCrudController extends CurieObjectCrudController implements MoleculeCrudInterface { +public class MoleculeCrudController extends BaseEntityCrudController implements MoleculeCrudInterface { @Inject MoleculeService moleculeService; diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/PhenotypeAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/PhenotypeAnnotationCrudController.java index a44c715be..7625529b0 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/PhenotypeAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/PhenotypeAnnotationCrudController.java @@ -30,8 +30,8 @@ protected void init() { setService(phenotypeAnnotationService); } - public ObjectResponse get(String identifierString) { - return phenotypeAnnotationService.get(identifierString); + public ObjectResponse getByIdentifier(String identifierString) { + return phenotypeAnnotationService.getByIdentifier(identifierString); } public APIResponse updatePhenotypeAnnotations(String dataProvider, List annotations) { diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ReferenceCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ReferenceCrudController.java index 454085168..44d31ceb7 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ReferenceCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ReferenceCrudController.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.controllers.crud; -import org.alliancegenome.curation_api.controllers.base.CurieObjectCrudController; +import org.alliancegenome.curation_api.controllers.base.BaseEntityCrudController; import org.alliancegenome.curation_api.dao.ReferenceDAO; import org.alliancegenome.curation_api.interfaces.crud.ReferenceCrudInterface; import org.alliancegenome.curation_api.model.entities.Reference; @@ -12,7 +12,7 @@ import jakarta.inject.Inject; @RequestScoped -public class ReferenceCrudController extends CurieObjectCrudController implements ReferenceCrudInterface { +public class ReferenceCrudController extends BaseEntityCrudController implements ReferenceCrudInterface { @Inject ReferenceService referenceService; diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorCrudController.java index 522cb9c63..306afd8e2 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorCrudController.java @@ -24,8 +24,8 @@ protected void init() { } @Override - public ObjectResponse get(Long id) { - return resourceDescriptorService.get(id); + public ObjectResponse getById(Long id) { + return resourceDescriptorService.getById(id); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorPageCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorPageCrudController.java index 773174bde..3b8de5d8a 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorPageCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/ResourceDescriptorPageCrudController.java @@ -24,8 +24,8 @@ protected void init() { } @Override - public ObjectResponse get(Long id) { - return resourceDescriptorPageService.get(id); + public ObjectResponse getById(Long id) { + return resourceDescriptorPageService.getById(id); } } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyCrudController.java index a67babe2e..7f2bc4ac2 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyCrudController.java @@ -27,8 +27,8 @@ protected void init() { } @Override - public ObjectResponse get(Long id) { - return vocabularyService.get(id); + public ObjectResponse getById(Long id) { + return vocabularyService.getById(id); } public ObjectResponse findByName(String name) { @@ -42,7 +42,7 @@ public ObjectResponse findByName(String name) { @Override public ObjectListResponse getTerms(Long id) { - ObjectResponse vocab = vocabularyService.get(id); + ObjectResponse vocab = vocabularyService.getById(id); ObjectListResponse terms = new ObjectListResponse(); terms.setEntities(vocab.getEntity().getMemberTerms()); return terms; diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermCrudController.java index e06b87467..dd4a6a63d 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermCrudController.java @@ -27,17 +27,17 @@ protected void init() { } @Override - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { ObjectResponse ret; try { - ret = vocabularyTermService.delete(id); + ret = vocabularyTermService.deleteById(id); } catch (ConstraintViolationException cve) { ret = new ObjectResponse<>(); ret.setErrorMessage("Could not delete vocabulary term: [" + id + "]"); throw new ApiErrorException(ret); } catch (Exception p) { String message = ExceptionUtils.getRootCauseMessage(p); - message = "Vocabulary Term [" + get(id).getEntity().getName() + "] is still being used. \r\n" + message; + message = "Vocabulary Term [" + vocabularyTermService.getById(id).getEntity().getName() + "] is still being used. \r\n" + message; ret = new ObjectResponse<>(); ret.setErrorMessage(message); throw new ApiErrorException(ret); diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermSetCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermSetCrudController.java index 75b757dd0..d75aa9269 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermSetCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/VocabularyTermSetCrudController.java @@ -37,7 +37,7 @@ public ObjectResponse findByName(String name) { @Override public ObjectListResponse getTerms(Long id) { - ObjectResponse vocab = vocabularyTermSetService.get(id); + ObjectResponse vocab = vocabularyTermSetService.getById(id); ObjectListResponse terms = new ObjectListResponse(); terms.setEntities(vocab.getEntity().getMemberTerms()); return terms; diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/curationreports/CurationReportCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/curationreports/CurationReportCrudController.java index ec90c6d38..e6dee9fe3 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/curationreports/CurationReportCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/curationreports/CurationReportCrudController.java @@ -27,4 +27,5 @@ protected void init() { public ObjectResponse restartReport(Long id) { return curationReportService.restartReport(id); } + } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/crud/slotAnnotations/geneSlotAnnotations/GeneFullNameSlotAnnotationCrudController.java b/src/main/java/org/alliancegenome/curation_api/controllers/crud/slotAnnotations/geneSlotAnnotations/GeneFullNameSlotAnnotationCrudController.java index 5ace20247..6e862b931 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/crud/slotAnnotations/geneSlotAnnotations/GeneFullNameSlotAnnotationCrudController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/crud/slotAnnotations/geneSlotAnnotations/GeneFullNameSlotAnnotationCrudController.java @@ -37,4 +37,5 @@ public ObjectResponse create(GeneFullNameSlotAnnotat public ObjectResponse validate(GeneFullNameSlotAnnotation entity) { return geneFullNameService.validate(entity); } + } diff --git a/src/main/java/org/alliancegenome/curation_api/controllers/person/PersonSettingController.java b/src/main/java/org/alliancegenome/curation_api/controllers/person/PersonSettingController.java index eed290872..2c1f3bfd2 100644 --- a/src/main/java/org/alliancegenome/curation_api/controllers/person/PersonSettingController.java +++ b/src/main/java/org/alliancegenome/curation_api/controllers/person/PersonSettingController.java @@ -37,7 +37,7 @@ public ObjectResponse getUserSetting(String settingsKey) { @Transactional public ObjectResponse deleteUserSetting(String settingsKey) { PersonSetting setting = getSetting(settingsKey); - personSettingService.delete(setting.getId()); + personSettingService.deleteById(setting.getId()); return new ObjectResponse<>(setting); } @@ -49,7 +49,7 @@ public ObjectResponse saveUserSetting(String settingsKey, Map personResp = personService.get(authenticatedPerson.getId()); + ObjectResponse personResp = personService.getById(authenticatedPerson.getId()); Person person = personResp.getEntity(); setting.setPerson(person); setting.setUpdatedBy(person); diff --git a/src/main/java/org/alliancegenome/curation_api/dao/base/BaseESDAO.java b/src/main/java/org/alliancegenome/curation_api/dao/base/BaseESDAO.java index 218897bc4..3ccaa0832 100644 --- a/src/main/java/org/alliancegenome/curation_api/dao/base/BaseESDAO.java +++ b/src/main/java/org/alliancegenome/curation_api/dao/base/BaseESDAO.java @@ -134,9 +134,4 @@ public SearchResponse searchByParams(Pagination pagination, Map { +public abstract class BaseEntityDAO { protected Class myClass; diff --git a/src/main/java/org/alliancegenome/curation_api/dao/base/BaseSQLDAO.java b/src/main/java/org/alliancegenome/curation_api/dao/base/BaseSQLDAO.java index 5e1bc9ab7..89be56052 100644 --- a/src/main/java/org/alliancegenome/curation_api/dao/base/BaseSQLDAO.java +++ b/src/main/java/org/alliancegenome/curation_api/dao/base/BaseSQLDAO.java @@ -10,7 +10,7 @@ import java.util.stream.Collectors; import org.alliancegenome.curation_api.exceptions.ApiErrorException; -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import org.alliancegenome.curation_api.model.input.Pagination; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; @@ -53,7 +53,7 @@ import jakarta.persistence.metamodel.Metamodel; import jakarta.transaction.Transactional; -public class BaseSQLDAO extends BaseEntityDAO { +public class BaseSQLDAO extends BaseEntityDAO { @ConfigProperty(name = "quarkus.hibernate-search-orm.elasticsearch.hosts") String esHosts; diff --git a/src/main/java/org/alliancegenome/curation_api/dao/base/SystemSQLDAO.java b/src/main/java/org/alliancegenome/curation_api/dao/base/SystemSQLDAO.java index af71d8d99..4fcc6522d 100644 --- a/src/main/java/org/alliancegenome/curation_api/dao/base/SystemSQLDAO.java +++ b/src/main/java/org/alliancegenome/curation_api/dao/base/SystemSQLDAO.java @@ -9,7 +9,7 @@ import org.alliancegenome.curation_api.dao.LiteratureReferenceDAO; import org.alliancegenome.curation_api.model.document.LiteratureReference; -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; @@ -20,13 +20,13 @@ import jakarta.persistence.Entity; @ApplicationScoped -public class SystemSQLDAO extends BaseSQLDAO { +public class SystemSQLDAO extends BaseSQLDAO { @Inject LiteratureReferenceDAO literatureReferenceDAO; protected SystemSQLDAO() { - super(BaseEntity.class); + super(AuditedObject.class); } public ObjectResponse> getSiteSummary() { diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseFindControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseFindControllerInterface.java new file mode 100644 index 000000000..0625d836b --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseFindControllerInterface.java @@ -0,0 +1,74 @@ +package org.alliancegenome.curation_api.interfaces.base; + +import java.util.HashMap; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.SearchResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.parameters.RequestBody; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; +import org.eclipse.microprofile.openapi.annotations.tags.Tag; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseFindControllerInterface { + + @POST + @Path("/findForPublic") + @Tag(name = "Public Web API Database Searching Endpoints") + @JsonView(View.ForPublic.class) + @RequestBody( + description = "Post Request", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = String.class) + ) + ) + @APIResponses( + @APIResponse( + description = "Response Entity", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public SearchResponse findForPublic(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); + + @POST + @Path("/find") + @Tag(name = "Relational Database Browsing Endpoints") + @JsonView(View.FieldsAndLists.class) + @RequestBody( + description = "Post Request", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = String.class) + ) + ) + @APIResponses( + @APIResponse( + description = "Response Entity", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public SearchResponse find(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); + +} diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseIdCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseIdCrudInterface.java index 03d4a08f5..075d65855 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseIdCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseIdCrudInterface.java @@ -1,205 +1,25 @@ package org.alliancegenome.curation_api.interfaces.base; -import java.util.HashMap; -import java.util.List; - -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; -import org.alliancegenome.curation_api.response.ObjectListResponse; -import org.alliancegenome.curation_api.response.ObjectResponse; -import org.alliancegenome.curation_api.response.SearchResponse; -import org.alliancegenome.curation_api.view.View; -import org.apache.commons.lang3.ObjectUtils.Null; -import org.eclipse.microprofile.openapi.annotations.media.Content; -import org.eclipse.microprofile.openapi.annotations.media.Schema; -import org.eclipse.microprofile.openapi.annotations.parameters.RequestBody; -import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; -import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; -import org.eclipse.microprofile.openapi.annotations.tags.Tag; - -import com.fasterxml.jackson.annotation.JsonView; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseCreateControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseDeleteIdControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseReadIdControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseUpdateControllerInterface; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import jakarta.ws.rs.Consumes; -import jakarta.ws.rs.DELETE; -import jakarta.ws.rs.DefaultValue; -import jakarta.ws.rs.GET; -import jakarta.ws.rs.POST; -import jakarta.ws.rs.PUT; -import jakarta.ws.rs.Path; -import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; -import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface BaseIdCrudInterface { - - @POST - @Path("/") - @JsonView(View.FieldsOnly.class) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse create(E entity); - - @POST - @Path("/multiple") - @JsonView(View.FieldsOnly.class) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectListResponse create(List entities); - - @GET - @Path("/{id}") - @JsonView(View.FieldsOnly.class) - @APIResponses( - @APIResponse( - description = "Get Entity by Id", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse get(@PathParam("id") Long id); - - @PUT - @Path("/") - @JsonView(View.FieldsOnly.class) - @RequestBody( - description = "Put Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse update(E entity); - - @DELETE - @Path("/{id}") - @JsonView(View.FieldsOnly.class) - @APIResponses( - @APIResponse( - description = "Delete Entity by Id", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse delete(@PathParam("id") Long id); - - @POST - @Path("/find") - @Tag(name = "Relational Database Browsing Endpoints") - @JsonView(View.FieldsAndLists.class) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public SearchResponse find(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); - - @POST - @Path("/findForPublic") - @Tag(name = "Public Web API Database Searching Endpoints") - @JsonView(View.ForPublic.class) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public SearchResponse findForPublic(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); +public interface BaseIdCrudInterface extends + BaseCreateControllerInterface, + BaseReadIdControllerInterface, + BaseUpdateControllerInterface, + BaseDeleteIdControllerInterface, + BaseSearchControllerInterface, + BaseFindControllerInterface, + BaseReindexControllerInterface +{ - @POST - @Path("/search") - @Tag(name = "Elastic Search Browsing Endpoints") - @JsonView({ View.FieldsAndLists.class }) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public SearchResponse search(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); - - @GET - @Path("/reindex") - @Tag(name = "Reindex Endpoints") - public void reindex( - @DefaultValue("1000") @QueryParam("batchSizeToLoadObjects") Integer batchSizeToLoadObjects, - @DefaultValue("0") @QueryParam("idFetchSize") Integer idFetchSize, - @DefaultValue("0") @QueryParam("limitIndexedObjectsTo") Integer limitIndexedObjectsTo, - @DefaultValue("4") @QueryParam("threadsToLoadObjects") Integer threadsToLoadObjects, - @DefaultValue("14400") @QueryParam("transactionTimeout") Integer transactionTimeout, - @DefaultValue("1") @QueryParam("typesToIndexInParallel") Integer typesToIndexInParallel); - -} +} \ No newline at end of file diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseOntologyTermCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseOntologyTermCrudInterface.java index ed56a1cd4..6c57dda6d 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseOntologyTermCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseOntologyTermCrudInterface.java @@ -1,5 +1,9 @@ package org.alliancegenome.curation_api.interfaces.base; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseCreateControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseDeleteCurieControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseReadCurieControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseUpdateControllerInterface; import org.alliancegenome.curation_api.model.entities.ontology.OntologyTerm; import org.alliancegenome.curation_api.response.ObjectListResponse; import org.alliancegenome.curation_api.view.View; @@ -18,15 +22,23 @@ import jakarta.ws.rs.core.MediaType; @Tag(name = "CRUD - Ontology - Bulk") -public interface BaseOntologyTermCrudInterface extends CurieObjectCrudInterface { +public interface BaseOntologyTermCrudInterface extends + BaseCreateControllerInterface, + BaseReadCurieControllerInterface, + BaseUpdateControllerInterface, + BaseDeleteCurieControllerInterface, + BaseSearchControllerInterface, + BaseFindControllerInterface, + BaseReindexControllerInterface +{ + + public void init(); @POST @Path("/bulk/owl") @Consumes(MediaType.APPLICATION_XML) public String updateTerms(@DefaultValue("true") @QueryParam("async") boolean async, @RequestBody String fullText); - public void init(); - @GET @Path("/rootNodes") @JsonView(View.FieldsOnly.class) diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseReindexControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseReindexControllerInterface.java new file mode 100644 index 000000000..75cd2acd5 --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseReindexControllerInterface.java @@ -0,0 +1,27 @@ +package org.alliancegenome.curation_api.interfaces.base; + +import org.eclipse.microprofile.openapi.annotations.tags.Tag; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseReindexControllerInterface { + + @GET + @Path("/reindex") + @Tag(name = "Reindex Endpoints") + public void reindex( + @DefaultValue("1000") @QueryParam("batchSizeToLoadObjects") Integer batchSizeToLoadObjects, + @DefaultValue("0") @QueryParam("idFetchSize") Integer idFetchSize, + @DefaultValue("0") @QueryParam("limitIndexedObjectsTo") Integer limitIndexedObjectsTo, + @DefaultValue("4") @QueryParam("threadsToLoadObjects") Integer threadsToLoadObjects, + @DefaultValue("14400") @QueryParam("transactionTimeout") Integer transactionTimeout, + @DefaultValue("1") @QueryParam("typesToIndexInParallel") Integer typesToIndexInParallel); +} diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseIdDocumentInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseSearchControllerInterface.java similarity index 57% rename from src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseIdDocumentInterface.java rename to src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseSearchControllerInterface.java index 9125e61eb..24613417e 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseIdDocumentInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseSearchControllerInterface.java @@ -2,38 +2,50 @@ import java.util.HashMap; -import org.alliancegenome.curation_api.document.base.BaseDocument; -import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; import org.eclipse.microprofile.openapi.annotations.parameters.RequestBody; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; import org.eclipse.microprofile.openapi.annotations.tags.Tag; import com.fasterxml.jackson.annotation.JsonView; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DefaultValue; -import jakarta.ws.rs.GET; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; -import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface BaseIdDocumentInterface { - - @GET - @Path("/{id}") - @JsonView(View.FieldsOnly.class) - public ObjectResponse get(@PathParam("id") String id); +public interface BaseSearchControllerInterface { @POST @Path("/search") @Tag(name = "Elastic Search Browsing Endpoints") @JsonView({ View.FieldsAndLists.class }) + @RequestBody( + description = "Post Request", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = String.class) + ) + ) + @APIResponses( + @APIResponse( + description = "Response Entity", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) public SearchResponse search(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); } diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseSubmittedObjectCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseSubmittedObjectCrudInterface.java new file mode 100644 index 000000000..cd779bc67 --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseSubmittedObjectCrudInterface.java @@ -0,0 +1,25 @@ +package org.alliancegenome.curation_api.interfaces.base; + +import org.alliancegenome.curation_api.interfaces.base.crud.BaseCreateControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseDeleteIdentifierControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseReadIdentifierControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseUpdateControllerInterface; +import org.alliancegenome.curation_api.model.entities.base.SubmittedObject; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseSubmittedObjectCrudInterface extends + BaseCreateControllerInterface, + BaseReadIdentifierControllerInterface, + BaseUpdateControllerInterface, + BaseDeleteIdentifierControllerInterface, + BaseSearchControllerInterface, + BaseFindControllerInterface, + BaseReindexControllerInterface +{ + +} diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseDTOCrudControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseUpsertControllerInterface.java similarity index 73% rename from src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseDTOCrudControllerInterface.java rename to src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseUpsertControllerInterface.java index 377500e99..990f51045 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseDTOCrudControllerInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/BaseUpsertControllerInterface.java @@ -1,7 +1,7 @@ package org.alliancegenome.curation_api.interfaces.base; import org.alliancegenome.curation_api.exceptions.ObjectUpdateException; -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import org.alliancegenome.curation_api.model.ingest.dto.base.BaseDTO; import org.alliancegenome.curation_api.view.View; @@ -10,7 +10,7 @@ import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; -public interface BaseDTOCrudControllerInterface { +public interface BaseUpsertControllerInterface { @POST @Path("/upsert") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/CurieObjectCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/CurieObjectCrudInterface.java deleted file mode 100644 index bf45a9ee3..000000000 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/base/CurieObjectCrudInterface.java +++ /dev/null @@ -1,183 +0,0 @@ -package org.alliancegenome.curation_api.interfaces.base; - -import java.util.HashMap; -import java.util.List; - -import org.alliancegenome.curation_api.model.entities.base.CurieObject; -import org.alliancegenome.curation_api.response.ObjectListResponse; -import org.alliancegenome.curation_api.response.ObjectResponse; -import org.alliancegenome.curation_api.response.SearchResponse; -import org.alliancegenome.curation_api.view.View; -import org.apache.commons.lang3.ObjectUtils.Null; -import org.eclipse.microprofile.openapi.annotations.media.Content; -import org.eclipse.microprofile.openapi.annotations.media.Schema; -import org.eclipse.microprofile.openapi.annotations.parameters.RequestBody; -import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; -import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; -import org.eclipse.microprofile.openapi.annotations.tags.Tag; - -import com.fasterxml.jackson.annotation.JsonView; - -import jakarta.ws.rs.Consumes; -import jakarta.ws.rs.DELETE; -import jakarta.ws.rs.DefaultValue; -import jakarta.ws.rs.GET; -import jakarta.ws.rs.POST; -import jakarta.ws.rs.PUT; -import jakarta.ws.rs.Path; -import jakarta.ws.rs.PathParam; -import jakarta.ws.rs.Produces; -import jakarta.ws.rs.QueryParam; -import jakarta.ws.rs.core.MediaType; - -@Produces(MediaType.APPLICATION_JSON) -@Consumes(MediaType.APPLICATION_JSON) -public interface CurieObjectCrudInterface { - - @POST - @Path("/") - @JsonView(View.FieldsOnly.class) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse create(E entity); - - @POST - @Path("/multiple") - @JsonView(View.FieldsOnly.class) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectListResponse create(List entities); - - @GET - @Path("/{curie}") - @JsonView(View.FieldsOnly.class) - @APIResponses( - @APIResponse( - description = "Get the Entity by Curie", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse get(@PathParam("curie") String curie); - - @PUT - @Path("/") - @JsonView(View.FieldsOnly.class) - @RequestBody( - description = "Put Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse update(E entity); - - @DELETE - @Path("/{curie}") - @JsonView(View.FieldsOnly.class) - @APIResponses( - @APIResponse( - description = "Delete the Entity by Curie", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse delete(@PathParam("curie") String curie); - - @POST - @Path("/find") - @Tag(name = "Relational Database Browsing Endpoints") - @JsonView(View.FieldsAndLists.class) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public SearchResponse find(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); - - @POST - @Path("/search") - @Tag(name = "Elastic Search Browsing Endpoints") - @JsonView({ View.FieldsAndLists.class }) - @RequestBody( - description = "Post Request", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = String.class) - ) - ) - @APIResponses( - @APIResponse( - description = "Response Entity", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public SearchResponse search(@DefaultValue("0") @QueryParam("page") Integer page, @DefaultValue("10") @QueryParam("limit") Integer limit, @RequestBody HashMap params); - - @GET - @Path("/reindex") - @Tag(name = "Reindex Endpoints") - public void reindex( - @DefaultValue("1000") @QueryParam("batchSizeToLoadObjects") Integer batchSizeToLoadObjects, - @DefaultValue("0") @QueryParam("idFetchSize") Integer idFetchSize, - @DefaultValue("0") @QueryParam("limitIndexedObjectsTo") Integer limitIndexedObjectsTo, - @DefaultValue("4") @QueryParam("threadsToLoadObjects") Integer threadsToLoadObjects, - @DefaultValue("14400") @QueryParam("transactionTimeout") Integer transactionTimeout, - @DefaultValue("1") @QueryParam("typesToIndexInParallel") Integer typesToIndexInParallel); - -} diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseCreateControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseCreateControllerInterface.java new file mode 100644 index 000000000..3f30e5b4c --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseCreateControllerInterface.java @@ -0,0 +1,70 @@ +package org.alliancegenome.curation_api.interfaces.base.crud; + +import java.util.List; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.ObjectListResponse; +import org.alliancegenome.curation_api.response.ObjectResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.parameters.RequestBody; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseCreateControllerInterface { + + @POST + @Path("/") + @JsonView(View.FieldsOnly.class) + @RequestBody( + description = "Post Request", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = String.class) + ) + ) + @APIResponses( + @APIResponse( + description = "Response Entity", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectResponse create(E entity); + + @POST + @Path("/multiple") + @JsonView(View.FieldsOnly.class) + @RequestBody( + description = "Post Request", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = String.class) + ) + ) + @APIResponses( + @APIResponse( + description = "Response Entity", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectListResponse create(List entities); + +} diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteCurieControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteCurieControllerInterface.java new file mode 100644 index 000000000..45646f3a8 --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteCurieControllerInterface.java @@ -0,0 +1,39 @@ +package org.alliancegenome.curation_api.interfaces.base.crud; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.ObjectResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseDeleteCurieControllerInterface { + + @GET + @Path("/{curie}") + @JsonView(View.FieldsOnly.class) + @APIResponses( + @APIResponse( + description = "Get the Entity by Curie", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectResponse getByCurie(@PathParam("curie") String curie); + +} \ No newline at end of file diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteIdControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteIdControllerInterface.java new file mode 100644 index 000000000..844c9679a --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteIdControllerInterface.java @@ -0,0 +1,39 @@ +package org.alliancegenome.curation_api.interfaces.base.crud; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.ObjectResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseDeleteIdControllerInterface { + + @DELETE + @Path("/{id}") + @JsonView(View.FieldsOnly.class) + @APIResponses( + @APIResponse( + description = "Delete Entity by Id", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectResponse deleteById(@PathParam("id") Long id); + +} \ No newline at end of file diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/SubmittedObjectCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteIdentifierControllerInterface.java similarity index 58% rename from src/main/java/org/alliancegenome/curation_api/interfaces/base/SubmittedObjectCrudInterface.java rename to src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteIdentifierControllerInterface.java index ce25cb683..e70c99397 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/base/SubmittedObjectCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseDeleteIdentifierControllerInterface.java @@ -1,6 +1,6 @@ -package org.alliancegenome.curation_api.interfaces.base; +package org.alliancegenome.curation_api.interfaces.base.crud; -import org.alliancegenome.curation_api.model.entities.base.SubmittedObject; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.view.View; import org.eclipse.microprofile.openapi.annotations.media.Content; @@ -13,7 +13,6 @@ import jakarta.validation.constraints.Null; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; -import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; @@ -21,24 +20,8 @@ @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface SubmittedObjectCrudInterface extends CurieObjectCrudInterface { +public interface BaseDeleteIdentifierControllerInterface { - @Override - @GET - @Path("/{identifierString}") - @JsonView(View.FieldsOnly.class) - @APIResponses( - @APIResponse( - description = "Get the Entity by Identifier String", - content = @Content( - mediaType = "application/json", - schema = @Schema(implementation = Null.class) - ) - ) - ) - public ObjectResponse get(@PathParam("identifierString") String identifierString); - - @Override @DELETE @Path("/{identifierString}") @JsonView(View.FieldsOnly.class) @@ -51,6 +34,5 @@ public interface SubmittedObjectCrudInterface extends ) ) ) - public ObjectResponse delete(@PathParam("identifierString") String identifierString); - + public ObjectResponse deleteByIdentifier(@PathParam("identifierString") String identifierString); } diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadCurieControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadCurieControllerInterface.java new file mode 100644 index 000000000..866856e28 --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadCurieControllerInterface.java @@ -0,0 +1,39 @@ +package org.alliancegenome.curation_api.interfaces.base.crud; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.ObjectResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseReadCurieControllerInterface { + + @GET + @Path("/{curie}") + @JsonView(View.FieldsOnly.class) + @APIResponses( + @APIResponse( + description = "Get the Entity by Curie", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectResponse getByCurie(@PathParam("curie") String curie); + +} \ No newline at end of file diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadIdControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadIdControllerInterface.java new file mode 100644 index 000000000..fb84d534a --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadIdControllerInterface.java @@ -0,0 +1,39 @@ +package org.alliancegenome.curation_api.interfaces.base.crud; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.ObjectResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseReadIdControllerInterface { + + @GET + @Path("/{id}") + @JsonView(View.FieldsOnly.class) + @APIResponses( + @APIResponse( + description = "Get Entity by Id", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectResponse getById(@PathParam("id") Long id); + +} \ No newline at end of file diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadIdentifierControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadIdentifierControllerInterface.java new file mode 100644 index 000000000..827ac2192 --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseReadIdentifierControllerInterface.java @@ -0,0 +1,39 @@ +package org.alliancegenome.curation_api.interfaces.base.crud; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.ObjectResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseReadIdentifierControllerInterface { + + @GET + @Path("/{identifierString}") + @JsonView(View.FieldsOnly.class) + @APIResponses( + @APIResponse( + description = "Get the Entity by Identifier String", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); + +} \ No newline at end of file diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseUpdateControllerInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseUpdateControllerInterface.java new file mode 100644 index 000000000..e3179b890 --- /dev/null +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/base/crud/BaseUpdateControllerInterface.java @@ -0,0 +1,46 @@ +package org.alliancegenome.curation_api.interfaces.base.crud; + +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; +import org.alliancegenome.curation_api.response.ObjectResponse; +import org.alliancegenome.curation_api.view.View; +import org.apache.commons.lang3.ObjectUtils.Null; +import org.eclipse.microprofile.openapi.annotations.media.Content; +import org.eclipse.microprofile.openapi.annotations.media.Schema; +import org.eclipse.microprofile.openapi.annotations.parameters.RequestBody; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; +import org.eclipse.microprofile.openapi.annotations.responses.APIResponses; + +import com.fasterxml.jackson.annotation.JsonView; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface BaseUpdateControllerInterface { + + @PUT + @Path("/") + @JsonView(View.FieldsOnly.class) + @RequestBody( + description = "Put Request", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = String.class) + ) + ) + @APIResponses( + @APIResponse( + description = "Response Entity", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Null.class) + ) + ) + ) + public ObjectResponse update(E entity); + +} diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMDiseaseAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMDiseaseAnnotationCrudInterface.java index 730525f12..b9fc34e43 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMDiseaseAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMDiseaseAnnotationCrudInterface.java @@ -2,8 +2,8 @@ import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; import org.alliancegenome.curation_api.interfaces.base.BaseIdCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; import org.alliancegenome.curation_api.model.entities.AGMDiseaseAnnotation; import org.alliancegenome.curation_api.model.ingest.dto.AGMDiseaseAnnotationDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -26,12 +26,12 @@ @Tag(name = "CRUD - AGM Disease Annotations") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface AGMDiseaseAnnotationCrudInterface extends BaseIdCrudInterface, BaseDTOCrudControllerInterface { +public interface AGMDiseaseAnnotationCrudInterface extends BaseIdCrudInterface, BaseUpsertControllerInterface { @GET @Path("/findBy/{identifier}") @JsonView(View.FieldsAndLists.class) - public ObjectResponse get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMPhenotypeAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMPhenotypeAnnotationCrudInterface.java index fb7d77956..21c5d7cd3 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMPhenotypeAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AGMPhenotypeAnnotationCrudInterface.java @@ -26,7 +26,7 @@ public interface AGMPhenotypeAnnotationCrudInterface extends BaseIdCrudInterface @GET @Path("/findBy/{identifier}") @JsonView(View.FieldsAndLists.class) - public ObjectResponse get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AffectedGenomicModelCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AffectedGenomicModelCrudInterface.java index 4a7344a4a..1eb2a177f 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AffectedGenomicModelCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AffectedGenomicModelCrudInterface.java @@ -2,12 +2,12 @@ import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; -import org.alliancegenome.curation_api.interfaces.base.SubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseReadIdentifierControllerInterface; import org.alliancegenome.curation_api.model.entities.AffectedGenomicModel; import org.alliancegenome.curation_api.model.ingest.dto.AffectedGenomicModelDTO; import org.alliancegenome.curation_api.response.APIResponse; -import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.view.View; import org.eclipse.microprofile.openapi.annotations.tags.Tag; @@ -24,11 +24,9 @@ @Tag(name = "CRUD - Affected Genomic Models") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface AffectedGenomicModelCrudInterface extends SubmittedObjectCrudInterface, BaseDTOCrudControllerInterface { - - @Override - @JsonView(View.FieldsAndLists.class) - public ObjectResponse get(@PathParam("identifierString") String identifierString); +public interface AffectedGenomicModelCrudInterface extends BaseSubmittedObjectCrudInterface, + BaseReadIdentifierControllerInterface, + BaseUpsertControllerInterface { @POST @Path("/bulk/{dataProvider}/agms") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleCrudInterface.java index c902222a0..c1dffc859 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleCrudInterface.java @@ -3,8 +3,8 @@ import java.util.HashMap; import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; -import org.alliancegenome.curation_api.interfaces.base.SubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSubmittedObjectCrudInterface; import org.alliancegenome.curation_api.model.entities.Allele; import org.alliancegenome.curation_api.model.ingest.dto.AlleleDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -31,7 +31,7 @@ @Tag(name = "CRUD - Alleles") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface AlleleCrudInterface extends SubmittedObjectCrudInterface, BaseDTOCrudControllerInterface { +public interface AlleleCrudInterface extends BaseSubmittedObjectCrudInterface, BaseUpsertControllerInterface { @POST @Path("/bulk/{dataProvider}/alleles") @@ -40,9 +40,9 @@ public interface AlleleCrudInterface extends SubmittedObjectCrudInterface get(@PathParam("identifierString") String identifierString); + @JsonView(View.AlleleDetailView.class) + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleDiseaseAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleDiseaseAnnotationCrudInterface.java index 0d9d6e321..898d96b36 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleDiseaseAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AlleleDiseaseAnnotationCrudInterface.java @@ -2,8 +2,8 @@ import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; import org.alliancegenome.curation_api.interfaces.base.BaseIdCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; import org.alliancegenome.curation_api.model.entities.AlleleDiseaseAnnotation; import org.alliancegenome.curation_api.model.ingest.dto.AlleleDiseaseAnnotationDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -26,12 +26,12 @@ @Tag(name = "CRUD - Allele Disease Annotations") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface AlleleDiseaseAnnotationCrudInterface extends BaseIdCrudInterface, BaseDTOCrudControllerInterface { +public interface AlleleDiseaseAnnotationCrudInterface extends BaseIdCrudInterface, BaseUpsertControllerInterface { @GET @Path("/findBy/{identifier}") @JsonView(View.FieldsAndLists.class) - public ObjectResponse get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AllelePhenotypeAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AllelePhenotypeAnnotationCrudInterface.java index e5d631f1f..c3144fbc0 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AllelePhenotypeAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/AllelePhenotypeAnnotationCrudInterface.java @@ -26,7 +26,7 @@ public interface AllelePhenotypeAnnotationCrudInterface extends BaseIdCrudInterf @GET @Path("/findBy/{identifier}") @JsonView(View.FieldsAndLists.class) - public ObjectResponse get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/BiologicalEntityCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/BiologicalEntityCrudInterface.java index 2ab7a6447..8942b6813 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/BiologicalEntityCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/BiologicalEntityCrudInterface.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.interfaces.crud; -import org.alliancegenome.curation_api.interfaces.base.SubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSubmittedObjectCrudInterface; import org.alliancegenome.curation_api.model.entities.BiologicalEntity; import org.eclipse.microprofile.openapi.annotations.tags.Tag; @@ -13,6 +13,6 @@ @Tag(name = "CRUD - Biological Entities") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface BiologicalEntityCrudInterface extends SubmittedObjectCrudInterface { +public interface BiologicalEntityCrudInterface extends BaseSubmittedObjectCrudInterface { } diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConditionRelationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConditionRelationCrudInterface.java index 540de9afb..b0538c366 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConditionRelationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConditionRelationCrudInterface.java @@ -43,7 +43,7 @@ public interface ConditionRelationCrudInterface extends BaseIdCrudInterface get(@PathParam("id") Long id); + ObjectResponse getById(@PathParam("id") Long id); @POST @Path("/validate") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConstructCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConstructCrudInterface.java index cbdb092ef..1fca95931 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConstructCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ConstructCrudInterface.java @@ -2,8 +2,8 @@ import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; -import org.alliancegenome.curation_api.interfaces.base.SubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSubmittedObjectCrudInterface; import org.alliancegenome.curation_api.model.entities.Construct; import org.alliancegenome.curation_api.model.ingest.dto.ConstructDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -26,13 +26,13 @@ @Tag(name = "CRUD - Constructs") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface ConstructCrudInterface extends SubmittedObjectCrudInterface, BaseDTOCrudControllerInterface { +public interface ConstructCrudInterface extends BaseSubmittedObjectCrudInterface, BaseUpsertControllerInterface { @Override @GET @Path("/{identifierString}") @JsonView(View.ConstructView.class) - public ObjectResponse get(@PathParam("identifierString") String identifierString); + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/DiseaseAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/DiseaseAnnotationCrudInterface.java index b357e5ad7..8037b63f2 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/DiseaseAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/DiseaseAnnotationCrudInterface.java @@ -31,7 +31,7 @@ public interface DiseaseAnnotationCrudInterface extends BaseIdCrudInterface get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @POST diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneCrudInterface.java index 5182604b1..688f322e0 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneCrudInterface.java @@ -3,8 +3,8 @@ import java.util.HashMap; import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; -import org.alliancegenome.curation_api.interfaces.base.SubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSubmittedObjectCrudInterface; import org.alliancegenome.curation_api.model.entities.Gene; import org.alliancegenome.curation_api.model.ingest.dto.GeneDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -34,14 +34,14 @@ @Tag(name = "CRUD - Genes") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface GeneCrudInterface extends SubmittedObjectCrudInterface, BaseDTOCrudControllerInterface { +public interface GeneCrudInterface extends BaseSubmittedObjectCrudInterface, BaseUpsertControllerInterface { @Override @GET @Query("api_gene_get") @Path("/{identifierString}") @JsonView(View.GeneDetailView.class) - public ObjectResponse get(@PathParam("identifierString") String identifierString); + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); @POST @Path("/bulk/{dataProvider}/genes") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneDiseaseAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneDiseaseAnnotationCrudInterface.java index f98116781..18e410813 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneDiseaseAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneDiseaseAnnotationCrudInterface.java @@ -2,8 +2,8 @@ import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; import org.alliancegenome.curation_api.interfaces.base.BaseIdCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; import org.alliancegenome.curation_api.model.entities.GeneDiseaseAnnotation; import org.alliancegenome.curation_api.model.ingest.dto.GeneDiseaseAnnotationDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -26,12 +26,12 @@ @Tag(name = "CRUD - Gene Disease Annotations") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface GeneDiseaseAnnotationCrudInterface extends BaseIdCrudInterface, BaseDTOCrudControllerInterface { +public interface GeneDiseaseAnnotationCrudInterface extends BaseIdCrudInterface, BaseUpsertControllerInterface { @GET @Path("/findBy/{identifier}") @JsonView(View.FieldsAndLists.class) - public ObjectResponse get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneGeneticInteractionCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneGeneticInteractionCrudInterface.java index 0ea62a601..59aec46d9 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneGeneticInteractionCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneGeneticInteractionCrudInterface.java @@ -34,7 +34,7 @@ public interface GeneGeneticInteractionCrudInterface extends BaseIdCrudInterface @GET @Path("/findBy/{identifierString}") @JsonView(View.GeneInteractionView.class) - public ObjectResponse get(@PathParam("identifierString") String identifierString); + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); @Override @POST diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneInteractionCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneInteractionCrudInterface.java index d75ebe0a8..b1e00e384 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneInteractionCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneInteractionCrudInterface.java @@ -31,7 +31,7 @@ public interface GeneInteractionCrudInterface extends BaseIdCrudInterface get(@PathParam("identifierString") String identifierString); + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); @Override @POST diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneMolecularInteractionCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneMolecularInteractionCrudInterface.java index 99364c517..3d022e375 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneMolecularInteractionCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GeneMolecularInteractionCrudInterface.java @@ -34,7 +34,7 @@ public interface GeneMolecularInteractionCrudInterface extends BaseIdCrudInterfa @GET @Path("/findBy/{identifierString}") @JsonView(View.GeneInteractionView.class) - public ObjectResponse get(@PathParam("identifierString") String identifierString); + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); @Override @POST diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GenePhenotypeAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GenePhenotypeAnnotationCrudInterface.java index 3611c31a6..9ec5757ae 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GenePhenotypeAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/GenePhenotypeAnnotationCrudInterface.java @@ -26,7 +26,7 @@ public interface GenePhenotypeAnnotationCrudInterface extends BaseIdCrudInterfac @GET @Path("/findBy/{identifier}") @JsonView(View.FieldsAndLists.class) - public ObjectResponse get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/InformationContentEntityCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/InformationContentEntityCrudInterface.java index 57884a950..5993fb929 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/InformationContentEntityCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/InformationContentEntityCrudInterface.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.interfaces.crud; -import org.alliancegenome.curation_api.interfaces.base.CurieObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseIdCrudInterface; import org.alliancegenome.curation_api.model.entities.InformationContentEntity; import org.eclipse.microprofile.openapi.annotations.tags.Tag; @@ -13,6 +13,6 @@ @Tag(name = "CRUD - Information Content Entities") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface InformationContentEntityCrudInterface extends CurieObjectCrudInterface { +public interface InformationContentEntityCrudInterface extends BaseIdCrudInterface { } diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/MoleculeCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/MoleculeCrudInterface.java index 2ac6e369e..e5587bd53 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/MoleculeCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/MoleculeCrudInterface.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.interfaces.crud; -import org.alliancegenome.curation_api.interfaces.base.CurieObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseIdCrudInterface; import org.alliancegenome.curation_api.model.entities.Molecule; import org.alliancegenome.curation_api.model.ingest.dto.fms.MoleculeIngestFmsDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -19,7 +19,7 @@ @Tag(name = "CRUD - Molecules") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface MoleculeCrudInterface extends CurieObjectCrudInterface { +public interface MoleculeCrudInterface extends BaseIdCrudInterface { @POST @Path("/bulk/moleculefile") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/NoteCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/NoteCrudInterface.java index 36de4e95f..89e7712e1 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/NoteCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/NoteCrudInterface.java @@ -31,7 +31,7 @@ public interface NoteCrudInterface extends BaseIdCrudInterface { @GET @JsonView(View.NoteView.class) @Path("/{id}") - public ObjectResponse get(@PathParam("id") Long id); + public ObjectResponse getById(@PathParam("id") Long id); @POST @Path("/") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/PhenotypeAnnotationCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/PhenotypeAnnotationCrudInterface.java index 7800e7093..8dfd67f68 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/PhenotypeAnnotationCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/PhenotypeAnnotationCrudInterface.java @@ -34,7 +34,7 @@ public interface PhenotypeAnnotationCrudInterface extends BaseIdCrudInterface get(@PathParam("identifier") String identifier); + public ObjectResponse getByIdentifier(@PathParam("identifier") String identifier); @Override @POST diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ReferenceCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ReferenceCrudInterface.java index 0c8293f09..c5bdd1bde 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ReferenceCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ReferenceCrudInterface.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.interfaces.crud; -import org.alliancegenome.curation_api.interfaces.base.CurieObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseIdCrudInterface; import org.alliancegenome.curation_api.model.entities.Reference; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.view.View; @@ -19,7 +19,7 @@ @Tag(name = "CRUD - Reference") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface ReferenceCrudInterface extends CurieObjectCrudInterface { +public interface ReferenceCrudInterface extends BaseIdCrudInterface { @GET @Path("/sync") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ResourceDescriptorCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ResourceDescriptorCrudInterface.java index 6061b4161..578516672 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ResourceDescriptorCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/ResourceDescriptorCrudInterface.java @@ -25,6 +25,6 @@ public interface ResourceDescriptorCrudInterface extends BaseIdCrudInterface get(@PathParam("id") Long id); + ObjectResponse getById(@PathParam("id") Long id); } diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VariantCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VariantCrudInterface.java index 1839731e6..478ce1f15 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VariantCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VariantCrudInterface.java @@ -3,8 +3,8 @@ import java.util.HashMap; import java.util.List; -import org.alliancegenome.curation_api.interfaces.base.BaseDTOCrudControllerInterface; -import org.alliancegenome.curation_api.interfaces.base.SubmittedObjectCrudInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSubmittedObjectCrudInterface; import org.alliancegenome.curation_api.model.entities.Variant; import org.alliancegenome.curation_api.model.ingest.dto.VariantDTO; import org.alliancegenome.curation_api.response.APIResponse; @@ -31,7 +31,7 @@ @Tag(name = "CRUD - Variants") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface VariantCrudInterface extends SubmittedObjectCrudInterface, BaseDTOCrudControllerInterface { +public interface VariantCrudInterface extends BaseSubmittedObjectCrudInterface, BaseUpsertControllerInterface { @POST @Path("/bulk/{dataProvider}/variants") @@ -42,7 +42,7 @@ public interface VariantCrudInterface extends SubmittedObjectCrudInterface get(@PathParam("identifierString") String identifierString); + public ObjectResponse getByIdentifier(@PathParam("identifierString") String identifierString); @Override @PUT diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyCrudInterface.java index 8d6e37e87..1698f4760 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyCrudInterface.java @@ -26,7 +26,7 @@ public interface VocabularyCrudInterface extends BaseIdCrudInterface @GET @Path("/{id}") @JsonView(View.VocabularyView.class) - ObjectResponse get(@PathParam("id") Long id); + ObjectResponse getById(@PathParam("id") Long id); @GET @Path("/{id}/terms") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermCrudInterface.java index d9ae37923..159f17f9d 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermCrudInterface.java @@ -42,7 +42,7 @@ public SearchResponse search(@DefaultValue("0") @QueryParam("pag @GET @Path("/{id}") @JsonView(View.VocabularyTermView.class) - public ObjectResponse get(@PathParam("id") Long id); + public ObjectResponse getById(@PathParam("id") Long id); @GET @Path("/findBy") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermSetCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermSetCrudInterface.java index 6526b86cf..436ab96f7 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermSetCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/crud/VocabularyTermSetCrudInterface.java @@ -34,7 +34,7 @@ public interface VocabularyTermSetCrudInterface extends BaseIdCrudInterface get(@PathParam("id") Long id); + ObjectResponse getById(@PathParam("id") Long id); @GET @Path("/{id}/terms") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/curationreports/CurationReportCrudInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/curationreports/CurationReportCrudInterface.java index c69ca7bd0..1b9f4f82a 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/curationreports/CurationReportCrudInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/curationreports/CurationReportCrudInterface.java @@ -24,7 +24,7 @@ public interface CurationReportCrudInterface extends BaseIdCrudInterface get(@PathParam("id") Long id); + public ObjectResponse getById(@PathParam("id") Long id); @GET @Path("/restart/{id}") diff --git a/src/main/java/org/alliancegenome/curation_api/interfaces/document/LiteratureReferenceInterface.java b/src/main/java/org/alliancegenome/curation_api/interfaces/document/LiteratureReferenceInterface.java index 153dfe236..c9c220464 100644 --- a/src/main/java/org/alliancegenome/curation_api/interfaces/document/LiteratureReferenceInterface.java +++ b/src/main/java/org/alliancegenome/curation_api/interfaces/document/LiteratureReferenceInterface.java @@ -1,6 +1,6 @@ package org.alliancegenome.curation_api.interfaces.document; -import org.alliancegenome.curation_api.interfaces.base.BaseIdDocumentInterface; +import org.alliancegenome.curation_api.interfaces.base.BaseSearchControllerInterface; import org.alliancegenome.curation_api.model.document.LiteratureReference; import org.eclipse.microprofile.openapi.annotations.tags.Tag; @@ -13,6 +13,6 @@ @Tag(name = "Document - Literature Reference") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) -public interface LiteratureReferenceInterface extends BaseIdDocumentInterface { +public interface LiteratureReferenceInterface extends BaseSearchControllerInterface { } diff --git a/src/main/java/org/alliancegenome/curation_api/model/entities/base/AuditedObject.java b/src/main/java/org/alliancegenome/curation_api/model/entities/base/AuditedObject.java index 0c0fd48f3..c7579cc0f 100644 --- a/src/main/java/org/alliancegenome/curation_api/model/entities/base/AuditedObject.java +++ b/src/main/java/org/alliancegenome/curation_api/model/entities/base/AuditedObject.java @@ -1,5 +1,6 @@ package org.alliancegenome.curation_api.model.entities.base; +import java.io.Serializable; import java.time.OffsetDateTime; import org.alliancegenome.curation_api.constants.LinkMLSchemaConstants; @@ -34,18 +35,17 @@ import jakarta.persistence.Id; import jakarta.persistence.ManyToOne; import jakarta.persistence.MappedSuperclass; -import jakarta.persistence.SequenceGenerator; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @Data -@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true) +@EqualsAndHashCode(onlyExplicitlyIncluded = true) @ToString(exclude = { "createdBy", "updatedBy" }) @AGRCurationSchemaVersion(min = "1.2.0", max = LinkMLSchemaConstants.LATEST_RELEASE) @MappedSuperclass @Schema(name = "AuditedObject", description = "POJO that represents the AuditedObject") -public class AuditedObject extends BaseEntity { +public class AuditedObject implements Serializable { @Id @DocumentId diff --git a/src/main/java/org/alliancegenome/curation_api/services/AGMDiseaseAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/AGMDiseaseAnnotationService.java index 1f72eec86..dfe46d5fa 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/AGMDiseaseAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/AGMDiseaseAnnotationService.java @@ -61,7 +61,7 @@ public AGMDiseaseAnnotation upsert(AGMDiseaseAnnotationDTO dto, BackendBulkDataP @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "AGM disease annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/AGMPhenotypeAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/AGMPhenotypeAnnotationService.java index ad65b45af..d8d2af8c9 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/AGMPhenotypeAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/AGMPhenotypeAnnotationService.java @@ -62,7 +62,7 @@ public void addInferredOrAssertedEntities(AffectedGenomicModel primaryAnnotation @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "AGM phenotype annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/AlleleDiseaseAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/AlleleDiseaseAnnotationService.java index e59ec3216..31bb40225 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/AlleleDiseaseAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/AlleleDiseaseAnnotationService.java @@ -58,7 +58,7 @@ public AlleleDiseaseAnnotation upsert(AlleleDiseaseAnnotationDTO dto, BackendBul @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "Allele disease annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/AllelePhenotypeAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/AllelePhenotypeAnnotationService.java index 82f0a2415..7cb434b62 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/AllelePhenotypeAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/AllelePhenotypeAnnotationService.java @@ -20,7 +20,7 @@ @RequestScoped public class AllelePhenotypeAnnotationService extends BaseAnnotationCrudService { - + @Inject AllelePhenotypeAnnotationDAO allelePhenotypeAnnotationDAO; @Inject @@ -62,7 +62,7 @@ public void addInferredOrAssertedEntities(Allele primaryAnnotationSubject, Pheno @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "Allele phenotype annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/AlleleService.java b/src/main/java/org/alliancegenome/curation_api/services/AlleleService.java index 723167b5c..61e6ecf15 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/AlleleService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/AlleleService.java @@ -75,7 +75,7 @@ public Allele upsert(AlleleDTO dto, BackendBulkDataProvider dataProvider) throws @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { removeOrDeprecateNonUpdated(id, "Allele DELETE API call"); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/ConstructService.java b/src/main/java/org/alliancegenome/curation_api/services/ConstructService.java index f9ce95baf..2d0211829 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/ConstructService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/ConstructService.java @@ -55,7 +55,7 @@ protected void init() { } @Override - public ObjectResponse get(String identifier) { + public ObjectResponse getByIdentifier(String identifier) { Construct construct = findByIdentifierString(identifier); if (construct == null) { SearchResponse response = findByField("uniqueId", identifier); @@ -88,7 +88,7 @@ public Construct upsert(ConstructDTO dto, BackendBulkDataProvider dataProvider) @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { constructService.removeOrDeprecateNonUpdated(id, true, "Construct DELETE API call"); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/DiseaseAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/DiseaseAnnotationService.java index eabcc58b1..475cc47be 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/DiseaseAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/DiseaseAnnotationService.java @@ -1,12 +1,10 @@ package org.alliancegenome.curation_api.services; import java.time.OffsetDateTime; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.stream.Collectors; import org.alliancegenome.curation_api.constants.EntityFieldConstants; import org.alliancegenome.curation_api.dao.DiseaseAnnotationDAO; @@ -14,13 +12,10 @@ import org.alliancegenome.curation_api.dao.base.BaseSQLDAO; import org.alliancegenome.curation_api.enums.BackendBulkDataProvider; import org.alliancegenome.curation_api.exceptions.ApiErrorException; -import org.alliancegenome.curation_api.model.entities.ConditionRelation; import org.alliancegenome.curation_api.model.entities.DiseaseAnnotation; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.services.base.BaseAnnotationCrudService; import org.alliancegenome.curation_api.services.helpers.annotations.DiseaseAnnotationUniqueIdUpdateHelper; -import org.alliancegenome.curation_api.util.ProcessDisplayHelper; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import jakarta.annotation.PostConstruct; @@ -50,7 +45,7 @@ protected void init() { @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "Disease annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/GeneDiseaseAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/GeneDiseaseAnnotationService.java index f06abb1f2..7493e18af 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/GeneDiseaseAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/GeneDiseaseAnnotationService.java @@ -58,7 +58,7 @@ public GeneDiseaseAnnotation upsert(GeneDiseaseAnnotationDTO dto, BackendBulkDat @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "Gene disease annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/GeneGeneticInteractionService.java b/src/main/java/org/alliancegenome/curation_api/services/GeneGeneticInteractionService.java index 577fe06b8..f7a227718 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/GeneGeneticInteractionService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/GeneGeneticInteractionService.java @@ -29,7 +29,7 @@ protected void init() { setSQLDao(geneGeneticInteractionDAO); } - public ObjectResponse get(String identifier) { + public ObjectResponse getByIdentifier(String identifier) { List identifierFields = List.of("interactionId", "uniqueId"); GeneGeneticInteraction interaction = findByAlternativeFields(identifierFields, identifier); return new ObjectResponse(interaction); diff --git a/src/main/java/org/alliancegenome/curation_api/services/GeneInteractionService.java b/src/main/java/org/alliancegenome/curation_api/services/GeneInteractionService.java index 2025ceaf8..f12fc87eb 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/GeneInteractionService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/GeneInteractionService.java @@ -32,7 +32,7 @@ protected void init() { setSQLDao(geneInteractionDAO); } - public ObjectResponse get(String identifier) { + public ObjectResponse getByIdentifer(String identifier) { List identifierFields = List.of("interactionId", "uniqueId"); GeneInteraction interaction = findByAlternativeFields(identifierFields, identifier); return new ObjectResponse(interaction); diff --git a/src/main/java/org/alliancegenome/curation_api/services/GeneMolecularInteractionService.java b/src/main/java/org/alliancegenome/curation_api/services/GeneMolecularInteractionService.java index 3feed2ca7..b57263ed0 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/GeneMolecularInteractionService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/GeneMolecularInteractionService.java @@ -29,7 +29,7 @@ protected void init() { setSQLDao(geneMolecularInteractionDAO); } - public ObjectResponse get(String identifier) { + public ObjectResponse getByIdentifier(String identifier) { List identifierFields = List.of("interactionId", "uniqueId"); GeneMolecularInteraction interaction = findByAlternativeFields(identifierFields, identifier); return new ObjectResponse(interaction); diff --git a/src/main/java/org/alliancegenome/curation_api/services/GenePhenotypeAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/GenePhenotypeAnnotationService.java index bc58c67b3..328e23b2f 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/GenePhenotypeAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/GenePhenotypeAnnotationService.java @@ -56,7 +56,7 @@ public GenePhenotypeAnnotation upsertPrimaryAnnotation(Gene subject, PhenotypeFm @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "Gene phenotype annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/GeneService.java b/src/main/java/org/alliancegenome/curation_api/services/GeneService.java index a0bdb4599..cfcb368c5 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/GeneService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/GeneService.java @@ -79,13 +79,19 @@ public ObjectResponse create(Gene uiEntity) { return new ObjectResponse(dbEntity); } + @Override + public Gene upsert(GeneDTO dto) throws ObjectUpdateException { + return upsert(dto, null); + } + + @Override public Gene upsert(GeneDTO dto, BackendBulkDataProvider dataProvider) throws ObjectUpdateException { return geneDtoValidator.validateGeneDTO(dto, dataProvider); } - + @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { removeOrDeprecateNonUpdated(id, "Gene DELETE API call"); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/GenomicEntityService.java b/src/main/java/org/alliancegenome/curation_api/services/GenomicEntityService.java index 44a105294..490912ffb 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/GenomicEntityService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/GenomicEntityService.java @@ -24,11 +24,17 @@ protected void init() { } @Override - public GenomicEntity upsert(GenomicEntityDTO dto, BackendBulkDataProvider dataProvider) - throws ObjectUpdateException { + public GenomicEntity upsert(GenomicEntityDTO dto) throws ObjectUpdateException { + return null; + } + + @Override + public GenomicEntity upsert(GenomicEntityDTO dto, BackendBulkDataProvider dataProvider) throws ObjectUpdateException { return null; } @Override public void removeOrDeprecateNonUpdated(Long id, String loadDescription) {} + + } diff --git a/src/main/java/org/alliancegenome/curation_api/services/InformationContentEntityService.java b/src/main/java/org/alliancegenome/curation_api/services/InformationContentEntityService.java index 048fb4dd8..d25829b24 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/InformationContentEntityService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/InformationContentEntityService.java @@ -2,14 +2,14 @@ import org.alliancegenome.curation_api.dao.InformationContentEntityDAO; import org.alliancegenome.curation_api.model.entities.InformationContentEntity; -import org.alliancegenome.curation_api.services.base.CurieObjectCrudService; +import org.alliancegenome.curation_api.services.base.BaseEntityCrudService; import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.RequestScoped; import jakarta.inject.Inject; @RequestScoped -public class InformationContentEntityService extends CurieObjectCrudService { +public class InformationContentEntityService extends BaseEntityCrudService { @Inject InformationContentEntityDAO informationContentEntityDAO; diff --git a/src/main/java/org/alliancegenome/curation_api/services/MoleculeService.java b/src/main/java/org/alliancegenome/curation_api/services/MoleculeService.java index d0284dfec..84e446362 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/MoleculeService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/MoleculeService.java @@ -16,7 +16,7 @@ import org.alliancegenome.curation_api.model.ingest.dto.fms.MoleculeFmsDTO; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; -import org.alliancegenome.curation_api.services.base.CurieObjectCrudService; +import org.alliancegenome.curation_api.services.base.BaseEntityCrudService; import org.alliancegenome.curation_api.services.validation.MoleculeValidator; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -29,7 +29,7 @@ @JBossLog @RequestScoped -public class MoleculeService extends CurieObjectCrudService { +public class MoleculeService extends BaseEntityCrudService { @Inject MoleculeDAO moleculeDAO; @@ -49,15 +49,6 @@ public class MoleculeService extends CurieObjectCrudService orgCacheMap = new HashMap<>(); + HashMap orgIdCacheMap = new HashMap<>(); + HashMap orgAbbrCacheMap = new HashMap<>(); @Override @PostConstruct @@ -29,20 +30,20 @@ protected void init() { setSQLDao(organizationDAO); } - public ObjectResponse get(String orgId) { + public ObjectResponse getById(Long id) { Organization org = null; if(orgRequest != null) { - if(orgCacheMap.containsKey(orgId)) { - org = orgCacheMap.get(orgId); + if(orgIdCacheMap.containsKey(id)) { + org = orgIdCacheMap.get(id); } else { - Log.debug("Org not cached, caching org: (" + orgId + ")"); - org = organizationDAO.find(Long.parseLong(orgId)); - orgCacheMap.put(orgId, org); + Log.debug("Org not cached, caching org: (" + id + ")"); + org = organizationDAO.find(id); + orgIdCacheMap.put(id, org); } } else { - org = organizationDAO.find(Long.parseLong(orgId)); + org = organizationDAO.find(id); orgRequest = new Date(); } @@ -57,14 +58,14 @@ public ObjectResponse getByAbbr(String abbr) { SearchResponse orgResponse = null; if(orgRequest != null) { - if(orgCacheMap.containsKey(abbr)) { - org = orgCacheMap.get(abbr); + if(orgAbbrCacheMap.containsKey(abbr)) { + org = orgAbbrCacheMap.get(abbr); } else { Log.debug("Org not cached, caching org: (" + abbr + ")"); orgResponse = organizationDAO.findByField("abbreviation", abbr); if (orgResponse != null) org = orgResponse.getSingleResult(); - orgCacheMap.put(abbr, org); + orgAbbrCacheMap.put(abbr, org); } } else { orgResponse = organizationDAO.findByField("abbreviation", abbr); diff --git a/src/main/java/org/alliancegenome/curation_api/services/PhenotypeAnnotationService.java b/src/main/java/org/alliancegenome/curation_api/services/PhenotypeAnnotationService.java index b219a9dd9..83e29b095 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/PhenotypeAnnotationService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/PhenotypeAnnotationService.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import org.alliancegenome.curation_api.constants.EntityFieldConstants; import org.alliancegenome.curation_api.constants.ValidationConstants; @@ -23,7 +22,6 @@ import org.alliancegenome.curation_api.model.entities.AffectedGenomicModel; import org.alliancegenome.curation_api.model.entities.Allele; import org.alliancegenome.curation_api.model.entities.AllelePhenotypeAnnotation; -import org.alliancegenome.curation_api.model.entities.ConditionRelation; import org.alliancegenome.curation_api.model.entities.Gene; import org.alliancegenome.curation_api.model.entities.GenePhenotypeAnnotation; import org.alliancegenome.curation_api.model.entities.GenomicEntity; @@ -31,8 +29,6 @@ import org.alliancegenome.curation_api.model.ingest.dto.fms.PhenotypeFmsDTO; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.services.base.BaseAnnotationCrudService; -import org.alliancegenome.curation_api.util.ProcessDisplayHelper; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import jakarta.annotation.PostConstruct; @@ -78,7 +74,7 @@ protected void init() { @Override @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteById(Long id) { deprecateOrDeleteAnnotationAndNotes(id, true, "Phenotype annotation DELETE API call", false); ObjectResponse ret = new ObjectResponse<>(); return ret; diff --git a/src/main/java/org/alliancegenome/curation_api/services/ReferenceService.java b/src/main/java/org/alliancegenome/curation_api/services/ReferenceService.java index b83bbd49c..b7a1be8c4 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/ReferenceService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/ReferenceService.java @@ -7,7 +7,7 @@ import org.alliancegenome.curation_api.model.entities.Reference; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; -import org.alliancegenome.curation_api.services.base.CurieObjectCrudService; +import org.alliancegenome.curation_api.services.base.BaseEntityCrudService; import org.alliancegenome.curation_api.services.helpers.references.ReferenceSynchronisationHelper; import jakarta.annotation.PostConstruct; @@ -15,7 +15,7 @@ import jakarta.inject.Inject; @RequestScoped -public class ReferenceService extends CurieObjectCrudService { +public class ReferenceService extends BaseEntityCrudService { @Inject ReferenceDAO referenceDAO; diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationCrudService.java b/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationCrudService.java index e3a6f61fa..aa20aa2b3 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationCrudService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationCrudService.java @@ -7,7 +7,6 @@ import org.alliancegenome.curation_api.dao.base.BaseSQLDAO; import org.alliancegenome.curation_api.model.entities.Annotation; import org.alliancegenome.curation_api.model.entities.ConditionRelation; -import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.util.ProcessDisplayHelper; import org.apache.commons.collections.CollectionUtils; @@ -17,12 +16,6 @@ public abstract class BaseAnnotationCrudService get(String identifier) { - List identifierFields = List.of("curie", "modEntityId", "modInternalId", "uniqueId"); - E annotation = findByAlternativeFields(identifierFields, identifier); - return new ObjectResponse(annotation); - } - protected List getAllReferencedConditionRelationIds(D dao) { ProcessDisplayHelper pdh = new ProcessDisplayHelper(); diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationDTOCrudService.java b/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationDTOCrudService.java index 7576a612b..60557d86f 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationDTOCrudService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/base/BaseAnnotationDTOCrudService.java @@ -10,6 +10,10 @@ public abstract class BaseAnnotationDTOCrudService> extends BaseEntityCrudService { +public abstract class BaseAssociationDTOCrudService> extends BaseEntityCrudService { protected abstract void init(); diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/BaseDTOCrudService.java b/src/main/java/org/alliancegenome/curation_api/services/base/BaseDTOCrudService.java index e97302fb9..56b19cc25 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/base/BaseDTOCrudService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/base/BaseDTOCrudService.java @@ -3,10 +3,10 @@ import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; import org.alliancegenome.curation_api.enums.BackendBulkDataProvider; import org.alliancegenome.curation_api.exceptions.ObjectUpdateException; -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import org.alliancegenome.curation_api.model.ingest.dto.base.BaseDTO; -public abstract class BaseDTOCrudService> extends BaseEntityCrudService { +public abstract class BaseDTOCrudService> extends BaseEntityCrudService { protected abstract void init(); diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/BaseDocumentService.java b/src/main/java/org/alliancegenome/curation_api/services/base/BaseDocumentService.java index 7d76203b5..3bb415f4a 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/base/BaseDocumentService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/base/BaseDocumentService.java @@ -6,7 +6,6 @@ import org.alliancegenome.curation_api.dao.base.BaseESDAO; import org.alliancegenome.curation_api.document.base.BaseDocument; import org.alliancegenome.curation_api.model.input.Pagination; -import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; public abstract class BaseDocumentService> { @@ -19,12 +18,6 @@ protected void setESDao(BaseESDAO dao) { protected abstract void init(); - public ObjectResponse get(String id) { - E object = dao.find(id); - ObjectResponse ret = new ObjectResponse(object); - return ret; - } - public SearchResponse searchByParams(Pagination pagination, Map params) { return dao.searchByParams(pagination, params); } diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/BaseEntityCrudService.java b/src/main/java/org/alliancegenome/curation_api/services/base/BaseEntityCrudService.java index ee30c504c..9715d77b8 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/base/BaseEntityCrudService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/base/BaseEntityCrudService.java @@ -7,16 +7,17 @@ import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; import org.alliancegenome.curation_api.dao.base.BaseSQLDAO; import org.alliancegenome.curation_api.model.entities.Person; -import org.alliancegenome.curation_api.model.entities.base.BaseEntity; +import org.alliancegenome.curation_api.model.entities.base.AuditedObject; import org.alliancegenome.curation_api.model.input.Pagination; import org.alliancegenome.curation_api.response.ObjectListResponse; import org.alliancegenome.curation_api.response.ObjectResponse; import org.alliancegenome.curation_api.response.SearchResponse; +import io.quarkus.logging.Log; import jakarta.inject.Inject; import jakarta.transaction.Transactional; -public abstract class BaseEntityCrudService> { +public abstract class BaseEntityCrudService> { protected BaseSQLDAO dao; @@ -46,12 +47,41 @@ public ObjectListResponse create(List entities) { return ret; } - public ObjectResponse get(Long id) { + public ObjectResponse getById(Long id) { E object = dao.find(id); ObjectResponse ret = new ObjectResponse(object); return ret; } + public ObjectResponse getByCurie(String curie) { + E object = findByCurie(curie); + ObjectResponse ret = new ObjectResponse(object); + return ret; + } + + public ObjectResponse getByIdentifier(String identifier) { + List identifierFields = List.of("curie", "modEntityId", "modInternalId", "uniqueId"); + E annotation = findByAlternativeFields(identifierFields, identifier); + return new ObjectResponse(annotation); + } + + public E findByCurie(String curie) { + if (curie != null) { + SearchResponse response = findByField("curie", curie); + if (response == null || response.getSingleResult() == null) { + Log.debug("Entity Not Found: " + curie); + return null; + } + E entity = response.getSingleResult(); + Log.debug("Entity Found: " + entity); + return entity; + } else { + Log.debug("Input Param is null: " + curie); + return null; + } + } + + @Transactional public ObjectResponse update(E entity) { // log.info("Authed Person: " + authenticatedPerson); @@ -60,13 +90,23 @@ public ObjectResponse update(E entity) { return ret; } + @Transactional - public ObjectResponse delete(Long id) { + public ObjectResponse deleteByCurie(String curie) { + E object = findByCurie(curie); + if (object != null) + dao.remove(object.getId()); + ObjectResponse ret = new ObjectResponse<>(object); + return ret; + } + + @Transactional + public ObjectResponse deleteById(Long id) { E object = dao.remove(id); ObjectResponse ret = new ObjectResponse<>(object); return ret; } - + public SearchResponse findByField(String field, String value) { return dao.findByField(field, value); } diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/BaseOntologyTermService.java b/src/main/java/org/alliancegenome/curation_api/services/base/BaseOntologyTermService.java index cb225d685..b6bdaea58 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/base/BaseOntologyTermService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/base/BaseOntologyTermService.java @@ -22,7 +22,7 @@ import jakarta.inject.Inject; import jakarta.transaction.Transactional; -public abstract class BaseOntologyTermService> extends CurieObjectCrudService> { +public abstract class BaseOntologyTermService> extends BaseEntityCrudService> { @Inject CrossReferenceDAO crossReferenceDAO; diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/CurieObjectCrudService.java b/src/main/java/org/alliancegenome/curation_api/services/base/CurieObjectCrudService.java deleted file mode 100644 index 447bac191..000000000 --- a/src/main/java/org/alliancegenome/curation_api/services/base/CurieObjectCrudService.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.alliancegenome.curation_api.services.base; - -import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; -import org.alliancegenome.curation_api.model.entities.base.CurieObject; -import org.alliancegenome.curation_api.response.ObjectResponse; -import org.alliancegenome.curation_api.response.SearchResponse; - -import io.quarkus.logging.Log; -import jakarta.transaction.Transactional; - -public abstract class CurieObjectCrudService> extends BaseEntityCrudService { - - public ObjectResponse get(String curie) { - E object = findByCurie(curie); - ObjectResponse ret = new ObjectResponse(object); - return ret; - } - - @Transactional - public ObjectResponse delete(String curie) { - E object = findByCurie(curie); - if (object != null) - dao.remove(object.getId()); - ObjectResponse ret = new ObjectResponse<>(object); - return ret; - } - - public E findByCurie(String curie) { - if (curie != null) { - SearchResponse response = findByField("curie", curie); - if (response == null || response.getSingleResult() == null) { - Log.debug("Entity Not Found: " + curie); - return null; - } - E entity = response.getSingleResult(); - Log.debug("Entity Found: " + entity); - return entity; - } else { - Log.debug("Input Param is null: " + curie); - return null; - } - } - -} diff --git a/src/main/java/org/alliancegenome/curation_api/services/base/SubmittedObjectCrudService.java b/src/main/java/org/alliancegenome/curation_api/services/base/SubmittedObjectCrudService.java index c3592537d..106c576a1 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/base/SubmittedObjectCrudService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/base/SubmittedObjectCrudService.java @@ -5,26 +5,29 @@ import org.alliancegenome.curation_api.dao.base.BaseEntityDAO; import org.alliancegenome.curation_api.enums.BackendBulkDataProvider; import org.alliancegenome.curation_api.exceptions.ObjectUpdateException; +import org.alliancegenome.curation_api.interfaces.base.BaseUpsertControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseDeleteIdentifierControllerInterface; +import org.alliancegenome.curation_api.interfaces.base.crud.BaseReadIdControllerInterface; import org.alliancegenome.curation_api.model.entities.base.SubmittedObject; import org.alliancegenome.curation_api.model.ingest.dto.base.BaseDTO; import org.alliancegenome.curation_api.response.ObjectResponse; -import org.alliancegenome.curation_api.response.SearchResponse; -import io.quarkus.logging.Log; import jakarta.transaction.Transactional; -public abstract class SubmittedObjectCrudService> extends CurieObjectCrudService { +public abstract class SubmittedObjectCrudService> extends BaseEntityCrudService implements + BaseReadIdControllerInterface, + BaseDeleteIdentifierControllerInterface, + BaseUpsertControllerInterface +{ - @Override - public ObjectResponse get(String identifierString) { + public ObjectResponse getByIdentifier(String identifierString) { E object = findByIdentifierString(identifierString); ObjectResponse ret = new ObjectResponse(object); return ret; } - @Override @Transactional - public ObjectResponse delete(String identifierString) { + public ObjectResponse deleteByIdentifier(String identifierString) { E object = findByIdentifierString(identifierString); if (object != null) dao.remove(object.getId()); @@ -32,6 +35,9 @@ public ObjectResponse delete(String identifierString) { return ret; } + public E upsert(T dto) throws ObjectUpdateException { + return upsert(dto, null); + } public abstract E upsert(T dto, BackendBulkDataProvider dataProvider) throws ObjectUpdateException; public abstract void removeOrDeprecateNonUpdated(Long id, String loadDescription); diff --git a/src/main/java/org/alliancegenome/curation_api/services/ontology/NcbiTaxonTermService.java b/src/main/java/org/alliancegenome/curation_api/services/ontology/NcbiTaxonTermService.java index ff4a2f213..d68a99085 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/ontology/NcbiTaxonTermService.java +++ b/src/main/java/org/alliancegenome/curation_api/services/ontology/NcbiTaxonTermService.java @@ -38,7 +38,7 @@ protected void init() { private NCBIRESTInterface api = RestProxyFactory.createProxy(NCBIRESTInterface.class, "https://eutils.ncbi.nlm.nih.gov"); @Override - public ObjectResponse get(String taxonCurie) { + public ObjectResponse getByCurie(String taxonCurie) { NCBITaxonTerm term = null; if(taxonRequest != null) { diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/DataProviderValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/DataProviderValidator.java index 95de252d0..a8c29a1df 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/DataProviderValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/DataProviderValidator.java @@ -100,7 +100,7 @@ private Organization validateSourceOrganization(DataProvider uiEntity, DataProvi return null; } - Organization sourceOrganization = organizationService.get(uiEntity.getSourceOrganization().getId()).getEntity(); + Organization sourceOrganization = organizationService.getById(uiEntity.getSourceOrganization().getId()).getEntity(); if (sourceOrganization == null) { addMessageResponse(field, ValidationConstants.INVALID_MESSAGE); return null; diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/VocabularyTermValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/VocabularyTermValidator.java index a712fe63e..6548644f6 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/VocabularyTermValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/VocabularyTermValidator.java @@ -34,7 +34,7 @@ public VocabularyTerm validateVocabularyTermUpdate(VocabularyTerm uiEntity) { addMessageResponse("No VocabularyTerm ID provided"); throw new ApiErrorException(response); } - VocabularyTerm dbEntity = vocabularyTermService.get(id).getEntity(); + VocabularyTerm dbEntity = vocabularyTermService.getById(id).getEntity(); if (dbEntity == null) { addMessageResponse("Could not find VocabularyTerm with ID: [" + id + "]"); throw new ApiErrorException(response); diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/associations/constructAssociations/ConstructGenomicEntityAssociationDTOValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/associations/constructAssociations/ConstructGenomicEntityAssociationDTOValidator.java index 448998434..a867e637c 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/associations/constructAssociations/ConstructGenomicEntityAssociationDTOValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/associations/constructAssociations/ConstructGenomicEntityAssociationDTOValidator.java @@ -51,7 +51,7 @@ public ConstructGenomicEntityAssociation validateConstructGenomicEntityAssociati Construct construct = null; if (StringUtils.isNotBlank(dto.getConstructIdentifier())) { - ObjectResponse constructResponse = constructService.get(dto.getConstructIdentifier()); + ObjectResponse constructResponse = constructService.getByIdentifier(dto.getConstructIdentifier()); if (constructResponse == null || constructResponse.getEntity() == null) { assocResponse.addErrorMessage("construct_identifier", ValidationConstants.INVALID_MESSAGE); } else { diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/base/BaseDTOValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/base/BaseDTOValidator.java index 367422506..b31c17a8c 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/base/BaseDTOValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/base/BaseDTOValidator.java @@ -102,7 +102,7 @@ public ObjectRespons if (StringUtils.isBlank(dto.getTaxonCurie())) { beResponse.addErrorMessage("taxon_curie", ValidationConstants.REQUIRED_MESSAGE); } else { - ObjectResponse taxonResponse = ncbiTaxonTermService.get(dto.getTaxonCurie()); + ObjectResponse taxonResponse = ncbiTaxonTermService.getByCurie(dto.getTaxonCurie()); if (taxonResponse.getEntity() == null) { beResponse.addErrorMessage("taxon_curie", ValidationConstants.INVALID_MESSAGE + " (" + dto.getTaxonCurie() + ")"); } diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/AllelePhenotypeAnnotationFmsDTOValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/AllelePhenotypeAnnotationFmsDTOValidator.java index 60927719e..ef01289f6 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/AllelePhenotypeAnnotationFmsDTOValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/AllelePhenotypeAnnotationFmsDTOValidator.java @@ -26,8 +26,8 @@ @RequestScoped public class AllelePhenotypeAnnotationFmsDTOValidator extends PhenotypeAnnotationFmsDTOValidator { - - @Inject + + @Inject AllelePhenotypeAnnotationDAO allelePhenotypeAnnotationDAO; @Inject GenomicEntityService genomicEntityService; diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneGeneticInteractionFmsDTOValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneGeneticInteractionFmsDTOValidator.java index ef91b91f9..a2693b5d0 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneGeneticInteractionFmsDTOValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneGeneticInteractionFmsDTOValidator.java @@ -15,10 +15,8 @@ import org.alliancegenome.curation_api.services.VocabularyTermService; import org.alliancegenome.curation_api.services.helpers.interactions.InteractionAnnotationsHelper; import org.alliancegenome.curation_api.services.helpers.interactions.InteractionStringHelper; -import org.apache.cassandra.thrift.Cassandra.login_args; import org.apache.commons.collections.CollectionUtils; -import io.quarkus.logging.Log; import jakarta.enterprise.context.RequestScoped; import jakarta.inject.Inject; @@ -59,7 +57,7 @@ public GeneGeneticInteraction validateGeneGeneticInteractionFmsDTO(PsiMiTabDTO d String uniqueId = InteractionStringHelper.getGeneGeneticInteractionUniqueId(dto, interactionId, references, phenotypesOrTraits); String searchValue = interactionId == null ? uniqueId : interactionId; - ObjectResponse interactionResponse = geneGeneticInteractionService.get(searchValue); + ObjectResponse interactionResponse = geneGeneticInteractionService.getByIdentifier(searchValue); if (interactionResponse != null) interaction = interactionResponse.getEntity(); if (interaction == null) diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneMolecularInteractionFmsDTOValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneMolecularInteractionFmsDTOValidator.java index 4b6f5ebfe..0eb587180 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneMolecularInteractionFmsDTOValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/GeneMolecularInteractionFmsDTOValidator.java @@ -16,7 +16,6 @@ import org.alliancegenome.curation_api.services.helpers.interactions.InteractionStringHelper; import org.apache.commons.collections.CollectionUtils; -import io.quarkus.logging.Log; import jakarta.enterprise.context.RequestScoped; import jakarta.inject.Inject; @@ -53,7 +52,7 @@ public GeneMolecularInteraction validateGeneMolecularInteractionFmsDTO(PsiMiTabD String uniqueId = InteractionStringHelper.getGeneMolecularInteractionUniqueId(dto, interactionId, references); String searchValue = interactionId == null ? uniqueId : interactionId; - ObjectResponse interactionResponse = geneMolecularInteractionService.get(searchValue); + ObjectResponse interactionResponse = geneMolecularInteractionService.getByIdentifier(searchValue); if (interactionResponse != null) interaction = interactionResponse.getEntity(); if (interaction == null) diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/OrthologyFmsDTOValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/OrthologyFmsDTOValidator.java index 91a5254be..abdf6a790 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/OrthologyFmsDTOValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/fms/OrthologyFmsDTOValidator.java @@ -69,7 +69,7 @@ public GeneToGeneOrthologyGenerated validateOrthologyFmsDTO(OrthologyFmsDTO dto) if (dto.getGene1Species() == null) { orthologyResponse.addErrorMessage("gene1Species", ValidationConstants.REQUIRED_MESSAGE); } else { - ObjectResponse taxonResponse = ncbiTaxonTermService.get("NCBITaxon:" + dto.getGene1Species()); + ObjectResponse taxonResponse = ncbiTaxonTermService.getByCurie("NCBITaxon:" + dto.getGene1Species()); NCBITaxonTerm subjectTaxon = taxonResponse.getEntity(); if (subjectTaxon == null) { orthologyResponse.addErrorMessage("gene1Species", ValidationConstants.INVALID_MESSAGE + " (" + dto.getGene1Species() + ")"); @@ -89,7 +89,7 @@ public GeneToGeneOrthologyGenerated validateOrthologyFmsDTO(OrthologyFmsDTO dto) if (dto.getGene2Species() == null) { orthologyResponse.addErrorMessage("gene2Species", ValidationConstants.REQUIRED_MESSAGE); } else { - ObjectResponse taxonResponse = ncbiTaxonTermService.get("NCBITaxon:" + dto.getGene2Species()); + ObjectResponse taxonResponse = ncbiTaxonTermService.getByCurie("NCBITaxon:" + dto.getGene2Species()); NCBITaxonTerm objectTaxon = taxonResponse.getEntity(); if (objectTaxon == null) { orthologyResponse.addErrorMessage("gene2Species", ValidationConstants.INVALID_MESSAGE + " (" + dto.getGene2Species() + ")"); diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationDTOValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationDTOValidator.java index 823260bb5..cfd313456 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/dto/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationDTOValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/dto/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationDTOValidator.java @@ -67,7 +67,7 @@ public ObjectResponse validateConstructCompone } if (StringUtils.isNotBlank(dto.getTaxonCurie())) { - ObjectResponse taxonResponse = ncbiTaxonTermService.get(dto.getTaxonCurie()); + ObjectResponse taxonResponse = ncbiTaxonTermService.getByCurie(dto.getTaxonCurie()); if (taxonResponse.getEntity() == null) { ccsaResponse.addErrorMessage("taxon_curie", ValidationConstants.INVALID_MESSAGE + " (" + dto.getTaxonCurie() + ")"); } diff --git a/src/main/java/org/alliancegenome/curation_api/services/validation/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationValidator.java b/src/main/java/org/alliancegenome/curation_api/services/validation/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationValidator.java index 3cd4a552e..86c9c3c4f 100644 --- a/src/main/java/org/alliancegenome/curation_api/services/validation/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationValidator.java +++ b/src/main/java/org/alliancegenome/curation_api/services/validation/slotAnnotations/constructSlotAnnotations/ConstructComponentSlotAnnotationValidator.java @@ -144,7 +144,7 @@ public NCBITaxonTerm validateTaxon(ConstructComponentSlotAnnotation uiEntity, Co if (uiEntity.getTaxon() == null || StringUtils.isBlank(uiEntity.getTaxon().getCurie())) return null; - NCBITaxonTerm taxon = ncbiTaxonTermService.get(uiEntity.getTaxon().getCurie()).getEntity(); + NCBITaxonTerm taxon = ncbiTaxonTermService.getByCurie(uiEntity.getTaxon().getCurie()).getEntity(); if (taxon == null) { addMessageResponse(field, ValidationConstants.INVALID_MESSAGE); return null;