Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into feature/admin-dashb…
Browse files Browse the repository at this point in the history
…oard
  • Loading branch information
skublik committed Apr 5, 2019
2 parents edc7b1d + 2c01162 commit 7d56632
Show file tree
Hide file tree
Showing 796 changed files with 32,610 additions and 11,331 deletions.
26 changes: 21 additions & 5 deletions build-system/pom.xml
Expand Up @@ -78,12 +78,12 @@
<jdbc.mariadb>2.3.0</jdbc.mariadb>
<jdbc.mysql>6.0.6</jdbc.mysql>
<wicket.version>8.0.0</wicket.version>
<groovy.version>2.4.14</groovy.version>
<groovy.version>2.5.6</groovy.version>
<activiti-engine.version>5.22.0</activiti-engine.version>
<activiti-spring.version>5.22.0</activiti-spring.version>
<commons-email.version>1.3</commons-email.version>
<xmlsec.version>2.0.6</xmlsec.version>
<connid.version>1.5.0.0</connid.version>
<connid.version>1.5.0.10</connid.version>
<jasper.version>6.5.0</jasper.version>
<derby.version>10.11.1.1</derby.version>
<wro4j.version>1.8.0</wro4j.version>
Expand All @@ -95,6 +95,7 @@
<jcommander.version>1.72</jcommander.version>
<failsafe.version>3.0.0-M2</failsafe.version>
<antrun.version>1.8</antrun.version>
<qpid-broker.version>7.1.1</qpid-broker.version>
</properties>
<dependencyManagement>
<dependencies>
Expand Down Expand Up @@ -223,6 +224,7 @@
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.python</groupId>
Expand Down Expand Up @@ -682,7 +684,7 @@
<dependency>
<groupId>com.evolveum.polygon</groupId>
<artifactId>connector-ldap</artifactId>
<version>2.0</version>
<version>2.1-SNAPSHOT</version>
</dependency>
<!-- End connectors -->
<dependency>
Expand Down Expand Up @@ -1224,9 +1226,23 @@
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.11.v20180605</version>
<version>9.4.12.v20180830</version>
</dependency>

