Skip to content

Commit

Permalink
MID-8842 ninja - search default scope processor + test
Browse files Browse the repository at this point in the history
(cherry picked from commit 7c42b9f)
  • Loading branch information
1azyman committed Aug 1, 2023
1 parent c130c4c commit 357add6
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/*
* Copyright (C) 2010-2023 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.schema.validator.processor;

import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.schema.validator.UpgradeObjectProcessor;
import com.evolveum.midpoint.schema.validator.UpgradePhase;
import com.evolveum.midpoint.schema.validator.UpgradePriority;
import com.evolveum.midpoint.schema.validator.UpgradeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ScopeSearchItemConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SearchBoxConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SearchBoxScopeType;

@SuppressWarnings("unused")
public class DefaultScopeProcessor implements UpgradeObjectProcessor<ObjectType> {

@Override
public UpgradePhase getPhase() {
return UpgradePhase.BEFORE;
}

@Override
public UpgradePriority getPriority() {
return UpgradePriority.NECESSARY;
}

@Override
public UpgradeType getType() {
return UpgradeType.SEAMLESS;
}

@Override
public boolean isApplicable(PrismObject<?> object, ItemPath path) {
return matchParentTypeAndItemName(object, path, SearchBoxConfigurationType.class, SearchBoxConfigurationType.F_DEFAULT_SCOPE);
}

@Override
public boolean process(PrismObject<ObjectType> object, ItemPath path) throws Exception {
SearchBoxConfigurationType config = getItemParent(object, path);
SearchBoxScopeType scope = config.getDefaultScope();

ScopeSearchItemConfigurationType scopeConfig = config.getScopeConfiguration();
if (scopeConfig == null) {
scopeConfig = new ScopeSearchItemConfigurationType();
config.setScopeConfiguration(scopeConfig);
}

if (scopeConfig.getDefaultValue() == null) {
scopeConfig.setDefaultValue(scope);
}
config.setDefaultScope(null);

return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ private String getProcessorIdentifier(Class<?> processorClass) {
@Test
public void test30TestSystemConfig() throws Exception {
testUpgradeValidator("system-configuration.xml", result -> {
Assertions.assertThat(result.getItems()).hasSize(3);
Assertions.assertThat(result.getItems()).hasSize(5);
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,22 @@
</formSpecification>
</objectForm>
</objectForms>
<objectCollectionViews>
<objectCollectionView id="3">
<searchBoxConfiguration>
<scopeConfiguration>
<defaultValue>oneLevel</defaultValue>
</scopeConfiguration>
</searchBoxConfiguration>
</objectCollectionView>
<objectCollectionView id="6">
<searchBoxConfiguration>
<scopeConfiguration>
<defaultValue>subtree</defaultValue>
</scopeConfiguration>
</searchBoxConfiguration>
</objectCollectionView>
</objectCollectionViews>
</adminGuiConfiguration>

<defaultObjectPolicyConfiguration id="2">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,21 @@
</formSpecification>
</objectForm>
</objectForms>
<objectCollectionViews>
<objectCollectionView id="3">
<searchBoxConfiguration>
<defaultScope>oneLevel</defaultScope>
</searchBoxConfiguration>
</objectCollectionView>
<objectCollectionView id="6">
<searchBoxConfiguration>
<defaultScope>oneLevel</defaultScope>
<scopeConfiguration>
<defaultValue>subtree</defaultValue>
</scopeConfiguration>
</searchBoxConfiguration>
</objectCollectionView>
</objectCollectionViews>
</adminGuiConfiguration>

<defaultObjectPolicyConfiguration id="2">
Expand Down

0 comments on commit 357add6

Please sign in to comment.