Skip to content

Commit

Permalink
Merge branch 'support-4.0' of https://github.com/Evolveum/midpoint in…
Browse files Browse the repository at this point in the history
…to support-4.0
  • Loading branch information
Kateryna Honchar committed May 19, 2022
2 parents 5942ef4 + 0858f41 commit 7f16d80
Show file tree
Hide file tree
Showing 7 changed files with 68 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,11 @@ protected ObjectTypes getObjectType(){
protected T getAbstractRoleTypeObject(){
return ChooseMemberPopup.this.getAssignmentTargetRefObject();
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return ChooseMemberPopup.this.getArchetypeRefList();
}
};
}

Expand Down Expand Up @@ -201,6 +206,11 @@ protected ObjectTypes getObjectType(){
protected T getAbstractRoleTypeObject(){
return ChooseMemberPopup.this.getAssignmentTargetRefObject();
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return ChooseMemberPopup.this.getArchetypeRefList();
}
};
}

Expand Down Expand Up @@ -242,6 +252,11 @@ protected List<OrgType> getPreselectedObjects(){
return selectedOrgsList;
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return ChooseMemberPopup.this.getArchetypeRefList();
}

};
}

Expand Down Expand Up @@ -277,6 +292,11 @@ protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableB
protected List<OrgType> getPreselectedObjects(){
return selectedOrgsList;
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return ChooseMemberPopup.this.getArchetypeRefList();
}
};
}

Expand Down Expand Up @@ -312,6 +332,10 @@ protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableB
tabLabelPanelUpdate(target);
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return ChooseMemberPopup.this.getArchetypeRefList();
}
};
}

Expand All @@ -324,6 +348,10 @@ public String getCount() {
return tabs;
}

protected List<ObjectReferenceType> getArchetypeRefList() {
return null;
}

