Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Jul 9, 2021
2 parents 361f7a7 + 6c911e3 commit 6322f6f
Show file tree
Hide file tree
Showing 39 changed files with 447 additions and 320 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -121,17 +121,12 @@ protected MultiFunctinalButtonDto load() {

if (isGenericNewButtonVisible()) {
CompositedIconButtonDto defaultButton = new CompositedIconButtonDto();
DisplayType defaultButtonDisplayType = new DisplayType();
defaultButtonDisplayType.setLabel(new PolyStringType("bla"));
IconType icon = new IconType();
icon.setCssClass(GuiStyleConstants.CLASS_OBJECT_USER_ICON_COLORED);
defaultButtonDisplayType.setIcon(icon);
DisplayType defaultButtonDisplayType = getDefaultButtonDisplayType();
defaultButton.setAdditionalButtonDisplayType(defaultButtonDisplayType);

CompositedIconBuilder defaultButtonIconBuilder = new CompositedIconBuilder();
defaultButtonIconBuilder.setBasicIcon(WebComponentUtil.getIconCssClass(defaultButtonDisplayType), IconCssStyle.IN_ROW_STYLE)
.appendColorHtmlValue(WebComponentUtil.getIconColor(defaultButtonDisplayType));
// .appendLayerIcon(WebComponentUtil.createIconType(GuiStyleConstants.CLASS_PLUS_CIRCLE, "green"), IconCssStyle.BOTTOM_RIGHT_STYLE);

defaultButton.setCompositedIcon(defaultButtonIconBuilder.build());
additionalButtons.add(defaultButton);
Expand All @@ -152,11 +147,22 @@ private CompositedIcon createCompositedIcon(CompiledObjectCollectionView collect

builder.setBasicIcon(WebComponentUtil.getIconCssClass(additionalButtonDisplayType), IconCssStyle.IN_ROW_STYLE)
.appendColorHtmlValue(WebComponentUtil.getIconColor(additionalButtonDisplayType));
// .appendLayerIcon(WebComponentUtil.createIconType(GuiStyleConstants.CLASS_PLUS_CIRCLE, "green"), IconCssStyle.BOTTOM_RIGHT_STYLE);

return builder.build();
}

private DisplayType getDefaultButtonDisplayType() {
String iconCssStyle = WebComponentUtil.createDefaultBlackIcon(getType());

String sb = createStringResource("MainObjectListPanel.newObject").getString()
+ " "
+ createStringResource("ObjectTypeLowercase." + getType().getLocalPart()).getString();
DisplayType display = WebComponentUtil.createDisplayType(iconCssStyle, "", sb);
display.setLabel(WebComponentUtil.createPolyFromOrigString(
getType().getLocalPart(), "ObjectType." + getType().getLocalPart()));
return display;
}

protected boolean isGenericNewButtonVisible() {
if (QNameUtil.match(ReportType.COMPLEX_TYPE, getType())) {
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@ protected ObjectSummaryPanel<SystemConfigurationType> createSummaryPanel(IModel<
return new SystemConfigurationSummaryPanel(ID_SUMMARY_PANEL, summaryModel, PageAbstractSystemConfiguration.this);
}

@Override
protected void setSummaryPanelVisibility(ObjectSummaryPanel<SystemConfigurationType> summaryPanel) {
summaryPanel.setVisible(true);
}

@Override
protected AbstractObjectMainPanel<SystemConfigurationType> createMainPanel(String id) {
return new AbstractObjectMainPanel<>(id, getObjectModel(), this) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/accessCertification", matchUrlForSecurity = "/admin/config/system/accessCertification"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import java.util.ArrayList;
import java.util.List;

import com.evolveum.midpoint.prism.path.ItemPath;

import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
import org.apache.wicket.markup.html.WebMarkupContainer;
Expand Down Expand Up @@ -58,6 +60,8 @@ public WebMarkupContainer getPanel(String panelId) {

@Override
public WebMarkupContainer getPanel(String panelId) {
// return new AdminGuiObjectCollectionViewsPanel(panelId,
// PrismContainerWrapperModel.fromContainerWrapper(getObjectModel(), ItemPath.create(SystemConfigurationType.F_ADMIN_GUI_CONFIGURATION, AdminGuiConfigurationType.F_OBJECT_COLLECTION_VIEWS, GuiObjectListViewsType.F_OBJECT_COLLECTION_VIEW)));
return createContainerPanel(panelId, adminGuiModel, AdminGuiConfigurationType.F_OBJECT_COLLECTION_VIEWS, GuiObjectListViewsType.COMPLEX_TYPE);
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/cleanupPolicy", matchUrlForSecurity = "/admin/config/system/cleanupPolicy"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/deploymentInformation", matchUrlForSecurity = "/admin/config/system/deploymentInformation"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/fullTextSearch", matchUrlForSecurity = "/admin/config/system/fullTextSearch"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/globalPolicyRule", matchUrlForSecurity = "/admin/config/system/globalPolicyRule"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/globalProjectionPolicy", matchUrlForSecurity = "/admin/config/system/globalProjectionPolicy"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/infrastructure", matchUrlForSecurity = "/admin/config/system/infrastructure"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/internals", matchUrlForSecurity = "/admin/config/system/internals"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/logging", matchUrlForSecurity = "/admin/config/system/logging"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/notifications", matchUrlForSecurity = "/admin/config/system/notifications"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/objectPolicies", matchUrlForSecurity = "/admin/config/system/objectPolicies"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/profiling", matchUrlForSecurity = "/admin/config/system/profiling"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/roleManagement", matchUrlForSecurity = "/admin/config/system/roleManagement"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/basic", matchUrlForSecurity = "/admin/config/system/basic"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/config/system/adminGuiConfig", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
@Url(mountUrl = "/admin/config/system/workflow", matchUrlForSecurity = "/admin/config/system/adminGuiConfig"),
},
action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public class SessionStorage implements Serializable, DebugDumpable {
public static final String KEY_ROLE_MEMBER_PANEL = UserProfileStorage.TableId.ROLE_MEMBER_PANEL.name();
public static final String KEY_ORG_MEMBER_PANEL = UserProfileStorage.TableId.ORG_MEMBER_PANEL.name();
public static final String KEY_SERVICE_MEMBER_PANEL = UserProfileStorage.TableId.SERVICE_MEMBER_PANEL.name();
public static final String KEY_SERVICE_ARCHETYPE_PANEL = UserProfileStorage.TableId.ARCHETYPE_MEMBER_PANEL.name();
public static final String KEY_ARCHETYPE_MEMBER_PANEL = UserProfileStorage.TableId.ARCHETYPE_MEMBER_PANEL.name();
public static final String KEY_WORK_ITEMS = "workItems";
public static final String KEY_OBJECT_LIST = "containerListPage";
public static final String KEY_CASE_WORKITEMS_TAB = "workitemsTab";
Expand Down Expand Up @@ -225,7 +225,8 @@ public PageStorage initPageStorage(String key) {
pageStorage = new ObjectListStorage();
} else if (key.startsWith(KEY_ORG_MEMBER_PANEL)
|| key.startsWith(KEY_ROLE_MEMBER_PANEL)
|| key.startsWith(KEY_SERVICE_MEMBER_PANEL)) {
|| key.startsWith(KEY_SERVICE_MEMBER_PANEL)
|| key.startsWith(KEY_ARCHETYPE_MEMBER_PANEL)) {
pageStorage = new MemberPanelStorage();
} else if (KEY_ASSIGNMENTS_TAB.equals(key)
|| KEY_INDUCEMENTS_TAB.equals(key)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,20 +130,20 @@ public SqaleRepoContext sqlRepoContext(
QAssignmentHolderMapping.init(repositoryContext);
QCaseMapping caseMapping = QCaseMapping.init(repositoryContext);
QLookupTableMapping lookupTableMapping = QLookupTableMapping.init(repositoryContext);
QObjectMapping<?, ?, ?> objectMapping = QObjectMapping.init(repositoryContext);
QObjectMapping<?, ?, ?> objectMapping = QObjectMapping.initObject(repositoryContext);

mappingRegistry
.register(AbstractRoleType.COMPLEX_TYPE,
QAbstractRoleMapping.init(repositoryContext))
QAbstractRoleMapping.initAbstractRoleMapping(repositoryContext))
.register(AccessCertificationDefinitionType.COMPLEX_TYPE,
QAccessCertificationDefinitionMapping.init(repositoryContext))
.register(AccessCertificationCampaignType.COMPLEX_TYPE,
accessCertificationCampaignMapping)
.register(ArchetypeType.COMPLEX_TYPE, QArchetypeMapping.init(repositoryContext))
.register(ArchetypeType.COMPLEX_TYPE, QArchetypeMapping.initArchetypeMapping(repositoryContext))
.register(AssignmentHolderType.COMPLEX_TYPE, assignmentHolderMapping)
.register(CaseType.COMPLEX_TYPE, caseMapping)
.register(DashboardType.COMPLEX_TYPE, QDashboardMapping.init(repositoryContext))
.register(FocusType.COMPLEX_TYPE, QFocusMapping.init(repositoryContext))
.register(FocusType.COMPLEX_TYPE, QFocusMapping.initFocusMapping(repositoryContext))
.register(FormType.COMPLEX_TYPE, QFormMapping.init(repositoryContext))
.register(FunctionLibraryType.COMPLEX_TYPE,
QFunctionLibraryMapping.init(repositoryContext))
Expand All @@ -158,8 +158,8 @@ public SqaleRepoContext sqlRepoContext(
.register(ObjectCollectionType.COMPLEX_TYPE,
QObjectCollectionMapping.init(repositoryContext))
.register(ObjectTemplateType.COMPLEX_TYPE,
QObjectTemplateMapping.init(repositoryContext))
.register(OrgType.COMPLEX_TYPE, QOrgMapping.init(repositoryContext))
QObjectTemplateMapping.initObjectTemplateMapping(repositoryContext))
.register(OrgType.COMPLEX_TYPE, QOrgMapping.initOrgMapping(repositoryContext))
.register(ReportType.COMPLEX_TYPE, QReportMapping.init(repositoryContext))
.register(ReportDataType.COMPLEX_TYPE, QReportDataMapping.init(repositoryContext))
.register(ResourceType.COMPLEX_TYPE, QResourceMapping.init(repositoryContext))
Expand All @@ -168,11 +168,11 @@ public SqaleRepoContext sqlRepoContext(
QSecurityPolicyMapping.init(repositoryContext))
.register(SequenceType.COMPLEX_TYPE, QSequenceMapping.init(repositoryContext))
.register(ServiceType.COMPLEX_TYPE, QServiceMapping.init(repositoryContext))
.register(ShadowType.COMPLEX_TYPE, QShadowMapping.init(repositoryContext))
.register(ShadowType.COMPLEX_TYPE, QShadowMapping.initShadowMapping(repositoryContext))
.register(SystemConfigurationType.COMPLEX_TYPE,
QSystemConfigurationMapping.init(repositoryContext))
.register(TaskType.COMPLEX_TYPE, QTaskMapping.init(repositoryContext))
.register(UserType.COMPLEX_TYPE, QUserMapping.init(repositoryContext))
.register(UserType.COMPLEX_TYPE, QUserMapping.initUserMapping(repositoryContext))
.register(ValuePolicyType.COMPLEX_TYPE, QValuePolicyMapping.init(repositoryContext))

// registering container mappings with parent table/mapping configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ private <TQ extends FlexibleRelationalPathBase<TR>, TR> Predicate process(
}

ItemRelationResolver<Q, R, TQ, TR> resolver = mapping.relationResolver(path);
// Instead of cleaner but arguably confusing solution that would follow the code lower
// we resolve this corner case here and now.
if (resolver instanceof CountMappingResolver<?, ?, ?>) {
return ((CountMappingResolver<?, Q, R>) resolver).createExistsPredicate(context);
// Instead of cleaner solution that would follow the code lower we resolve it here and now.
// "Clean" solution would require more classes/code and would be more confusing.
if (resolver instanceof CountMappingResolver<?, ?>) {
return ((CountMappingResolver<Q, R>) resolver).createExistsPredicate(context);
}

ItemRelationResolver.ResolutionResult<TQ, TR> resolution = resolver.resolve(context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import com.evolveum.midpoint.repo.sqlbase.querydsl.FlexibleRelationalPathBase;

/**
* Resolver that knows how to traverse to the specified target query type (can be JOIN or EXISTS).
* Resolver that knows how to traverse to the specified container table.
*
* @param <Q> type of source entity path (where the mapping is)
* @param <R> row type for {@link Q}, this is the owner of the target table
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,19 @@
import com.querydsl.core.types.Predicate;
import com.querydsl.core.types.dsl.NumberPath;

import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.repo.sqale.SqaleQueryContext;
import com.evolveum.midpoint.repo.sqale.update.NestedContainerUpdateContext;
import com.evolveum.midpoint.repo.sqale.update.SqaleUpdateContext;
import com.evolveum.midpoint.repo.sqlbase.SqlQueryContext;
import com.evolveum.midpoint.repo.sqlbase.mapping.ItemRelationResolver;
import com.evolveum.midpoint.repo.sqlbase.querydsl.FlexibleRelationalPathBase;

/**
* Resolver that maps the container item to the count column.
*
* @param <S> schema type for the nested container
* @param <Q> query type of entity where the mapping is nested and declared
* @param <R> row type of {@link Q}
*/
public class CountMappingResolver<S extends Containerable, Q extends FlexibleRelationalPathBase<R>, R>
implements SqaleItemRelationResolver<Q, R, Q, R> {
public class CountMappingResolver<Q extends FlexibleRelationalPathBase<R>, R>
implements ItemRelationResolver<Q, R, Q, R> {

private final Function<Q, NumberPath<Integer>> rootToCount;

Expand All @@ -41,14 +37,6 @@ public ResolutionResult<Q, R> resolve(SqlQueryContext<?, Q, R> context) {
throw new UnsupportedOperationException("resolution not supported for count mapping");
}

@Override
public NestedContainerUpdateContext<S, Q, R> resolve(
SqaleUpdateContext<?, Q, R> context, ItemPath ignored) {
throw new UnsupportedOperationException("TODO");
// TODO test for ShadowType.pendingOperation modification is needed
// return new NestedContainerUpdateContext<>(context, mapping);
}

/** This creates the predicate representing the EXISTS filter. */
public Predicate createExistsPredicate(SqaleQueryContext<?, Q, R> context) {
return rootToCount.apply(context.path()).gt(0);
Expand Down

0 comments on commit 6322f6f

Please sign in to comment.