use of com.evolveum.midpoint.xml.ns._public.common.common_3.DisplayType in project midpoint by Evolveum.
the class PageSystemConfiguration method createCompositedButton.
private CompositedIconButtonDto createCompositedButton(String icon, Class<? extends WebPage> page) {
String title = page.getSimpleName() + ".title";
CompositedIconButtonDto button = new CompositedIconButtonDto();
CompositedIconBuilder builder = new CompositedIconBuilder();
builder.setTitle(title);
builder.setBasicIcon(icon, IconCssStyle.IN_ROW_STYLE);
button.setCompositedIcon(builder.build());
DisplayType displayType = new DisplayType();
displayType.setLabel(new PolyStringType(title));
button.setAdditionalButtonDisplayType(displayType);
button.setPage(page);
return button;
}
use of com.evolveum.midpoint.xml.ns._public.common.common_3.DisplayType in project midpoint by Evolveum.
the class CertDecisionHelper method createTypeColumn.
public <T extends CertCaseOrWorkItemDto> IColumn<T, String> createTypeColumn(final WhichObject which, final PageBase page) {
IColumn column;
column = new IconColumn<CertCaseOrWorkItemDto>(page.createStringResource("")) {
@Override
protected DisplayType getIconDisplayType(IModel<CertCaseOrWorkItemDto> rowModel) {
ObjectTypeGuiDescriptor guiDescriptor = getObjectTypeDescriptor(which, rowModel);
String icon = guiDescriptor != null ? guiDescriptor.getBlackIcon() : ObjectTypeGuiDescriptor.ERROR_ICON;
return GuiDisplayTypeUtil.createDisplayType(icon);
}
private ObjectTypeGuiDescriptor getObjectTypeDescriptor(WhichObject which, IModel<CertCaseOrWorkItemDto> rowModel) {
QName targetType = rowModel.getObject().getObjectType(which);
return ObjectTypeGuiDescriptor.getDescriptor(ObjectTypes.getObjectTypeFromTypeQName(targetType));
}
@Override
public void populateItem(Item<ICellPopulator<CertCaseOrWorkItemDto>> item, String componentId, IModel<CertCaseOrWorkItemDto> rowModel) {
super.populateItem(item, componentId, rowModel);
ObjectTypeGuiDescriptor guiDescriptor = getObjectTypeDescriptor(which, rowModel);
if (guiDescriptor != null) {
item.add(AttributeModifier.replace("title", page.createStringResource(guiDescriptor.getLocalizationKey())));
item.add(new TooltipBehavior());
}
}
};
return column;
}
use of com.evolveum.midpoint.xml.ns._public.common.common_3.DisplayType in project midpoint by Evolveum.
the class CertDecisionHelper method createDetailedInfoColumn.
public <T extends CertCaseOrWorkItemDto> IColumn<T, String> createDetailedInfoColumn(final PageBase page) {
IColumn column;
column = new IconColumn<CertCaseOrWorkItemDto>(page.createStringResource("")) {
@Override
protected DisplayType getIconDisplayType(final IModel<CertCaseOrWorkItemDto> rowModel) {
return GuiDisplayTypeUtil.createDisplayType("fa fa-fw fa-info-circle text-info");
}
@Override
public void populateItem(Item<ICellPopulator<CertCaseOrWorkItemDto>> item, String componentId, IModel<CertCaseOrWorkItemDto> rowModel) {
super.populateItem(item, componentId, rowModel);
CertCaseOrWorkItemDto aCase = rowModel.getObject();
String handlerUri;
if (aCase instanceof CertWorkItemDto) {
handlerUri = aCase.getHandlerUri();
} else {
handlerUri = ((PageCertCampaign) page).getCampaignHandlerUri();
}
CertGuiHandler handler = CertGuiHandlerRegistry.instance().getHandler(handlerUri);
if (handler != null) {
String title = handler.getCaseInfoButtonTitle(rowModel, page);
item.add(AttributeModifier.replace("title", title));
item.add(new TooltipBehavior());
}
}
};
return column;
}
use of com.evolveum.midpoint.xml.ns._public.common.common_3.DisplayType in project midpoint by Evolveum.
the class ChangePasswordPanel method initColumns.
private List<IColumn<PasswordAccountDto, String>> initColumns() {
List<IColumn<PasswordAccountDto, String>> columns = new ArrayList<>();
columns.add(new CheckBoxColumn<>(Model.of(""), Selectable.F_SELECTED) {
@Override
protected IModel<Boolean> getEnabled(IModel<PasswordAccountDto> rowModel) {
return () -> {
PasswordAccountDto passwordAccountDto = rowModel.getObject();
if (!passwordAccountDto.isMidpoint() && !passwordAccountDto.isPasswordCapabilityEnabled()) {
passwordAccountDto.setSelected(false);
return false;
}
if (CredentialsPropagationUserControlType.ONLY_MAPPING.equals(getModelObject().getPropagation())) {
if (!passwordAccountDto.isMidpoint() && !passwordAccountDto.isPasswordOutbound()) {
passwordAccountDto.setSelected(false);
}
return false;
}
if (passwordAccountDto.isMidpoint() && CredentialsPropagationUserControlType.IDENTITY_MANAGER_MANDATORY.equals(getModelObject().getPropagation())) {
return false;
}
if (!passwordAccountDto.isMidpoint() && midpointAccountSelected.getObject() && passwordAccountDto.isPasswordOutbound()) {
passwordAccountDto.setSelected(true);
return false;
}
return true;
};
}
@Override
protected void processBehaviourOfCheckBox(IsolatedCheckBoxPanel check, IModel<PasswordAccountDto> rowModel) {
super.processBehaviourOfCheckBox(check, rowModel);
IModel<String> titleModel = () -> {
PasswordAccountDto passwordAccountDto = rowModel.getObject();
if (!getEnabled(rowModel).getObject()) {
String key;
if (!passwordAccountDto.isMidpoint() && !passwordAccountDto.isPasswordCapabilityEnabled()) {
key = "ChangePasswordPanel.legendMessage.no.password.capability";
} else {
key = "ChangePasswordPanel.legendMessage.policy";
}
return createStringResource(key).getString();
}
return "";
};
check.add(AttributeAppender.append("title", titleModel));
}
@Override
protected void onUpdateRow(AjaxRequestTarget target, DataTable table, IModel<PasswordAccountDto> rowModel, IModel<Boolean> selected) {
super.onUpdateRow(target, table, rowModel, selected);
if (rowModel.getObject().isMidpoint()) {
table.visitChildren(IsolatedCheckBoxPanel.class, (IVisitor<IsolatedCheckBoxPanel, IsolatedCheckBoxPanel>) (panel, iVisit) -> {
target.add(panel);
});
}
}
});
columns.add(new AbstractColumn<PasswordAccountDto, String>(createStringResource("ChangePasswordPanel.name")) {
private static final long serialVersionUID = 1L;
@Override
public void populateItem(Item<ICellPopulator<PasswordAccountDto>> item, String componentId, final IModel<PasswordAccountDto> rowModel) {
item.add(new Label(componentId, new IModel<>() {
private static final long serialVersionUID = 1L;
@Override
public String getObject() {
PasswordAccountDto dto = rowModel.getObject();
return dto.getDisplayName();
}
}));
}
});
columns.add(new AbstractColumn<PasswordAccountDto, String>(createStringResource("ChangePasswordPanel.resourceName")) {
private static final long serialVersionUID = 1L;
@Override
public void populateItem(Item<ICellPopulator<PasswordAccountDto>> item, String componentId, final IModel<PasswordAccountDto> rowModel) {
IModel<String> helpModel = () -> {
String title = "";
if (!rowModel.getObject().isMidpoint() && !rowModel.getObject().isPasswordCapabilityEnabled()) {
title = createStringResource("ChangePasswordPanel.legendMessage.no.password.capability").getString();
}
if (rowModel.getObject().isMaintenanceState()) {
title = title + (StringUtils.isEmpty(title) ? "" : " ") + createStringResource("ChangePasswordPanel.legendMessage.maintenance").getString();
}
return title;
};
item.add(new LabelWithHelpPanel(componentId, new IModel<>() {
private static final long serialVersionUID = 1L;
@Override
public String getObject() {
PasswordAccountDto dto = rowModel.getObject();
return dto.getResourceName();
}
}) {
@Override
protected IModel<String> getHelpModel() {
return helpModel;
}
});
}
});
IconColumn enabled = new IconColumn<PasswordAccountDto>(createStringResource("ChangePasswordPanel.enabled")) {
@Override
protected DisplayType getIconDisplayType(IModel<PasswordAccountDto> rowModel) {
String cssClass = "fa fa-question text-info";
String tooltip = "ActivationStatusType.null";
if (rowModel != null && rowModel.getObject() != null && rowModel.getObject().isEnabled() != null) {
if (rowModel.getObject().isEnabled()) {
cssClass = GuiStyleConstants.CLASS_APPROVAL_OUTCOME_ICON_APPROVED_COLORED;
tooltip = "ActivationStatusType.ENABLED";
} else {
cssClass = GuiStyleConstants.CLASS_APPROVAL_OUTCOME_ICON_REJECTED_COLORED;
tooltip = "ActivationStatusType.DISABLED";
}
}
return GuiDisplayTypeUtil.createDisplayType(cssClass + " fa-fw fa-lg", "", createStringResource(tooltip).getString());
}
@Override
public String getCssClass() {
return "col-lg-1";
}
};
columns.add(enabled);
columns.add(new AbstractColumn<PasswordAccountDto, String>(createStringResource("ChangePasswordPanel.passwordValidation")) {
private static final long serialVersionUID = 1L;
@Override
public void populateItem(Item<ICellPopulator<PasswordAccountDto>> cellItem, String componentId, IModel<PasswordAccountDto> rowModel) {
IModel<List<StringLimitationResult>> limitationsModel = () -> {
String policyOid = rowModel.getObject().getPasswordValuePolicyOid();
if (StringUtils.isEmpty(policyOid) || !getModelObject().getPasswordPolicies().containsKey(policyOid)) {
return new ArrayList<>();
}
if (limitationsByPolicyOid.containsKey(policyOid)) {
return limitationsByPolicyOid.get(policyOid);
}
ValuePolicyType policyType = getModelObject().getPasswordPolicies().get(policyOid);
PrismObject<? extends ObjectType> object = rowModel.getObject().getObject();
List<StringLimitationResult> limitations = getPasswordPanel().getLimitationsForActualPassword(policyType, object);
limitationsByPolicyOid.put(policyOid, limitations);
return limitations;
};
PasswordPolicyValidationPanel validationPanel = new PasswordPolicyValidationPanel(componentId, limitationsModel);
validationPanel.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
return !limitationsModel.getObject().isEmpty();
}
});
cellItem.add(validationPanel);
}
@Override
public String getCssClass() {
return "col-lg-2";
}
});
columns.add(new AbstractColumn<PasswordAccountDto, String>(createStringResource("ChangePasswordPanel.propagationResult")) {
private static final long serialVersionUID = 1L;
@Override
public void populateItem(Item<ICellPopulator<PasswordAccountDto>> cellItem, String componentId, IModel<PasswordAccountDto> rowModel) {
LoadableModel<OperationResult> resultStatusModel = new LoadableModel<OperationResult>() {
@Override
protected OperationResult load() {
if (getModelObject().getProgress() == null || getModelObject().getProgress().getProgressReportActivities().isEmpty()) {
return null;
}
for (ProgressReportActivityDto progressActivity : getModelObject().getProgress().getProgressReportActivities()) {
if (rowModel.getObject().isSelected() && progressActivity.getStatus() != null && rowModel.getObject().isMidpoint() && (ProgressInformation.ActivityType.FOCUS_OPERATION.equals(progressActivity.getActivityType()) || (ProgressInformation.ActivityType.PROJECTOR.equals(progressActivity.getActivityType()) && !OperationResultStatusType.SUCCESS.equals(progressActivity.getStatus())))) {
return progressActivity.getOperationResult();
} else if (progressActivity.getStatus() != null && !rowModel.getObject().isMidpoint() && ProgressInformation.ActivityType.RESOURCE_OBJECT_OPERATION.equals(progressActivity.getActivityType()) && progressActivity.getResourceOperationResultList() != null && !progressActivity.getResourceOperationResultList().isEmpty()) {
String resourceOid = rowModel.getObject().getResourceOid();
if (StringUtils.isNotEmpty(resourceOid) && progressActivity.getResourceShadowDiscriminator() != null && resourceOid.equals(progressActivity.getResourceShadowDiscriminator().getResourceOid())) {
return progressActivity.getOperationResult();
}
}
}
return new OperationResult("Empty result");
}
};
ColumnResultPanel resultPanel = new ColumnResultPanel(componentId, resultStatusModel) {
@Override
protected boolean isProjectionResult() {
return !rowModel.getObject().isMidpoint();
}
@Override
protected DisplayType getDisplayForEmptyResult() {
String policyOid = rowModel.getObject().getPasswordValuePolicyOid();
if (StringUtils.isNotEmpty(policyOid) && ChangePasswordPanel.this.getModelObject().getPasswordPolicies().containsKey(policyOid)) {
if (limitationsByPolicyOid.get(policyOid) != null) {
var ref = new Object() {
boolean result = true;
};
limitationsByPolicyOid.get(policyOid).forEach((limit) -> {
if (ref.result && !limit.isSuccess()) {
ref.result = false;
}
});
if (!ref.result && rowModel.getObject().isSelected()) {
return GuiDisplayTypeUtil.createDisplayType("fa-fw fa fa-times-circle text-muted fa-lg", "", createStringResource("ChangePasswordPanel.result.validationError").getString());
}
}
}
return null;
}
};
resultPanel.setOutputMarkupId(true);
cellItem.add(resultPanel);
}
@Override
public String getCssClass() {
return "col-lg-2";
}
});
return columns;
}
use of com.evolveum.midpoint.xml.ns._public.common.common_3.DisplayType in project midpoint by Evolveum.
the class MyAssignmentsPanel method initLayout.
private void initLayout() {
List<IColumn<AssignmentItemDto, String>> columns = new ArrayList<>();
columns.add(new IconColumn<AssignmentItemDto>(null) {
private static final long serialVersionUID = 1L;
@Override
protected DisplayType getIconDisplayType(IModel<AssignmentItemDto> rowModel) {
AssignmentItemDto item = rowModel.getObject();
String iconClass = "";
if (item.getType() == null) {
iconClass = OperationResultStatusPresentationProperties.FATAL_ERROR.getIcon() + " fa-lg";
} else {
iconClass = item.getType().getIconCssClass();
}
return GuiDisplayTypeUtil.createDisplayType(iconClass, "", AssignmentsUtil.createAssignmentIconTitleModel(MyAssignmentsPanel.this, rowModel.getObject().getType()).getObject());
}
});
columns.add(new AbstractColumn<AssignmentItemDto, String>(createStringResource("MyAssignmentsPanel.assignment.displayName")) {
private static final long serialVersionUID = 1L;
@Override
public void populateItem(Item<ICellPopulator<AssignmentItemDto>> cellItem, String componentId, final IModel<AssignmentItemDto> rowModel) {
AssignmentHeaderPanel panel = new AssignmentHeaderPanel(componentId, rowModel);
panel.add(new AttributeModifier("class", "dash-assignment-header"));
cellItem.add(panel);
}
});
ISortableDataProvider provider = new ListDataProvider(this, getModel());
TablePanel accountsTable = new TablePanel<>(ID_ASSIGNMETNS_TABLE, provider, columns);
accountsTable.setShowPaging(false);
add(accountsTable);
}
Aggregations