protected List<QName> getAvailableObjectTypes(){
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.page.admin.roles.AvailableRelationDto;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;
Expand Down Expand Up @@ -57,6 +58,11 @@ protected void onSelectionPerformed(AjaxRequestTarget target, IModel<SelectableB
protected OrgType getAbstractRoleTypeObject(){
return ChooseOrgMemberPopup.this.getAssignmentTargetRefObject();
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return ChooseOrgMemberPopup.this.getArchetypeRefList();
}
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ private IModel<String> getAlreadyAssignedIconTitleModel(AssignmentEditorDto dto)
for (QName relation : assignedRelations) {
RelationDefinitionType def = ObjectTypeUtil.findRelationDefinition(defs, relation);
String relationLabel;
if (def == null || def.getCategory() == null || def.getDisplay().getLabel() == null){
if (def == null || def.getDisplay() == null || def.getDisplay().getLabel() == null){
relationLabel = relation.getLocalPart();
} else {
relationLabel = createStringResource(def.getDisplay().getLabel()).getString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ protected void buttonClickPerformed(AjaxRequestTarget target, AssignmentObjectRe
AvailableRelationDto avariableRelations = new AvailableRelationDto(relations, getSupportedRelations().getDefaultRelation());
List<QName> objectTypes = relation != null && !CollectionUtils.isEmpty(relation.getObjectTypes()) ?
relation.getObjectTypes() : null;
assignMembers(target, avariableRelations, objectTypes, relation == null);
assignMembers(target, avariableRelations, objectTypes, relation == null, relation == null ? null : relation.getArchetypeRefs());
}

@Override
Expand Down Expand Up @@ -531,9 +531,9 @@ private AssignmentCandidatesSpecification loadCandidateSpecification(){
}

protected void assignMembers(AjaxRequestTarget target, AvailableRelationDto availableRelationList,
List<QName> objectTypes, boolean isOrgTreePanelVisible) {
List<QName> objectTypes, boolean isOrgTreePanelVisible, List<ObjectReferenceType> archetypeRefs) {
MemberOperationsHelper.assignMembers(getPageBase(), getModelObject(), target, availableRelationList,
objectTypes, isOrgTreePanelVisible);
objectTypes, archetypeRefs, isOrgTreePanelVisible);
}

private void unassignMembersPerformed(AjaxRequestTarget target) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,12 +171,12 @@ private static <R extends AbstractRoleType> void recomputeOrDeleteMembersPerform

public static <O extends ObjectType, R extends AbstractRoleType> void assignMembers(PageBase pageBase, R targetRefObject, AjaxRequestTarget target,
AvailableRelationDto availableRelationList, List<QName> objectTypes) {
assignMembers(pageBase, targetRefObject, target, availableRelationList, objectTypes, true);
assignMembers(pageBase, targetRefObject, target, availableRelationList, objectTypes, null, true);

}

public static <O extends ObjectType, R extends AbstractRoleType> void assignMembers(PageBase pageBase, R targetRefObject, AjaxRequestTarget target,
AvailableRelationDto availableRelationList, List<QName> objectTypes, boolean isOrgTreePanelVisible) {
AvailableRelationDto availableRelationList, List<QName> objectTypes, List<ObjectReferenceType> archetypeRefs, boolean isOrgTreePanelVisible) {

ChooseMemberPopup<O, R> browser = new ChooseMemberPopup<O, R>(pageBase.getMainPopupBodyId(), availableRelationList) {
private static final long serialVersionUID = 1L;
Expand All @@ -195,13 +195,18 @@ protected List<QName> getAvailableObjectTypes(){
protected boolean isOrgTreeVisible(){
return isOrgTreePanelVisible;
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return archetypeRefs;
}
};
browser.setOutputMarkupId(true);
pageBase.showMainPopup(browser, target);
}

public static <O extends ObjectType> void assignOrgMembers(PageBase pageBase, OrgType targetRefObject, AjaxRequestTarget target,
AvailableRelationDto availableRelationList, List<QName> objectTypes) {
AvailableRelationDto availableRelationList, List<QName> objectTypes, List<ObjectReferenceType> archetypeRefs) {
ChooseOrgMemberPopup<O> browser = new ChooseOrgMemberPopup<O>(pageBase.getMainPopupBodyId(), availableRelationList) {

private static final long serialVersionUID = 1L;
Expand All @@ -215,6 +220,11 @@ protected OrgType getAssignmentTargetRefObject(){
protected List<QName> getAvailableObjectTypes(){
return objectTypes;
}

@Override
protected List<ObjectReferenceType> getArchetypeRefList() {
return archetypeRefs;
}
};

browser.setOutputMarkupId(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import javax.xml.namespace.QName;

import com.evolveum.midpoint.prism.PrismConstants;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.web.session.MemberPanelStorage;
import com.evolveum.midpoint.web.session.PageStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
Expand Down Expand Up @@ -92,8 +91,8 @@ protected SearchBoxScopeType getOrgSearchScope() {

@Override
protected void assignMembers(AjaxRequestTarget target, AvailableRelationDto availableRelationList,
List<QName> objectTypes, boolean isOrgTreePanelVisible) {
MemberOperationsHelper.assignOrgMembers(getPageBase(), getModelObject(), target, availableRelationList, objectTypes);
List<QName> objectTypes, boolean isOrgTreePanelVisible, List<ObjectReferenceType> archetypeRefs) {
MemberOperationsHelper.assignOrgMembers(getPageBase(), getModelObject(), target, availableRelationList, objectTypes, archetypeRefs);
}

// @Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.testng.annotations.Test;

import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.result.OperationResultStatus;
import com.evolveum.midpoint.schema.validator.ObjectValidator;
import com.evolveum.midpoint.schema.validator.ValidationItem;
import com.evolveum.midpoint.schema.validator.ValidationResult;
Expand Down Expand Up @@ -42,12 +43,13 @@ public void testInitialObjects() throws Exception {

StringBuilder errorsSb = new StringBuilder();

//noinspection ConstantConditions
for (File file : DIR_INITIAL_OBJECTS.listFiles()) {
if (file.isFile()) {
try {
testInitialObject(validator, errorsSb, file);
} catch (Throwable e) {
String msg = "Error processing file "+file.getName()+": "+e.getMessage();
String msg = "Error processing file " + file.getName() + ": " + e.getMessage();
LOGGER.error(msg, e);
display(msg, e);
throw e;
Expand All @@ -63,11 +65,11 @@ public void testInitialObjects() throws Exception {
private <O extends ObjectType> void testInitialObject(ObjectValidator validator, StringBuilder errorsSb, File file) throws SchemaException, IOException {
PrismObject<O> object = getPrismContext().parseObject(file);
ValidationResult validationResult = validator.validate(object);
if (validationResult.isEmpty()) {
display("Checked "+object+": no warnings");
if (validationResult.isEmpty() || isIgnoredWarning(validationResult)) {
display("Checked " + object + ": no warnings");
return;
}
display("Validation warnings for "+object, validationResult);
display("Validation warnings for " + object, validationResult);
for (ValidationItem valItem : validationResult.getItems()) {
errorsSb.append(file.getName());
errorsSb.append(" ");
Expand All @@ -77,4 +79,13 @@ private <O extends ObjectType> void testInitialObject(ObjectValidator validator,
errorsSb.append("\n");
}
}

private boolean isIgnoredWarning(ValidationResult validationResult) {
for (ValidationItem item : validationResult.getItems()) {
if (!item.getStatus().equals(OperationResultStatus.WARNING)) {
return false;
}
}
return true;
}
}

0 comments on commit 7f16d80

Please sign in to comment.