Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts: # dmp-frontend/src/app/ui/plan/plan-editor-blueprint/plan-editor.component.html
This commit is contained in:
commit
caa40cc907
|
@ -14,39 +14,39 @@ public class AuditableAction {
|
|||
public static final EventId EntityDoi_Persist = new EventId(2002, "EntityDoi_Persist");
|
||||
public static final EventId EntityDoi_Delete = new EventId(2003, "EntityDoi_Delete");
|
||||
|
||||
public static final EventId DmpBlueprint_Query = new EventId(3000, "DmpBlueprint_Query");
|
||||
public static final EventId DmpBlueprint_Lookup = new EventId(3001, "DmpBlueprint_Lookup");
|
||||
public static final EventId DmpBlueprint_Persist = new EventId(3002, "DmpBlueprint_Persist");
|
||||
public static final EventId DmpBlueprint_Delete = new EventId(3003, "DmpBlueprint_Delete");
|
||||
public static final EventId DmpBlueprint_Clone = new EventId(3004, "DmpBlueprint_Clone");
|
||||
public static final EventId PlanBlueprint_Query = new EventId(3000, "PlanBlueprint_Query");
|
||||
public static final EventId PlanBlueprint_Lookup = new EventId(3001, "PlanBlueprint_Lookup");
|
||||
public static final EventId PlanBlueprint_Persist = new EventId(3002, "PlanBlueprint_Persist");
|
||||
public static final EventId PlanBlueprint_Delete = new EventId(3003, "PlanBlueprint_Delete");
|
||||
public static final EventId PlanBlueprint_Clone = new EventId(3004, "PlanBlueprint_Clone");
|
||||
|
||||
public static final EventId DmpBlueprint_PersistNewVersion = new EventId(3005, "DmpBlueprint_PersistNewVersion");
|
||||
public static final EventId DmpBlueprint_GetXml = new EventId(3006, "DmpBlueprint_GetXml");
|
||||
public static final EventId DmpBlueprint_Import = new EventId(3007, "DmpBlueprint_Import");
|
||||
public static final EventId PlanBlueprint_PersistNewVersion = new EventId(3005, "PlanBlueprint_PersistNewVersion");
|
||||
public static final EventId PlanBlueprint_GetXml = new EventId(3006, "PlanBlueprint_GetXml");
|
||||
public static final EventId PlanBlueprint_Import = new EventId(3007, "PlanBlueprint_Import");
|
||||
|
||||
public static final EventId User_Settings_Query = new EventId(4000, "User_Settings_Query");
|
||||
public static final EventId User_Settings_Lookup = new EventId(4001, "User_Settings_Lookup");
|
||||
public static final EventId User_Settings_Persist = new EventId(4002, "User_Settings_Persist");
|
||||
public static final EventId User_Settings_Delete = new EventId(4003, "User_Settings_Delete");
|
||||
|
||||
public static final EventId Dmp_Query = new EventId(5000, "Dmp_Query");
|
||||
public static final EventId Dmp_Lookup = new EventId(5001, "Dmp_Lookup");
|
||||
public static final EventId Dmp_Persist = new EventId(5002, "Dmp_Persist");
|
||||
public static final EventId Dmp_Delete = new EventId(5003, "Dmp_Delete");
|
||||
public static final EventId Dmp_Clone = new EventId(5004, "Dmp_Clone");
|
||||
public static final EventId Dmp_PersistNewVersion = new EventId(5005, "Dmp_PersistNewVersion");
|
||||
public static final EventId Dmp_Assign_Users = new EventId(5006, "Dmp_Assign_Users");
|
||||
public static final EventId Dmp_RemoveUser = new EventId(5007, "Dmp_RemoveUser");
|
||||
public static final EventId Dmp_Invite_Users = new EventId(5008, "Dmp_Invite_Users");
|
||||
public static final EventId Dmp_Invite_Accept = new EventId(5009, "Dmp_Invite_Accept");
|
||||
public static final EventId Dmp_PublicQuery = new EventId(5010, "Dmp_PublicQuery");
|
||||
public static final EventId Dmp_Export = new EventId(5011, "Dmp_Export");
|
||||
public static final EventId Dmp_PublicLookup = new EventId(5012, "Dmp_PublicLookup");
|
||||
public static final EventId Dmp_Finalize = new EventId(5013, "Dmp_Finalize");
|
||||
public static final EventId Dmp_Undo_Finalize = new EventId(5014, "Dmp_Undo_Finalize");
|
||||
public static final EventId Dmp_Validate = new EventId(5015, "Dmp_Validate");
|
||||
public static final EventId Dmp_GetXml = new EventId(5016, "Dmp_GetXml");
|
||||
public static final EventId Dmp_Import = new EventId(5017, "Dmp_Import");
|
||||
public static final EventId Plan_Query = new EventId(5000, "Plan_Query");
|
||||
public static final EventId Plan_Lookup = new EventId(5001, "Plan_Lookup");
|
||||
public static final EventId Plan_Persist = new EventId(5002, "Plan_Persist");
|
||||
public static final EventId Plan_Delete = new EventId(5003, "Plan_Delete");
|
||||
public static final EventId Plan_Clone = new EventId(5004, "Plan_Clone");
|
||||
public static final EventId Plan_PersistNewVersion = new EventId(5005, "Plan_PersistNewVersion");
|
||||
public static final EventId Plan_Assign_Users = new EventId(5006, "Plan_Assign_Users");
|
||||
public static final EventId Plan_RemoveUser = new EventId(5007, "Plan_RemoveUser");
|
||||
public static final EventId Plan_Invite_Users = new EventId(5008, "Plan_Invite_Users");
|
||||
public static final EventId Plan_Invite_Accept = new EventId(5009, "Plan_Invite_Accept");
|
||||
public static final EventId Plan_PublicQuery = new EventId(5010, "Plan_PublicQuery");
|
||||
public static final EventId Plan_Export = new EventId(5011, "Plan_Export");
|
||||
public static final EventId Plan_PublicLookup = new EventId(5012, "Plan_PublicLookup");
|
||||
public static final EventId Plan_Finalize = new EventId(5013, "Plan_Finalize");
|
||||
public static final EventId Plan_Undo_Finalize = new EventId(5014, "Plan_Undo_Finalize");
|
||||
public static final EventId Plan_Validate = new EventId(5015, "Plan_Validate");
|
||||
public static final EventId Plan_GetXml = new EventId(5016, "Plan_GetXml");
|
||||
public static final EventId Plan_Import = new EventId(5017, "Plan_Import");
|
||||
|
||||
|
||||
public static final EventId Description_Query = new EventId(6000, "Description_Query");
|
||||
|
@ -102,7 +102,7 @@ public class AuditableAction {
|
|||
public static final EventId User_MergeConfirm = new EventId(11011, "User_MergeConfirm");
|
||||
public static final EventId User_RemoveCredentialRequest = new EventId(11012, "User_RemoveCredentialRequest");
|
||||
public static final EventId User_RemoveCredentialConfirm = new EventId(11013, "User_RemoveCredentialConfirm");
|
||||
public static final EventId User_DmpAssociatedQuery = new EventId(11014, "User_DmpAssociatedQuery");
|
||||
public static final EventId User_PlanAssociatedQuery = new EventId(11014, "User_PlanAssociatedQuery");
|
||||
public static final EventId User_AllowMergeAccount = new EventId(11015, "User_AllowMergeAccount");
|
||||
public static final EventId User_InviteToTenant = new EventId(11016, "User_InviteToTenant");
|
||||
public static final EventId User_InviteToTenantConfirm = new EventId(11017, "User_InviteToTenantConfirm");
|
||||
|
@ -156,7 +156,7 @@ public class AuditableAction {
|
|||
public static final EventId Maintenance_ClearElastic = new EventId(230000, "Maintenance_ClearElastic");
|
||||
public static final EventId Maintenance_SendUserTouchEvents = new EventId(230001, "Maintenance_SendUserTouchEvents");
|
||||
public static final EventId Maintenance_SendTenantTouchEvents = new EventId(230002, "Maintenance_SendTenantTouchEvents");
|
||||
public static final EventId Maintenance_SendDmpTouchEvents = new EventId(230003, "Maintenance_SendDmpTouchEvents");
|
||||
public static final EventId Maintenance_SendPlanTouchEvents = new EventId(230003, "Maintenance_SendPlanTouchEvents");
|
||||
public static final EventId Maintenance_SendDescriptionTouchEvents = new EventId(230004, "Maintenance_SendDescriptionTouchEvents");
|
||||
|
||||
public static final EventId Principal_Lookup = new EventId(240000, "Principal_Lookup");
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
package org.opencdmp.authorization;
|
||||
|
||||
import gr.cite.commons.web.authz.policy.AuthorizationResource;
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import org.opencdmp.commons.enums.UserDescriptionTemplateRole;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
public class AffiliatedResource extends AuthorizationResource {
|
||||
private HashSet<DmpUserRole> dmpUserRoles;
|
||||
private HashSet<PlanUserRole> planUserRoles;
|
||||
private HashSet<UserDescriptionTemplateRole> userDescriptionTemplateRoles;
|
||||
|
||||
public AffiliatedResource() {
|
||||
this.dmpUserRoles = new HashSet<>();
|
||||
this.planUserRoles = new HashSet<>();
|
||||
this.userDescriptionTemplateRoles = new HashSet<>();
|
||||
}
|
||||
|
||||
public HashSet<DmpUserRole> getDmpUserRoles() {
|
||||
return this.dmpUserRoles;
|
||||
public HashSet<PlanUserRole> getPlanUserRoles() {
|
||||
return this.planUserRoles;
|
||||
}
|
||||
|
||||
public void setDmpUserRoles(HashSet<DmpUserRole> dmpUserRoles) {
|
||||
this.dmpUserRoles = dmpUserRoles;
|
||||
public void setPlanUserRoles(HashSet<PlanUserRole> planUserRoles) {
|
||||
this.planUserRoles = planUserRoles;
|
||||
}
|
||||
|
||||
public HashSet<UserDescriptionTemplateRole> getUserDescriptionTemplateRoles() {
|
||||
|
|
|
@ -59,7 +59,7 @@ public final class Permission {
|
|||
public static String ExportUsers = "ExportUsers";
|
||||
public static String EditTenantUserRole = "EditTenantUserRole";
|
||||
public static String InviteTenantUser = "InviteTenantUser";
|
||||
public static String BrowseDmpAssociatedUser = "BrowseDmpAssociatedUser";
|
||||
public static String BrowsePlanAssociatedUser = "BrowsePlanAssociatedUser";
|
||||
|
||||
|
||||
//StorageFile
|
||||
|
@ -72,38 +72,38 @@ public final class Permission {
|
|||
public static String EditDescriptionTemplateType = "EditDescriptionTemplateType";
|
||||
public static String DeleteDescriptionTemplateType = "DeleteDescriptionTemplateType";
|
||||
|
||||
//Dmp
|
||||
public static String BrowseDmp = "BrowseDmp";
|
||||
public static String EditDmp = "EditDmp";
|
||||
public static String NewDmp = "NewDmp";
|
||||
public static String DepositDmp = "DepositDmp";
|
||||
public static String DeleteDmp = "DeleteDmp";
|
||||
public static String CloneDmp = "CloneDmp";
|
||||
public static String ExportDmp = "ExportDmp";
|
||||
public static String CreateNewVersionDmp = "CreateNewVersionDmp";
|
||||
public static String FinalizeDmp = "FinalizeDmp";
|
||||
public static String UndoFinalizeDmp = "UndoFinalizeDmp";
|
||||
public static String AssignDmpUsers = "AssignDmpUsers";
|
||||
public static String InviteDmpUsers = "InviteDmpUsers";
|
||||
//Plan
|
||||
public static String BrowsePlan = "BrowsePlan";
|
||||
public static String EditPlan = "EditPlan";
|
||||
public static String NewPlan = "NewPlan";
|
||||
public static String DepositPlan = "DepositPlan";
|
||||
public static String DeletePlan = "DeletePlan";
|
||||
public static String ClonePlan = "ClonePlan";
|
||||
public static String ExportPlan = "ExportPlan";
|
||||
public static String CreateNewVersionPlan = "CreateNewVersionPlan";
|
||||
public static String FinalizePlan = "FinalizePlan";
|
||||
public static String UndoFinalizePlan = "UndoFinalizePlan";
|
||||
public static String AssignPlanUsers = "AssignPlanUsers";
|
||||
public static String InvitePlanUsers = "InvitePlanUsers";
|
||||
|
||||
//DmpBlueprint
|
||||
public static String BrowseDmpBlueprint = "BrowseDmpBlueprint";
|
||||
public static String EditDmpBlueprint = "EditDmpBlueprint";
|
||||
public static String DeleteDmpBlueprint = "DeleteDmpBlueprint";
|
||||
public static String CloneDmpBlueprint = "CloneDmpBlueprint";
|
||||
public static String CreateNewVersionDmpBlueprint = "CreateNewVersionDmpBlueprint";
|
||||
public static String ExportDmpBlueprint = "ExportDmpBlueprint";
|
||||
public static String ImportDmpBlueprint = "ImportDmpBlueprint";
|
||||
//PlanBlueprint
|
||||
public static String BrowsePlanBlueprint = "BrowsePlanBlueprint";
|
||||
public static String EditPlanBlueprint = "EditPlanBlueprint";
|
||||
public static String DeletePlanBlueprint = "DeletePlanBlueprint";
|
||||
public static String ClonePlanBlueprint = "ClonePlanBlueprint";
|
||||
public static String CreateNewVersionPlanBlueprint = "CreateNewVersionPlanBlueprint";
|
||||
public static String ExportPlanBlueprint = "ExportPlanBlueprint";
|
||||
public static String ImportPlanBlueprint = "ImportPlanBlueprint";
|
||||
|
||||
//DmpDescriptionTemplate
|
||||
public static String BrowseDmpDescriptionTemplate = "BrowseDmpDescriptionTemplate";
|
||||
public static String EditDmpDescriptionTemplate = "EditDmpDescriptionTemplate";
|
||||
public static String DeleteDmpDescriptionTemplate = "DeleteDmpDescriptionTemplate";
|
||||
//PlanDescriptionTemplate
|
||||
public static String BrowsePlanDescriptionTemplate = "BrowsePlanDescriptionTemplate";
|
||||
public static String EditPlanDescriptionTemplate = "EditPlanDescriptionTemplate";
|
||||
public static String DeletePlanDescriptionTemplate = "DeletePlanDescriptionTemplate";
|
||||
|
||||
//DmpUser
|
||||
public static String BrowseDmpUser = "BrowseDmpUser";
|
||||
public static String EditDmpUser = "EditDmpUser";
|
||||
public static String DeleteDmpUser = "DeleteDmpUser";
|
||||
//PlanUser
|
||||
public static String BrowsePlanUser = "BrowsePlanUser";
|
||||
public static String EditPlanUser = "EditPlanUser";
|
||||
public static String DeletePlanUser = "DeletePlanUser";
|
||||
|
||||
//Description
|
||||
public static String BrowseDescription = "BrowseDescription";
|
||||
|
@ -142,10 +142,10 @@ public final class Permission {
|
|||
public static String EditTag = "EditTag";
|
||||
public static String DeleteTag = "DeleteTag";
|
||||
|
||||
//DmpReference
|
||||
public static String BrowseDmpReference = "BrowseDmpReference";
|
||||
public static String EditDmpReference = "EditDmpReference";
|
||||
public static String DeleteDmpReference = "DeleteDmpReference";
|
||||
//PlanReference
|
||||
public static String BrowsePlanReference = "BrowsePlanReference";
|
||||
public static String EditPlanReference = "EditPlanReference";
|
||||
public static String DeletePlanReference = "DeletePlanReference";
|
||||
|
||||
//DescriptionReference
|
||||
public static String BrowseDescriptionReference = "BrowseDescriptionReference";
|
||||
|
@ -218,14 +218,14 @@ public final class Permission {
|
|||
public static String ViewTenantPage = "ViewTenantPage";
|
||||
public static String ViewPrefillingSourcePage = "ViewPrefillingSourcePage";
|
||||
public static String ViewReferenceTypePage = "ViewReferenceTypePage";
|
||||
public static String ViewReferencePage = "ViewReferencePage";
|
||||
public static String ViewReferencePaPlge = "ViewReferencePage";
|
||||
public static String ViewEntityLockPage = "ViewEntityLockPage";
|
||||
public static String ViewDescriptionTemplatePage = "ViewDescriptionTemplatePage";
|
||||
public static String ViewDmpBlueprintPage = "ViewDmpBlueprintPage";
|
||||
public static String ViewPlanBlueprintPage = "ViewPlanBlueprintPage";
|
||||
public static String ViewPublicDescriptionPage = "ViewPublicDescriptionPage";
|
||||
public static String ViewPublicDmpPage = "ViewPublicDmpPage";
|
||||
public static String ViewMyDescriptionPage = "ViewMyDescriptionPage";
|
||||
public static String ViewMyDmpPage = "ViewMyDmpPage";
|
||||
public static String ViewMyPlanPage = "ViewMyPlanPage";
|
||||
public static String ViewHomePage = "ViewHomePage";
|
||||
public static String ViewMineInAppNotificationPage = "ViewMineInAppNotificationPage";
|
||||
public static String ViewTenantConfigurationPage = "ViewTenantConfigurationPage";
|
||||
|
|
|
@ -23,7 +23,7 @@ public interface AuthorizationContentResolver {
|
|||
|
||||
Map<UUID, AffiliatedResource> descriptionsAffiliation(List<UUID> ids);
|
||||
|
||||
AffiliatedResource descriptionsAffiliationBySection(UUID dmpId, UUID sectionId);
|
||||
AffiliatedResource descriptionsAffiliationBySection(UUID planId, UUID sectionId);
|
||||
|
||||
Map<UUID, AffiliatedResource> descriptionsAffiliationBySections(UUID dmpId, List<UUID> sectionIds);
|
||||
Map<UUID, AffiliatedResource> descriptionsAffiliationBySections(UUID planId, List<UUID> sectionIds);
|
||||
}
|
||||
|
|
|
@ -10,13 +10,13 @@ import org.opencdmp.commons.enums.IsActive;
|
|||
import org.opencdmp.commons.scope.tenant.TenantScope;
|
||||
import org.opencdmp.commons.scope.user.UserScope;
|
||||
import org.opencdmp.data.*;
|
||||
import org.opencdmp.model.DmpDescriptionTemplate;
|
||||
import org.opencdmp.model.DmpUser;
|
||||
import org.opencdmp.model.PlanDescriptionTemplate;
|
||||
import org.opencdmp.model.PlanUser;
|
||||
import org.opencdmp.model.UserDescriptionTemplate;
|
||||
import org.opencdmp.model.description.Description;
|
||||
import org.opencdmp.query.DescriptionQuery;
|
||||
import org.opencdmp.query.DmpDescriptionTemplateQuery;
|
||||
import org.opencdmp.query.DmpUserQuery;
|
||||
import org.opencdmp.query.PlanDescriptionTemplateQuery;
|
||||
import org.opencdmp.query.PlanUserQuery;
|
||||
import org.opencdmp.query.UserDescriptionTemplateQuery;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -65,12 +65,12 @@ public class AuthorizationContentResolverImpl implements AuthorizationContentRes
|
|||
}
|
||||
if (userId == null || !this.userScope.isSet()) return affiliatedResources;
|
||||
|
||||
List<UUID> idsToResolve = this.getAffiliatedFromCache(ids, userId, affiliatedResources, DmpEntity.class.getSimpleName());
|
||||
List<UUID> idsToResolve = this.getAffiliatedFromCache(ids, userId, affiliatedResources, PlanEntity.class.getSimpleName());
|
||||
if (idsToResolve.isEmpty()) return affiliatedResources;
|
||||
List<DmpUserEntity> dmpUsers;
|
||||
List<PlanUserEntity> dmpUsers;
|
||||
try {
|
||||
this.tenantEntityManager.loadExplictTenantFilters();
|
||||
dmpUsers = this.queryFactory.query(DmpUserQuery.class).disableTracking().dmpIds(ids).sectionIsEmpty(true).userIds(userId).isActives(IsActive.Active).collectAs(new BaseFieldSet().ensure(DmpUser._role).ensure(DmpUser._dmp));
|
||||
dmpUsers = this.queryFactory.query(PlanUserQuery.class).disableTracking().planIds(ids).sectionIsEmpty(true).userIds(userId).isActives(IsActive.Active).collectAs(new BaseFieldSet().ensure(PlanUser._role).ensure(PlanUser._plan));
|
||||
} catch (InvalidApplicationException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new MyApplicationException(e.getMessage());
|
||||
|
@ -82,11 +82,11 @@ public class AuthorizationContentResolverImpl implements AuthorizationContentRes
|
|||
throw new MyApplicationException(e.getMessage());
|
||||
}
|
||||
}
|
||||
for (DmpUserEntity dmpUser : dmpUsers){
|
||||
affiliatedResources.get(dmpUser.getDmpId()).getDmpUserRoles().add(dmpUser.getRole());
|
||||
for (PlanUserEntity dmpUser : dmpUsers){
|
||||
affiliatedResources.get(dmpUser.getPlanId()).getPlanUserRoles().add(dmpUser.getRole());
|
||||
}
|
||||
|
||||
this.ensureAffiliatedInCache(idsToResolve, userId, affiliatedResources, DmpEntity.class.getSimpleName());
|
||||
this.ensureAffiliatedInCache(idsToResolve, userId, affiliatedResources, PlanEntity.class.getSimpleName());
|
||||
return affiliatedResources;
|
||||
}
|
||||
|
||||
|
@ -172,14 +172,14 @@ public class AuthorizationContentResolverImpl implements AuthorizationContentRes
|
|||
List<UUID> idsToResolve = this.getAffiliatedFromCache(ids, userId, affiliatedResources, DescriptionEntity.class.getSimpleName());
|
||||
if (idsToResolve.isEmpty()) return affiliatedResources;
|
||||
|
||||
List<DmpDescriptionTemplateEntity> dmpDescriptionTemplateEntities;
|
||||
List<DmpUserEntity> dmpUsers;
|
||||
List<PlanDescriptionTemplateEntity> planDescriptionTemplateEntities;
|
||||
List<PlanUserEntity> planUsers;
|
||||
List<DescriptionEntity> descriptionEntities;
|
||||
try {
|
||||
this.tenantEntityManager.loadExplictTenantFilters();
|
||||
descriptionEntities = this.queryFactory.query(DescriptionQuery.class).disableTracking().ids(ids).collectAs(new BaseFieldSet().ensure(Description._id).ensure(Description._dmpDescriptionTemplate).ensure(Description._dmp));
|
||||
dmpDescriptionTemplateEntities = this.queryFactory.query(DmpDescriptionTemplateQuery.class).disableTracking().ids(descriptionEntities.stream().map(DescriptionEntity::getDmpDescriptionTemplateId).distinct().toList()).collectAs(new BaseFieldSet().ensure(DmpDescriptionTemplate._id).ensure(DmpDescriptionTemplate._sectionId));
|
||||
dmpUsers = this.queryFactory.query(DmpUserQuery.class).disableTracking().descriptionIds(ids).userIds(userId).isActives(IsActive.Active).collectAs(new BaseFieldSet().ensure(DmpUser._role).ensure(DmpUser._sectionId).ensure(DmpUser._dmp));
|
||||
descriptionEntities = this.queryFactory.query(DescriptionQuery.class).disableTracking().ids(ids).collectAs(new BaseFieldSet().ensure(Description._id).ensure(Description._planDescriptionTemplate).ensure(Description._plan));
|
||||
planDescriptionTemplateEntities = this.queryFactory.query(PlanDescriptionTemplateQuery.class).disableTracking().ids(descriptionEntities.stream().map(DescriptionEntity::getPlanDescriptionTemplateId).distinct().toList()).collectAs(new BaseFieldSet().ensure(PlanDescriptionTemplate._id).ensure(PlanDescriptionTemplate._sectionId));
|
||||
planUsers = this.queryFactory.query(PlanUserQuery.class).disableTracking().descriptionIds(ids).userIds(userId).isActives(IsActive.Active).collectAs(new BaseFieldSet().ensure(PlanUser._role).ensure(PlanUser._sectionId).ensure(PlanUser._plan));
|
||||
|
||||
} catch (InvalidApplicationException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
@ -195,17 +195,17 @@ public class AuthorizationContentResolverImpl implements AuthorizationContentRes
|
|||
|
||||
|
||||
|
||||
Map<UUID, DmpDescriptionTemplateEntity> dmpDescriptionTemplateEntityMap = dmpDescriptionTemplateEntities == null ? new HashMap<>() : dmpDescriptionTemplateEntities.stream().collect(Collectors.toMap(DmpDescriptionTemplateEntity::getId, x-> x));
|
||||
Map<UUID, List<DmpUserEntity>> dmpUsersMap = dmpUsers.stream().collect(Collectors.groupingBy(DmpUserEntity::getDmpId));
|
||||
Map<UUID, PlanDescriptionTemplateEntity> planDescriptionTemplateEntityMap = planDescriptionTemplateEntities == null ? new HashMap<>() : planDescriptionTemplateEntities.stream().collect(Collectors.toMap(PlanDescriptionTemplateEntity::getId, x-> x));
|
||||
Map<UUID, List<PlanUserEntity>> planUsersMap = planUsers.stream().collect(Collectors.groupingBy(PlanUserEntity::getPlanId));
|
||||
|
||||
for (DescriptionEntity description : descriptionEntities){
|
||||
List<DmpUserEntity> dmpDescriptionUsers = dmpUsersMap.getOrDefault(description.getDmpId(), new ArrayList<>());
|
||||
for (DmpUserEntity dmpUser : dmpDescriptionUsers) {
|
||||
if (dmpUser.getSectionId() == null) affiliatedResources.get(description.getId()).getDmpUserRoles().add(dmpUser.getRole());
|
||||
List<PlanUserEntity> dmpDescriptionUsers = planUsersMap.getOrDefault(description.getPlanId(), new ArrayList<>());
|
||||
for (PlanUserEntity dmpUser : dmpDescriptionUsers) {
|
||||
if (dmpUser.getSectionId() == null) affiliatedResources.get(description.getId()).getPlanUserRoles().add(dmpUser.getRole());
|
||||
else {
|
||||
DmpDescriptionTemplateEntity dmpDescriptionTemplateEntity = dmpDescriptionTemplateEntityMap.getOrDefault(description.getDmpDescriptionTemplateId(), null);
|
||||
if (dmpDescriptionTemplateEntity != null && dmpUser.getSectionId().equals(dmpDescriptionTemplateEntity.getSectionId())){
|
||||
affiliatedResources.get(description.getId()).getDmpUserRoles().add(dmpUser.getRole());
|
||||
PlanDescriptionTemplateEntity planDescriptionTemplateEntity = planDescriptionTemplateEntityMap.getOrDefault(description.getPlanDescriptionTemplateId(), null);
|
||||
if (planDescriptionTemplateEntity != null && dmpUser.getSectionId().equals(planDescriptionTemplateEntity.getSectionId())){
|
||||
affiliatedResources.get(description.getId()).getPlanUserRoles().add(dmpUser.getRole());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -216,12 +216,12 @@ public class AuthorizationContentResolverImpl implements AuthorizationContentRes
|
|||
}
|
||||
|
||||
@Override
|
||||
public AffiliatedResource descriptionsAffiliationBySection(UUID dmpId, UUID sectionId){
|
||||
return this.descriptionsAffiliationBySections(dmpId, List.of(sectionId)).getOrDefault(sectionId, new AffiliatedResource());
|
||||
public AffiliatedResource descriptionsAffiliationBySection(UUID planId, UUID sectionId){
|
||||
return this.descriptionsAffiliationBySections(planId, List.of(sectionId)).getOrDefault(sectionId, new AffiliatedResource());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<UUID, AffiliatedResource> descriptionsAffiliationBySections(UUID dmpId, List<UUID> sectionIds){
|
||||
public Map<UUID, AffiliatedResource> descriptionsAffiliationBySections(UUID planId, List<UUID> sectionIds){
|
||||
UUID userId = this.userScope.getUserIdSafe();
|
||||
Map<UUID, AffiliatedResource> affiliatedResources = new HashMap<>();
|
||||
for (UUID id : sectionIds){
|
||||
|
@ -230,10 +230,10 @@ public class AuthorizationContentResolverImpl implements AuthorizationContentRes
|
|||
if (userId == null || !this.userScope.isSet()) return affiliatedResources;
|
||||
|
||||
|
||||
List<DmpUserEntity> dmpUsers;
|
||||
List<PlanUserEntity> dmpUsers;
|
||||
try {
|
||||
this.tenantEntityManager.loadExplictTenantFilters();
|
||||
dmpUsers = this.queryFactory.query(DmpUserQuery.class).disableTracking().dmpIds(dmpId).userIds(userId).isActives(IsActive.Active).collectAs(new BaseFieldSet().ensure(DmpUser._role).ensure(DmpUser._sectionId).ensure(DmpUser._dmp));
|
||||
dmpUsers = this.queryFactory.query(PlanUserQuery.class).disableTracking().planIds(planId).userIds(userId).isActives(IsActive.Active).collectAs(new BaseFieldSet().ensure(PlanUser._role).ensure(PlanUser._sectionId).ensure(PlanUser._plan));
|
||||
} catch (InvalidApplicationException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new MyApplicationException(e.getMessage());
|
||||
|
@ -247,12 +247,12 @@ public class AuthorizationContentResolverImpl implements AuthorizationContentRes
|
|||
}
|
||||
|
||||
for (UUID sectionId : sectionIds.stream().distinct().toList()){
|
||||
List<DmpUserEntity> dmpSectionUsers = dmpUsers.stream().filter(x-> x.getSectionId() == null || x.getSectionId().equals(sectionId)).toList();
|
||||
for (DmpUserEntity dmpUser : dmpSectionUsers) {
|
||||
if (dmpUser.getSectionId() == null) affiliatedResources.get(sectionId).getDmpUserRoles().add(dmpUser.getRole());
|
||||
List<PlanUserEntity> dmpSectionUsers = dmpUsers.stream().filter(x-> x.getSectionId() == null || x.getSectionId().equals(sectionId)).toList();
|
||||
for (PlanUserEntity dmpUser : dmpSectionUsers) {
|
||||
if (dmpUser.getSectionId() == null) affiliatedResources.get(sectionId).getPlanUserRoles().add(dmpUser.getRole());
|
||||
else {
|
||||
if (dmpUser.getSectionId().equals(sectionId)){
|
||||
affiliatedResources.get(sectionId).getDmpUserRoles().add(dmpUser.getRole());
|
||||
affiliatedResources.get(sectionId).getPlanUserRoles().add(dmpUser.getRole());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ public enum ActionConfirmationType implements DatabaseEnum<Short> {
|
|||
|
||||
MergeAccount((short) 0),
|
||||
RemoveCredential((short) 1),
|
||||
DmpInvitation((short) 2),
|
||||
PlanInvitation((short) 2),
|
||||
UserInviteToTenant ((short) 3);
|
||||
|
||||
private final Short value;
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
package org.opencdmp.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.opencdmp.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpBlueprintExtraFieldDataType implements DatabaseEnum<Short> {
|
||||
|
||||
Text((short) 0),
|
||||
RichTex((short) 1),
|
||||
Date((short) 2),
|
||||
Number((short) 3),
|
||||
;
|
||||
|
||||
private final Short value;
|
||||
|
||||
DmpBlueprintExtraFieldDataType(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public Short getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpBlueprintExtraFieldDataType> map = EnumUtils.getEnumValueMap(DmpBlueprintExtraFieldDataType.class);
|
||||
|
||||
public static DmpBlueprintExtraFieldDataType of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
||||
public static boolean isTextType(DmpBlueprintExtraFieldDataType fieldType){
|
||||
return fieldType.equals(DmpBlueprintExtraFieldDataType.Text) || fieldType.equals(DmpBlueprintExtraFieldDataType.RichTex);
|
||||
}
|
||||
|
||||
public static boolean isDateType(DmpBlueprintExtraFieldDataType fieldType){
|
||||
return fieldType.equals(DmpBlueprintExtraFieldDataType.Date);
|
||||
}
|
||||
|
||||
public static boolean isNumberType(DmpBlueprintExtraFieldDataType fieldType){
|
||||
return fieldType.equals(DmpBlueprintExtraFieldDataType.Number);
|
||||
}
|
||||
|
||||
}
|
|
@ -5,13 +5,13 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpAccessType implements DatabaseEnum<Short> {
|
||||
public enum PlanAccessType implements DatabaseEnum<Short> {
|
||||
|
||||
Public((short) 0), Restricted((short) 1);
|
||||
|
||||
private final Short value;
|
||||
|
||||
DmpAccessType(Short value) {
|
||||
PlanAccessType(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -21,9 +21,9 @@ public enum DmpAccessType implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpAccessType> map = EnumUtils.getEnumValueMap(DmpAccessType.class);
|
||||
private static final Map<Short, PlanAccessType> map = EnumUtils.getEnumValueMap(PlanAccessType.class);
|
||||
|
||||
public static DmpAccessType of(Short i) {
|
||||
public static PlanAccessType of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
package org.opencdmp.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.opencdmp.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public enum PlanBlueprintExtraFieldDataType implements DatabaseEnum<Short> {
|
||||
|
||||
Text((short) 0),
|
||||
RichTex((short) 1),
|
||||
Date((short) 2),
|
||||
Number((short) 3),
|
||||
;
|
||||
|
||||
private final Short value;
|
||||
|
||||
PlanBlueprintExtraFieldDataType(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public Short getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, PlanBlueprintExtraFieldDataType> map = EnumUtils.getEnumValueMap(PlanBlueprintExtraFieldDataType.class);
|
||||
|
||||
public static PlanBlueprintExtraFieldDataType of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
||||
public static boolean isTextType(PlanBlueprintExtraFieldDataType fieldType){
|
||||
return fieldType.equals(PlanBlueprintExtraFieldDataType.Text) || fieldType.equals(PlanBlueprintExtraFieldDataType.RichTex);
|
||||
}
|
||||
|
||||
public static boolean isDateType(PlanBlueprintExtraFieldDataType fieldType){
|
||||
return fieldType.equals(PlanBlueprintExtraFieldDataType.Date);
|
||||
}
|
||||
|
||||
public static boolean isNumberType(PlanBlueprintExtraFieldDataType fieldType){
|
||||
return fieldType.equals(PlanBlueprintExtraFieldDataType.Number);
|
||||
}
|
||||
|
||||
}
|
|
@ -5,7 +5,7 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpBlueprintFieldCategory implements DatabaseEnum<Short> {
|
||||
public enum PlanBlueprintFieldCategory implements DatabaseEnum<Short> {
|
||||
System((short) 0),
|
||||
Extra((short) 1),
|
||||
ReferenceType((short) 2);
|
||||
|
@ -18,7 +18,7 @@ public enum DmpBlueprintFieldCategory implements DatabaseEnum<Short> {
|
|||
|
||||
private final Short value;
|
||||
|
||||
DmpBlueprintFieldCategory(Short value) {
|
||||
PlanBlueprintFieldCategory(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -27,9 +27,9 @@ public enum DmpBlueprintFieldCategory implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpBlueprintFieldCategory> map = EnumUtils.getEnumValueMap(DmpBlueprintFieldCategory.class);
|
||||
private static final Map<Short, PlanBlueprintFieldCategory> map = EnumUtils.getEnumValueMap(PlanBlueprintFieldCategory.class);
|
||||
|
||||
public static DmpBlueprintFieldCategory of(Short i) {
|
||||
public static PlanBlueprintFieldCategory of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
}
|
|
@ -5,14 +5,14 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpBlueprintStatus implements DatabaseEnum<Short> {
|
||||
public enum PlanBlueprintStatus implements DatabaseEnum<Short> {
|
||||
|
||||
Draft((short) 0),
|
||||
Finalized((short) 1);
|
||||
|
||||
private final Short value;
|
||||
|
||||
DmpBlueprintStatus(Short value) {
|
||||
PlanBlueprintStatus(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -21,9 +21,9 @@ public enum DmpBlueprintStatus implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpBlueprintStatus> map = EnumUtils.getEnumValueMap(DmpBlueprintStatus.class);
|
||||
private static final Map<Short, PlanBlueprintStatus> map = EnumUtils.getEnumValueMap(PlanBlueprintStatus.class);
|
||||
|
||||
public static DmpBlueprintStatus of(Short i) {
|
||||
public static PlanBlueprintStatus of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpBlueprintSystemFieldType implements DatabaseEnum<Short> {
|
||||
public enum PlanBlueprintSystemFieldType implements DatabaseEnum<Short> {
|
||||
|
||||
Title((short)0),
|
||||
Description((short)1),
|
||||
|
@ -15,7 +15,7 @@ public enum DmpBlueprintSystemFieldType implements DatabaseEnum<Short> {
|
|||
User((short)5);
|
||||
private final Short value;
|
||||
|
||||
DmpBlueprintSystemFieldType(Short value) {
|
||||
PlanBlueprintSystemFieldType(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -24,9 +24,9 @@ public enum DmpBlueprintSystemFieldType implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpBlueprintSystemFieldType> map = EnumUtils.getEnumValueMap(DmpBlueprintSystemFieldType.class);
|
||||
private static final Map<Short, PlanBlueprintSystemFieldType> map = EnumUtils.getEnumValueMap(PlanBlueprintSystemFieldType.class);
|
||||
|
||||
public static DmpBlueprintSystemFieldType of(Short i) {
|
||||
public static PlanBlueprintSystemFieldType of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpBlueprintVersionStatus implements DatabaseEnum<Short> {
|
||||
public enum PlanBlueprintVersionStatus implements DatabaseEnum<Short> {
|
||||
|
||||
Current((short) 0),
|
||||
Previous((short) 1),
|
||||
|
@ -13,7 +13,7 @@ public enum DmpBlueprintVersionStatus implements DatabaseEnum<Short> {
|
|||
|
||||
private final Short value;
|
||||
|
||||
DmpBlueprintVersionStatus(Short value) {
|
||||
PlanBlueprintVersionStatus(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -23,9 +23,9 @@ public enum DmpBlueprintVersionStatus implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpBlueprintVersionStatus> map = EnumUtils.getEnumValueMap(DmpBlueprintVersionStatus.class);
|
||||
private static final Map<Short, PlanBlueprintVersionStatus> map = EnumUtils.getEnumValueMap(PlanBlueprintVersionStatus.class);
|
||||
|
||||
public static DmpBlueprintVersionStatus of(Short i) {
|
||||
public static PlanBlueprintVersionStatus of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
|
@ -5,13 +5,13 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpStatus implements DatabaseEnum<Short> {
|
||||
public enum PlanStatus implements DatabaseEnum<Short> {
|
||||
|
||||
Draft((short) 0), Finalized((short) 1);
|
||||
|
||||
private final Short value;
|
||||
|
||||
DmpStatus(Short value) {
|
||||
PlanStatus(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -21,9 +21,9 @@ public enum DmpStatus implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpStatus> map = EnumUtils.getEnumValueMap(DmpStatus.class);
|
||||
private static final Map<Short, PlanStatus> map = EnumUtils.getEnumValueMap(PlanStatus.class);
|
||||
|
||||
public static DmpStatus of(Short i) {
|
||||
public static PlanStatus of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpUserRole implements DatabaseEnum<Short> {
|
||||
public enum PlanUserRole implements DatabaseEnum<Short> {
|
||||
|
||||
Owner((short) 0),
|
||||
Viewer((short) 1),
|
||||
|
@ -14,7 +14,7 @@ public enum DmpUserRole implements DatabaseEnum<Short> {
|
|||
|
||||
private final Short value;
|
||||
|
||||
DmpUserRole(Short value) {
|
||||
PlanUserRole(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -24,9 +24,9 @@ public enum DmpUserRole implements DatabaseEnum<Short> {
|
|||
return this.value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpUserRole> map = EnumUtils.getEnumValueMap(DmpUserRole.class);
|
||||
private static final Map<Short, PlanUserRole> map = EnumUtils.getEnumValueMap(PlanUserRole.class);
|
||||
|
||||
public static DmpUserRole of(Short i) {
|
||||
public static PlanUserRole of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
|
@ -5,14 +5,14 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpValidationOutput implements DatabaseEnum<Short> {
|
||||
public enum PlanValidationOutput implements DatabaseEnum<Short> {
|
||||
|
||||
Valid((short) 1),
|
||||
Invalid((short) 2);
|
||||
|
||||
private final Short value;
|
||||
|
||||
DmpValidationOutput(Short value) {
|
||||
PlanValidationOutput(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -21,9 +21,9 @@ public enum DmpValidationOutput implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpValidationOutput> map = EnumUtils.getEnumValueMap(DmpValidationOutput.class);
|
||||
private static final Map<Short, PlanValidationOutput> map = EnumUtils.getEnumValueMap(PlanValidationOutput.class);
|
||||
|
||||
public static DmpValidationOutput of(Short i) {
|
||||
public static PlanValidationOutput of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ import org.opencdmp.data.converters.enums.DatabaseEnum;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DmpVersionStatus implements DatabaseEnum<Short> {
|
||||
public enum PlanVersionStatus implements DatabaseEnum<Short> {
|
||||
|
||||
Current((short) 0),
|
||||
Previous((short) 1),
|
||||
|
@ -13,7 +13,7 @@ public enum DmpVersionStatus implements DatabaseEnum<Short> {
|
|||
|
||||
private final Short value;
|
||||
|
||||
DmpVersionStatus(Short value) {
|
||||
PlanVersionStatus(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -23,9 +23,9 @@ public enum DmpVersionStatus implements DatabaseEnum<Short> {
|
|||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DmpVersionStatus> map = EnumUtils.getEnumValueMap(DmpVersionStatus.class);
|
||||
private static final Map<Short, PlanVersionStatus> map = EnumUtils.getEnumValueMap(PlanVersionStatus.class);
|
||||
|
||||
public static DmpVersionStatus of(Short i) {
|
||||
public static PlanVersionStatus of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ import java.util.Map;
|
|||
|
||||
public enum RecentActivityItemType implements DatabaseEnum<Short> {
|
||||
|
||||
Dmp((short) 0),
|
||||
Plan((short) 0),
|
||||
Description((short) 1);
|
||||
|
||||
private final Short value;
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
package org.opencdmp.commons.types.actionconfirmation;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@XmlRootElement(name = "dmp-invitation")
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DmpInvitationEntity {
|
||||
public class PlanInvitationEntity {
|
||||
|
||||
@XmlAttribute(name = "email")
|
||||
private String email;
|
||||
|
||||
@XmlAttribute(name = "dmp")
|
||||
private UUID dmpId;
|
||||
private UUID planId;
|
||||
|
||||
@XmlAttribute(name = "dmp-role")
|
||||
private DmpUserRole role;
|
||||
private PlanUserRole role;
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
|
@ -26,19 +26,19 @@ public class DmpInvitationEntity {
|
|||
this.email = email;
|
||||
}
|
||||
|
||||
public UUID getDmpId() {
|
||||
return dmpId;
|
||||
public UUID getPlanId() {
|
||||
return planId;
|
||||
}
|
||||
|
||||
public void setDmpId(UUID dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
public void setPlanId(UUID planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public DmpUserRole getRole() {
|
||||
public PlanUserRole getRole() {
|
||||
return role;
|
||||
}
|
||||
|
||||
public void setRole(DmpUserRole role) {
|
||||
public void setRole(PlanUserRole role) {
|
||||
this.role = role;
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
package org.opencdmp.commons.types.dmp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class DmpPropertiesEntity {
|
||||
|
||||
private List<DmpBlueprintValueEntity> dmpBlueprintValues;
|
||||
|
||||
private List<DmpContactEntity> contacts;
|
||||
|
||||
public List<DmpBlueprintValueEntity> getDmpBlueprintValues() {
|
||||
return this.dmpBlueprintValues;
|
||||
}
|
||||
|
||||
public void setDmpBlueprintValues(List<DmpBlueprintValueEntity> dmpBlueprintValues) {
|
||||
this.dmpBlueprintValues = dmpBlueprintValues;
|
||||
}
|
||||
|
||||
public List<DmpContactEntity> getContacts() {
|
||||
return this.contacts;
|
||||
}
|
||||
|
||||
public void setContacts(List<DmpContactEntity> contacts) {
|
||||
this.contacts = contacts;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpBlueprintExtraFieldDataType;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintFieldCategory;
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class ExtraFieldEntity extends FieldEntity {
|
||||
|
||||
@XmlAttribute(name="type")
|
||||
private DmpBlueprintExtraFieldDataType type;
|
||||
|
||||
public DmpBlueprintExtraFieldDataType getType() {
|
||||
return type;
|
||||
}
|
||||
public void setType(DmpBlueprintExtraFieldDataType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
package org.opencdmp.commons.types.dmp;
|
||||
package org.opencdmp.commons.types.plan;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DmpBlueprintValueEntity {
|
||||
public class PlanBlueprintValueEntity {
|
||||
|
||||
private UUID fieldId;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package org.opencdmp.commons.types.dmp;
|
||||
package org.opencdmp.commons.types.plan;
|
||||
|
||||
|
||||
public class DmpContactEntity {
|
||||
public class PlanContactEntity {
|
||||
|
||||
private String firstName;
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package org.opencdmp.commons.types.plan;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PlanPropertiesEntity {
|
||||
|
||||
private List<PlanBlueprintValueEntity> planBlueprintValues;
|
||||
|
||||
private List<PlanContactEntity> contacts;
|
||||
|
||||
public List<PlanBlueprintValueEntity> getPlanBlueprintValues() {
|
||||
return this.planBlueprintValues;
|
||||
}
|
||||
|
||||
public void setPlanBlueprintValues(List<PlanBlueprintValueEntity> planBlueprintValues) {
|
||||
this.planBlueprintValues = planBlueprintValues;
|
||||
}
|
||||
|
||||
public List<PlanContactEntity> getContacts() {
|
||||
return this.contacts;
|
||||
}
|
||||
|
||||
public void setContacts(List<PlanContactEntity> contacts) {
|
||||
this.contacts = contacts;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmp.importexport;
|
||||
package org.opencdmp.commons.types.plan.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
|
@ -11,7 +11,7 @@ import java.util.UUID;
|
|||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
|
||||
public class DmpBlueprintValueImportExport {
|
||||
public class PlanBlueprintValueImportExport {
|
||||
|
||||
@XmlElement(name = "fieldId")
|
||||
private UUID fieldId;
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmp.importexport;
|
||||
package org.opencdmp.commons.types.plan.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
|
@ -6,7 +6,7 @@ import jakarta.xml.bind.annotation.XmlElement;
|
|||
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DmpContactImportExport {
|
||||
public class PlanContactImportExport {
|
||||
|
||||
@XmlElement(name = "name")
|
||||
private String name;
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmp.importexport;
|
||||
package org.opencdmp.commons.types.plan.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
|
@ -7,7 +7,7 @@ import jakarta.xml.bind.annotation.XmlElement;
|
|||
import java.util.UUID;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DmpDescriptionTemplateImportExport {
|
||||
public class PlanDescriptionTemplateImportExport {
|
||||
|
||||
@XmlElement(name = "descriptionTemplateGroupId")
|
||||
private UUID descriptionTemplateGroupId;
|
|
@ -1,10 +1,10 @@
|
|||
package org.opencdmp.commons.types.dmp.importexport;
|
||||
package org.opencdmp.commons.types.plan.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.opencdmp.commons.types.description.importexport.DescriptionImportExport;
|
||||
import org.opencdmp.commons.types.dmpblueprint.importexport.BlueprintImportExport;
|
||||
import org.opencdmp.commons.types.planblueprint.importexport.BlueprintImportExport;
|
||||
import org.opencdmp.commons.xmladapter.InstantXmlAdapter;
|
||||
|
||||
import java.time.Instant;
|
||||
|
@ -13,7 +13,7 @@ import java.util.UUID;
|
|||
|
||||
@XmlRootElement(name = "dmp")
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DmpImportExport {
|
||||
public class PlanImportExport {
|
||||
|
||||
@XmlElement(name = "id")
|
||||
private UUID id;
|
||||
|
@ -28,18 +28,18 @@ public class DmpImportExport {
|
|||
private String language;
|
||||
|
||||
@XmlElement(name = "access")
|
||||
private DmpAccessType access;
|
||||
private PlanAccessType access;
|
||||
|
||||
@XmlElement(name = "version")
|
||||
private Short version;
|
||||
|
||||
@XmlElementWrapper(name = "contacts")
|
||||
@XmlElement(name = "contact")
|
||||
private List<DmpContactImportExport> contacts;
|
||||
private List<PlanContactImportExport> contacts;
|
||||
|
||||
@XmlElementWrapper(name = "users")
|
||||
@XmlElement(name = "user")
|
||||
private List<DmpUserImportExport> users;
|
||||
private List<PlanUserImportExport> users;
|
||||
|
||||
@XmlElement(name = "finalizedAt")
|
||||
@XmlJavaTypeAdapter(InstantXmlAdapter.class)
|
||||
|
@ -54,15 +54,15 @@ public class DmpImportExport {
|
|||
|
||||
@XmlElementWrapper(name = "blueprintValues")
|
||||
@XmlElement(name = "blueprintValue")
|
||||
private List<DmpBlueprintValueImportExport> blueprintValues;
|
||||
private List<PlanBlueprintValueImportExport> blueprintValues;
|
||||
|
||||
@XmlElementWrapper(name = "descriptionTemplates")
|
||||
@XmlElement(name = "descriptionTemplate")
|
||||
private List<DmpDescriptionTemplateImportExport> descriptionTemplates;
|
||||
private List<PlanDescriptionTemplateImportExport> descriptionTemplates;
|
||||
|
||||
@XmlElementWrapper(name = "references")
|
||||
@XmlElement(name = "reference")
|
||||
private List<DmpReferenceImportExport> references;
|
||||
private List<PlanReferenceImportExport> references;
|
||||
|
||||
@XmlElementWrapper(name = "descriptions")
|
||||
@XmlElement(name = "description")
|
||||
|
@ -101,27 +101,27 @@ public class DmpImportExport {
|
|||
}
|
||||
|
||||
|
||||
public DmpAccessType getAccess() {
|
||||
public PlanAccessType getAccess() {
|
||||
return this.access;
|
||||
}
|
||||
|
||||
public void setAccess(DmpAccessType access) {
|
||||
public void setAccess(PlanAccessType access) {
|
||||
this.access = access;
|
||||
}
|
||||
|
||||
public List<DmpContactImportExport> getContacts() {
|
||||
public List<PlanContactImportExport> getContacts() {
|
||||
return this.contacts;
|
||||
}
|
||||
|
||||
public void setContacts(List<DmpContactImportExport> contacts) {
|
||||
public void setContacts(List<PlanContactImportExport> contacts) {
|
||||
this.contacts = contacts;
|
||||
}
|
||||
|
||||
public List<DmpUserImportExport> getUsers() {
|
||||
public List<PlanUserImportExport> getUsers() {
|
||||
return this.users;
|
||||
}
|
||||
|
||||
public void setUsers(List<DmpUserImportExport> users) {
|
||||
public void setUsers(List<PlanUserImportExport> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
|
@ -149,27 +149,27 @@ public class DmpImportExport {
|
|||
this.blueprint = blueprint;
|
||||
}
|
||||
|
||||
public List<DmpBlueprintValueImportExport> getBlueprintValues() {
|
||||
public List<PlanBlueprintValueImportExport> getBlueprintValues() {
|
||||
return this.blueprintValues;
|
||||
}
|
||||
|
||||
public void setBlueprintValues(List<DmpBlueprintValueImportExport> blueprintValues) {
|
||||
public void setBlueprintValues(List<PlanBlueprintValueImportExport> blueprintValues) {
|
||||
this.blueprintValues = blueprintValues;
|
||||
}
|
||||
|
||||
public List<DmpDescriptionTemplateImportExport> getDescriptionTemplates() {
|
||||
public List<PlanDescriptionTemplateImportExport> getDescriptionTemplates() {
|
||||
return this.descriptionTemplates;
|
||||
}
|
||||
|
||||
public void setDescriptionTemplates(List<DmpDescriptionTemplateImportExport> descriptionTemplates) {
|
||||
public void setDescriptionTemplates(List<PlanDescriptionTemplateImportExport> descriptionTemplates) {
|
||||
this.descriptionTemplates = descriptionTemplates;
|
||||
}
|
||||
|
||||
public List<DmpReferenceImportExport> getReferences() {
|
||||
public List<PlanReferenceImportExport> getReferences() {
|
||||
return this.references;
|
||||
}
|
||||
|
||||
public void setReferences(List<DmpReferenceImportExport> references) {
|
||||
public void setReferences(List<PlanReferenceImportExport> references) {
|
||||
this.references = references;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmp.importexport;
|
||||
package org.opencdmp.commons.types.plan.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
|
@ -8,7 +8,7 @@ import org.opencdmp.commons.enums.ReferenceSourceType;
|
|||
import java.util.UUID;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DmpReferenceImportExport {
|
||||
public class PlanReferenceImportExport {
|
||||
|
||||
@XmlElement(name = "id")
|
||||
private UUID id;
|
||||
|
@ -19,7 +19,7 @@ public class DmpReferenceImportExport {
|
|||
@XmlElement(name = "fieldId")
|
||||
private UUID fieldId;
|
||||
@XmlElement(name = "type")
|
||||
private DmpReferenceTypeImportExport type;
|
||||
private PlanReferenceTypeImportExport type;
|
||||
@XmlElement(name = "source")
|
||||
private String source;
|
||||
@XmlElement(name = "sourceType")
|
||||
|
@ -49,11 +49,11 @@ public class DmpReferenceImportExport {
|
|||
this.reference = reference;
|
||||
}
|
||||
|
||||
public DmpReferenceTypeImportExport getType() {
|
||||
public PlanReferenceTypeImportExport getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public void setType(DmpReferenceTypeImportExport type) {
|
||||
public void setType(PlanReferenceTypeImportExport type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
|
@ -1,15 +1,13 @@
|
|||
package org.opencdmp.commons.types.dmp.importexport;
|
||||
package org.opencdmp.commons.types.plan.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import jakarta.xml.bind.annotation.XmlElement;
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DmpReferenceTypeImportExport {
|
||||
public class PlanReferenceTypeImportExport {
|
||||
|
||||
@XmlElement(name = "id")
|
||||
private UUID id;
|
|
@ -1,14 +1,14 @@
|
|||
package org.opencdmp.commons.types.dmp.importexport;
|
||||
package org.opencdmp.commons.types.plan.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlElement;
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DmpUserImportExport {
|
||||
public class PlanUserImportExport {
|
||||
|
||||
@XmlElement(name = "id")
|
||||
private UUID id;
|
||||
|
@ -17,7 +17,7 @@ public class DmpUserImportExport {
|
|||
private String name;
|
||||
|
||||
@XmlElement(name = "role")
|
||||
private DmpUserRole role;
|
||||
private PlanUserRole role;
|
||||
|
||||
@XmlElement(name = "sectionId")
|
||||
private UUID sectionId;
|
||||
|
@ -38,11 +38,11 @@ public class DmpUserImportExport {
|
|||
this.name = name;
|
||||
}
|
||||
|
||||
public DmpUserRole getRole() {
|
||||
public PlanUserRole getRole() {
|
||||
return this.role;
|
||||
}
|
||||
|
||||
public void setRole(DmpUserRole role) {
|
||||
public void setRole(PlanUserRole role) {
|
||||
this.role = role;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint;
|
||||
package org.opencdmp.commons.types.planblueprint;
|
||||
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint;
|
||||
package org.opencdmp.commons.types.planblueprint;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
|
@ -0,0 +1,21 @@
|
|||
package org.opencdmp.commons.types.planblueprint;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanBlueprintExtraFieldDataType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class ExtraFieldEntity extends FieldEntity {
|
||||
|
||||
@XmlAttribute(name="type")
|
||||
private PlanBlueprintExtraFieldDataType type;
|
||||
|
||||
public PlanBlueprintExtraFieldDataType getType() {
|
||||
return type;
|
||||
}
|
||||
public void setType(PlanBlueprintExtraFieldDataType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint;
|
||||
package org.opencdmp.commons.types.planblueprint;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintFieldCategory;
|
||||
import org.opencdmp.commons.enums.PlanBlueprintFieldCategory;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
@ -14,7 +14,7 @@ public abstract class FieldEntity {
|
|||
private UUID id;
|
||||
|
||||
@XmlAttribute(name="category")
|
||||
private DmpBlueprintFieldCategory category;
|
||||
private PlanBlueprintFieldCategory category;
|
||||
|
||||
@XmlAttribute(name="label")
|
||||
private String label;
|
||||
|
@ -41,10 +41,10 @@ public abstract class FieldEntity {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public DmpBlueprintFieldCategory getCategory() {
|
||||
public PlanBlueprintFieldCategory getCategory() {
|
||||
return this.category;
|
||||
}
|
||||
public void setCategory(DmpBlueprintFieldCategory category) {
|
||||
public void setCategory(PlanBlueprintFieldCategory category) {
|
||||
this.category = category;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint;
|
||||
package org.opencdmp.commons.types.planblueprint;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
|
@ -1,7 +1,7 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint;
|
||||
package org.opencdmp.commons.types.planblueprint;
|
||||
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintFieldCategory;
|
||||
import org.opencdmp.commons.enums.PlanBlueprintFieldCategory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -24,9 +24,9 @@ public class SectionEntity {
|
|||
|
||||
@XmlElementWrapper(name = "fields")
|
||||
@XmlElements({
|
||||
@XmlElement(name = DmpBlueprintFieldCategory.Names.Extra, type = ExtraFieldEntity.class),
|
||||
@XmlElement(name = DmpBlueprintFieldCategory.Names.System, type = SystemFieldEntity.class),
|
||||
@XmlElement(name = DmpBlueprintFieldCategory.Names.ReferenceType, type = ReferenceTypeFieldEntity.class),
|
||||
@XmlElement(name = PlanBlueprintFieldCategory.Names.Extra, type = ExtraFieldEntity.class),
|
||||
@XmlElement(name = PlanBlueprintFieldCategory.Names.System, type = SystemFieldEntity.class),
|
||||
@XmlElement(name = PlanBlueprintFieldCategory.Names.ReferenceType, type = ReferenceTypeFieldEntity.class),
|
||||
})
|
||||
private List<FieldEntity> fields;
|
||||
|
|
@ -1,20 +1,20 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint;
|
||||
package org.opencdmp.commons.types.planblueprint;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintSystemFieldType;
|
||||
import org.opencdmp.commons.enums.PlanBlueprintSystemFieldType;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class SystemFieldEntity extends FieldEntity {
|
||||
|
||||
@XmlAttribute(name="type")
|
||||
private DmpBlueprintSystemFieldType type;
|
||||
private PlanBlueprintSystemFieldType type;
|
||||
|
||||
public DmpBlueprintSystemFieldType getType() {
|
||||
public PlanBlueprintSystemFieldType getType() {
|
||||
return this.type;
|
||||
}
|
||||
public void setType(DmpBlueprintSystemFieldType type) {
|
||||
public void setType(PlanBlueprintSystemFieldType type) {
|
||||
this.type = type;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
|
@ -1,10 +1,10 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import jakarta.xml.bind.annotation.XmlElement;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintExtraFieldDataType;
|
||||
import org.opencdmp.commons.enums.PlanBlueprintExtraFieldDataType;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
@ -15,7 +15,7 @@ public class BlueprintExtraFieldImportExport {
|
|||
@XmlElement(name = "id")
|
||||
private UUID id;
|
||||
@XmlElement(name = "type")
|
||||
private DmpBlueprintExtraFieldDataType type;
|
||||
private PlanBlueprintExtraFieldDataType type;
|
||||
@XmlElement(name = "label")
|
||||
private String label;
|
||||
@XmlElement(name = "placeholder")
|
||||
|
@ -37,11 +37,11 @@ public class BlueprintExtraFieldImportExport {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public DmpBlueprintExtraFieldDataType getType() {
|
||||
public PlanBlueprintExtraFieldDataType getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public void setType(DmpBlueprintExtraFieldDataType type) {
|
||||
public void setType(PlanBlueprintExtraFieldDataType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
|
@ -18,7 +18,7 @@ public class BlueprintImportExport {
|
|||
private String label;
|
||||
|
||||
@XmlElement(name = "definition")
|
||||
private BlueprintDefinitionImportExport dmpBlueprintDefinition;
|
||||
private BlueprintDefinitionImportExport planBlueprintDefinition;
|
||||
|
||||
@XmlElement(name = "groupId")
|
||||
private UUID groupId;
|
||||
|
@ -39,12 +39,12 @@ public class BlueprintImportExport {
|
|||
this.label = label;
|
||||
}
|
||||
|
||||
public BlueprintDefinitionImportExport getDmpBlueprintDefinition() {
|
||||
return this.dmpBlueprintDefinition;
|
||||
public BlueprintDefinitionImportExport getPlanBlueprintDefinition() {
|
||||
return this.planBlueprintDefinition;
|
||||
}
|
||||
|
||||
public void setDmpBlueprintDefinition(BlueprintDefinitionImportExport dmpBlueprintDefinition) {
|
||||
this.dmpBlueprintDefinition = dmpBlueprintDefinition;
|
||||
public void setPlanBlueprintDefinition(BlueprintDefinitionImportExport planBlueprintDefinition) {
|
||||
this.planBlueprintDefinition = planBlueprintDefinition;
|
||||
}
|
||||
|
||||
public UUID getGroupId() {
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
|
@ -1,4 +1,4 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package org.opencdmp.commons.types.dmpblueprint.importexport;
|
||||
package org.opencdmp.commons.types.planblueprint.importexport;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import jakarta.xml.bind.annotation.XmlElement;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintSystemFieldType;
|
||||
import org.opencdmp.commons.enums.PlanBlueprintSystemFieldType;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
@ -15,7 +15,7 @@ public class BlueprintSystemFieldImportExport {
|
|||
@XmlElement(name = "id")
|
||||
private UUID id;
|
||||
@XmlElement(name = "type")
|
||||
private DmpBlueprintSystemFieldType type;
|
||||
private PlanBlueprintSystemFieldType type;
|
||||
@XmlElement(name = "label")
|
||||
private String label;
|
||||
@XmlElement(name = "placeholder")
|
||||
|
@ -37,11 +37,11 @@ public class BlueprintSystemFieldImportExport {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public DmpBlueprintSystemFieldType getType() {
|
||||
public PlanBlueprintSystemFieldType getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public void setType(DmpBlueprintSystemFieldType type) {
|
||||
public void setType(PlanBlueprintSystemFieldType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package org.opencdmp.commons.types.dmpreference;
|
||||
package org.opencdmp.commons.types.planreference;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class DmpReferenceDataEntity {
|
||||
public class PlanReferenceDataEntity {
|
||||
private UUID blueprintFieldId;
|
||||
|
||||
public UUID getBlueprintFieldId() {
|
|
@ -71,12 +71,12 @@ public class DescriptionEntity extends TenantScopedBaseEntity {
|
|||
public static final String _createdById = "createdById";
|
||||
|
||||
@Column(name = "dmp_description_template", columnDefinition = "uuid", nullable = false)
|
||||
private UUID dmpDescriptionTemplateId;
|
||||
public static final String _dmpDescriptionTemplateId = "dmpDescriptionTemplateId";
|
||||
private UUID planDescriptionTemplateId;
|
||||
public static final String _planDescriptionTemplateId = "planDescriptionTemplateId";
|
||||
|
||||
@Column(name = "dmp", columnDefinition = "uuid", nullable = false)
|
||||
private UUID dmpId;
|
||||
public static final String _dmpId = "dmpId";
|
||||
private UUID planId;
|
||||
public static final String _planId = "planId";
|
||||
|
||||
@Column(name = "description_template", columnDefinition = "uuid", nullable = false)
|
||||
private UUID descriptionTemplateId;
|
||||
|
@ -164,20 +164,20 @@ public class DescriptionEntity extends TenantScopedBaseEntity {
|
|||
this.createdById = createdById;
|
||||
}
|
||||
|
||||
public UUID getDmpDescriptionTemplateId() {
|
||||
return this.dmpDescriptionTemplateId;
|
||||
public UUID getPlanDescriptionTemplateId() {
|
||||
return this.planDescriptionTemplateId;
|
||||
}
|
||||
|
||||
public void setDmpDescriptionTemplateId(UUID dmpDescriptionTemplateId) {
|
||||
this.dmpDescriptionTemplateId = dmpDescriptionTemplateId;
|
||||
public void setPlanDescriptionTemplateId(UUID planDescriptionTemplateId) {
|
||||
this.planDescriptionTemplateId = planDescriptionTemplateId;
|
||||
}
|
||||
|
||||
public UUID getDmpId() {
|
||||
return this.dmpId;
|
||||
public UUID getPlanId() {
|
||||
return this.planId;
|
||||
}
|
||||
|
||||
public void setDmpId(UUID dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
public void setPlanId(UUID planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public UUID getDescriptionTemplateId() {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package org.opencdmp.data;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpBlueprintStatus;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintVersionStatus;
|
||||
import org.opencdmp.commons.enums.PlanBlueprintStatus;
|
||||
import org.opencdmp.commons.enums.PlanBlueprintVersionStatus;
|
||||
import org.opencdmp.commons.enums.IsActive;
|
||||
import org.opencdmp.data.converters.DmpBlueprintVersionStatusConverter;
|
||||
import org.opencdmp.data.converters.enums.DmpBlueprintStatusConverter;
|
||||
import org.opencdmp.data.converters.PlanBlueprintVersionStatusConverter;
|
||||
import org.opencdmp.data.converters.enums.PlanBlueprintStatusConverter;
|
||||
import org.opencdmp.data.converters.enums.IsActiveConverter;
|
||||
import org.opencdmp.data.tenant.TenantScopedBaseEntity;
|
||||
import org.opencdmp.data.types.SQLXMLType;
|
||||
|
@ -16,7 +16,7 @@ import java.util.UUID;
|
|||
|
||||
@Entity
|
||||
@Table(name = "\"DmpBlueprint\"")
|
||||
public class DmpBlueprintEntity extends TenantScopedBaseEntity {
|
||||
public class PlanBlueprintEntity extends TenantScopedBaseEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "id", columnDefinition = "uuid", updatable = false, nullable = false)
|
||||
|
@ -24,7 +24,7 @@ public class DmpBlueprintEntity extends TenantScopedBaseEntity {
|
|||
|
||||
public static final String _id = "id";
|
||||
|
||||
@Column(name = "label", length = DmpBlueprintEntity._labelLength, nullable = false)
|
||||
@Column(name = "label", length = PlanBlueprintEntity._labelLength, nullable = false)
|
||||
private String label;
|
||||
|
||||
public static final String _label = "label";
|
||||
|
@ -38,8 +38,8 @@ public class DmpBlueprintEntity extends TenantScopedBaseEntity {
|
|||
public static final String _definition = "definition";
|
||||
|
||||
@Column(name = "status", nullable = false)
|
||||
@Convert(converter = DmpBlueprintStatusConverter.class)
|
||||
private DmpBlueprintStatus status;
|
||||
@Convert(converter = PlanBlueprintStatusConverter.class)
|
||||
private PlanBlueprintStatus status;
|
||||
|
||||
public static final String _status = "status";
|
||||
|
||||
|
@ -54,8 +54,8 @@ public class DmpBlueprintEntity extends TenantScopedBaseEntity {
|
|||
public static final String _version = "version";
|
||||
|
||||
@Column(name = "version_status", nullable = false)
|
||||
@Convert(converter = DmpBlueprintVersionStatusConverter.class)
|
||||
private DmpBlueprintVersionStatus versionStatus;
|
||||
@Convert(converter = PlanBlueprintVersionStatusConverter.class)
|
||||
private PlanBlueprintVersionStatus versionStatus;
|
||||
|
||||
public static final String _versionStatus = "versionStatus";
|
||||
|
||||
|
@ -99,11 +99,11 @@ public class DmpBlueprintEntity extends TenantScopedBaseEntity {
|
|||
this.definition = definition;
|
||||
}
|
||||
|
||||
public DmpBlueprintStatus getStatus() {
|
||||
public PlanBlueprintStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(DmpBlueprintStatus status) {
|
||||
public void setStatus(PlanBlueprintStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
|
@ -123,11 +123,11 @@ public class DmpBlueprintEntity extends TenantScopedBaseEntity {
|
|||
this.version = version;
|
||||
}
|
||||
|
||||
public DmpBlueprintVersionStatus getVersionStatus() {
|
||||
public PlanBlueprintVersionStatus getVersionStatus() {
|
||||
return versionStatus;
|
||||
}
|
||||
|
||||
public void setVersionStatus(DmpBlueprintVersionStatus versionStatus) {
|
||||
public void setVersionStatus(PlanBlueprintVersionStatus versionStatus) {
|
||||
this.versionStatus = versionStatus;
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ import java.util.UUID;
|
|||
|
||||
@Entity
|
||||
@Table(name = "\"DmpDescriptionTemplate\"")
|
||||
public class DmpDescriptionTemplateEntity extends TenantScopedBaseEntity {
|
||||
public class PlanDescriptionTemplateEntity extends TenantScopedBaseEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||
|
@ -19,9 +19,9 @@ public class DmpDescriptionTemplateEntity extends TenantScopedBaseEntity {
|
|||
public static final String _id = "id";
|
||||
|
||||
@Column(name = "dmp", columnDefinition = "uuid", nullable = false)
|
||||
private UUID dmpId;
|
||||
private UUID planId;
|
||||
|
||||
public static final String _dmpId = "dmpId";
|
||||
public static final String _planId = "planId";
|
||||
|
||||
@Column(name = "description_template_group", columnDefinition = "uuid", nullable = false)
|
||||
private UUID descriptionTemplateGroupId;
|
||||
|
@ -57,12 +57,12 @@ public class DmpDescriptionTemplateEntity extends TenantScopedBaseEntity {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public UUID getDmpId() {
|
||||
return this.dmpId;
|
||||
public UUID getPlanId() {
|
||||
return this.planId;
|
||||
}
|
||||
|
||||
public void setDmpId(UUID dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
public void setPlanId(UUID planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public UUID getDescriptionTemplateGroupId() {
|
|
@ -1,13 +1,13 @@
|
|||
package org.opencdmp.data;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import org.opencdmp.commons.enums.IsActive;
|
||||
import org.opencdmp.data.converters.enums.DmpAccessTypeNullableConverter;
|
||||
import org.opencdmp.data.converters.enums.DmpStatusConverter;
|
||||
import org.opencdmp.data.converters.enums.DmpVersionStatusConverter;
|
||||
import org.opencdmp.data.converters.enums.PlanAccessTypeNullableConverter;
|
||||
import org.opencdmp.data.converters.enums.PlanStatusConverter;
|
||||
import org.opencdmp.data.converters.enums.PlanVersionStatusConverter;
|
||||
import org.opencdmp.data.converters.enums.IsActiveConverter;
|
||||
import org.opencdmp.data.tenant.TenantScopedBaseEntity;
|
||||
|
||||
|
@ -16,7 +16,7 @@ import java.util.UUID;
|
|||
|
||||
@Entity
|
||||
@Table(name = "\"Dmp\"")
|
||||
public class DmpEntity extends TenantScopedBaseEntity {
|
||||
public class PlanEntity extends TenantScopedBaseEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||
|
@ -36,14 +36,14 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
|||
public static final String _version = "version";
|
||||
|
||||
@Column(name = "version_status", nullable = false)
|
||||
@Convert(converter = DmpVersionStatusConverter.class)
|
||||
private DmpVersionStatus versionStatus;
|
||||
@Convert(converter = PlanVersionStatusConverter.class)
|
||||
private PlanVersionStatus versionStatus;
|
||||
|
||||
public static final String _versionStatus = "versionStatus";
|
||||
|
||||
@Column(name = "status", nullable = false)
|
||||
@Convert(converter = DmpStatusConverter.class)
|
||||
private DmpStatus status;
|
||||
@Convert(converter = PlanStatusConverter.class)
|
||||
private PlanStatus status;
|
||||
|
||||
public static final String _status = "status";
|
||||
|
||||
|
@ -89,8 +89,8 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
|||
public static final String _creatorId = "creatorId";
|
||||
|
||||
@Column(name = "access_type", nullable = true)
|
||||
@Convert(converter = DmpAccessTypeNullableConverter.class)
|
||||
private DmpAccessType accessType;
|
||||
@Convert(converter = PlanAccessTypeNullableConverter.class)
|
||||
private PlanAccessType accessType;
|
||||
|
||||
public static final String _accessType = "accessType";
|
||||
|
||||
|
@ -133,11 +133,11 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
|||
this.version = version;
|
||||
}
|
||||
|
||||
public DmpStatus getStatus() {
|
||||
public PlanStatus getStatus() {
|
||||
return this.status;
|
||||
}
|
||||
|
||||
public void setStatus(DmpStatus status) {
|
||||
public void setStatus(PlanStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
|
@ -205,11 +205,11 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
|||
this.creatorId = creatorId;
|
||||
}
|
||||
|
||||
public DmpAccessType getAccessType() {
|
||||
public PlanAccessType getAccessType() {
|
||||
return this.accessType;
|
||||
}
|
||||
|
||||
public void setAccessType(DmpAccessType accessType) {
|
||||
public void setAccessType(PlanAccessType accessType) {
|
||||
this.accessType = accessType;
|
||||
}
|
||||
|
||||
|
@ -237,11 +237,11 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
|||
this.publicAfter = publicAfter;
|
||||
}
|
||||
|
||||
public DmpVersionStatus getVersionStatus() {
|
||||
public PlanVersionStatus getVersionStatus() {
|
||||
return this.versionStatus;
|
||||
}
|
||||
|
||||
public void setVersionStatus(DmpVersionStatus versionStatus) {
|
||||
public void setVersionStatus(PlanVersionStatus versionStatus) {
|
||||
this.versionStatus = versionStatus;
|
||||
}
|
||||
}
|
|
@ -10,7 +10,7 @@ import java.util.UUID;
|
|||
|
||||
@Entity
|
||||
@Table(name = "\"DmpReference\"")
|
||||
public class DmpReferenceEntity extends TenantScopedBaseEntity {
|
||||
public class PlanReferenceEntity extends TenantScopedBaseEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "id", columnDefinition = "uuid", updatable = false, nullable = false)
|
||||
|
@ -18,8 +18,8 @@ public class DmpReferenceEntity extends TenantScopedBaseEntity {
|
|||
public static final String _id = "id";
|
||||
|
||||
@Column(name = "dmp_id", columnDefinition = "uuid", nullable = false)
|
||||
private UUID dmpId;
|
||||
public static final String _dmpId = "dmpId";
|
||||
private UUID planId;
|
||||
public static final String _planId = "planId";
|
||||
|
||||
@Column(name = "reference_id", columnDefinition = "uuid", nullable = false)
|
||||
private UUID referenceId;
|
||||
|
@ -50,12 +50,12 @@ public class DmpReferenceEntity extends TenantScopedBaseEntity {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public UUID getDmpId() {
|
||||
return dmpId;
|
||||
public UUID getPlanId() {
|
||||
return planId;
|
||||
}
|
||||
|
||||
public void setDmpId(UUID dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
public void setPlanId(UUID planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public UUID getReferenceId() {
|
|
@ -1,9 +1,9 @@
|
|||
package org.opencdmp.data;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import org.opencdmp.commons.enums.IsActive;
|
||||
import org.opencdmp.data.converters.enums.DmpUserRoleConverter;
|
||||
import org.opencdmp.data.converters.enums.PlanUserRoleConverter;
|
||||
import org.opencdmp.data.converters.enums.IsActiveConverter;
|
||||
import org.opencdmp.data.tenant.TenantScopedBaseEntity;
|
||||
|
||||
|
@ -12,7 +12,7 @@ import java.util.UUID;
|
|||
|
||||
@Entity
|
||||
@Table(name = "\"DmpUser\"")
|
||||
public class DmpUserEntity extends TenantScopedBaseEntity {
|
||||
public class PlanUserEntity extends TenantScopedBaseEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||
|
@ -21,9 +21,9 @@ public class DmpUserEntity extends TenantScopedBaseEntity {
|
|||
public static final String _id = "id";
|
||||
|
||||
@Column(name = "dmp", columnDefinition = "uuid", nullable = false)
|
||||
private UUID dmpId;
|
||||
private UUID planId;
|
||||
|
||||
public static final String _dmpId = "dmpId";
|
||||
public static final String _planId = "planId";
|
||||
|
||||
@Column(name = "\"user\"", columnDefinition = "uuid", nullable = false)
|
||||
private UUID userId;
|
||||
|
@ -31,8 +31,8 @@ public class DmpUserEntity extends TenantScopedBaseEntity {
|
|||
public static final String _userId = "userId";
|
||||
|
||||
@Column(name = "role", nullable = false)
|
||||
@Convert(converter = DmpUserRoleConverter.class)
|
||||
private DmpUserRole role;
|
||||
@Convert(converter = PlanUserRoleConverter.class)
|
||||
private PlanUserRole role;
|
||||
|
||||
public static final String _role = "role";
|
||||
|
||||
|
@ -64,12 +64,12 @@ public class DmpUserEntity extends TenantScopedBaseEntity {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public UUID getDmpId() {
|
||||
return this.dmpId;
|
||||
public UUID getPlanId() {
|
||||
return this.planId;
|
||||
}
|
||||
|
||||
public void setDmpId(UUID dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
public void setPlanId(UUID planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public UUID getUserId() {
|
||||
|
@ -80,11 +80,11 @@ public class DmpUserEntity extends TenantScopedBaseEntity {
|
|||
this.userId = userId;
|
||||
}
|
||||
|
||||
public DmpUserRole getRole() {
|
||||
public PlanUserRole getRole() {
|
||||
return this.role;
|
||||
}
|
||||
|
||||
public void setRole(DmpUserRole role) {
|
||||
public void setRole(PlanUserRole role) {
|
||||
this.role = role;
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package org.opencdmp.data.converters;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpBlueprintVersionStatus;
|
||||
import org.opencdmp.data.converters.enums.DatabaseEnumConverter;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class DmpBlueprintVersionStatusConverter extends DatabaseEnumConverter<DmpBlueprintVersionStatus, Short> {
|
||||
|
||||
@Override
|
||||
protected DmpBlueprintVersionStatus of(Short i) {
|
||||
return DmpBlueprintVersionStatus.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package org.opencdmp.data.converters;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanBlueprintVersionStatus;
|
||||
import org.opencdmp.data.converters.enums.DatabaseEnumConverter;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class PlanBlueprintVersionStatusConverter extends DatabaseEnumConverter<PlanBlueprintVersionStatus, Short> {
|
||||
|
||||
@Override
|
||||
protected PlanBlueprintVersionStatus of(Short i) {
|
||||
return PlanBlueprintVersionStatus.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class DmpAccessTypeNullableConverter extends DatabaseEnumConverter<DmpAccessType, Short> {
|
||||
|
||||
@Override
|
||||
protected DmpAccessType of(Short i) {
|
||||
return DmpAccessType.of(i);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Short convertToDatabaseColumn(DmpAccessType value) {
|
||||
if (value == null) return null;
|
||||
return value.getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DmpAccessType convertToEntityAttribute(Short dbData) {
|
||||
return dbData == null ? null : this.of(dbData);
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.DescriptionTemplateTypeStatus;
|
||||
import org.opencdmp.commons.enums.DmpBlueprintStatus;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class DmpBlueprintStatusConverter extends DatabaseEnumConverter<DmpBlueprintStatus, Short> {
|
||||
public DmpBlueprintStatus of(Short i) {
|
||||
return DmpBlueprintStatus.of(i);
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class DmpStatusConverter extends DatabaseEnumConverter<DmpStatus, Short> {
|
||||
|
||||
@Override
|
||||
protected DmpStatus of(Short i) {
|
||||
return DmpStatus.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class DmpUserRoleConverter extends DatabaseEnumConverter<DmpUserRole, Short> {
|
||||
|
||||
@Override
|
||||
protected DmpUserRole of(Short i) {
|
||||
return DmpUserRole.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class DmpVersionStatusConverter extends DatabaseEnumConverter<DmpVersionStatus, Short> {
|
||||
|
||||
@Override
|
||||
protected DmpVersionStatus of(Short i) {
|
||||
return DmpVersionStatus.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class PlanAccessTypeNullableConverter extends DatabaseEnumConverter<PlanAccessType, Short> {
|
||||
|
||||
@Override
|
||||
protected PlanAccessType of(Short i) {
|
||||
return PlanAccessType.of(i);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Short convertToDatabaseColumn(PlanAccessType value) {
|
||||
if (value == null) return null;
|
||||
return value.getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlanAccessType convertToEntityAttribute(Short dbData) {
|
||||
return dbData == null ? null : this.of(dbData);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanBlueprintStatus;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class PlanBlueprintStatusConverter extends DatabaseEnumConverter<PlanBlueprintStatus, Short> {
|
||||
public PlanBlueprintStatus of(Short i) {
|
||||
return PlanBlueprintStatus.of(i);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class PlanStatusConverter extends DatabaseEnumConverter<PlanStatus, Short> {
|
||||
|
||||
@Override
|
||||
protected PlanStatus of(Short i) {
|
||||
return PlanStatus.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class PlanUserRoleConverter extends DatabaseEnumConverter<PlanUserRole, Short> {
|
||||
|
||||
@Override
|
||||
protected PlanUserRole of(Short i) {
|
||||
return PlanUserRole.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package org.opencdmp.data.converters.enums;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class PlanVersionStatusConverter extends DatabaseEnumConverter<PlanVersionStatus, Short> {
|
||||
|
||||
@Override
|
||||
protected PlanVersionStatus of(Short i) {
|
||||
return PlanVersionStatus.of(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -7,7 +7,6 @@ import gr.cite.tools.elastic.configuration.ElasticCertificateProvider;
|
|||
import gr.cite.tools.elastic.configuration.ElasticProperties;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.elasticsearch.core.convert.ElasticsearchCustomConversions;
|
||||
|
@ -28,22 +27,22 @@ public class ElasticConfiguration extends AbstractElasticConfiguration {
|
|||
public ElasticsearchCustomConversions elasticsearchCustomConversions() {
|
||||
return new ElasticsearchCustomConversions(
|
||||
List.of(
|
||||
new DmpUserRoleToShortConverter(),
|
||||
new PlanUserRoleToShortConverter(),
|
||||
new DescriptionTemplateVersionStatusToShortConverter(),
|
||||
new DmpStatusToShortConverter(),
|
||||
new PlanStatusToShortConverter(),
|
||||
new DescriptionStatusToShortConverter(),
|
||||
new IsActiveToShortConverter(),
|
||||
new DmpVersionStatusToShortConverter(),
|
||||
new DmpAccessTypeToShortConverter(),
|
||||
new PlanVersionStatusToShortConverter(),
|
||||
new PlanAccessTypeToShortConverter(),
|
||||
|
||||
new ShortToDmpStatusConverter(),
|
||||
new ShortToDmpUserRoleConverter(),
|
||||
new ShortToPlanStatusConverter(),
|
||||
new ShortToPlanUserRoleConverter(),
|
||||
new ShortToDescriptionTemplateVersionStatusConverter(),
|
||||
new ShortToDmpStatusConverter(),
|
||||
new ShortToPlanStatusConverter(),
|
||||
new ShortToDescriptionStatusConverter(),
|
||||
new ShortToIsActiveConverter(),
|
||||
new ShortToDmpVersionStatusConverter(),
|
||||
new ShortToDmpAccessTypeConverter()
|
||||
new ShortToPlanVersionStatusConverter(),
|
||||
new ShortToPlanAccessTypeConverter()
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DescriptionStatus;
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.IsActive;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
@WritingConverter
|
||||
public class DmpAccessTypeToShortConverter implements Converter<DmpAccessType, Short> {
|
||||
public class PlanAccessTypeToShortConverter implements Converter<PlanAccessType, Short> {
|
||||
@Override
|
||||
public Short convert(DmpAccessType source) {
|
||||
public Short convert(PlanAccessType source) {
|
||||
return source.getValue();
|
||||
}
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
@WritingConverter
|
||||
public class DmpStatusToShortConverter implements Converter<DmpStatus, Short> {
|
||||
public class PlanStatusToShortConverter implements Converter<PlanStatus, Short> {
|
||||
@Override
|
||||
public Short convert(DmpStatus source) {
|
||||
public Short convert(PlanStatus source) {
|
||||
return source.getValue();
|
||||
}
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
@WritingConverter
|
||||
public class DmpUserRoleToShortConverter implements Converter<DmpUserRole, Short> {
|
||||
public class PlanUserRoleToShortConverter implements Converter<PlanUserRole, Short> {
|
||||
@Override
|
||||
public Short convert(DmpUserRole source) {
|
||||
public Short convert(PlanUserRole source) {
|
||||
return source.getValue();
|
||||
}
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
@WritingConverter
|
||||
public class DmpVersionStatusToShortConverter implements Converter<DmpVersionStatus, Short> {
|
||||
public class PlanVersionStatusToShortConverter implements Converter<PlanVersionStatus, Short> {
|
||||
@Override
|
||||
public Short convert(DmpVersionStatus source) {
|
||||
public Short convert(PlanVersionStatus source) {
|
||||
return source.getValue();
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class ShortToDmpAccessTypeConverter implements Converter<Integer, DmpAccessType> {
|
||||
@Override
|
||||
public DmpAccessType convert(Integer source) {
|
||||
return DmpAccessType.of(source.shortValue());
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class ShortToDmpUserRoleConverter implements Converter<Integer, DmpUserRole> {
|
||||
@Override
|
||||
public DmpUserRole convert(Integer source) {
|
||||
return DmpUserRole.of(source.shortValue());
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
import org.springframework.data.convert.WritingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class ShortToDmpVersionStatusConverter implements Converter<Integer, DmpVersionStatus> {
|
||||
@Override
|
||||
public DmpVersionStatus convert(Integer source) {
|
||||
return DmpVersionStatus.of(source.shortValue());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class ShortToPlanAccessTypeConverter implements Converter<Integer, PlanAccessType> {
|
||||
@Override
|
||||
public PlanAccessType convert(Integer source) {
|
||||
return PlanAccessType.of(source.shortValue());
|
||||
}
|
||||
}
|
|
@ -5,10 +5,10 @@ import org.springframework.core.convert.converter.Converter;
|
|||
import org.springframework.data.convert.ReadingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class ShortToDmpStatusConverter implements Converter<Integer, DmpStatus> {
|
||||
public class ShortToPlanStatusConverter implements Converter<Integer, PlanStatus> {
|
||||
@Override
|
||||
public DmpStatus convert(Integer source) {
|
||||
return DmpStatus.of(source.shortValue());
|
||||
public PlanStatus convert(Integer source) {
|
||||
return PlanStatus.of(source.shortValue());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class ShortToPlanUserRoleConverter implements Converter<Integer, PlanUserRole> {
|
||||
@Override
|
||||
public PlanUserRole convert(Integer source) {
|
||||
return PlanUserRole.of(source.shortValue());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.opencdmp.elastic.converter;
|
||||
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class ShortToPlanVersionStatusConverter implements Converter<Integer, PlanVersionStatus> {
|
||||
@Override
|
||||
public PlanVersionStatus convert(Integer source) {
|
||||
return PlanVersionStatus.of(source.shortValue());
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@ package org.opencdmp.elastic.data;
|
|||
import gr.cite.tools.elastic.ElasticConstants;
|
||||
import org.opencdmp.commons.enums.DescriptionStatus;
|
||||
import org.opencdmp.elastic.data.nested.NestedDescriptionTemplateElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedPlanElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedReferenceElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedTagElasticEntity;
|
||||
import org.springframework.data.annotation.Id;
|
||||
|
@ -50,7 +50,7 @@ public class DescriptionElasticEntity {
|
|||
public final static String _descriptionTemplate = "descriptionTemplate";
|
||||
|
||||
@Field(value = DescriptionElasticEntity._dmp, type = FieldType.Object)
|
||||
private NestedDmpElasticEntity dmp;
|
||||
private NestedPlanElasticEntity dmp;
|
||||
public final static String _dmp = "dmp";
|
||||
|
||||
@Field(value = DescriptionElasticEntity._references, type = FieldType.Nested)
|
||||
|
@ -129,11 +129,11 @@ public class DescriptionElasticEntity {
|
|||
this.descriptionTemplate = descriptionTemplate;
|
||||
}
|
||||
|
||||
public NestedDmpElasticEntity getDmp() {
|
||||
public NestedPlanElasticEntity getDmp() {
|
||||
return this.dmp;
|
||||
}
|
||||
|
||||
public void setDmp(NestedDmpElasticEntity dmp) {
|
||||
public void setDmp(NestedPlanElasticEntity dmp) {
|
||||
this.dmp = dmp;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package org.opencdmp.elastic.data;
|
||||
|
||||
import gr.cite.tools.elastic.ElasticConstants;
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import org.opencdmp.elastic.data.nested.*;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.elasticsearch.annotations.*;
|
||||
|
@ -13,80 +13,80 @@ import java.util.List;
|
|||
import java.util.UUID;
|
||||
|
||||
@Document(indexName = "dmp")
|
||||
public class DmpElasticEntity {
|
||||
public class PlanElasticEntity {
|
||||
@Id
|
||||
@Field(value = DmpElasticEntity._id, type = FieldType.Keyword)
|
||||
@Field(value = PlanElasticEntity._id, type = FieldType.Keyword)
|
||||
private UUID id;
|
||||
public final static String _id = "id";
|
||||
|
||||
@Field(value = DmpElasticEntity._tenantId, type = FieldType.Keyword)
|
||||
@Field(value = PlanElasticEntity._tenantId, type = FieldType.Keyword)
|
||||
private UUID tenantId;
|
||||
public final static String _tenantId = "tenantId";
|
||||
|
||||
@MultiField(mainField = @Field(value = DmpElasticEntity._label, type = FieldType.Text), otherFields = @InnerField(suffix = ElasticConstants.SubFields.keyword, type = FieldType.Keyword))
|
||||
@MultiField(mainField = @Field(value = PlanElasticEntity._label, type = FieldType.Text), otherFields = @InnerField(suffix = ElasticConstants.SubFields.keyword, type = FieldType.Keyword))
|
||||
private String label;
|
||||
public final static String _label = "label";
|
||||
|
||||
@Field(value = DmpElasticEntity._description, type = FieldType.Text)
|
||||
@Field(value = PlanElasticEntity._description, type = FieldType.Text)
|
||||
private String description;
|
||||
public final static String _description = "description";
|
||||
|
||||
@Field(value = DmpElasticEntity._version, type = FieldType.Keyword)
|
||||
@Field(value = PlanElasticEntity._version, type = FieldType.Keyword)
|
||||
private Short version;
|
||||
public final static String _version = "version";
|
||||
|
||||
@Field(value = DmpElasticEntity._status, type = FieldType.Short)
|
||||
private DmpStatus status;
|
||||
@Field(value = PlanElasticEntity._status, type = FieldType.Short)
|
||||
private PlanStatus status;
|
||||
public final static String _status = "status";
|
||||
|
||||
@Field(value = DmpElasticEntity._accessType, type = FieldType.Short)
|
||||
private DmpAccessType accessType;
|
||||
@Field(value = PlanElasticEntity._accessType, type = FieldType.Short)
|
||||
private PlanAccessType accessType;
|
||||
public final static String _accessType = "accessType";
|
||||
@Field(value = DmpElasticEntity._versionStatus, type = FieldType.Short)
|
||||
private DmpVersionStatus versionStatus;
|
||||
@Field(value = PlanElasticEntity._versionStatus, type = FieldType.Short)
|
||||
private PlanVersionStatus versionStatus;
|
||||
public final static String _versionStatus = "versionStatus";
|
||||
|
||||
@Field(value = DmpElasticEntity._language, type = FieldType.Keyword)
|
||||
@Field(value = PlanElasticEntity._language, type = FieldType.Keyword)
|
||||
private String language;
|
||||
public final static String _language = "language";
|
||||
|
||||
@Field(value = DmpElasticEntity._blueprintId, type = FieldType.Keyword)
|
||||
@Field(value = PlanElasticEntity._blueprintId, type = FieldType.Keyword)
|
||||
private UUID blueprintId;
|
||||
public final static String _blueprintId = "blueprintId";
|
||||
|
||||
@Field(value = DmpElasticEntity._groupId, type = FieldType.Keyword)
|
||||
@Field(value = PlanElasticEntity._groupId, type = FieldType.Keyword)
|
||||
private UUID groupId;
|
||||
public final static String _groupId = "groupId";
|
||||
|
||||
@Field(value = DmpElasticEntity._finalizedAt, type = FieldType.Date)
|
||||
@Field(value = PlanElasticEntity._finalizedAt, type = FieldType.Date)
|
||||
private Date finalizedAt;
|
||||
public final static String _finalizedAt = "finalizedAt";
|
||||
|
||||
@Field(value = DmpElasticEntity._references, type = FieldType.Nested)
|
||||
@Field(value = PlanElasticEntity._references, type = FieldType.Nested)
|
||||
private List<NestedReferenceElasticEntity> references;
|
||||
public final static String _references = "references";
|
||||
|
||||
@Field(value = DmpElasticEntity._collaborators, type = FieldType.Nested)
|
||||
@Field(value = PlanElasticEntity._collaborators, type = FieldType.Nested)
|
||||
private List<NestedCollaboratorElasticEntity> collaborators;
|
||||
public final static String _collaborators = "collaborators";
|
||||
|
||||
@Field(value = DmpElasticEntity._descriptions, type = FieldType.Nested)
|
||||
@Field(value = PlanElasticEntity._descriptions, type = FieldType.Nested)
|
||||
private List<NestedDescriptionElasticEntity> descriptions;
|
||||
public final static String _descriptions = "descriptions";
|
||||
|
||||
@Field(value = DmpElasticEntity._dmpDescriptionTemplates, type = FieldType.Nested)
|
||||
private List<NestedDmpDescriptionTemplateElasticEntity> dmpDescriptionTemplates;
|
||||
@Field(value = PlanElasticEntity._dmpDescriptionTemplates, type = FieldType.Nested)
|
||||
private List<NestedPlanDescriptionTemplateElasticEntity> planDescriptionTemplates;
|
||||
public final static String _dmpDescriptionTemplates = "dmpDescriptionTemplates";
|
||||
|
||||
@Field(value = DmpElasticEntity._dois, type = FieldType.Nested)
|
||||
@Field(value = PlanElasticEntity._dois, type = FieldType.Nested)
|
||||
private List<NestedDoiElasticEntity> dois;
|
||||
public final static String _dois = "dois";
|
||||
|
||||
@Field(value = DmpElasticEntity._updatedAt, type = FieldType.Date)
|
||||
@Field(value = PlanElasticEntity._updatedAt, type = FieldType.Date)
|
||||
private Date updatedAt;
|
||||
public final static String _updatedAt = "updatedAt";
|
||||
|
||||
@Field(value = DmpElasticEntity._createdAt, type = FieldType.Date)
|
||||
@Field(value = PlanElasticEntity._createdAt, type = FieldType.Date)
|
||||
private Date createdAt;
|
||||
public final static String _createdAt = "createdAt";
|
||||
|
||||
|
@ -130,19 +130,19 @@ public class DmpElasticEntity {
|
|||
this.version = version;
|
||||
}
|
||||
|
||||
public DmpStatus getStatus() {
|
||||
public PlanStatus getStatus() {
|
||||
return this.status;
|
||||
}
|
||||
|
||||
public void setStatus(DmpStatus status) {
|
||||
public void setStatus(PlanStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public DmpAccessType getAccessType() {
|
||||
public PlanAccessType getAccessType() {
|
||||
return this.accessType;
|
||||
}
|
||||
|
||||
public void setAccessType(DmpAccessType accessType) {
|
||||
public void setAccessType(PlanAccessType accessType) {
|
||||
this.accessType = accessType;
|
||||
}
|
||||
|
||||
|
@ -210,20 +210,20 @@ public class DmpElasticEntity {
|
|||
this.dois = dois;
|
||||
}
|
||||
|
||||
public DmpVersionStatus getVersionStatus() {
|
||||
public PlanVersionStatus getVersionStatus() {
|
||||
return this.versionStatus;
|
||||
}
|
||||
|
||||
public void setVersionStatus(DmpVersionStatus versionStatus) {
|
||||
public void setVersionStatus(PlanVersionStatus versionStatus) {
|
||||
this.versionStatus = versionStatus;
|
||||
}
|
||||
|
||||
public List<NestedDmpDescriptionTemplateElasticEntity> getDmpDescriptionTemplates() {
|
||||
return this.dmpDescriptionTemplates;
|
||||
public List<NestedPlanDescriptionTemplateElasticEntity> getPlanDescriptionTemplates() {
|
||||
return this.planDescriptionTemplates;
|
||||
}
|
||||
|
||||
public void setDmpDescriptionTemplates(List<NestedDmpDescriptionTemplateElasticEntity> dmpDescriptionTemplates) {
|
||||
this.dmpDescriptionTemplates = dmpDescriptionTemplates;
|
||||
public void setPlanDescriptionTemplates(List<NestedPlanDescriptionTemplateElasticEntity> planDescriptionTemplates) {
|
||||
this.planDescriptionTemplates = planDescriptionTemplates;
|
||||
}
|
||||
|
||||
public Date getCreatedAt() {
|
|
@ -1,7 +1,7 @@
|
|||
package org.opencdmp.elastic.data.nested;
|
||||
|
||||
import gr.cite.tools.elastic.ElasticConstants;
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.elasticsearch.annotations.Field;
|
||||
import org.springframework.data.elasticsearch.annotations.FieldType;
|
||||
|
@ -25,7 +25,7 @@ public class NestedCollaboratorElasticEntity {
|
|||
public final static String _name = "name";
|
||||
|
||||
@Field(value = NestedCollaboratorElasticEntity._role, type = FieldType.Short)
|
||||
private DmpUserRole role;
|
||||
private PlanUserRole role;
|
||||
public final static String _role = "role";
|
||||
|
||||
public UUID getId() {
|
||||
|
@ -44,11 +44,11 @@ public class NestedCollaboratorElasticEntity {
|
|||
this.name = name;
|
||||
}
|
||||
|
||||
public DmpUserRole getRole() {
|
||||
public PlanUserRole getRole() {
|
||||
return this.role;
|
||||
}
|
||||
|
||||
public void setRole(DmpUserRole role) {
|
||||
public void setRole(PlanUserRole role) {
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ public class NestedDescriptionElasticEntity {
|
|||
public final static String _id = "id";
|
||||
|
||||
@Field(value = NestedDescriptionElasticEntity._dmpId, type = FieldType.Keyword)
|
||||
private UUID dmpId;
|
||||
private UUID planId;
|
||||
public final static String _dmpId = "dmpId";
|
||||
|
||||
@MultiField(mainField = @Field(value = NestedDescriptionElasticEntity._label, type = FieldType.Text), otherFields = @InnerField(suffix = ElasticConstants.SubFields.keyword, type = FieldType.Keyword))
|
||||
|
@ -60,12 +60,12 @@ public class NestedDescriptionElasticEntity {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public UUID getDmpId() {
|
||||
return this.dmpId;
|
||||
public UUID getPlanId() {
|
||||
return this.planId;
|
||||
}
|
||||
|
||||
public void setDmpId(UUID dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
public void setPlanId(UUID planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
|
|
|
@ -6,22 +6,22 @@ import org.springframework.data.elasticsearch.annotations.FieldType;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public class NestedDmpDescriptionTemplateElasticEntity {
|
||||
public class NestedPlanDescriptionTemplateElasticEntity {
|
||||
|
||||
@Id
|
||||
@Field(value = NestedDmpDescriptionTemplateElasticEntity._id, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanDescriptionTemplateElasticEntity._id, type = FieldType.Keyword)
|
||||
private UUID id;
|
||||
public final static String _id = "id";
|
||||
|
||||
@Field(value = NestedDescriptionElasticEntity._dmpId, type = FieldType.Keyword)
|
||||
private UUID dmpId;
|
||||
private UUID planId;
|
||||
public final static String _dmpId = "dmpId";
|
||||
|
||||
@Field(value = NestedDmpDescriptionTemplateElasticEntity._descriptionTemplateGroupId, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanDescriptionTemplateElasticEntity._descriptionTemplateGroupId, type = FieldType.Keyword)
|
||||
private UUID descriptionTemplateGroupId;
|
||||
public final static String _descriptionTemplateGroupId = "descriptionTemplateGroupId";
|
||||
|
||||
@Field(value = NestedDmpDescriptionTemplateElasticEntity._sectionId, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanDescriptionTemplateElasticEntity._sectionId, type = FieldType.Keyword)
|
||||
private UUID sectionId;
|
||||
public final static String _sectionId = "sectionId";
|
||||
|
||||
|
@ -50,11 +50,11 @@ public class NestedDmpDescriptionTemplateElasticEntity {
|
|||
this.sectionId = sectionId;
|
||||
}
|
||||
|
||||
public UUID getDmpId() {
|
||||
return this.dmpId;
|
||||
public UUID getPlanId() {
|
||||
return this.planId;
|
||||
}
|
||||
|
||||
public void setDmpId(UUID dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
public void setPlanId(UUID planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
}
|
|
@ -1,9 +1,8 @@
|
|||
package org.opencdmp.elastic.data.nested;
|
||||
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import org.opencdmp.elastic.data.DmpElasticEntity;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import gr.cite.tools.elastic.ElasticConstants;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.elasticsearch.annotations.*;
|
||||
|
@ -12,63 +11,63 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class NestedDmpElasticEntity {
|
||||
public class NestedPlanElasticEntity {
|
||||
@Id
|
||||
@Field(value = NestedDmpElasticEntity._id, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanElasticEntity._id, type = FieldType.Keyword)
|
||||
private UUID id;
|
||||
public final static String _id = "id";
|
||||
|
||||
@MultiField(mainField = @Field(value = NestedDmpElasticEntity._label, type = FieldType.Text), otherFields = {
|
||||
@MultiField(mainField = @Field(value = NestedPlanElasticEntity._label, type = FieldType.Text), otherFields = {
|
||||
@InnerField(suffix = ElasticConstants.SubFields.keyword, type = FieldType.Keyword)
|
||||
})
|
||||
private String label;
|
||||
public final static String _label = "label";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._description, type = FieldType.Text)
|
||||
@Field(value = NestedPlanElasticEntity._description, type = FieldType.Text)
|
||||
private String description;
|
||||
public final static String _description = "description";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._version, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanElasticEntity._version, type = FieldType.Keyword)
|
||||
private Short version;
|
||||
public final static String _version = "version";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._versionStatus, type = FieldType.Short)
|
||||
private DmpVersionStatus versionStatus;
|
||||
@Field(value = NestedPlanElasticEntity._versionStatus, type = FieldType.Short)
|
||||
private PlanVersionStatus versionStatus;
|
||||
public final static String _versionStatus = "versionStatus";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._status, type = FieldType.Short)
|
||||
private DmpStatus status;
|
||||
@Field(value = NestedPlanElasticEntity._status, type = FieldType.Short)
|
||||
private PlanStatus status;
|
||||
public final static String _status = "status";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._accessType, type = FieldType.Short)
|
||||
private DmpAccessType accessType;
|
||||
@Field(value = NestedPlanElasticEntity._accessType, type = FieldType.Short)
|
||||
private PlanAccessType accessType;
|
||||
public final static String _accessType = "accessType";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._language, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanElasticEntity._language, type = FieldType.Keyword)
|
||||
private String language;
|
||||
public final static String _language = "language";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._blueprintId, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanElasticEntity._blueprintId, type = FieldType.Keyword)
|
||||
private UUID blueprintId;
|
||||
public final static String _blueprintId = "blueprintId";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._groupId, type = FieldType.Keyword)
|
||||
@Field(value = NestedPlanElasticEntity._groupId, type = FieldType.Keyword)
|
||||
private UUID groupId;
|
||||
public final static String _groupId = "groupId";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._finalizedAt, type = FieldType.Date)
|
||||
@Field(value = NestedPlanElasticEntity._finalizedAt, type = FieldType.Date)
|
||||
private Date finalizedAt;
|
||||
public final static String _finalizedAt = "finalizedAt";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._references, type = FieldType.Nested)
|
||||
@Field(value = NestedPlanElasticEntity._references, type = FieldType.Nested)
|
||||
private List<NestedReferenceElasticEntity> references;
|
||||
public final static String _references = "references";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._collaborators, type = FieldType.Nested)
|
||||
@Field(value = NestedPlanElasticEntity._collaborators, type = FieldType.Nested)
|
||||
private List<NestedCollaboratorElasticEntity> collaborators;
|
||||
public final static String _collaborators = "collaborators";
|
||||
|
||||
@Field(value = NestedDmpElasticEntity._dois, type = FieldType.Nested)
|
||||
@Field(value = NestedPlanElasticEntity._dois, type = FieldType.Nested)
|
||||
private List<NestedDoiElasticEntity> dois;
|
||||
public final static String _dois = "dois";
|
||||
|
||||
|
@ -104,19 +103,19 @@ public class NestedDmpElasticEntity {
|
|||
this.version = version;
|
||||
}
|
||||
|
||||
public DmpStatus getStatus() {
|
||||
public PlanStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(DmpStatus status) {
|
||||
public void setStatus(PlanStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public DmpAccessType getAccessType() {
|
||||
public PlanAccessType getAccessType() {
|
||||
return accessType;
|
||||
}
|
||||
|
||||
public void setAccessType(DmpAccessType accessType) {
|
||||
public void setAccessType(PlanAccessType accessType) {
|
||||
this.accessType = accessType;
|
||||
}
|
||||
|
||||
|
@ -176,11 +175,11 @@ public class NestedDmpElasticEntity {
|
|||
this.dois = dois;
|
||||
}
|
||||
|
||||
public DmpVersionStatus getVersionStatus() {
|
||||
public PlanVersionStatus getVersionStatus() {
|
||||
return versionStatus;
|
||||
}
|
||||
|
||||
public void setVersionStatus(DmpVersionStatus versionStatus) {
|
||||
public void setVersionStatus(PlanVersionStatus versionStatus) {
|
||||
this.versionStatus = versionStatus;
|
||||
}
|
||||
}
|
|
@ -11,17 +11,17 @@ import org.opencdmp.data.DescriptionReferenceEntity;
|
|||
import org.opencdmp.data.DescriptionTagEntity;
|
||||
import org.opencdmp.elastic.data.DescriptionElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDescriptionTemplateElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedPlanElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedReferenceElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedTagElasticEntity;
|
||||
import org.opencdmp.elastic.elasticbuilder.nested.NestedDescriptionTemplateElasticBuilder;
|
||||
import org.opencdmp.elastic.elasticbuilder.nested.NestedDmpElasticBuilder;
|
||||
import org.opencdmp.elastic.elasticbuilder.nested.NestedPlanElasticBuilder;
|
||||
import org.opencdmp.elastic.elasticbuilder.nested.NestedReferenceElasticBuilder;
|
||||
import org.opencdmp.elastic.elasticbuilder.nested.NestedTagElasticBuilder;
|
||||
import org.opencdmp.model.DescriptionTag;
|
||||
import org.opencdmp.model.descriptionreference.DescriptionReference;
|
||||
import org.opencdmp.model.descriptiontemplate.DescriptionTemplate;
|
||||
import org.opencdmp.model.dmp.Dmp;
|
||||
import org.opencdmp.model.plan.Plan;
|
||||
import org.opencdmp.query.*;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -54,7 +54,7 @@ public class DescriptionElasticBuilder extends BaseElasticBuilder<DescriptionEla
|
|||
|
||||
Map<UUID, List<NestedReferenceElasticEntity>> referenceElasticEntityMap = this.collectDescriptionReferences(data);
|
||||
Map<UUID, List<NestedTagElasticEntity>> tagElasticEntityMap = this.collectDescriptionTags(data);
|
||||
Map<UUID, NestedDmpElasticEntity> dmpElasticEntityMap = this.collectDmps(data);
|
||||
Map<UUID, NestedPlanElasticEntity> planElasticEntityMap = this.collectPlans(data);
|
||||
Map<UUID, NestedDescriptionTemplateElasticEntity> descriptionTemplateElasticEntityMap = this.collectDescriptionTemplates(data);
|
||||
|
||||
List<DescriptionElasticEntity> models = new ArrayList<>();
|
||||
|
@ -74,8 +74,8 @@ public class DescriptionElasticBuilder extends BaseElasticBuilder<DescriptionEla
|
|||
}
|
||||
if (referenceElasticEntityMap != null) m.setReferences(referenceElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
if (tagElasticEntityMap != null) m.setTags(tagElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
if (dmpElasticEntityMap != null) m.setDmp(dmpElasticEntityMap.getOrDefault(d.getDmpId(), null));
|
||||
if (descriptionTemplateElasticEntityMap != null) m.setDescriptionTemplate(descriptionTemplateElasticEntityMap.getOrDefault(d.getDmpId(), null));
|
||||
if (planElasticEntityMap != null) m.setDmp(planElasticEntityMap.getOrDefault(d.getPlanId(), null));
|
||||
if (descriptionTemplateElasticEntityMap != null) m.setDescriptionTemplate(descriptionTemplateElasticEntityMap.getOrDefault(d.getPlanId(), null));
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
|
@ -122,14 +122,14 @@ public class DescriptionElasticBuilder extends BaseElasticBuilder<DescriptionEla
|
|||
return itemMap;
|
||||
}
|
||||
|
||||
private Map<UUID, NestedDmpElasticEntity> collectDmps(List<DescriptionEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, NestedPlanElasticEntity> collectPlans(List<DescriptionEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty())
|
||||
return null;
|
||||
this.logger.debug("checking related - {}", Dmp.class.getSimpleName());
|
||||
this.logger.debug("checking related - {}", Plan.class.getSimpleName());
|
||||
|
||||
Map<UUID, NestedDmpElasticEntity> itemMap;
|
||||
DmpQuery q = this.queryFactory.query(DmpQuery.class).disableTracking().isActive(IsActive.Active).ids(data.stream().map(DescriptionEntity::getDmpId).distinct().collect(Collectors.toList()));
|
||||
itemMap = this.builderFactory.builder(NestedDmpElasticBuilder.class).asForeignKey(q, NestedDmpElasticEntity::getId);
|
||||
Map<UUID, NestedPlanElasticEntity> itemMap;
|
||||
PlanQuery q = this.queryFactory.query(PlanQuery.class).disableTracking().isActive(IsActive.Active).ids(data.stream().map(DescriptionEntity::getPlanId).distinct().collect(Collectors.toList()));
|
||||
itemMap = this.builderFactory.builder(NestedPlanElasticBuilder.class).asForeignKey(q, NestedPlanElasticEntity::getId);
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
|
|
|
@ -7,10 +7,10 @@ import gr.cite.tools.logging.LoggerService;
|
|||
import org.opencdmp.commons.enums.IsActive;
|
||||
import org.opencdmp.convention.ConventionService;
|
||||
import org.opencdmp.data.*;
|
||||
import org.opencdmp.elastic.data.DmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.PlanElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.*;
|
||||
import org.opencdmp.elastic.elasticbuilder.nested.*;
|
||||
import org.opencdmp.model.dmpreference.DmpReference;
|
||||
import org.opencdmp.model.planreference.PlanReference;
|
||||
import org.opencdmp.query.*;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -23,33 +23,33 @@ import java.util.stream.Collectors;
|
|||
|
||||
@Component
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class DmpElasticBuilder extends BaseElasticBuilder<DmpElasticEntity, DmpEntity> {
|
||||
public class PlanElasticBuilder extends BaseElasticBuilder<PlanElasticEntity, PlanEntity> {
|
||||
|
||||
private final QueryFactory queryFactory;
|
||||
private final BuilderFactory builderFactory;
|
||||
|
||||
@Autowired
|
||||
public DmpElasticBuilder(
|
||||
public PlanElasticBuilder(
|
||||
ConventionService conventionService, QueryFactory queryFactory, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DmpElasticBuilder.class)));
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(PlanElasticBuilder.class)));
|
||||
this.queryFactory = queryFactory;
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DmpElasticEntity> build(List<DmpEntity> data) throws MyApplicationException {
|
||||
public List<PlanElasticEntity> build(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data == null)
|
||||
return new ArrayList<>();
|
||||
|
||||
Map<UUID, List<NestedReferenceElasticEntity>> referenceElasticEntityMap = this.collectDmpReferences(data);
|
||||
Map<UUID, List<NestedReferenceElasticEntity>> referenceElasticEntityMap = this.collectPlanReferences(data);
|
||||
Map<UUID, List<NestedDescriptionElasticEntity>> descriptionElasticEntityMap = this.collectDescriptions(data);
|
||||
Map<UUID, List<NestedCollaboratorElasticEntity>> collaboratorElasticEntityMap = this.collectCollaborators(data);
|
||||
Map<UUID, List<NestedDoiElasticEntity>> doiElasticEntityMap = this.collectDois(data);
|
||||
Map<UUID, List<NestedDmpDescriptionTemplateElasticEntity>> dmpDescriptionTemplateElasticEntityMap = this.collectDmpDescriptionTemplates(data);
|
||||
Map<UUID, List<NestedPlanDescriptionTemplateElasticEntity>> planDescriptionTemplateElasticEntityMap = this.collectPlanDescriptionTemplates(data);
|
||||
|
||||
List<DmpElasticEntity> models = new ArrayList<>();
|
||||
for (DmpEntity d : data) {
|
||||
DmpElasticEntity m = new DmpElasticEntity();
|
||||
List<PlanElasticEntity> models = new ArrayList<>();
|
||||
for (PlanEntity d : data) {
|
||||
PlanElasticEntity m = new PlanElasticEntity();
|
||||
m.setId(d.getId());
|
||||
m.setLabel(d.getLabel());
|
||||
m.setDescription(d.getDescription());
|
||||
|
@ -71,7 +71,7 @@ public class DmpElasticBuilder extends BaseElasticBuilder<DmpElasticEntity, DmpE
|
|||
|
||||
if (referenceElasticEntityMap != null) m.setReferences(referenceElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
if (descriptionElasticEntityMap != null) m.setDescriptions(descriptionElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
if (dmpDescriptionTemplateElasticEntityMap != null) m.setDmpDescriptionTemplates(dmpDescriptionTemplateElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
if (planDescriptionTemplateElasticEntityMap != null) m.setPlanDescriptionTemplates(planDescriptionTemplateElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
if (collaboratorElasticEntityMap != null) m.setCollaborators(collaboratorElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
if (doiElasticEntityMap != null) m.setDois(doiElasticEntityMap.getOrDefault(d.getId(), null));
|
||||
models.add(m);
|
||||
|
@ -80,75 +80,75 @@ public class DmpElasticBuilder extends BaseElasticBuilder<DmpElasticEntity, DmpE
|
|||
return models;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedReferenceElasticEntity>> collectDmpReferences(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedReferenceElasticEntity>> collectPlanReferences(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty()) return null;
|
||||
this.logger.debug("checking related - {}", DmpReference.class.getSimpleName());
|
||||
this.logger.debug("checking related - {}", PlanReference.class.getSimpleName());
|
||||
|
||||
DmpReferenceQuery associationQuery = this.queryFactory.query(DmpReferenceQuery.class).disableTracking().dmpIds(data.stream().map(DmpEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<DmpReferenceEntity> associationEntities = associationQuery.collect();
|
||||
PlanReferenceQuery associationQuery = this.queryFactory.query(PlanReferenceQuery.class).disableTracking().planIds(data.stream().map(PlanEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<PlanReferenceEntity> associationEntities = associationQuery.collect();
|
||||
|
||||
ReferenceQuery query = this.queryFactory.query(ReferenceQuery.class).disableTracking().isActive(IsActive.Active).ids(associationEntities.stream().map(DmpReferenceEntity::getReferenceId).distinct().collect(Collectors.toList()));
|
||||
ReferenceQuery query = this.queryFactory.query(ReferenceQuery.class).disableTracking().isActive(IsActive.Active).ids(associationEntities.stream().map(PlanReferenceEntity::getReferenceId).distinct().collect(Collectors.toList()));
|
||||
Map<UUID, NestedReferenceElasticEntity> itemMapById = this.builderFactory.builder(NestedReferenceElasticBuilder.class).asForeignKey(query, NestedReferenceElasticEntity::getId);
|
||||
|
||||
Map<UUID, List<NestedReferenceElasticEntity>> itemMap = new HashMap<>();
|
||||
for (DmpReferenceEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getDmpId())) itemMap.put(associationEntity.getDmpId(), new ArrayList<>());
|
||||
for (PlanReferenceEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getPlanId())) itemMap.put(associationEntity.getPlanId(), new ArrayList<>());
|
||||
NestedReferenceElasticEntity item = itemMapById.getOrDefault(associationEntity.getReferenceId(), null);
|
||||
if (item != null) itemMap.get(associationEntity.getDmpId()).add(item);
|
||||
if (item != null) itemMap.get(associationEntity.getPlanId()).add(item);
|
||||
}
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedDescriptionElasticEntity>> collectDescriptions(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedDescriptionElasticEntity>> collectDescriptions(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty())
|
||||
return null;
|
||||
this.logger.debug("checking related - {}", DescriptionEntity.class.getSimpleName());
|
||||
|
||||
Map<UUID, List<NestedDescriptionElasticEntity>> itemMap;
|
||||
DescriptionQuery q = this.queryFactory.query(DescriptionQuery.class).disableTracking().isActive(IsActive.Active).dmpSubQuery(this.queryFactory.query(DmpQuery.class).ids(data.stream().map(DmpEntity::getId).distinct().collect(Collectors.toList())));
|
||||
itemMap = this.builderFactory.builder(NestedDescriptionElasticBuilder.class).asMasterKey(q, NestedDescriptionElasticEntity::getDmpId);
|
||||
DescriptionQuery q = this.queryFactory.query(DescriptionQuery.class).disableTracking().isActive(IsActive.Active).dmpSubQuery(this.queryFactory.query(PlanQuery.class).ids(data.stream().map(PlanEntity::getId).distinct().collect(Collectors.toList())));
|
||||
itemMap = this.builderFactory.builder(NestedDescriptionElasticBuilder.class).asMasterKey(q, NestedDescriptionElasticEntity::getPlanId);
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedDmpDescriptionTemplateElasticEntity>> collectDmpDescriptionTemplates(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedPlanDescriptionTemplateElasticEntity>> collectPlanDescriptionTemplates(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty())
|
||||
return null;
|
||||
this.logger.debug("checking related - {}", DmpDescriptionTemplateEntity.class.getSimpleName());
|
||||
this.logger.debug("checking related - {}", PlanDescriptionTemplateEntity.class.getSimpleName());
|
||||
|
||||
Map<UUID, List<NestedDmpDescriptionTemplateElasticEntity>> itemMap;
|
||||
DmpDescriptionTemplateQuery q = this.queryFactory.query(DmpDescriptionTemplateQuery.class).disableTracking().isActive(IsActive.Active).dmpIds(data.stream().map(DmpEntity::getId).distinct().collect(Collectors.toList()));
|
||||
itemMap = this.builderFactory.builder(NestedDmpDescriptionTemplateElasticBuilder.class).asMasterKey(q, NestedDmpDescriptionTemplateElasticEntity::getDmpId);
|
||||
Map<UUID, List<NestedPlanDescriptionTemplateElasticEntity>> itemMap;
|
||||
PlanDescriptionTemplateQuery q = this.queryFactory.query(PlanDescriptionTemplateQuery.class).disableTracking().isActive(IsActive.Active).planIds(data.stream().map(PlanEntity::getId).distinct().collect(Collectors.toList()));
|
||||
itemMap = this.builderFactory.builder(NestedPlanDescriptionTemplateElasticBuilder.class).asMasterKey(q, NestedPlanDescriptionTemplateElasticEntity::getPlanId);
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedCollaboratorElasticEntity>> collectCollaborators(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedCollaboratorElasticEntity>> collectCollaborators(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty())
|
||||
return null;
|
||||
this.logger.debug("checking related - {}", DmpUserEntity.class.getSimpleName());
|
||||
this.logger.debug("checking related - {}", PlanUserEntity.class.getSimpleName());
|
||||
|
||||
DmpUserQuery associationQuery = this.queryFactory.query(DmpUserQuery.class).disableTracking().dmpIds(data.stream().map(DmpEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<DmpUserEntity> associationEntities = associationQuery.collect();
|
||||
PlanUserQuery associationQuery = this.queryFactory.query(PlanUserQuery.class).disableTracking().planIds(data.stream().map(PlanEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<PlanUserEntity> associationEntities = associationQuery.collect();
|
||||
|
||||
Map<UUID, NestedCollaboratorElasticEntity> itemMapById = this.builderFactory.builder(NestedCollaboratorElasticBuilder.class).asForeignKey(associationEntities, NestedCollaboratorElasticEntity::getId);
|
||||
|
||||
Map<UUID, List<NestedCollaboratorElasticEntity>> itemMap = new HashMap<>();
|
||||
for (DmpUserEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getId())) itemMap.put(associationEntity.getDmpId(), new ArrayList<>());
|
||||
for (PlanUserEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getId())) itemMap.put(associationEntity.getPlanId(), new ArrayList<>());
|
||||
NestedCollaboratorElasticEntity item = itemMapById.getOrDefault(associationEntity.getId(), null);
|
||||
if (item != null) itemMap.get(associationEntity.getDmpId()).add(item);
|
||||
if (item != null) itemMap.get(associationEntity.getPlanId()).add(item);
|
||||
}
|
||||
return itemMap;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedDoiElasticEntity>> collectDois(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedDoiElasticEntity>> collectDois(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty())
|
||||
return null;
|
||||
this.logger.debug("checking related - {}", EntityDoiEntity.class.getSimpleName());
|
||||
|
||||
EntityDoiQuery associationQuery = this.queryFactory.query(EntityDoiQuery.class).disableTracking().entityIds(data.stream().map(DmpEntity::getId).collect(Collectors.toList())).isActive(IsActive.Active);
|
||||
EntityDoiQuery associationQuery = this.queryFactory.query(EntityDoiQuery.class).disableTracking().entityIds(data.stream().map(PlanEntity::getId).collect(Collectors.toList())).isActive(IsActive.Active);
|
||||
List<EntityDoiEntity> associationEntities = associationQuery.collect();
|
||||
|
||||
Map<UUID, NestedDoiElasticEntity> itemMapById = this.builderFactory.builder(NestedDoiElasticBuilder.class).asForeignKey(associationEntities, NestedDoiElasticEntity::getId);
|
|
@ -6,7 +6,7 @@ import gr.cite.tools.fieldset.BaseFieldSet;
|
|||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.opencdmp.commons.enums.IsActive;
|
||||
import org.opencdmp.convention.ConventionService;
|
||||
import org.opencdmp.data.DmpUserEntity;
|
||||
import org.opencdmp.data.PlanUserEntity;
|
||||
import org.opencdmp.data.UserEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedCollaboratorElasticEntity;
|
||||
import org.opencdmp.elastic.elasticbuilder.BaseElasticBuilder;
|
||||
|
@ -23,7 +23,7 @@ import java.util.stream.Collectors;
|
|||
|
||||
@Component
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class NestedCollaboratorElasticBuilder extends BaseElasticBuilder<NestedCollaboratorElasticEntity, DmpUserEntity> {
|
||||
public class NestedCollaboratorElasticBuilder extends BaseElasticBuilder<NestedCollaboratorElasticEntity, PlanUserEntity> {
|
||||
|
||||
private final QueryFactory queryFactory;
|
||||
@Autowired
|
||||
|
@ -34,14 +34,14 @@ public class NestedCollaboratorElasticBuilder extends BaseElasticBuilder<NestedC
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<NestedCollaboratorElasticEntity> build(List<DmpUserEntity> data) throws MyApplicationException {
|
||||
public List<NestedCollaboratorElasticEntity> build(List<PlanUserEntity> data) throws MyApplicationException {
|
||||
if (data == null)
|
||||
return new ArrayList<>();
|
||||
|
||||
List<NestedCollaboratorElasticEntity> models = new ArrayList<>();
|
||||
List<UserEntity> users = this.queryFactory.query(UserQuery.class).disableTracking().isActive(IsActive.Active).ids(data.stream().map(DmpUserEntity::getUserId).distinct().collect(Collectors.toList())).collectAs(new BaseFieldSet().ensure(User._id).ensure(User._name));
|
||||
List<UserEntity> users = this.queryFactory.query(UserQuery.class).disableTracking().isActive(IsActive.Active).ids(data.stream().map(PlanUserEntity::getUserId).distinct().collect(Collectors.toList())).collectAs(new BaseFieldSet().ensure(User._id).ensure(User._name));
|
||||
Map<UUID, String> userNameMap = users == null ? new HashMap<>() : users.stream().collect(Collectors.toMap(UserEntity::getId, UserEntity::getName));
|
||||
for (DmpUserEntity d : data) {
|
||||
for (PlanUserEntity d : data) {
|
||||
NestedCollaboratorElasticEntity m = new NestedCollaboratorElasticEntity();
|
||||
m.setId(d.getId());
|
||||
m.setUserId(d.getUserId());
|
||||
|
|
|
@ -55,7 +55,7 @@ public class NestedDescriptionElasticBuilder extends BaseElasticBuilder<NestedDe
|
|||
for (DescriptionEntity d : data) {
|
||||
NestedDescriptionElasticEntity m = new NestedDescriptionElasticEntity();
|
||||
m.setId(d.getId());
|
||||
m.setDmpId(d.getDmpId());
|
||||
m.setPlanId(d.getPlanId());
|
||||
m.setLabel(d.getLabel());
|
||||
m.setDescription(d.getDescription());
|
||||
m.setStatus(d.getStatus());
|
||||
|
|
|
@ -3,8 +3,8 @@ package org.opencdmp.elastic.elasticbuilder.nested;
|
|||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.opencdmp.convention.ConventionService;
|
||||
import org.opencdmp.data.DmpDescriptionTemplateEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDmpDescriptionTemplateElasticEntity;
|
||||
import org.opencdmp.data.PlanDescriptionTemplateEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedPlanDescriptionTemplateElasticEntity;
|
||||
import org.opencdmp.elastic.elasticbuilder.BaseElasticBuilder;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -18,24 +18,24 @@ import java.util.Optional;
|
|||
|
||||
@Component
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class NestedDmpDescriptionTemplateElasticBuilder extends BaseElasticBuilder<NestedDmpDescriptionTemplateElasticEntity, DmpDescriptionTemplateEntity> {
|
||||
public class NestedPlanDescriptionTemplateElasticBuilder extends BaseElasticBuilder<NestedPlanDescriptionTemplateElasticEntity, PlanDescriptionTemplateEntity> {
|
||||
|
||||
@Autowired
|
||||
public NestedDmpDescriptionTemplateElasticBuilder(
|
||||
public NestedPlanDescriptionTemplateElasticBuilder(
|
||||
ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(NestedDmpDescriptionTemplateElasticBuilder.class)));
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(NestedPlanDescriptionTemplateElasticBuilder.class)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NestedDmpDescriptionTemplateElasticEntity> build(List<DmpDescriptionTemplateEntity> data) throws MyApplicationException {
|
||||
public List<NestedPlanDescriptionTemplateElasticEntity> build(List<PlanDescriptionTemplateEntity> data) throws MyApplicationException {
|
||||
if (data == null)
|
||||
return new ArrayList<>();
|
||||
|
||||
List<NestedDmpDescriptionTemplateElasticEntity> models = new ArrayList<>();
|
||||
for (DmpDescriptionTemplateEntity d : data) {
|
||||
NestedDmpDescriptionTemplateElasticEntity m = new NestedDmpDescriptionTemplateElasticEntity();
|
||||
List<NestedPlanDescriptionTemplateElasticEntity> models = new ArrayList<>();
|
||||
for (PlanDescriptionTemplateEntity d : data) {
|
||||
NestedPlanDescriptionTemplateElasticEntity m = new NestedPlanDescriptionTemplateElasticEntity();
|
||||
m.setId(d.getId());
|
||||
m.setDmpId(d.getDmpId());
|
||||
m.setPlanId(d.getPlanId());
|
||||
m.setSectionId(d.getSectionId());
|
||||
m.setDescriptionTemplateGroupId(d.getDescriptionTemplateGroupId());
|
||||
models.add(m);
|
|
@ -6,18 +6,18 @@ import gr.cite.tools.exception.MyApplicationException;
|
|||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.opencdmp.commons.enums.IsActive;
|
||||
import org.opencdmp.convention.ConventionService;
|
||||
import org.opencdmp.data.DmpEntity;
|
||||
import org.opencdmp.data.DmpReferenceEntity;
|
||||
import org.opencdmp.data.DmpUserEntity;
|
||||
import org.opencdmp.data.PlanEntity;
|
||||
import org.opencdmp.data.PlanReferenceEntity;
|
||||
import org.opencdmp.data.PlanUserEntity;
|
||||
import org.opencdmp.data.EntityDoiEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedCollaboratorElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedPlanElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDoiElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedReferenceElasticEntity;
|
||||
import org.opencdmp.elastic.elasticbuilder.BaseElasticBuilder;
|
||||
import org.opencdmp.model.dmpreference.DmpReference;
|
||||
import org.opencdmp.query.DmpReferenceQuery;
|
||||
import org.opencdmp.query.DmpUserQuery;
|
||||
import org.opencdmp.model.planreference.PlanReference;
|
||||
import org.opencdmp.query.PlanReferenceQuery;
|
||||
import org.opencdmp.query.PlanUserQuery;
|
||||
import org.opencdmp.query.EntityDoiQuery;
|
||||
import org.opencdmp.query.ReferenceQuery;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -31,31 +31,31 @@ import java.util.stream.Collectors;
|
|||
|
||||
@Component
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class NestedDmpElasticBuilder extends BaseElasticBuilder<NestedDmpElasticEntity, DmpEntity> {
|
||||
public class NestedPlanElasticBuilder extends BaseElasticBuilder<NestedPlanElasticEntity, PlanEntity> {
|
||||
|
||||
private final QueryFactory queryFactory;
|
||||
private final BuilderFactory builderFactory;
|
||||
|
||||
@Autowired
|
||||
public NestedDmpElasticBuilder(
|
||||
public NestedPlanElasticBuilder(
|
||||
ConventionService conventionService, QueryFactory queryFactory, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(NestedDmpElasticBuilder.class)));
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(NestedPlanElasticBuilder.class)));
|
||||
this.queryFactory = queryFactory;
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NestedDmpElasticEntity> build(List<DmpEntity> data) throws MyApplicationException {
|
||||
public List<NestedPlanElasticEntity> build(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data == null)
|
||||
return new ArrayList<>();
|
||||
|
||||
Map<UUID, List<NestedReferenceElasticEntity>> referenceElasticEntityMap = this.collectDmpReferences(data);
|
||||
Map<UUID, List<NestedReferenceElasticEntity>> referenceElasticEntityMap = this.collectPlanReferences(data);
|
||||
Map<UUID, List<NestedCollaboratorElasticEntity>> collaboratorElasticEntityMap = this.collectCollaborators(data);
|
||||
Map<UUID, List<NestedDoiElasticEntity>> doiElasticEntityMap = this.collectDois(data);
|
||||
|
||||
List<NestedDmpElasticEntity> models = new ArrayList<>();
|
||||
for (DmpEntity d : data) {
|
||||
NestedDmpElasticEntity m = new NestedDmpElasticEntity();
|
||||
List<NestedPlanElasticEntity> models = new ArrayList<>();
|
||||
for (PlanEntity d : data) {
|
||||
NestedPlanElasticEntity m = new NestedPlanElasticEntity();
|
||||
m.setId(d.getId());
|
||||
m.setLabel(d.getLabel());
|
||||
m.setDescription(d.getDescription());
|
||||
|
@ -79,51 +79,51 @@ public class NestedDmpElasticBuilder extends BaseElasticBuilder<NestedDmpElastic
|
|||
return models;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedReferenceElasticEntity>> collectDmpReferences(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedReferenceElasticEntity>> collectPlanReferences(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty()) return null;
|
||||
this.logger.debug("checking related - {}", DmpReference.class.getSimpleName());
|
||||
this.logger.debug("checking related - {}", PlanReference.class.getSimpleName());
|
||||
|
||||
DmpReferenceQuery associationQuery = this.queryFactory.query(DmpReferenceQuery.class).disableTracking().dmpIds(data.stream().map(DmpEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<DmpReferenceEntity> associationEntities = associationQuery.collect();
|
||||
PlanReferenceQuery associationQuery = this.queryFactory.query(PlanReferenceQuery.class).disableTracking().planIds(data.stream().map(PlanEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<PlanReferenceEntity> associationEntities = associationQuery.collect();
|
||||
|
||||
ReferenceQuery query = this.queryFactory.query(ReferenceQuery.class).disableTracking().isActive(IsActive.Active).ids(associationEntities.stream().map(DmpReferenceEntity::getReferenceId).distinct().collect(Collectors.toList()));
|
||||
ReferenceQuery query = this.queryFactory.query(ReferenceQuery.class).disableTracking().isActive(IsActive.Active).ids(associationEntities.stream().map(PlanReferenceEntity::getReferenceId).distinct().collect(Collectors.toList()));
|
||||
Map<UUID, NestedReferenceElasticEntity> itemMapById = this.builderFactory.builder(NestedReferenceElasticBuilder.class).asForeignKey(query, NestedReferenceElasticEntity::getId);
|
||||
|
||||
Map<UUID, List<NestedReferenceElasticEntity>> itemMap = new HashMap<>();
|
||||
for (DmpReferenceEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getDmpId())) itemMap.put(associationEntity.getDmpId(), new ArrayList<>());
|
||||
for (PlanReferenceEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getPlanId())) itemMap.put(associationEntity.getPlanId(), new ArrayList<>());
|
||||
NestedReferenceElasticEntity item = itemMapById.getOrDefault(associationEntity.getReferenceId(), null);
|
||||
if (item != null) itemMap.get(associationEntity.getDmpId()).add(item);
|
||||
if (item != null) itemMap.get(associationEntity.getPlanId()).add(item);
|
||||
}
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedCollaboratorElasticEntity>> collectCollaborators(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedCollaboratorElasticEntity>> collectCollaborators(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty())
|
||||
return null;
|
||||
this.logger.debug("checking related - {}", DmpUserEntity.class.getSimpleName());
|
||||
this.logger.debug("checking related - {}", PlanUserEntity.class.getSimpleName());
|
||||
|
||||
DmpUserQuery associationQuery = this.queryFactory.query(DmpUserQuery.class).disableTracking().dmpIds(data.stream().map(DmpEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<DmpUserEntity> associationEntities = associationQuery.collect();
|
||||
PlanUserQuery associationQuery = this.queryFactory.query(PlanUserQuery.class).disableTracking().planIds(data.stream().map(PlanEntity::getId).collect(Collectors.toList())).isActives(IsActive.Active);
|
||||
List<PlanUserEntity> associationEntities = associationQuery.collect();
|
||||
|
||||
Map<UUID, NestedCollaboratorElasticEntity> itemMapById = this.builderFactory.builder(NestedCollaboratorElasticBuilder.class).asForeignKey(associationEntities, NestedCollaboratorElasticEntity::getId);
|
||||
|
||||
Map<UUID, List<NestedCollaboratorElasticEntity>> itemMap = new HashMap<>();
|
||||
for (DmpUserEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getId())) itemMap.put(associationEntity.getDmpId(), new ArrayList<>());
|
||||
for (PlanUserEntity associationEntity : associationEntities){
|
||||
if (!itemMap.containsKey(associationEntity.getId())) itemMap.put(associationEntity.getPlanId(), new ArrayList<>());
|
||||
NestedCollaboratorElasticEntity item = itemMapById.getOrDefault(associationEntity.getId(), null);
|
||||
if (item != null) itemMap.get(associationEntity.getDmpId()).add(item);
|
||||
if (item != null) itemMap.get(associationEntity.getPlanId()).add(item);
|
||||
}
|
||||
return itemMap;
|
||||
}
|
||||
|
||||
private Map<UUID, List<NestedDoiElasticEntity>> collectDois(List<DmpEntity> data) throws MyApplicationException {
|
||||
private Map<UUID, List<NestedDoiElasticEntity>> collectDois(List<PlanEntity> data) throws MyApplicationException {
|
||||
if (data.isEmpty())
|
||||
return null;
|
||||
this.logger.debug("checking related - {}", EntityDoiEntity.class.getSimpleName());
|
||||
|
||||
EntityDoiQuery associationQuery = this.queryFactory.query(EntityDoiQuery.class).disableTracking().entityIds(data.stream().map(DmpEntity::getId).collect(Collectors.toList())).isActive(IsActive.Active);
|
||||
EntityDoiQuery associationQuery = this.queryFactory.query(EntityDoiQuery.class).disableTracking().entityIds(data.stream().map(PlanEntity::getId).collect(Collectors.toList())).isActive(IsActive.Active);
|
||||
List<EntityDoiEntity> associationEntities = associationQuery.collect();
|
||||
|
||||
Map<UUID, NestedDoiElasticEntity> itemMapById = this.builderFactory.builder(NestedDoiElasticBuilder.class).asForeignKey(associationEntities, NestedDoiElasticEntity::getId);
|
|
@ -16,13 +16,13 @@ import gr.cite.tools.elastic.query.ElasticQuery;
|
|||
import org.opencdmp.authorization.AuthorizationFlags;
|
||||
import org.opencdmp.authorization.Permission;
|
||||
import org.opencdmp.commons.enums.DescriptionStatus;
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import org.opencdmp.commons.scope.tenant.TenantScope;
|
||||
import org.opencdmp.commons.scope.user.UserScope;
|
||||
import org.opencdmp.elastic.data.DescriptionElasticEntity;
|
||||
import org.opencdmp.elastic.data.DmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.PlanElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedPlanElasticEntity;
|
||||
import org.opencdmp.service.elastic.AppElasticConfiguration;
|
||||
import org.opencdmp.service.elastic.ElasticService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -43,7 +43,7 @@ public class DescriptionElasticQuery extends ElasticQuery<DescriptionElasticEnti
|
|||
|
||||
private Collection<UUID> ids;
|
||||
private String like;
|
||||
private InnerObjectDmpElasticQuery dmpSubQuery;
|
||||
private InnerObjectDmpElasticQuery planSubQuery;
|
||||
private Instant createdAfter;
|
||||
private Instant createdBefore;
|
||||
private Instant finalizedAfter;
|
||||
|
@ -72,8 +72,8 @@ public class DescriptionElasticQuery extends ElasticQuery<DescriptionElasticEnti
|
|||
return this;
|
||||
}
|
||||
|
||||
public DescriptionElasticQuery dmpSubQuery(InnerObjectDmpElasticQuery subQuery) {
|
||||
this.dmpSubQuery = subQuery;
|
||||
public DescriptionElasticQuery planSubQuery(InnerObjectDmpElasticQuery subQuery) {
|
||||
this.planSubQuery = subQuery;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -196,12 +196,12 @@ public class DescriptionElasticQuery extends ElasticQuery<DescriptionElasticEnti
|
|||
List<Query> predicates = new ArrayList<>();
|
||||
if (usePublic ) {
|
||||
predicates.add(this.and(
|
||||
this.equals(new ElasticField(DescriptionElasticEntity._dmp + "." + DmpElasticEntity._status, this.entityClass()).disableInfer(true), DmpStatus.Finalized.getValue()),
|
||||
this.equals(new ElasticField(DescriptionElasticEntity._dmp + "." + DmpElasticEntity._accessType, this.entityClass()).disableInfer(true), DmpAccessType.Public.getValue())
|
||||
this.equals(new ElasticField(DescriptionElasticEntity._dmp + "." + PlanElasticEntity._status, this.entityClass()).disableInfer(true), PlanStatus.Finalized.getValue()),
|
||||
this.equals(new ElasticField(DescriptionElasticEntity._dmp + "." + PlanElasticEntity._accessType, this.entityClass()).disableInfer(true), PlanAccessType.Public.getValue())
|
||||
));
|
||||
}
|
||||
if (userId != null) {
|
||||
NestedCollaboratorElasticQuery query = this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(DescriptionElasticEntity._dmp + "." + NestedDmpElasticEntity._collaborators);
|
||||
NestedCollaboratorElasticQuery query = this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(DescriptionElasticEntity._dmp + "." + NestedPlanElasticEntity._collaborators);
|
||||
query.userIds(userId);
|
||||
predicates.add(this.nestedQuery(query).build()._toQuery());
|
||||
}
|
||||
|
@ -230,13 +230,13 @@ public class DescriptionElasticQuery extends ElasticQuery<DescriptionElasticEnti
|
|||
QueryBuilders.nested().path(DescriptionElasticEntity._references).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(DescriptionElasticEntity._dmp + "." + NestedDmpElasticEntity._references).query(
|
||||
QueryBuilders.nested().path(DescriptionElasticEntity._dmp + "." + NestedPlanElasticEntity._references).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(DescriptionElasticEntity._dmp + "." + NestedDmpElasticEntity._collaborators).query(
|
||||
QueryBuilders.nested().path(DescriptionElasticEntity._dmp + "." + NestedPlanElasticEntity._collaborators).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(DescriptionElasticEntity._dmp + "." + NestedDmpElasticEntity._dois).query(
|
||||
QueryBuilders.nested().path(DescriptionElasticEntity._dmp + "." + NestedPlanElasticEntity._dois).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery()
|
||||
)._toQuery());
|
||||
|
@ -262,8 +262,8 @@ public class DescriptionElasticQuery extends ElasticQuery<DescriptionElasticEnti
|
|||
if (this.createdBefore != null) {
|
||||
predicates.add(this.dateLessThanQuery(this.elasticFieldOf(DescriptionElasticEntity._createdAt), this.createdBefore)._toQuery());
|
||||
}
|
||||
if (this.dmpSubQuery != null) {
|
||||
predicates.add(this.dmpSubQuery.innerPath(DescriptionElasticEntity._dmp).applyFilters());
|
||||
if (this.planSubQuery != null) {
|
||||
predicates.add(this.planSubQuery.innerPath(DescriptionElasticEntity._dmp).applyFilters());
|
||||
}
|
||||
if (!predicates.isEmpty()) {
|
||||
return this.and(predicates);
|
||||
|
|
|
@ -1,403 +0,0 @@
|
|||
package org.opencdmp.elastic.query;
|
||||
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
|
||||
import gr.cite.commons.web.authz.service.AuthorizationService;
|
||||
import gr.cite.tools.data.query.FieldResolver;
|
||||
import gr.cite.tools.data.query.OrderingFieldResolver;
|
||||
import gr.cite.tools.data.query.QueryFactory;
|
||||
import gr.cite.tools.elastic.ElasticConstants;
|
||||
import gr.cite.tools.elastic.configuration.ElasticProperties;
|
||||
import gr.cite.tools.elastic.mapper.FieldBasedMapper;
|
||||
import gr.cite.tools.elastic.query.ElasticField;
|
||||
import gr.cite.tools.elastic.query.ElasticFields;
|
||||
import gr.cite.tools.elastic.query.ElasticNestedQuery;
|
||||
import gr.cite.tools.elastic.query.ElasticQuery;
|
||||
import org.opencdmp.authorization.AuthorizationFlags;
|
||||
import org.opencdmp.authorization.Permission;
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import org.opencdmp.commons.scope.tenant.TenantScope;
|
||||
import org.opencdmp.commons.scope.user.UserScope;
|
||||
import org.opencdmp.elastic.data.DmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDescriptionElasticEntity;
|
||||
import org.opencdmp.service.elastic.AppElasticConfiguration;
|
||||
import org.opencdmp.service.elastic.ElasticService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.data.elasticsearch.client.elc.ElasticsearchTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
//Like in C# make it Transient
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
public class DmpElasticQuery extends ElasticQuery<DmpElasticEntity, UUID> {
|
||||
|
||||
private String like;
|
||||
private Collection<UUID> ids;
|
||||
private Collection<UUID> excludedIds;
|
||||
private Collection<DmpStatus> statuses;
|
||||
private Collection<DmpVersionStatus> versionStatuses;
|
||||
private Collection<DmpAccessType> accessTypes;
|
||||
private Collection<Integer> versions;
|
||||
private Collection<UUID> groupIds;
|
||||
private NestedCollaboratorElasticQuery dmpUserSubQuery;
|
||||
private NestedDescriptionElasticQuery descriptionSubQuery;
|
||||
private NestedDmpDescriptionTemplateElasticQuery dmpDescriptionTemplateSubQuery;
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
|
||||
public DmpElasticQuery dmpSubQuery(NestedCollaboratorElasticQuery subQuery) {
|
||||
this.dmpUserSubQuery = subQuery;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery descriptionSubQuery(NestedDescriptionElasticQuery subQuery) {
|
||||
this.descriptionSubQuery = subQuery;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery dmpDescriptionTemplateSubQuery(NestedDmpDescriptionTemplateElasticQuery subQuery) {
|
||||
this.dmpDescriptionTemplateSubQuery = subQuery;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery like(String value) {
|
||||
this.like = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery ids(UUID value) {
|
||||
this.ids = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery ids(UUID... value) {
|
||||
this.ids = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery ids(Collection<UUID> values) {
|
||||
this.ids = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery excludedIds(Collection<UUID> values) {
|
||||
this.excludedIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery excludedIds(UUID value) {
|
||||
this.excludedIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery excludedIds(UUID... value) {
|
||||
this.excludedIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery versionStatuses(DmpVersionStatus value) {
|
||||
this.versionStatuses = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery versionStatuses(DmpVersionStatus... value) {
|
||||
this.versionStatuses = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery versionStatuses(Collection<DmpVersionStatus> values) {
|
||||
this.versionStatuses = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery accessTypes(DmpAccessType value) {
|
||||
this.accessTypes = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery accessTypes(DmpAccessType... value) {
|
||||
this.accessTypes = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery accessTypes(Collection<DmpAccessType> values) {
|
||||
this.accessTypes = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery statuses(DmpStatus value) {
|
||||
this.statuses = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery statuses(DmpStatus... value) {
|
||||
this.statuses = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery statuses(Collection<DmpStatus> values) {
|
||||
this.statuses = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery versions(Integer value) {
|
||||
this.versions = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery versions(Integer... value) {
|
||||
this.versions = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery versions(Collection<Integer> values) {
|
||||
this.versions = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery groupIds(UUID value) {
|
||||
this.groupIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery groupIds(UUID... value) {
|
||||
this.groupIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery groupIds(Collection<UUID> values) {
|
||||
this.groupIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DmpElasticQuery authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
private final QueryFactory queryFactory;
|
||||
private final AppElasticConfiguration appElasticConfiguration;
|
||||
private final ElasticService elasticService;
|
||||
private final UserScope userScope;
|
||||
private final TenantScope tenantScope;
|
||||
private final AuthorizationService authService;
|
||||
@Autowired
|
||||
public DmpElasticQuery(ElasticsearchTemplate elasticsearchTemplate, ElasticProperties elasticProperties, QueryFactory queryFactory, AppElasticConfiguration appElasticConfiguration, ElasticService elasticService, UserScope userScope, TenantScope tenantScope, AuthorizationService authService) {
|
||||
super(elasticsearchTemplate, elasticProperties);
|
||||
this.queryFactory = queryFactory;
|
||||
this.appElasticConfiguration = appElasticConfiguration;
|
||||
this.elasticService = elasticService;
|
||||
this.userScope = userScope;
|
||||
this.tenantScope = tenantScope;
|
||||
this.authService = authService;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean isFalseQuery() {
|
||||
return this.isEmpty(this.ids) || this.isEmpty(this.versionStatuses) || this.isEmpty(this.excludedIds) || this.isEmpty(this.accessTypes)|| this.isEmpty(this.statuses);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<DmpElasticEntity> entityClass() {
|
||||
return DmpElasticEntity.class;
|
||||
}
|
||||
|
||||
private Query applyTenant(List<Query> predicates){
|
||||
if (this.tenantScope.isSet()){
|
||||
Query tenantQuery;
|
||||
if (this.tenantScope.isDefaultTenant()){
|
||||
tenantQuery = this.fieldNotExists(this.elasticFieldOf(DmpElasticEntity._tenantId))._toQuery();
|
||||
}
|
||||
else {
|
||||
try {
|
||||
tenantQuery = this.or(this.fieldNotExists(this.elasticFieldOf(DmpElasticEntity._tenantId))._toQuery(),
|
||||
this.equals(this.elasticFieldOf(DmpElasticEntity._tenantId), this.tenantScope.getTenant()))._toQuery();
|
||||
} catch (InvalidApplicationException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
if (predicates == null) return tenantQuery;
|
||||
else return this.and(tenantQuery, this.or(predicates)._toQuery());
|
||||
} else {
|
||||
if (predicates != null) return this.or(predicates)._toQuery();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
protected Query applyAuthZ() {
|
||||
|
||||
if (this.authorize.contains(AuthorizationFlags.None)) return this.applyTenant(null);
|
||||
if (this.authorize.contains(AuthorizationFlags.Permission) && this.authService.authorize(Permission.BrowseDmp)) return this.applyTenant(null);
|
||||
UUID userId = null;
|
||||
boolean usePublic = this.authorize.contains(AuthorizationFlags.Public);
|
||||
if (this.authorize.contains(AuthorizationFlags.DmpAssociated)) userId = this.userScope.getUserIdSafe();
|
||||
|
||||
List<Query> predicates = new ArrayList<>();
|
||||
if (usePublic) {
|
||||
predicates.add(this.and(
|
||||
this.equals(this.elasticFieldOf(DmpElasticEntity._status), DmpStatus.Finalized.getValue()),
|
||||
this.equals(this.elasticFieldOf(DmpElasticEntity._accessType), DmpAccessType.Public.getValue())
|
||||
));
|
||||
}
|
||||
if (userId != null) {
|
||||
NestedCollaboratorElasticQuery query = this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(DmpElasticEntity._collaborators);
|
||||
query.userIds(userId);
|
||||
predicates.add(this.nestedQuery(query).build()._toQuery());
|
||||
}
|
||||
if (!predicates.isEmpty()) {
|
||||
return this.applyTenant(predicates);
|
||||
} else {
|
||||
return this.equals(this.elasticFieldOf(DmpElasticEntity._id), UUID.randomUUID());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Query applyFilters() {
|
||||
List<Query> predicates = new ArrayList<>();
|
||||
|
||||
if (this.like != null && !this.like.isBlank()) {
|
||||
|
||||
if (!this.like.startsWith("*")) this.like = "*" + this.like;
|
||||
if (!this.like.endsWith("*")) this.like = this.like + "*";
|
||||
ElasticFields elasticFields = this.elasticFieldsOf();
|
||||
elasticFields.add("*", null, true);
|
||||
|
||||
predicates.add(this.or(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
,
|
||||
QueryBuilders.nested().path(DmpElasticEntity._collaborators).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(DmpElasticEntity._references).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(DmpElasticEntity._descriptions + "." + NestedDescriptionElasticEntity._references).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(DmpElasticEntity._descriptions + "." + NestedDescriptionElasticEntity._tags).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(DmpElasticEntity._descriptions).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery()
|
||||
|
||||
)._toQuery());
|
||||
}
|
||||
if (this.ids != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(DmpElasticEntity._id), this.ids)._toQuery());
|
||||
}
|
||||
if (this.groupIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(DmpElasticEntity._groupId), this.groupIds)._toQuery());
|
||||
}
|
||||
if (this.versions != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(DmpElasticEntity._version), this.versions.toArray(new Integer[this.versions.size()]))._toQuery());
|
||||
}
|
||||
if (this.excludedIds != null) {
|
||||
predicates.add(this.not(this.containsUUID(this.elasticFieldOf(DmpElasticEntity._id), this.excludedIds)._toQuery())._toQuery());
|
||||
}
|
||||
if (this.statuses != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(DmpElasticEntity._status), this.statuses.stream().map(DmpStatus::getValue).toList().toArray(new Short[this.statuses.size()]))._toQuery());
|
||||
}
|
||||
if (this.versionStatuses != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(DmpElasticEntity._versionStatus), this.versionStatuses.stream().map(DmpVersionStatus::getValue).toList().toArray(new Short[this.versionStatuses.size()]))._toQuery());
|
||||
}
|
||||
if (this.accessTypes != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(DmpElasticEntity._accessType), this.accessTypes.stream().map(DmpAccessType::getValue).toList().toArray(new Short[this.accessTypes.size()]))._toQuery());
|
||||
}
|
||||
if (this.dmpUserSubQuery != null) {
|
||||
predicates.add(this.nestedQuery( this.dmpUserSubQuery.nestedPath(DmpElasticEntity._collaborators)).build()._toQuery());
|
||||
}
|
||||
if (this.descriptionSubQuery != null) {
|
||||
predicates.add(this.nestedQuery( this.descriptionSubQuery.nestedPath(DmpElasticEntity._descriptions)).build()._toQuery());
|
||||
}
|
||||
if (this.dmpDescriptionTemplateSubQuery != null) {
|
||||
predicates.add(this.nestedQuery( this.dmpDescriptionTemplateSubQuery.nestedPath(DmpElasticEntity._dmpDescriptionTemplates)).build()._toQuery());
|
||||
}
|
||||
|
||||
if (!predicates.isEmpty()) {
|
||||
return this.and(predicates);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DmpElasticEntity convert(Map<String, Object> rawData, Set<String> columns) {
|
||||
DmpElasticEntity mocDoc = new DmpElasticEntity();
|
||||
if (columns.contains(DmpElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._id), UUID.class));
|
||||
if (columns.contains(DmpElasticEntity._label)) mocDoc.setLabel(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._label), String.class));
|
||||
if (columns.contains(DmpElasticEntity._description)) mocDoc.setDescription(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._description), String.class));
|
||||
if (columns.contains(DmpElasticEntity._status)) mocDoc.setStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._status), DmpStatus.class));
|
||||
if (columns.contains(DmpElasticEntity._versionStatus)) mocDoc.setVersionStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._versionStatus), DmpVersionStatus.class));
|
||||
if (columns.contains(DmpElasticEntity._version)) mocDoc.setVersion(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._version), Short.class));
|
||||
if (columns.contains(DmpElasticEntity._groupId)) mocDoc.setGroupId(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._groupId), UUID.class));
|
||||
if (columns.contains(DmpElasticEntity._accessType)) mocDoc.setAccessType(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._accessType), DmpAccessType.class));
|
||||
if (columns.contains(DmpElasticEntity._finalizedAt)) mocDoc.setFinalizedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._finalizedAt), Date.class));
|
||||
if (columns.contains(DmpElasticEntity._createdAt)) mocDoc.setCreatedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._createdAt), Date.class));
|
||||
if (columns.contains(DmpElasticEntity._updatedAt)) mocDoc.setUpdatedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(DmpElasticEntity._updatedAt), Date.class));
|
||||
mocDoc.setCollaborators(this.convertNested(rawData, columns, this.queryFactory.query(NestedCollaboratorElasticQuery.class), DmpElasticEntity._collaborators, null));
|
||||
mocDoc.setReferences(this.convertNested(rawData, columns, this.queryFactory.query(NestedReferenceElasticQuery.class), DmpElasticEntity._references, null));
|
||||
mocDoc.setDescriptions(this.convertNested(rawData, columns, this.queryFactory.query(NestedDescriptionElasticQuery.class), DmpElasticEntity._descriptions, null));
|
||||
mocDoc.setDmpDescriptionTemplates(this.convertNested(rawData, columns, this.queryFactory.query(NestedDmpDescriptionTemplateElasticQuery.class), DmpElasticEntity._dmpDescriptionTemplates, null));
|
||||
return mocDoc;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField fieldNameOf(FieldResolver item) {
|
||||
if (item.match(DmpElasticEntity._id)) return this.elasticFieldOf(DmpElasticEntity._id);
|
||||
else if (item.match(DmpElasticEntity._label)) return item instanceof OrderingFieldResolver ? this.elasticFieldOf(DmpElasticEntity._label).subfield(ElasticConstants.SubFields.keyword) : this.elasticFieldOf(DmpElasticEntity._label);
|
||||
else if (item.match(DmpElasticEntity._description)) return this.elasticFieldOf(DmpElasticEntity._description);
|
||||
else if (item.match(DmpElasticEntity._status)) return this.elasticFieldOf(DmpElasticEntity._status);
|
||||
else if (item.match(DmpElasticEntity._version)) return this.elasticFieldOf(DmpElasticEntity._version);
|
||||
else if (item.match(DmpElasticEntity._versionStatus)) return this.elasticFieldOf(DmpElasticEntity._versionStatus);
|
||||
else if (item.match(DmpElasticEntity._groupId)) return this.elasticFieldOf(DmpElasticEntity._groupId);
|
||||
else if (item.match(DmpElasticEntity._finalizedAt)) return this.elasticFieldOf(DmpElasticEntity._finalizedAt);
|
||||
else if (item.match(DmpElasticEntity._updatedAt)) return this.elasticFieldOf(DmpElasticEntity._updatedAt);
|
||||
else if (item.match(DmpElasticEntity._createdAt)) return this.elasticFieldOf(DmpElasticEntity._createdAt);
|
||||
else if (item.match(DmpElasticEntity._accessType)) return this.elasticFieldOf(DmpElasticEntity._accessType);
|
||||
else if (item.prefix(DmpElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(DmpElasticEntity._collaborators).fieldNameOf(this.extractPrefixed(item, DmpElasticEntity._collaborators));
|
||||
else if (item.prefix(DmpElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(DmpElasticEntity._references).fieldNameOf(this.extractPrefixed(item, DmpElasticEntity._references));
|
||||
else if (item.prefix(DmpElasticEntity._descriptions)) return this.queryFactory.query(NestedDescriptionElasticQuery.class).nestedPath(DmpElasticEntity._descriptions).fieldNameOf(this.extractPrefixed(item, DmpElasticEntity._descriptions));
|
||||
else if (item.prefix(DmpElasticEntity._dmpDescriptionTemplates)) return this.queryFactory.query(NestedDmpDescriptionTemplateElasticQuery.class).nestedPath(DmpElasticEntity._dmpDescriptionTemplates).fieldNameOf(this.extractPrefixed(item, DmpElasticEntity._dmpDescriptionTemplates));
|
||||
else return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String[] getIndex() {
|
||||
List<String> indexNames = new ArrayList<>();
|
||||
indexNames.add(this.appElasticConfiguration.getAppElasticProperties().getDmpIndexName());
|
||||
try {
|
||||
this.elasticService.ensureDescriptionIndex();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return indexNames.toArray(new String[indexNames.size()]);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected UUID toKey(String key) {
|
||||
return UUID.fromString(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField getKeyField() {
|
||||
return this.elasticFieldOf(DmpElasticEntity._id);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticNestedQuery<?, ?, ?> nestedQueryOf(FieldResolver item) {
|
||||
if (item.prefix(DmpElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(DmpElasticEntity._collaborators);
|
||||
else if (item.prefix(DmpElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(DmpElasticEntity._references);
|
||||
else if (item.prefix(DmpElasticEntity._descriptions)) return this.queryFactory.query(NestedDescriptionElasticQuery.class).nestedPath(DmpElasticEntity._descriptions);
|
||||
else if (item.prefix(DmpElasticEntity._dmpDescriptionTemplates)) return this.queryFactory.query(NestedDmpDescriptionTemplateElasticQuery.class).nestedPath(DmpElasticEntity._dmpDescriptionTemplates);
|
||||
else return null;
|
||||
}
|
||||
}
|
|
@ -9,11 +9,11 @@ import gr.cite.tools.elastic.query.ElasticField;
|
|||
import gr.cite.tools.elastic.query.ElasticFields;
|
||||
import gr.cite.tools.elastic.query.ElasticInnerObjectQuery;
|
||||
import gr.cite.tools.elastic.query.ElasticNestedQuery;
|
||||
import org.opencdmp.commons.enums.DmpAccessType;
|
||||
import org.opencdmp.commons.enums.DmpStatus;
|
||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import org.opencdmp.elastic.data.DescriptionElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDmpElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedPlanElasticEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
@ -26,13 +26,13 @@ import java.util.stream.Collectors;
|
|||
@Component
|
||||
//Like in C# make it Transient
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
public class InnerObjectDmpElasticQuery extends ElasticInnerObjectQuery<InnerObjectDmpElasticQuery, NestedDmpElasticEntity, UUID> {
|
||||
public class InnerObjectDmpElasticQuery extends ElasticInnerObjectQuery<InnerObjectDmpElasticQuery, NestedPlanElasticEntity, UUID> {
|
||||
private String like;
|
||||
private Collection<UUID> ids;
|
||||
private Collection<UUID> excludedIds;
|
||||
private Collection<DmpStatus> statuses;
|
||||
private Collection<DmpVersionStatus> versionStatuses;
|
||||
private Collection<DmpAccessType> accessTypes;
|
||||
private Collection<PlanStatus> statuses;
|
||||
private Collection<PlanVersionStatus> versionStatuses;
|
||||
private Collection<PlanAccessType> accessTypes;
|
||||
private Collection<Integer> versions;
|
||||
private Collection<UUID> groupIds;
|
||||
private NestedCollaboratorElasticQuery dmpUserSubQuery;
|
||||
|
@ -78,47 +78,47 @@ public class InnerObjectDmpElasticQuery extends ElasticInnerObjectQuery<InnerObj
|
|||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery versionStatuses(DmpVersionStatus value) {
|
||||
public InnerObjectDmpElasticQuery versionStatuses(PlanVersionStatus value) {
|
||||
this.versionStatuses = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery versionStatuses(DmpVersionStatus... value) {
|
||||
public InnerObjectDmpElasticQuery versionStatuses(PlanVersionStatus... value) {
|
||||
this.versionStatuses = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery versionStatuses(Collection<DmpVersionStatus> values) {
|
||||
public InnerObjectDmpElasticQuery versionStatuses(Collection<PlanVersionStatus> values) {
|
||||
this.versionStatuses = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery accessTypes(DmpAccessType value) {
|
||||
public InnerObjectDmpElasticQuery accessTypes(PlanAccessType value) {
|
||||
this.accessTypes = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery accessTypes(DmpAccessType... value) {
|
||||
public InnerObjectDmpElasticQuery accessTypes(PlanAccessType... value) {
|
||||
this.accessTypes = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery accessTypes(Collection<DmpAccessType> values) {
|
||||
public InnerObjectDmpElasticQuery accessTypes(Collection<PlanAccessType> values) {
|
||||
this.accessTypes = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery statuses(DmpStatus value) {
|
||||
public InnerObjectDmpElasticQuery statuses(PlanStatus value) {
|
||||
this.statuses = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery statuses(DmpStatus... value) {
|
||||
public InnerObjectDmpElasticQuery statuses(PlanStatus... value) {
|
||||
this.statuses = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public InnerObjectDmpElasticQuery statuses(Collection<DmpStatus> values) {
|
||||
public InnerObjectDmpElasticQuery statuses(Collection<PlanStatus> values) {
|
||||
this.statuses = values;
|
||||
return this;
|
||||
}
|
||||
|
@ -170,8 +170,8 @@ public class InnerObjectDmpElasticQuery extends ElasticInnerObjectQuery<InnerObj
|
|||
}
|
||||
|
||||
@Override
|
||||
protected Class<NestedDmpElasticEntity> entityClass() {
|
||||
return NestedDmpElasticEntity.class;
|
||||
protected Class<NestedPlanElasticEntity> entityClass() {
|
||||
return NestedPlanElasticEntity.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -187,33 +187,33 @@ public class InnerObjectDmpElasticQuery extends ElasticInnerObjectQuery<InnerObj
|
|||
if (!this.like.startsWith("*")) this.like = "*" + this.like;
|
||||
if (!this.like.endsWith("*")) this.like = this.like + "*";
|
||||
ElasticFields elasticFields = new ElasticFields(this.entityClass(), List.of(this.getInnerPath()));
|
||||
elasticFields.add(NestedDmpElasticEntity._label, true);
|
||||
elasticFields.add(NestedDmpElasticEntity._description, true);
|
||||
elasticFields.add(NestedPlanElasticEntity._label, true);
|
||||
elasticFields.add(NestedPlanElasticEntity._description, true);
|
||||
predicates.add(this.like(elasticFields, List.of(this.like))._toQuery());
|
||||
}
|
||||
if (this.ids != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedDmpElasticEntity._id).disableInfer(true), this.ids)._toQuery());
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedPlanElasticEntity._id).disableInfer(true), this.ids)._toQuery());
|
||||
}
|
||||
if (this.groupIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedDmpElasticEntity._groupId).disableInfer(true), this.groupIds)._toQuery());
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedPlanElasticEntity._groupId).disableInfer(true), this.groupIds)._toQuery());
|
||||
}
|
||||
if (this.versions != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedDmpElasticEntity._version).disableInfer(true), this.versions.toArray(new Integer[this.versions.size()]))._toQuery());
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedPlanElasticEntity._version).disableInfer(true), this.versions.toArray(new Integer[this.versions.size()]))._toQuery());
|
||||
}
|
||||
if (this.excludedIds != null) {
|
||||
predicates.add(this.not(this.containsUUID(this.elasticFieldOf(NestedDmpElasticEntity._id).disableInfer(true), this.excludedIds)._toQuery())._toQuery());
|
||||
predicates.add(this.not(this.containsUUID(this.elasticFieldOf(NestedPlanElasticEntity._id).disableInfer(true), this.excludedIds)._toQuery())._toQuery());
|
||||
}
|
||||
if (this.statuses != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedDmpElasticEntity._status).disableInfer(true), this.statuses.stream().map(x-> x.getValue()).collect(Collectors.toList()).toArray(new Short[this.statuses.size()]))._toQuery());
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedPlanElasticEntity._status).disableInfer(true), this.statuses.stream().map(x-> x.getValue()).collect(Collectors.toList()).toArray(new Short[this.statuses.size()]))._toQuery());
|
||||
}
|
||||
if (this.versionStatuses != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedDmpElasticEntity._versionStatus).disableInfer(true), this.versionStatuses.stream().map(x-> x.getValue()).collect(Collectors.toList()).toArray(new Short[this.versionStatuses.size()]))._toQuery());
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedPlanElasticEntity._versionStatus).disableInfer(true), this.versionStatuses.stream().map(x-> x.getValue()).collect(Collectors.toList()).toArray(new Short[this.versionStatuses.size()]))._toQuery());
|
||||
}
|
||||
if (this.accessTypes != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedDmpElasticEntity._accessType).disableInfer(true), this.accessTypes.stream().map(x-> x.getValue()).collect(Collectors.toList()).toArray(new Short[this.accessTypes.size()]))._toQuery());
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedPlanElasticEntity._accessType).disableInfer(true), this.accessTypes.stream().map(x-> x.getValue()).collect(Collectors.toList()).toArray(new Short[this.accessTypes.size()]))._toQuery());
|
||||
}
|
||||
if (this.dmpUserSubQuery != null) {
|
||||
predicates.add(this.nestedQuery( this.dmpUserSubQuery.nestedPath(DescriptionElasticEntity._dmp + "." + NestedDmpElasticEntity._collaborators)).build()._toQuery());
|
||||
predicates.add(this.nestedQuery( this.dmpUserSubQuery.nestedPath(DescriptionElasticEntity._dmp + "." + NestedPlanElasticEntity._collaborators)).build()._toQuery());
|
||||
}
|
||||
|
||||
if (!predicates.isEmpty()) {
|
||||
|
@ -224,35 +224,35 @@ public class InnerObjectDmpElasticQuery extends ElasticInnerObjectQuery<InnerObj
|
|||
}
|
||||
|
||||
@Override
|
||||
public NestedDmpElasticEntity convert(Map<String, Object> rawData, Set<String> columns) {
|
||||
NestedDmpElasticEntity mocDoc = new NestedDmpElasticEntity();
|
||||
if (columns.contains(NestedDmpElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._id), UUID.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._label)) mocDoc.setLabel(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._label), String.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._description)) mocDoc.setDescription(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._description), String.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._status)) mocDoc.setStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._status), DmpStatus.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._versionStatus)) mocDoc.setVersionStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._versionStatus), DmpVersionStatus.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._version)) mocDoc.setVersion(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._version), Short.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._groupId)) mocDoc.setGroupId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._groupId), UUID.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._accessType)) mocDoc.setAccessType(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._accessType), DmpAccessType.class));
|
||||
if (columns.contains(NestedDmpElasticEntity._finalizedAt)) mocDoc.setFinalizedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpElasticEntity._finalizedAt), Date.class));
|
||||
mocDoc.setCollaborators(this.convertNested(rawData, columns, this.queryFactory.query(NestedCollaboratorElasticQuery.class), NestedDmpElasticEntity._collaborators, null));
|
||||
mocDoc.setReferences(this.convertNested(rawData, columns, this.queryFactory.query(NestedReferenceElasticQuery.class), NestedDmpElasticEntity._references, null));
|
||||
public NestedPlanElasticEntity convert(Map<String, Object> rawData, Set<String> columns) {
|
||||
NestedPlanElasticEntity mocDoc = new NestedPlanElasticEntity();
|
||||
if (columns.contains(NestedPlanElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._id), UUID.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._label)) mocDoc.setLabel(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._label), String.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._description)) mocDoc.setDescription(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._description), String.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._status)) mocDoc.setStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._status), PlanStatus.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._versionStatus)) mocDoc.setVersionStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._versionStatus), PlanVersionStatus.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._version)) mocDoc.setVersion(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._version), Short.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._groupId)) mocDoc.setGroupId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._groupId), UUID.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._accessType)) mocDoc.setAccessType(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._accessType), PlanAccessType.class));
|
||||
if (columns.contains(NestedPlanElasticEntity._finalizedAt)) mocDoc.setFinalizedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanElasticEntity._finalizedAt), Date.class));
|
||||
mocDoc.setCollaborators(this.convertNested(rawData, columns, this.queryFactory.query(NestedCollaboratorElasticQuery.class), NestedPlanElasticEntity._collaborators, null));
|
||||
mocDoc.setReferences(this.convertNested(rawData, columns, this.queryFactory.query(NestedReferenceElasticQuery.class), NestedPlanElasticEntity._references, null));
|
||||
return mocDoc;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField fieldNameOf(FieldResolver item) {
|
||||
if (item.match(NestedDmpElasticEntity._id)) return this.elasticFieldOf(NestedDmpElasticEntity._id);
|
||||
else if (item.match(NestedDmpElasticEntity._label)) return this.elasticFieldOf(NestedDmpElasticEntity._label);
|
||||
else if (item.match(NestedDmpElasticEntity._description)) return this.elasticFieldOf(NestedDmpElasticEntity._description);
|
||||
else if (item.match(NestedDmpElasticEntity._status)) return this.elasticFieldOf(NestedDmpElasticEntity._status);
|
||||
else if (item.match(NestedDmpElasticEntity._versionStatus)) return this.elasticFieldOf(NestedDmpElasticEntity._versionStatus);
|
||||
else if (item.match(NestedDmpElasticEntity._version)) return this.elasticFieldOf(NestedDmpElasticEntity._version);
|
||||
else if (item.match(NestedDmpElasticEntity._groupId)) return this.elasticFieldOf(NestedDmpElasticEntity._groupId);
|
||||
else if (item.match(NestedDmpElasticEntity._finalizedAt)) return this.elasticFieldOf(NestedDmpElasticEntity._finalizedAt);
|
||||
else if (item.match(NestedDmpElasticEntity._accessType)) return this.elasticFieldOf(NestedDmpElasticEntity._accessType);
|
||||
else if (item.prefix(NestedDmpElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(NestedDmpElasticEntity._collaborators).fieldNameOf(this.extractPrefixed(item, NestedDmpElasticEntity._collaborators));
|
||||
else if (item.prefix(NestedDmpElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(NestedDmpElasticEntity._references).fieldNameOf(this.extractPrefixed(item, NestedDmpElasticEntity._references));
|
||||
if (item.match(NestedPlanElasticEntity._id)) return this.elasticFieldOf(NestedPlanElasticEntity._id);
|
||||
else if (item.match(NestedPlanElasticEntity._label)) return this.elasticFieldOf(NestedPlanElasticEntity._label);
|
||||
else if (item.match(NestedPlanElasticEntity._description)) return this.elasticFieldOf(NestedPlanElasticEntity._description);
|
||||
else if (item.match(NestedPlanElasticEntity._status)) return this.elasticFieldOf(NestedPlanElasticEntity._status);
|
||||
else if (item.match(NestedPlanElasticEntity._versionStatus)) return this.elasticFieldOf(NestedPlanElasticEntity._versionStatus);
|
||||
else if (item.match(NestedPlanElasticEntity._version)) return this.elasticFieldOf(NestedPlanElasticEntity._version);
|
||||
else if (item.match(NestedPlanElasticEntity._groupId)) return this.elasticFieldOf(NestedPlanElasticEntity._groupId);
|
||||
else if (item.match(NestedPlanElasticEntity._finalizedAt)) return this.elasticFieldOf(NestedPlanElasticEntity._finalizedAt);
|
||||
else if (item.match(NestedPlanElasticEntity._accessType)) return this.elasticFieldOf(NestedPlanElasticEntity._accessType);
|
||||
else if (item.prefix(NestedPlanElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(NestedPlanElasticEntity._collaborators).fieldNameOf(this.extractPrefixed(item, NestedPlanElasticEntity._collaborators));
|
||||
else if (item.prefix(NestedPlanElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(NestedPlanElasticEntity._references).fieldNameOf(this.extractPrefixed(item, NestedPlanElasticEntity._references));
|
||||
else return null;
|
||||
}
|
||||
|
||||
|
@ -268,13 +268,13 @@ public class InnerObjectDmpElasticQuery extends ElasticInnerObjectQuery<InnerObj
|
|||
|
||||
@Override
|
||||
protected ElasticField getKeyField() {
|
||||
return this.elasticFieldOf(NestedDmpElasticEntity._id);
|
||||
return this.elasticFieldOf(NestedPlanElasticEntity._id);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticNestedQuery<?, ?, ?> nestedQueryOf(FieldResolver item) {
|
||||
if (item.prefix(NestedDmpElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(NestedDmpElasticEntity._collaborators);
|
||||
else if (item.prefix(NestedDmpElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(NestedDmpElasticEntity._references);
|
||||
if (item.prefix(NestedPlanElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(NestedPlanElasticEntity._collaborators);
|
||||
else if (item.prefix(NestedPlanElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(NestedPlanElasticEntity._references);
|
||||
else return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import gr.cite.tools.elastic.configuration.ElasticProperties;
|
|||
import gr.cite.tools.elastic.mapper.FieldBasedMapper;
|
||||
import gr.cite.tools.elastic.query.ElasticField;
|
||||
import gr.cite.tools.elastic.query.ElasticNestedQuery;
|
||||
import org.opencdmp.commons.enums.DmpUserRole;
|
||||
import org.opencdmp.commons.enums.PlanUserRole;
|
||||
import org.opencdmp.elastic.data.nested.NestedCollaboratorElasticEntity;
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
@ -22,7 +22,7 @@ public class NestedCollaboratorElasticQuery extends ElasticNestedQuery<NestedCol
|
|||
private Collection<UUID> userIds;
|
||||
|
||||
|
||||
private Collection<DmpUserRole> userRoles;
|
||||
private Collection<PlanUserRole> userRoles;
|
||||
|
||||
public NestedCollaboratorElasticQuery ids(UUID value) {
|
||||
this.ids = List.of(value);
|
||||
|
@ -54,17 +54,17 @@ public class NestedCollaboratorElasticQuery extends ElasticNestedQuery<NestedCol
|
|||
return this;
|
||||
}
|
||||
|
||||
public NestedCollaboratorElasticQuery userRoles(DmpUserRole value) {
|
||||
public NestedCollaboratorElasticQuery userRoles(PlanUserRole value) {
|
||||
this.userRoles = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedCollaboratorElasticQuery userRoles(DmpUserRole... value) {
|
||||
public NestedCollaboratorElasticQuery userRoles(PlanUserRole... value) {
|
||||
this.userRoles = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedCollaboratorElasticQuery userRoles(Collection<DmpUserRole> values) {
|
||||
public NestedCollaboratorElasticQuery userRoles(Collection<PlanUserRole> values) {
|
||||
this.userRoles = values;
|
||||
return this;
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ public class NestedCollaboratorElasticQuery extends ElasticNestedQuery<NestedCol
|
|||
}
|
||||
|
||||
if (this.userRoles != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedCollaboratorElasticEntity._role), this.userRoles.stream().map(DmpUserRole::getValue).toList().toArray(new Short[this.userRoles.size()]))._toQuery());
|
||||
predicates.add(this.contains(this.elasticFieldOf(NestedCollaboratorElasticEntity._role), this.userRoles.stream().map(PlanUserRole::getValue).toList().toArray(new Short[this.userRoles.size()]))._toQuery());
|
||||
}
|
||||
|
||||
if (!predicates.isEmpty()) {
|
||||
|
@ -126,7 +126,7 @@ public class NestedCollaboratorElasticQuery extends ElasticNestedQuery<NestedCol
|
|||
if (columns.contains(NestedCollaboratorElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedCollaboratorElasticEntity._id), UUID.class));
|
||||
if (columns.contains(NestedCollaboratorElasticEntity._userId)) mocDoc.setUserId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedCollaboratorElasticEntity._userId), UUID.class));
|
||||
if (columns.contains(NestedCollaboratorElasticEntity._name)) mocDoc.setName(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedCollaboratorElasticEntity._name), String.class));
|
||||
if (columns.contains(NestedCollaboratorElasticEntity._role)) mocDoc.setRole(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedCollaboratorElasticEntity._role), DmpUserRole.class));
|
||||
if (columns.contains(NestedCollaboratorElasticEntity._role)) mocDoc.setRole(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedCollaboratorElasticEntity._role), PlanUserRole.class));
|
||||
return mocDoc;
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ public class NestedDescriptionElasticQuery extends ElasticNestedQuery<NestedDesc
|
|||
NestedDescriptionElasticEntity mocDoc = new NestedDescriptionElasticEntity();
|
||||
if (columns.contains(NestedDescriptionElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDescriptionElasticEntity._id), UUID.class));
|
||||
if (columns.contains(NestedDescriptionElasticEntity._label)) mocDoc.setLabel(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDescriptionElasticEntity._label), String.class));
|
||||
if (columns.contains(NestedDescriptionElasticEntity._dmpId)) mocDoc.setDmpId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDescriptionElasticEntity._dmpId), UUID.class));
|
||||
if (columns.contains(NestedDescriptionElasticEntity._dmpId)) mocDoc.setPlanId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDescriptionElasticEntity._dmpId), UUID.class));
|
||||
if (columns.contains(NestedDescriptionElasticEntity._description)) mocDoc.setDescription(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDescriptionElasticEntity._description), String.class));
|
||||
if (columns.contains(NestedDescriptionElasticEntity._status)) mocDoc.setStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDescriptionElasticEntity._status), DescriptionStatus.class));
|
||||
if (columns.contains(NestedDescriptionElasticEntity._finalizedAt)) mocDoc.setFinalizedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDescriptionElasticEntity._finalizedAt), Date.class));
|
||||
|
|
|
@ -1,199 +0,0 @@
|
|||
package org.opencdmp.elastic.query;
|
||||
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
|
||||
import gr.cite.tools.data.query.FieldResolver;
|
||||
import gr.cite.tools.elastic.configuration.ElasticProperties;
|
||||
import gr.cite.tools.elastic.mapper.FieldBasedMapper;
|
||||
import gr.cite.tools.elastic.query.ElasticField;
|
||||
import gr.cite.tools.elastic.query.ElasticNestedQuery;
|
||||
import org.opencdmp.elastic.data.nested.NestedDmpDescriptionTemplateElasticEntity;
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.data.elasticsearch.client.elc.ElasticsearchTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class NestedDmpDescriptionTemplateElasticQuery extends ElasticNestedQuery<NestedDmpDescriptionTemplateElasticQuery, NestedDmpDescriptionTemplateElasticEntity, UUID> {
|
||||
private Collection<UUID> ids;
|
||||
private Collection<UUID> excludedIds;
|
||||
private Collection<UUID> descriptionTemplateGroupIds;
|
||||
private Collection<UUID> dmpIds;
|
||||
private Collection<UUID> sectionIds;
|
||||
|
||||
private String nestedPath;
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery ids(UUID value) {
|
||||
this.ids = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery ids(UUID... value) {
|
||||
this.ids = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery ids(Collection<UUID> values) {
|
||||
this.ids = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery excludedIds(UUID value) {
|
||||
this.excludedIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery excludedIds(UUID... value) {
|
||||
this.excludedIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery excludedIds(Collection<UUID> values) {
|
||||
this.excludedIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery dmpIds(UUID value) {
|
||||
this.dmpIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery dmpIds(UUID... value) {
|
||||
this.dmpIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery dmpIds(Collection<UUID> values) {
|
||||
this.dmpIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery descriptionTemplateGroupIds(UUID value) {
|
||||
this.descriptionTemplateGroupIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery descriptionTemplateGroupIds(UUID... value) {
|
||||
this.descriptionTemplateGroupIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery descriptionTemplateGroupIds(Collection<UUID> values) {
|
||||
this.descriptionTemplateGroupIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery sectionIds(UUID value) {
|
||||
this.sectionIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery sectionIds(UUID... value) {
|
||||
this.sectionIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery sectionIds(Collection<UUID> values) {
|
||||
this.sectionIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NestedDmpDescriptionTemplateElasticQuery nestedPath(String value) {
|
||||
this.nestedPath = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public NestedDmpDescriptionTemplateElasticQuery(
|
||||
ElasticsearchTemplate elasticsearchRestTemplate,
|
||||
ElasticProperties elasticProperties
|
||||
) {
|
||||
super(elasticsearchRestTemplate, elasticProperties);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<NestedDmpDescriptionTemplateElasticEntity> entityClass() {
|
||||
return NestedDmpDescriptionTemplateElasticEntity.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean isFalseQuery() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Query applyAuthZ() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Query applyFilters() {
|
||||
List<Query> predicates = new ArrayList<>();
|
||||
if (this.ids != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._id), this.ids)._toQuery());
|
||||
}
|
||||
if (this.excludedIds != null) {
|
||||
predicates.add(this.not(this.containsUUID(this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._id), this.excludedIds)._toQuery())._toQuery());
|
||||
}
|
||||
|
||||
if (this.descriptionTemplateGroupIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._descriptionTemplateGroupId), this.descriptionTemplateGroupIds)._toQuery());
|
||||
}
|
||||
|
||||
if (this.sectionIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._sectionId), this.sectionIds)._toQuery());
|
||||
}
|
||||
|
||||
if (this.dmpIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._dmpId), this.dmpIds)._toQuery());
|
||||
}
|
||||
|
||||
if (!predicates.isEmpty()) {
|
||||
return this.and(predicates);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public NestedDmpDescriptionTemplateElasticEntity convert(Map<String, Object> rawData, Set<String> columns) {
|
||||
NestedDmpDescriptionTemplateElasticEntity mocDoc = new NestedDmpDescriptionTemplateElasticEntity();
|
||||
if (columns.contains(NestedDmpDescriptionTemplateElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpDescriptionTemplateElasticEntity._id), UUID.class));
|
||||
if (columns.contains(NestedDmpDescriptionTemplateElasticEntity._descriptionTemplateGroupId)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpDescriptionTemplateElasticEntity._descriptionTemplateGroupId), UUID.class));
|
||||
if (columns.contains(NestedDmpDescriptionTemplateElasticEntity._sectionId)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpDescriptionTemplateElasticEntity._sectionId), UUID.class));
|
||||
if (columns.contains(NestedDmpDescriptionTemplateElasticEntity._dmpId)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedDmpDescriptionTemplateElasticEntity._dmpId), UUID.class));
|
||||
return mocDoc;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField fieldNameOf(FieldResolver item) {
|
||||
if (item.match(NestedDmpDescriptionTemplateElasticEntity._id)) return this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._id).disableInfer(true);
|
||||
else if (item.match(NestedDmpDescriptionTemplateElasticEntity._descriptionTemplateGroupId)) return this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._descriptionTemplateGroupId).disableInfer(true);
|
||||
else if (item.match(NestedDmpDescriptionTemplateElasticEntity._sectionId)) return this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._sectionId).disableInfer(true);
|
||||
else if (item.match(NestedDmpDescriptionTemplateElasticEntity._dmpId)) return this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._dmpId).disableInfer(true);
|
||||
else return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getNestedPath() {
|
||||
return this.nestedPath;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected UUID toKey(String key) {
|
||||
return UUID.fromString(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField getKeyField() {
|
||||
return this.elasticFieldOf(NestedDmpDescriptionTemplateElasticEntity._id);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticNestedQuery<?, ?, ?> nestedQueryOf(FieldResolver item) {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,199 @@
|
|||
package org.opencdmp.elastic.query;
|
||||
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
|
||||
import gr.cite.tools.data.query.FieldResolver;
|
||||
import gr.cite.tools.elastic.configuration.ElasticProperties;
|
||||
import gr.cite.tools.elastic.mapper.FieldBasedMapper;
|
||||
import gr.cite.tools.elastic.query.ElasticField;
|
||||
import gr.cite.tools.elastic.query.ElasticNestedQuery;
|
||||
import org.opencdmp.elastic.data.nested.NestedPlanDescriptionTemplateElasticEntity;
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.data.elasticsearch.client.elc.ElasticsearchTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class NestedPlanDescriptionTemplateElasticQuery extends ElasticNestedQuery<NestedPlanDescriptionTemplateElasticQuery, NestedPlanDescriptionTemplateElasticEntity, UUID> {
|
||||
private Collection<UUID> ids;
|
||||
private Collection<UUID> excludedIds;
|
||||
private Collection<UUID> descriptionTemplateGroupIds;
|
||||
private Collection<UUID> planIds;
|
||||
private Collection<UUID> sectionIds;
|
||||
|
||||
private String nestedPath;
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery ids(UUID value) {
|
||||
this.ids = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery ids(UUID... value) {
|
||||
this.ids = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery ids(Collection<UUID> values) {
|
||||
this.ids = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery excludedIds(UUID value) {
|
||||
this.excludedIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery excludedIds(UUID... value) {
|
||||
this.excludedIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery excludedIds(Collection<UUID> values) {
|
||||
this.excludedIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery planIds(UUID value) {
|
||||
this.planIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery planIds(UUID... value) {
|
||||
this.planIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery planIds(Collection<UUID> values) {
|
||||
this.planIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery descriptionTemplateGroupIds(UUID value) {
|
||||
this.descriptionTemplateGroupIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery descriptionTemplateGroupIds(UUID... value) {
|
||||
this.descriptionTemplateGroupIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery descriptionTemplateGroupIds(Collection<UUID> values) {
|
||||
this.descriptionTemplateGroupIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery sectionIds(UUID value) {
|
||||
this.sectionIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery sectionIds(UUID... value) {
|
||||
this.sectionIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery sectionIds(Collection<UUID> values) {
|
||||
this.sectionIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NestedPlanDescriptionTemplateElasticQuery nestedPath(String value) {
|
||||
this.nestedPath = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public NestedPlanDescriptionTemplateElasticQuery(
|
||||
ElasticsearchTemplate elasticsearchRestTemplate,
|
||||
ElasticProperties elasticProperties
|
||||
) {
|
||||
super(elasticsearchRestTemplate, elasticProperties);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<NestedPlanDescriptionTemplateElasticEntity> entityClass() {
|
||||
return NestedPlanDescriptionTemplateElasticEntity.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean isFalseQuery() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Query applyAuthZ() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Query applyFilters() {
|
||||
List<Query> predicates = new ArrayList<>();
|
||||
if (this.ids != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._id), this.ids)._toQuery());
|
||||
}
|
||||
if (this.excludedIds != null) {
|
||||
predicates.add(this.not(this.containsUUID(this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._id), this.excludedIds)._toQuery())._toQuery());
|
||||
}
|
||||
|
||||
if (this.descriptionTemplateGroupIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._descriptionTemplateGroupId), this.descriptionTemplateGroupIds)._toQuery());
|
||||
}
|
||||
|
||||
if (this.sectionIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._sectionId), this.sectionIds)._toQuery());
|
||||
}
|
||||
|
||||
if (this.planIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._dmpId), this.planIds)._toQuery());
|
||||
}
|
||||
|
||||
if (!predicates.isEmpty()) {
|
||||
return this.and(predicates);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public NestedPlanDescriptionTemplateElasticEntity convert(Map<String, Object> rawData, Set<String> columns) {
|
||||
NestedPlanDescriptionTemplateElasticEntity mocDoc = new NestedPlanDescriptionTemplateElasticEntity();
|
||||
if (columns.contains(NestedPlanDescriptionTemplateElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanDescriptionTemplateElasticEntity._id), UUID.class));
|
||||
if (columns.contains(NestedPlanDescriptionTemplateElasticEntity._descriptionTemplateGroupId)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanDescriptionTemplateElasticEntity._descriptionTemplateGroupId), UUID.class));
|
||||
if (columns.contains(NestedPlanDescriptionTemplateElasticEntity._sectionId)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanDescriptionTemplateElasticEntity._sectionId), UUID.class));
|
||||
if (columns.contains(NestedPlanDescriptionTemplateElasticEntity._dmpId)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(NestedPlanDescriptionTemplateElasticEntity._dmpId), UUID.class));
|
||||
return mocDoc;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField fieldNameOf(FieldResolver item) {
|
||||
if (item.match(NestedPlanDescriptionTemplateElasticEntity._id)) return this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._id).disableInfer(true);
|
||||
else if (item.match(NestedPlanDescriptionTemplateElasticEntity._descriptionTemplateGroupId)) return this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._descriptionTemplateGroupId).disableInfer(true);
|
||||
else if (item.match(NestedPlanDescriptionTemplateElasticEntity._sectionId)) return this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._sectionId).disableInfer(true);
|
||||
else if (item.match(NestedPlanDescriptionTemplateElasticEntity._dmpId)) return this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._dmpId).disableInfer(true);
|
||||
else return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getNestedPath() {
|
||||
return this.nestedPath;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected UUID toKey(String key) {
|
||||
return UUID.fromString(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField getKeyField() {
|
||||
return this.elasticFieldOf(NestedPlanDescriptionTemplateElasticEntity._id);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticNestedQuery<?, ?, ?> nestedQueryOf(FieldResolver item) {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,403 @@
|
|||
package org.opencdmp.elastic.query;
|
||||
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
|
||||
import gr.cite.commons.web.authz.service.AuthorizationService;
|
||||
import gr.cite.tools.data.query.FieldResolver;
|
||||
import gr.cite.tools.data.query.OrderingFieldResolver;
|
||||
import gr.cite.tools.data.query.QueryFactory;
|
||||
import gr.cite.tools.elastic.ElasticConstants;
|
||||
import gr.cite.tools.elastic.configuration.ElasticProperties;
|
||||
import gr.cite.tools.elastic.mapper.FieldBasedMapper;
|
||||
import gr.cite.tools.elastic.query.ElasticField;
|
||||
import gr.cite.tools.elastic.query.ElasticFields;
|
||||
import gr.cite.tools.elastic.query.ElasticNestedQuery;
|
||||
import gr.cite.tools.elastic.query.ElasticQuery;
|
||||
import org.opencdmp.authorization.AuthorizationFlags;
|
||||
import org.opencdmp.authorization.Permission;
|
||||
import org.opencdmp.commons.enums.PlanAccessType;
|
||||
import org.opencdmp.commons.enums.PlanStatus;
|
||||
import org.opencdmp.commons.enums.PlanVersionStatus;
|
||||
import org.opencdmp.commons.scope.tenant.TenantScope;
|
||||
import org.opencdmp.commons.scope.user.UserScope;
|
||||
import org.opencdmp.elastic.data.PlanElasticEntity;
|
||||
import org.opencdmp.elastic.data.nested.NestedDescriptionElasticEntity;
|
||||
import org.opencdmp.service.elastic.AppElasticConfiguration;
|
||||
import org.opencdmp.service.elastic.ElasticService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.data.elasticsearch.client.elc.ElasticsearchTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
//Like in C# make it Transient
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
public class PlanElasticQuery extends ElasticQuery<PlanElasticEntity, UUID> {
|
||||
|
||||
private String like;
|
||||
private Collection<UUID> ids;
|
||||
private Collection<UUID> excludedIds;
|
||||
private Collection<PlanStatus> statuses;
|
||||
private Collection<PlanVersionStatus> versionStatuses;
|
||||
private Collection<PlanAccessType> accessTypes;
|
||||
private Collection<Integer> versions;
|
||||
private Collection<UUID> groupIds;
|
||||
private NestedCollaboratorElasticQuery planUserSubQuery;
|
||||
private NestedDescriptionElasticQuery descriptionSubQuery;
|
||||
private NestedPlanDescriptionTemplateElasticQuery planDescriptionTemplateSubQuery;
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
|
||||
public PlanElasticQuery planSubQuery(NestedCollaboratorElasticQuery subQuery) {
|
||||
this.planUserSubQuery = subQuery;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery descriptionSubQuery(NestedDescriptionElasticQuery subQuery) {
|
||||
this.descriptionSubQuery = subQuery;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery planDescriptionTemplateSubQuery(NestedPlanDescriptionTemplateElasticQuery subQuery) {
|
||||
this.planDescriptionTemplateSubQuery = subQuery;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery like(String value) {
|
||||
this.like = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery ids(UUID value) {
|
||||
this.ids = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery ids(UUID... value) {
|
||||
this.ids = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery ids(Collection<UUID> values) {
|
||||
this.ids = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery excludedIds(Collection<UUID> values) {
|
||||
this.excludedIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery excludedIds(UUID value) {
|
||||
this.excludedIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery excludedIds(UUID... value) {
|
||||
this.excludedIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery versionStatuses(PlanVersionStatus value) {
|
||||
this.versionStatuses = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery versionStatuses(PlanVersionStatus... value) {
|
||||
this.versionStatuses = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery versionStatuses(Collection<PlanVersionStatus> values) {
|
||||
this.versionStatuses = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery accessTypes(PlanAccessType value) {
|
||||
this.accessTypes = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery accessTypes(PlanAccessType... value) {
|
||||
this.accessTypes = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery accessTypes(Collection<PlanAccessType> values) {
|
||||
this.accessTypes = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery statuses(PlanStatus value) {
|
||||
this.statuses = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery statuses(PlanStatus... value) {
|
||||
this.statuses = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery statuses(Collection<PlanStatus> values) {
|
||||
this.statuses = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery versions(Integer value) {
|
||||
this.versions = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery versions(Integer... value) {
|
||||
this.versions = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery versions(Collection<Integer> values) {
|
||||
this.versions = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery groupIds(UUID value) {
|
||||
this.groupIds = List.of(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery groupIds(UUID... value) {
|
||||
this.groupIds = Arrays.asList(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery groupIds(Collection<UUID> values) {
|
||||
this.groupIds = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlanElasticQuery authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
private final QueryFactory queryFactory;
|
||||
private final AppElasticConfiguration appElasticConfiguration;
|
||||
private final ElasticService elasticService;
|
||||
private final UserScope userScope;
|
||||
private final TenantScope tenantScope;
|
||||
private final AuthorizationService authService;
|
||||
@Autowired
|
||||
public PlanElasticQuery(ElasticsearchTemplate elasticsearchTemplate, ElasticProperties elasticProperties, QueryFactory queryFactory, AppElasticConfiguration appElasticConfiguration, ElasticService elasticService, UserScope userScope, TenantScope tenantScope, AuthorizationService authService) {
|
||||
super(elasticsearchTemplate, elasticProperties);
|
||||
this.queryFactory = queryFactory;
|
||||
this.appElasticConfiguration = appElasticConfiguration;
|
||||
this.elasticService = elasticService;
|
||||
this.userScope = userScope;
|
||||
this.tenantScope = tenantScope;
|
||||
this.authService = authService;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean isFalseQuery() {
|
||||
return this.isEmpty(this.ids) || this.isEmpty(this.versionStatuses) || this.isEmpty(this.excludedIds) || this.isEmpty(this.accessTypes)|| this.isEmpty(this.statuses);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<PlanElasticEntity> entityClass() {
|
||||
return PlanElasticEntity.class;
|
||||
}
|
||||
|
||||
private Query applyTenant(List<Query> predicates){
|
||||
if (this.tenantScope.isSet()){
|
||||
Query tenantQuery;
|
||||
if (this.tenantScope.isDefaultTenant()){
|
||||
tenantQuery = this.fieldNotExists(this.elasticFieldOf(PlanElasticEntity._tenantId))._toQuery();
|
||||
}
|
||||
else {
|
||||
try {
|
||||
tenantQuery = this.or(this.fieldNotExists(this.elasticFieldOf(PlanElasticEntity._tenantId))._toQuery(),
|
||||
this.equals(this.elasticFieldOf(PlanElasticEntity._tenantId), this.tenantScope.getTenant()))._toQuery();
|
||||
} catch (InvalidApplicationException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
if (predicates == null) return tenantQuery;
|
||||
else return this.and(tenantQuery, this.or(predicates)._toQuery());
|
||||
} else {
|
||||
if (predicates != null) return this.or(predicates)._toQuery();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
protected Query applyAuthZ() {
|
||||
|
||||
if (this.authorize.contains(AuthorizationFlags.None)) return this.applyTenant(null);
|
||||
if (this.authorize.contains(AuthorizationFlags.Permission) && this.authService.authorize(Permission.BrowsePlan)) return this.applyTenant(null);
|
||||
UUID userId = null;
|
||||
boolean usePublic = this.authorize.contains(AuthorizationFlags.Public);
|
||||
if (this.authorize.contains(AuthorizationFlags.DmpAssociated)) userId = this.userScope.getUserIdSafe();
|
||||
|
||||
List<Query> predicates = new ArrayList<>();
|
||||
if (usePublic) {
|
||||
predicates.add(this.and(
|
||||
this.equals(this.elasticFieldOf(PlanElasticEntity._status), PlanStatus.Finalized.getValue()),
|
||||
this.equals(this.elasticFieldOf(PlanElasticEntity._accessType), PlanAccessType.Public.getValue())
|
||||
));
|
||||
}
|
||||
if (userId != null) {
|
||||
NestedCollaboratorElasticQuery query = this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(PlanElasticEntity._collaborators);
|
||||
query.userIds(userId);
|
||||
predicates.add(this.nestedQuery(query).build()._toQuery());
|
||||
}
|
||||
if (!predicates.isEmpty()) {
|
||||
return this.applyTenant(predicates);
|
||||
} else {
|
||||
return this.equals(this.elasticFieldOf(PlanElasticEntity._id), UUID.randomUUID());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Query applyFilters() {
|
||||
List<Query> predicates = new ArrayList<>();
|
||||
|
||||
if (this.like != null && !this.like.isBlank()) {
|
||||
|
||||
if (!this.like.startsWith("*")) this.like = "*" + this.like;
|
||||
if (!this.like.endsWith("*")) this.like = this.like + "*";
|
||||
ElasticFields elasticFields = this.elasticFieldsOf();
|
||||
elasticFields.add("*", null, true);
|
||||
|
||||
predicates.add(this.or(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
,
|
||||
QueryBuilders.nested().path(PlanElasticEntity._collaborators).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(PlanElasticEntity._references).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(PlanElasticEntity._descriptions + "." + NestedDescriptionElasticEntity._references).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(PlanElasticEntity._descriptions + "." + NestedDescriptionElasticEntity._tags).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery(),
|
||||
QueryBuilders.nested().path(PlanElasticEntity._descriptions).query(
|
||||
this.like(elasticFields, List.of(this.like))._toQuery()
|
||||
).build()._toQuery()
|
||||
|
||||
)._toQuery());
|
||||
}
|
||||
if (this.ids != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(PlanElasticEntity._id), this.ids)._toQuery());
|
||||
}
|
||||
if (this.groupIds != null) {
|
||||
predicates.add(this.containsUUID(this.elasticFieldOf(PlanElasticEntity._groupId), this.groupIds)._toQuery());
|
||||
}
|
||||
if (this.versions != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(PlanElasticEntity._version), this.versions.toArray(new Integer[this.versions.size()]))._toQuery());
|
||||
}
|
||||
if (this.excludedIds != null) {
|
||||
predicates.add(this.not(this.containsUUID(this.elasticFieldOf(PlanElasticEntity._id), this.excludedIds)._toQuery())._toQuery());
|
||||
}
|
||||
if (this.statuses != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(PlanElasticEntity._status), this.statuses.stream().map(PlanStatus::getValue).toList().toArray(new Short[this.statuses.size()]))._toQuery());
|
||||
}
|
||||
if (this.versionStatuses != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(PlanElasticEntity._versionStatus), this.versionStatuses.stream().map(PlanVersionStatus::getValue).toList().toArray(new Short[this.versionStatuses.size()]))._toQuery());
|
||||
}
|
||||
if (this.accessTypes != null) {
|
||||
predicates.add(this.contains(this.elasticFieldOf(PlanElasticEntity._accessType), this.accessTypes.stream().map(PlanAccessType::getValue).toList().toArray(new Short[this.accessTypes.size()]))._toQuery());
|
||||
}
|
||||
if (this.planUserSubQuery != null) {
|
||||
predicates.add(this.nestedQuery( this.planUserSubQuery.nestedPath(PlanElasticEntity._collaborators)).build()._toQuery());
|
||||
}
|
||||
if (this.descriptionSubQuery != null) {
|
||||
predicates.add(this.nestedQuery( this.descriptionSubQuery.nestedPath(PlanElasticEntity._descriptions)).build()._toQuery());
|
||||
}
|
||||
if (this.planDescriptionTemplateSubQuery != null) {
|
||||
predicates.add(this.nestedQuery( this.planDescriptionTemplateSubQuery.nestedPath(PlanElasticEntity._dmpDescriptionTemplates)).build()._toQuery());
|
||||
}
|
||||
|
||||
if (!predicates.isEmpty()) {
|
||||
return this.and(predicates);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlanElasticEntity convert(Map<String, Object> rawData, Set<String> columns) {
|
||||
PlanElasticEntity mocDoc = new PlanElasticEntity();
|
||||
if (columns.contains(PlanElasticEntity._id)) mocDoc.setId(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._id), UUID.class));
|
||||
if (columns.contains(PlanElasticEntity._label)) mocDoc.setLabel(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._label), String.class));
|
||||
if (columns.contains(PlanElasticEntity._description)) mocDoc.setDescription(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._description), String.class));
|
||||
if (columns.contains(PlanElasticEntity._status)) mocDoc.setStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._status), PlanStatus.class));
|
||||
if (columns.contains(PlanElasticEntity._versionStatus)) mocDoc.setVersionStatus(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._versionStatus), PlanVersionStatus.class));
|
||||
if (columns.contains(PlanElasticEntity._version)) mocDoc.setVersion(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._version), Short.class));
|
||||
if (columns.contains(PlanElasticEntity._groupId)) mocDoc.setGroupId(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._groupId), UUID.class));
|
||||
if (columns.contains(PlanElasticEntity._accessType)) mocDoc.setAccessType(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._accessType), PlanAccessType.class));
|
||||
if (columns.contains(PlanElasticEntity._finalizedAt)) mocDoc.setFinalizedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._finalizedAt), Date.class));
|
||||
if (columns.contains(PlanElasticEntity._createdAt)) mocDoc.setCreatedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._createdAt), Date.class));
|
||||
if (columns.contains(PlanElasticEntity._updatedAt)) mocDoc.setUpdatedAt(FieldBasedMapper.shallowSafeConversion(rawData.get(PlanElasticEntity._updatedAt), Date.class));
|
||||
mocDoc.setCollaborators(this.convertNested(rawData, columns, this.queryFactory.query(NestedCollaboratorElasticQuery.class), PlanElasticEntity._collaborators, null));
|
||||
mocDoc.setReferences(this.convertNested(rawData, columns, this.queryFactory.query(NestedReferenceElasticQuery.class), PlanElasticEntity._references, null));
|
||||
mocDoc.setDescriptions(this.convertNested(rawData, columns, this.queryFactory.query(NestedDescriptionElasticQuery.class), PlanElasticEntity._descriptions, null));
|
||||
mocDoc.setPlanDescriptionTemplates(this.convertNested(rawData, columns, this.queryFactory.query(NestedPlanDescriptionTemplateElasticQuery.class), PlanElasticEntity._dmpDescriptionTemplates, null));
|
||||
return mocDoc;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField fieldNameOf(FieldResolver item) {
|
||||
if (item.match(PlanElasticEntity._id)) return this.elasticFieldOf(PlanElasticEntity._id);
|
||||
else if (item.match(PlanElasticEntity._label)) return item instanceof OrderingFieldResolver ? this.elasticFieldOf(PlanElasticEntity._label).subfield(ElasticConstants.SubFields.keyword) : this.elasticFieldOf(PlanElasticEntity._label);
|
||||
else if (item.match(PlanElasticEntity._description)) return this.elasticFieldOf(PlanElasticEntity._description);
|
||||
else if (item.match(PlanElasticEntity._status)) return this.elasticFieldOf(PlanElasticEntity._status);
|
||||
else if (item.match(PlanElasticEntity._version)) return this.elasticFieldOf(PlanElasticEntity._version);
|
||||
else if (item.match(PlanElasticEntity._versionStatus)) return this.elasticFieldOf(PlanElasticEntity._versionStatus);
|
||||
else if (item.match(PlanElasticEntity._groupId)) return this.elasticFieldOf(PlanElasticEntity._groupId);
|
||||
else if (item.match(PlanElasticEntity._finalizedAt)) return this.elasticFieldOf(PlanElasticEntity._finalizedAt);
|
||||
else if (item.match(PlanElasticEntity._updatedAt)) return this.elasticFieldOf(PlanElasticEntity._updatedAt);
|
||||
else if (item.match(PlanElasticEntity._createdAt)) return this.elasticFieldOf(PlanElasticEntity._createdAt);
|
||||
else if (item.match(PlanElasticEntity._accessType)) return this.elasticFieldOf(PlanElasticEntity._accessType);
|
||||
else if (item.prefix(PlanElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(PlanElasticEntity._collaborators).fieldNameOf(this.extractPrefixed(item, PlanElasticEntity._collaborators));
|
||||
else if (item.prefix(PlanElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(PlanElasticEntity._references).fieldNameOf(this.extractPrefixed(item, PlanElasticEntity._references));
|
||||
else if (item.prefix(PlanElasticEntity._descriptions)) return this.queryFactory.query(NestedDescriptionElasticQuery.class).nestedPath(PlanElasticEntity._descriptions).fieldNameOf(this.extractPrefixed(item, PlanElasticEntity._descriptions));
|
||||
else if (item.prefix(PlanElasticEntity._dmpDescriptionTemplates)) return this.queryFactory.query(NestedPlanDescriptionTemplateElasticQuery.class).nestedPath(PlanElasticEntity._dmpDescriptionTemplates).fieldNameOf(this.extractPrefixed(item, PlanElasticEntity._dmpDescriptionTemplates));
|
||||
else return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String[] getIndex() {
|
||||
List<String> indexNames = new ArrayList<>();
|
||||
indexNames.add(this.appElasticConfiguration.getAppElasticProperties().getDmpIndexName());
|
||||
try {
|
||||
this.elasticService.ensureDescriptionIndex();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return indexNames.toArray(new String[indexNames.size()]);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected UUID toKey(String key) {
|
||||
return UUID.fromString(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticField getKeyField() {
|
||||
return this.elasticFieldOf(PlanElasticEntity._id);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ElasticNestedQuery<?, ?, ?> nestedQueryOf(FieldResolver item) {
|
||||
if (item.prefix(PlanElasticEntity._collaborators)) return this.queryFactory.query(NestedCollaboratorElasticQuery.class).nestedPath(PlanElasticEntity._collaborators);
|
||||
else if (item.prefix(PlanElasticEntity._references)) return this.queryFactory.query(NestedReferenceElasticQuery.class).nestedPath(PlanElasticEntity._references);
|
||||
else if (item.prefix(PlanElasticEntity._descriptions)) return this.queryFactory.query(NestedDescriptionElasticQuery.class).nestedPath(PlanElasticEntity._descriptions);
|
||||
else if (item.prefix(PlanElasticEntity._dmpDescriptionTemplates)) return this.queryFactory.query(NestedPlanDescriptionTemplateElasticQuery.class).nestedPath(PlanElasticEntity._dmpDescriptionTemplates);
|
||||
else return null;
|
||||
}
|
||||
}
|
|
@ -49,7 +49,7 @@ public class EventBroker {
|
|||
this.applicationEventPublisher.publishEvent(event);
|
||||
}
|
||||
|
||||
public void emit(DmpTouchedEvent event) {
|
||||
public void emit(PlanTouchedEvent event) {
|
||||
this.applicationEventPublisher.publishEvent(event);
|
||||
}
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue