Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Mar 24, 2023
2 parents 5e8ef2d + 57bc82e commit 1303c89
Show file tree
Hide file tree
Showing 10 changed files with 93 additions and 39 deletions.
6 changes: 6 additions & 0 deletions gui/admin-gui/src/frontend/js/ace-editor.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ export default class MidPointAceEditor {
var jqTextArea = '#' + textAreaId;
var editorId = textAreaId + ACE_EDITOR_POSTFIX;
var jqEditor = '#' + editorId;

if ($("#" + editorId).length > 0){
$(jqTextArea).hide();
return;
}

//
var newHeight = height;
if (resize) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,6 @@ public ODM getDetailsModel() {
return detailsModel;
}

// @Override
// protected IModel<String> getNextLabelModel() {
// if (getWizard().getNextPanel() == null) {
// return getPageBase().createStringResource("SelectObjectClassesStepPanel.nextLabel");
// }
// return super.getNextLabelModel();
// }

protected void onSubmitPerformed(AjaxRequestTarget target) {
target.add(getFeedback());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.web.component.prism.InputPanel;
import com.evolveum.midpoint.web.page.admin.configuration.component.EmptyOnBlurAjaxFormUpdatingBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import javax.xml.namespace.QName;
Expand All @@ -23,7 +24,7 @@ public abstract class AbstractObjectClassFactory extends AbstractInputGuiCompone

@Override
protected InputPanel getPanel(PrismPropertyPanelContext<QName> panelCtx) {
return new AutoCompleteQNamePanel<>(panelCtx.getComponentId(), panelCtx.getRealValueModel()) {
AutoCompleteQNamePanel<QName> panel = new AutoCompleteQNamePanel<>(panelCtx.getComponentId(), panelCtx.getRealValueModel()) {

@Override
public Collection<QName> loadChoices() {
Expand All @@ -41,6 +42,8 @@ protected boolean alwaysReload() {
return true;
}
};
panel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
return panel;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import com.evolveum.midpoint.gui.api.util.ModelServiceLocator;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.model.api.AdminGuiConfigurationMergeManager;
import com.evolveum.midpoint.prism.PrismContainerValue;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
Expand Down Expand Up @@ -346,7 +347,13 @@ public void reloadPrismObjectModel(@NotNull PrismObject<O> newObject) {
if (!savedDeltas.isEmpty()) {
savedDeltas.forEach(delta -> {
try {
((ObjectDelta)delta).applyTo(newObject);
if (delta.isAdd()) {
if (newObject.isEmpty()) {
newObject.getValue().mergeContent(delta.getObjectToAdd().getValue(), List.of());
}
} else {
((ObjectDelta) delta).applyTo(newObject);
}
} catch (SchemaException e) {
LOGGER.error("Couldn't apply delta " + delta + " to object " + newObject, e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerWrapper;
import com.evolveum.midpoint.gui.api.util.WebPrismUtil;
Expand All @@ -31,6 +32,7 @@

import com.evolveum.midpoint.web.model.ContainerValueWrapperFromObjectWrapperModel;
import com.evolveum.midpoint.web.session.ObjectDetailsStorage;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -335,6 +337,13 @@ public OperationResult onSaveObjectPerformed(AjaxRequestTarget target) {
saveOrPreviewPerformed(target, result, false);
if (!result.isError()) {
WebComponentUtil.createToastForUpdateObject(target, getType());
if (!isEditObject()) {
String oid = getPrismObject().getOid();
PageParameters parameters = new PageParameters();
parameters.add(OnePageParameterEncoder.PARAMETER, oid);
Class<? extends PageBase> page = WebComponentUtil.getObjectDetailsPage(getType());
navigateToNext(page, parameters);
}
}
return result;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,6 @@
import javax.xml.datatype.DatatypeFactory;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerWrapper;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.data.provider.SelectableBeanObjectDataProvider;
import com.evolveum.midpoint.gui.impl.page.admin.resource.ResourceDetailsModel;

import com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.objectType.ResourceObjectTypeWizardPreviewPanel.ResourceObjectTypePreviewTileType;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.schema.processor.*;

import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ShadowUtil;

import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ConfigurationException;

import com.evolveum.midpoint.web.component.AjaxIconButton;
import com.evolveum.midpoint.web.component.data.BoxedTablePanel;
import com.evolveum.midpoint.web.component.dialog.ConfirmationPanel;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import com.evolveum.midpoint.web.model.ContainerValueWrapperFromObjectWrapperModel;
import com.evolveum.midpoint.web.page.admin.shadows.ShadowTablePanel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.Component;
Expand All @@ -55,19 +29,41 @@
import com.evolveum.midpoint.gui.api.component.autocomplete.AutoCompleteQNamePanel;
import com.evolveum.midpoint.gui.api.component.autocomplete.AutoCompleteTextPanel;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerWrapper;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.data.provider.SelectableBeanObjectDataProvider;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.resource.ResourceDetailsModel;
import com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.objectType.ResourceObjectTypeWizardPreviewPanel.ResourceObjectTypePreviewTileType;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.schema.processor.ResourceObjectDefinition;
import com.evolveum.midpoint.schema.processor.ResourceSchema;
import com.evolveum.midpoint.schema.processor.ResourceSchemaFactory;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ShadowUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ConfigurationException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.AjaxIconButton;
import com.evolveum.midpoint.web.component.data.BoxedTablePanel;
import com.evolveum.midpoint.web.component.dialog.ConfirmationPanel;
import com.evolveum.midpoint.web.component.form.MidpointForm;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.model.ContainerValueWrapperFromObjectWrapperModel;
import com.evolveum.midpoint.web.page.admin.resources.ResourceContentRepositoryPanel;
import com.evolveum.midpoint.web.page.admin.resources.ResourceContentResourcePanel;
import com.evolveum.midpoint.web.page.admin.resources.content.dto.ResourceContentSearchDto;
import com.evolveum.midpoint.web.page.admin.shadows.ShadowTablePanel;
import com.evolveum.midpoint.web.session.ResourceContentStorage;
import com.evolveum.midpoint.web.session.SessionStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

/**
* @author katkav
Expand Down Expand Up @@ -329,13 +325,12 @@ public void onClick(AjaxRequestTarget target) {
}

private void updateSearchButtons(boolean repoSearch) {
getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT).setResourceSearch(!repoSearch);
getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT).setResourceSearch(repoSearch);
getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_RESOURCE_CONTENT).setResourceSearch(!repoSearch);

resourceContentSearch.getObject().setResourceSearch(!repoSearch);
this.isRepoSearch = repoSearch;
updateResourceContentSearch();

}

private void replaceContentPanel(AjaxRequestTarget target, Panel newPanel) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
*/
package com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.objectType.basic;

import com.evolveum.midpoint.gui.api.prism.wrapper.ItemMandatoryHandler;
import com.evolveum.midpoint.gui.api.prism.wrapper.ItemWrapper;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper;
import com.evolveum.midpoint.gui.impl.page.admin.resource.ResourceDetailsModel;
import com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.AbstractValueFormResourceWizardStepPanel;
Expand Down Expand Up @@ -61,4 +63,16 @@ protected IModel<?> getTextModel() {
protected IModel<?> getSubTextModel() {
return createStringResource("PageResource.wizard.step.objectType.delineation.subText");
}

@Override
protected ItemMandatoryHandler getMandatoryHandler() {
return this::checkMandatory;
}

protected boolean checkMandatory(ItemWrapper itemWrapper) {
if (itemWrapper.getItemName().equals(ResourceObjectTypeDelineationType.F_OBJECT_CLASS)) {
return true;
}
return itemWrapper.isMandatory();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -474,8 +474,11 @@ private void markObjects(IModel<SelectableBean<SimulationResultProcessedObjectTy
.type(PolicyStatementTypeType.APPLY));
}
try {
@SuppressWarnings("unchecked")
var type = (Class<? extends ObjectType>) page.getPrismContext().getSchemaRegistry()
.getCompileTimeClassForObjectType(shadow.getType());
var delta = page.getPrismContext().deltaFactory().object()
.createModificationAddContainer(ObjectType.class,
.createModificationAddContainer(type,
shadow.getOid(), ShadowType.F_POLICY_STATEMENT,
statements.toArray(new PolicyStatementType[0]));
page.getModelService().executeChanges(MiscUtil.createCollection(delta), null, task, result);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.component.ObjectListPanel;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.TitleWithDescriptionPanel;
import com.evolveum.midpoint.web.component.data.column.*;
Expand Down Expand Up @@ -362,6 +363,10 @@ protected Component createComponent(String componentId, IModel<String> labelMode
@Override
protected String load() {
ShadowType shadow = rowModel.getObject().getValue();
if (shadow == null) {
return null;
}

List<ObjectReferenceType> refs = shadow.getEffectiveMarkRef();
Object[] marks = refs.stream()
.map(ref -> WebModelServiceUtils.loadObject(ref, getPageBase()))
Expand All @@ -378,6 +383,20 @@ protected String load() {
protected boolean hasDescriptionCssInvisibleIfEmpty() {
return false;
}

@Override
protected void onTitleClicked(AjaxRequestTarget target) {
ShadowType object = rowModel.getObject().getValue();
if (object == null) {
return;
}
objectDetailsPerformed(target, object);
}

@Override
protected boolean isTitleLinkEnabled() {
return isClickable(rowModel);
}
};
}
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import com.evolveum.midpoint.prism.PrismContainer;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.path.PathSet;
import com.evolveum.midpoint.prism.polystring.PolyString;
Expand Down Expand Up @@ -132,6 +133,11 @@ private void appendLookupTableRows(

List<MLookupTableRow> result = query.fetch();

// Should we remove incomplete only if all rows are present?
var rowContainer = base.asPrismContainer().findContainer(F_ROW);
if (rowContainer != null) {
rowContainer.setIncomplete(false);
}
for (MLookupTableRow r : result) {
LookupTableRowType lookupRow = new LookupTableRowType().key(r.key);
if (r.labelOrig != null || r.labelNorm != null) {
Expand Down

0 comments on commit 1303c89

Please sign in to comment.