<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
<version>${qpid-broker.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
<version>${qpid-broker.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-memory-store</artifactId>
<version>${qpid-broker.version}</version>
</dependency>
</dependencies>

</dependencyManagement>
Expand Down
2 changes: 1 addition & 1 deletion config/initial-objects/070-task-validity.xml
Expand Up @@ -23,7 +23,7 @@
<executionStatus>runnable</executionStatus>

<category>System</category>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/synchronization/task/focus-validation-scanner/handler-3</handlerUri>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/focus-validity-scanner/handler-3</handlerUri>
<recurrence>recurring</recurrence>
<binding>loose</binding>
<schedule>
Expand Down
Expand Up @@ -21,22 +21,26 @@
import com.evolveum.midpoint.prism.query.OrFilter;
import com.evolveum.midpoint.prism.query.RefFilter;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.web.component.data.column.ColumnUtils;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AbstractRoleType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentHolderType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

/**
Expand Down Expand Up @@ -74,6 +78,17 @@ true, getPageBase()) {

private static final long serialVersionUID = 1L;

@Override
protected List<IColumn<SelectableBean<O>, String>> createColumns() {
if (AbstractRoleType.class.isAssignableFrom(getType())){
List<IColumn<SelectableBean<O>, String>> columns = new ArrayList<>();
columns.addAll((Collection)ColumnUtils.getDefaultAbstractRoleColumns(false));
return columns;
} else {
return super.createColumns();
}
}

@Override
protected void onUpdateCheckbox(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel) {
onSelectionPerformed(target, rowModel);
Expand All @@ -92,6 +107,9 @@ protected IModel<Boolean> getCheckBoxEnableModel(IModel<SelectableBean<O>> rowMo
@Override
protected ObjectQuery addFilterToContentQuery(ObjectQuery query) {
ObjectQuery queryWithFilters = AbstractPopupTabPanel.this.addFilterToContentQuery(query);
if (queryWithFilters == null){
queryWithFilters = AbstractPopupTabPanel.this.getPageBase().getPrismContext().queryFactory().createQuery();
}
List<ObjectReferenceType> archetypeRefList = getArchetypeRefList();
if (!CollectionUtils.isEmpty(archetypeRefList)){
List<ObjectFilter> archetypeRefFilterList = new ArrayList<>();
Expand All @@ -105,14 +123,16 @@ protected ObjectQuery addFilterToContentQuery(ObjectQuery query) {
archetypeRefFilterList.add(filter);
}
if (!CollectionUtils.isEmpty(archetypeRefFilterList)){
if (queryWithFilters == null){
queryWithFilters = getPrismContext().queryFactory().createQuery();
}
OrFilter archetypeRefOrFilter =
AbstractPopupTabPanel.this.getPageBase().getPrismContext().queryFactory().createOr(archetypeRefFilterList);
queryWithFilters.addFilter(archetypeRefOrFilter);
}
}

ObjectFilter subTypeFilter = getSubtypeFilter();
if (subTypeFilter != null){
queryWithFilters.addFilter(subTypeFilter);
}
return queryWithFilters;
}

Expand Down Expand Up @@ -160,6 +180,10 @@ protected List<ObjectReferenceType> getArchetypeRefList(){
return null;
}

protected ObjectFilter getSubtypeFilter(){
return null;
}

protected boolean isObjectListPanelVisible(){
return true;
}
Expand Down
Expand Up @@ -19,6 +19,7 @@
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.TabbedPanel;
Expand Down Expand Up @@ -201,6 +202,11 @@ protected QName getPredefinedRelation() {
protected List<ObjectReferenceType> getArchetypeRefList(){
return AssignmentPopup.this.getArchetypeRefList();
}

@Override
protected ObjectFilter getSubtypeFilter(){
return AssignmentPopup.this.getSubtypeFilter();
}
};
}

Expand Down Expand Up @@ -246,6 +252,11 @@ protected QName getPredefinedRelation() {
protected List<ObjectReferenceType> getArchetypeRefList(){
return AssignmentPopup.this.getArchetypeRefList();
}

@Override
protected ObjectFilter getSubtypeFilter(){
return AssignmentPopup.this.getSubtypeFilter();
}
};
}

Expand Down Expand Up @@ -345,6 +356,10 @@ protected List<ObjectReferenceType> getArchetypeRefList(){
return null;
}

protected ObjectFilter getSubtypeFilter(){
return null;
}

private boolean isTabVisible(ObjectTypes objectType){
List<ObjectTypes> availableObjectTypesList = getAvailableObjectTypesList();
return availableObjectTypesList == null || availableObjectTypesList.size() == 0 || availableObjectTypesList.contains(objectType);
Expand Down
Expand Up @@ -17,13 +17,20 @@

import com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismPropertyDefinition;
import com.evolveum.midpoint.prism.PrismReferenceValue;
import com.evolveum.midpoint.prism.PrismValue;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.task.api.TaskCategory;
import com.evolveum.midpoint.util.DOMUtil;
import com.evolveum.midpoint.util.QNameUtil;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
Expand All @@ -34,7 +41,13 @@
import com.evolveum.midpoint.web.component.util.EnableBehaviour;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.roles.MemberOperationsHelper;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import com.evolveum.midpoint.xml.ns._public.model.scripting_3.ActionExpressionType;
import com.evolveum.midpoint.xml.ns._public.model.scripting_3.ActionParameterValueType;
import com.evolveum.midpoint.xml.ns._public.model.scripting_3.SearchExpressionType;
import com.evolveum.prism.xml.ns._public.types_3.RawType;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AttributeAppender;
Expand All @@ -44,6 +57,7 @@
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.StringResourceModel;

import javax.xml.bind.JAXBElement;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -118,9 +132,9 @@ public void onClick(AjaxRequestTarget target) {
if (selectedObjects == null || selectedObjects.size() == 0){
continue;
}
executeMemberOperation(memberPanel.getObjectType().getTypeQName(),
createInOidQuery(selectedObjects),
memberPanel.prepareDelta(), target);
executeMemberOperation(memberPanel.getAbstractRoleTypeObject(), getDefaultTargetType(),
createInOidQuery(selectedObjects), memberPanel.getRelationValue(),
memberPanel.getObjectType().getTypeQName(), target, getPageBase());
if (memberPanel.getObjectType().equals(ObjectTypes.ORG)){
orgPanelProcessed = true;
}
Expand Down Expand Up @@ -376,24 +390,12 @@ private boolean isAddButtonEnabled(){
return false;
}

protected void executeMemberOperation(QName type, ObjectQuery memberQuery,
ObjectDelta delta, AjaxRequestTarget target) {

Task operationalTask = getPageBase().createSimpleTask("Add.members");
OperationResult parentResult = operationalTask.getResult();

try {
WebComponentUtil.executeMemberOperation(operationalTask, type, memberQuery, delta, TaskCategory.EXECUTE_CHANGES, parentResult, getPageBase());
} catch (SchemaException e) {
parentResult.recordFatalError(parentResult.getOperation(), e);
LoggingUtils.logUnexpectedException(LOGGER,
"Failed to execute operation " + parentResult.getOperation(), e);
target.add(getPageBase().getFeedbackPanel());
}

target.add(getPageBase().getFeedbackPanel());
protected void executeMemberOperation(AbstractRoleType targetObject, QName targetType, ObjectQuery query,
QName relation, QName type, AjaxRequestTarget target, PageBase pageBase) {
MemberOperationsHelper.assignMembersPerformed(targetObject, targetType, query,
relation, type, target, pageBase);
}

protected abstract T getAssignmentTargetRefObject();

public int getWidth(){
Expand Down Expand Up @@ -421,4 +423,8 @@ public StringResourceModel getTitle(){
public Component getComponent(){
return this;
}

protected QName getDefaultTargetType() {
return RoleType.COMPLEX_TYPE;
}
}
Expand Up @@ -72,5 +72,10 @@ public String getCount() {
});
return tabs;
}

@Override
protected QName getDefaultTargetType() {
return OrgType.COMPLEX_TYPE;
}

}
Expand Up @@ -153,7 +153,10 @@ private IModel<String> createHeaderModel() {
}
String objectTemplateNameValue = objectTemplate.getTargetName().toString();
StringBuilder sb = new StringBuilder();
sb.append(typeValue.getLocalPart()).append(" - ").append(objectTemplateNameValue);
if(typeValue != null) {
sb.append(typeValue.getLocalPart()).append(" - ");
}
sb.append(objectTemplateNameValue);
return Model.of(sb.toString());
}
PrismProperty<String> name = getModelObject().asPrismContainerValue().findProperty(ObjectType.F_NAME);
Expand Down
Expand Up @@ -22,7 +22,7 @@
<label>
<wicket:message key="roleMemberPanel.type"/>
</label>
<select class="form-control input-sm" wicket:id="type"/>
<div wicket:id="type"/>
</div>
</div>
</wicket:extend>
Expand Down
Expand Up @@ -22,13 +22,15 @@
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.input.DropDownChoicePanel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.EnumChoiceRenderer;
import org.apache.wicket.model.Model;

import javax.xml.namespace.QName;
import java.util.ArrayList;
Expand Down Expand Up @@ -59,20 +61,19 @@ protected void onInitialize(){
typePanel.setOutputMarkupId(true);
add(typePanel);

DropDownChoice<ObjectTypes> typeSelect = new DropDownChoice<>(ID_TYPE, new LoadableModel<ObjectTypes>() {
DropDownChoicePanel<ObjectTypes> typeSelect = new DropDownChoicePanel<ObjectTypes>(ID_TYPE, new LoadableModel<ObjectTypes>() {
@Override
protected ObjectTypes load() {
return defaultObjectType;
}
},
getSupportedTypesList(), new EnumChoiceRenderer<>(this));
typeSelect.add(new OnChangeAjaxBehavior() {
}, Model.ofList(getSupportedTypesList()), new EnumChoiceRenderer<>(this));
typeSelect.getBaseFormComponent().add(new OnChangeAjaxBehavior() {

private static final long serialVersionUID = 1L;

@Override
protected void onUpdate(AjaxRequestTarget target) {
defaultObjectType = typeSelect.getModelObject();
defaultObjectType = typeSelect.getModel().getObject();
MultiTypesMemberPopupTabPanel.this.addOrReplace(initObjectListPanel());
target.add(MultiTypesMemberPopupTabPanel.this);
}
Expand All @@ -92,7 +93,7 @@ protected ObjectDelta prepareDelta(){
}

protected List<ObjectTypes> getSupportedTypesList(){
List<ObjectTypes> supportedTypes = new ArrayList<>(Arrays.asList(ObjectTypes.values()));
List<ObjectTypes> supportedTypes = WebComponentUtil.createAssignmentHolderTypesList();
supportedTypes.remove(ObjectTypes.USER);
supportedTypes.remove(ObjectTypes.ROLE);
supportedTypes.remove(ObjectTypes.SERVICE);
Expand Down

0 comments on commit 7d56632

Please sign in to comment.