Skip to content

Commit

Permalink
MID-8842 ninja - user dashboard processor, cleanup + todo added
Browse files Browse the repository at this point in the history
(cherry picked from commit 6463da4)
  • Loading branch information
1azyman committed Aug 1, 2023
1 parent c19f22a commit 92673ef
Showing 1 changed file with 19 additions and 27 deletions.
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
package com.evolveum.midpoint.schema.validator.processor;

import java.util.List;

import com.evolveum.midpoint.prism.Objectable;
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.*;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AdminGuiConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.DashboardLayoutType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.HomePageType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

import java.util.List;

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

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

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

@Override
Expand All @@ -31,28 +33,18 @@ public UpgradePhase getPhase() {

@Override
public boolean isApplicable(PrismObject<?> object, ItemPath path) {
AdminGuiConfigurationType configuration = null;
if (object.isOfType(SystemConfigurationType.class)) {
SystemConfigurationType obj = (SystemConfigurationType) object.asObjectable();
configuration = obj.getAdminGuiConfiguration();
} else if (object.isOfType(UserType.class)) {
UserType obj = (UserType) object.asObjectable();
configuration = obj.getAdminGuiConfiguration();
} else if (object.isOfType(AbstractRoleType.class)) {
AbstractRoleType obj = (AbstractRoleType) object.asObjectable();
configuration = obj.getAdminGuiConfiguration();
}

if (configuration == null) {
return false;
}

List<RichHyperlinkType> links = configuration.getUserDashboardLink();
return !links.isEmpty();
return matchParentTypeAndItemName(object, path, AdminGuiConfigurationType.class, AdminGuiConfigurationType.F_USER_DASHBOARD);
}

@Override
public boolean process(PrismObject<Objectable> object, ItemPath path) {
return true;
public boolean process(PrismObject<ObjectType> object, ItemPath path) {
AdminGuiConfigurationType adminGuiConfig = getItemParent(object, path);
DashboardLayoutType dashboard = adminGuiConfig.getUserDashboard();

List<HomePageType> homePages = adminGuiConfig.getHomePage();

// todo implement, no idea how

return false;
}
}

0 comments on commit 92673ef

Please sign in to comment.