Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed May 12, 2016
2 parents f124617 + 8040918 commit 570baf9
Show file tree
Hide file tree
Showing 22 changed files with 1,819 additions and 1,440 deletions.
3 changes: 2 additions & 1 deletion README.md
Expand Up @@ -25,7 +25,7 @@ The most important features of midPoint are:
- Entitlements
- Support for ConnId and OpenICF connectors
- Provisioning consistency and error handling
- Segregation of Duties (SoG)
- Segregation of Duties (SoD)
- Support for security auditing and reporting
- Workflow
- Reporting
Expand All @@ -50,6 +50,7 @@ Latest source code can be obtained from our Git repository using one of the
following repository locations:

https://github.com/Evolveum/midpoint.git

git@github.com:Evolveum/midpoint.git

This project is developed under Apache license (version 2.0) You may get copy
Expand Down
2 changes: 1 addition & 1 deletion build-system/pom.xml
Expand Up @@ -1326,7 +1326,7 @@
<midpoint.home>target/midpoint-home</midpoint.home>
<java.util.logging.config.file>${project.build.directory}/test-classes/logging.properties</java.util.logging.config.file>
</systemPropertyVariables>
<argLine>-Xms512m -Xmx1024m -XX:MaxPermSize=192m</argLine>
<argLine>-Xms1024m -Xmx2048m -XX:MaxPermSize=256m</argLine>
<!--<argLine>-agentpath:/usr/local/yjp-11.0.10/bin/linux-x86-64/libyjpagent.so=alloceach=10,allocsizelimit=1048576,sampling,walltimespec=/home/lazyman/.yjp/config/.walltime,noj2ee,profileruipath=/usr/local/yjp-11.0.10/bin/yjp.sh,onexit=snapshot
-Xms512m -Xmx1024m -XX:MaxPermSize=192m</argLine> -->

Expand Down
Expand Up @@ -212,6 +212,15 @@ public String getChannel() {

private WebComponentUtil() {
}

public static Class<?> qnameToClass(PrismContext prismContext, QName type) {
return prismContext.getSchemaRegistry().determineCompileTimeClass(type);
}

public static <T extends ObjectType> QName classToQName(PrismContext prismContext, Class<T> clazz) {
return prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(clazz).getTypeName();
}


public static TaskType createSingleRecurenceTask(String taskName, QName applicableType, ObjectQuery query,
ObjectDelta delta, String category, PageBase pageBase) throws SchemaException {
Expand Down
Expand Up @@ -17,7 +17,6 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div wicket:id="templateConfigModal"/>

<label class="col-md-4 control-label" wicket:id="label" />

Expand Down
Expand Up @@ -16,25 +16,13 @@

package com.evolveum.midpoint.web.component;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.util.SimplePanel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyDialog;
import com.evolveum.midpoint.web.page.admin.configuration.dto.ObjectPolicyConfigurationTypeDto;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateType;
import java.util.Iterator;
import java.util.List;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.feedback.ComponentFeedbackMessageFilter;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
Expand All @@ -45,22 +33,27 @@
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;

import java.util.Iterator;
import java.util.List;
import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyPanel;
import com.evolveum.midpoint.web.page.admin.configuration.dto.ObjectPolicyConfigurationTypeDto;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;

/**
* @author shood
*/

public class ObjectPolicyConfigurationEditor extends SimplePanel<List<ObjectPolicyConfigurationTypeDto>> {
public class ObjectPolicyConfigurationEditor extends BasePanel<List<ObjectPolicyConfigurationTypeDto>> {

private static final Trace LOGGER = TraceManager.getTrace(ObjectPolicyConfigurationEditor.class);
private static final long serialVersionUID = 1L;

private static final String DOT_CLASS = ObjectPolicyConfigurationEditor.class.getName() + ".";

private static final String OPERATION_LOAD_OBJECT_TEMPLATE = DOT_CLASS + "loadObjectTemplate";
private static final Trace LOGGER = TraceManager.getTrace(ObjectPolicyConfigurationEditor.class);

private static final String ID_TEMPLATE_CONFIG_MODAL = "templateConfigModal";

private static final String ID_LABEL = "label";
private static final String ID_REPEATER = "repeater";
Expand All @@ -79,22 +72,25 @@ public ObjectPolicyConfigurationEditor(String id, IModel<List<ObjectPolicyConfig
super(id, model);

setOutputMarkupId(true);

initLayout();
}

@Override
protected void initLayout(){

final Label label = new Label(ID_LABEL, createStringResource("objectPolicyConfigurationEditor.label"));
add(label);

ListView repeater = new ListView<ObjectPolicyConfigurationTypeDto>(ID_REPEATER, getModel()) {
ListView<ObjectPolicyConfigurationTypeDto> repeater = new ListView<ObjectPolicyConfigurationTypeDto>(ID_REPEATER, getModel()) {
private static final long serialVersionUID = 1L;

@Override
protected void populateItem(final ListItem item) {
protected void populateItem(final ListItem<ObjectPolicyConfigurationTypeDto> item) {
WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER);
textWrapper.add(AttributeAppender.prepend("class", new AbstractReadOnlyModel<String>(){
private static final long serialVersionUID = 1L;

@Override
@Override
public String getObject(){
if(item.getIndex() > 0){
return OFFSET_CLASS + " " + CLASS_MULTI_VALUE;
Expand All @@ -105,9 +101,11 @@ public String getObject(){
}));
item.add(textWrapper);

TextField name = new TextField<>(ID_NAME, createNameModel(item.getModel()));
TextField<String> name = new TextField<>(ID_NAME, createNameModel(item.getModel()));
name.setOutputMarkupId(true);
name.add(new AjaxFormComponentUpdatingBehavior("blur") {
private static final long serialVersionUID = 1L;

@Override
protected void onUpdate(AjaxRequestTarget target) {}
});
Expand All @@ -118,7 +116,8 @@ protected void onUpdate(AjaxRequestTarget target) {}
FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(name));
textWrapper.add(feedback);

AjaxLink edit = new AjaxLink(ID_BUTTON_EDIT) {
AjaxLink<String> edit = new AjaxLink<String>(ID_BUTTON_EDIT) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
Expand All @@ -129,6 +128,7 @@ public void onClick(AjaxRequestTarget target) {

WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP);
buttonGroup.add(AttributeAppender.append("class", new AbstractReadOnlyModel<String>() {
private static final long serialVersionUID = 1L;

@Override
public String getObject() {
Expand All @@ -144,27 +144,27 @@ public String getObject() {
}
};

initDialog();
// initDialog();
repeater.setOutputMarkupId(true);
add(repeater);
}

private void initDialog(){
ModalWindow editor = new ObjectPolicyDialog(ID_TEMPLATE_CONFIG_MODAL, null){

@Override
protected void savePerformed(AjaxRequestTarget target){
ObjectPolicyConfigurationTypeDto oldConfig = getModel().getObject().getConfig();
ObjectPolicyConfigurationTypeDto newConfig = getModel().getObject().preparePolicyConfig();

ObjectPolicyConfigurationEditor.this.replace(oldConfig, newConfig);

target.add(ObjectPolicyConfigurationEditor.this);
close(target);
}
};
add(editor);
}
// private void initDialog(){
// ModalWindow editor = new ObjectPolicyPanel(ID_TEMPLATE_CONFIG_MODAL, null){
//
// @Override
// protected void savePerformed(AjaxRequestTarget target){
// ObjectPolicyConfigurationTypeDto oldConfig = getModel().getObject().getConfig();
// ObjectPolicyConfigurationTypeDto newConfig = getModel().getObject().preparePolicyConfig();
//
// ObjectPolicyConfigurationEditor.this.replace(oldConfig, newConfig);
//
// target.add(ObjectPolicyConfigurationEditor.this);
// close(target);
// }
// };
// add(editor);
// }

private void replace(ObjectPolicyConfigurationTypeDto old, ObjectPolicyConfigurationTypeDto newC){
boolean added = false;
Expand All @@ -184,15 +184,17 @@ private void replace(ObjectPolicyConfigurationTypeDto old, ObjectPolicyConfigura
}
}

private void initButtons(WebMarkupContainer buttonGroup, final ListItem item){
AjaxLink add = new AjaxLink(ID_BUTTON_ADD) {
private void initButtons(WebMarkupContainer buttonGroup, final ListItem<ObjectPolicyConfigurationTypeDto> item){
AjaxLink<String> add = new AjaxLink<String>(ID_BUTTON_ADD) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
addPerformed(target);
}
};
add.add(new VisibleEnableBehaviour() {
private static final long serialVersionUID = 1L;

@Override
public boolean isVisible() {
Expand All @@ -201,15 +203,17 @@ public boolean isVisible() {
});
buttonGroup.add(add);

AjaxLink remove = new AjaxLink(ID_BUTTON_REMOVE) {
AjaxLink<String> remove = new AjaxLink<String>(ID_BUTTON_REMOVE) {
private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
removePerformed(target, item);
}
};
remove.add(new VisibleEnableBehaviour() {

private static final long serialVersionUID = 1L;

@Override
public boolean isVisible() {
return isRemoveButtonVisible();
Expand All @@ -218,7 +222,7 @@ public boolean isVisible() {
buttonGroup.add(remove);
}

protected boolean isAddButtonVisible(ListItem item) {
protected boolean isAddButtonVisible(ListItem<ObjectPolicyConfigurationTypeDto> item) {
int size = getModelObject().size();
if (size <= 1) {
return true;
Expand All @@ -241,10 +245,10 @@ protected boolean isRemoveButtonVisible() {

private IModel<String> createNameModel(final IModel<ObjectPolicyConfigurationTypeDto> model){
return new LoadableModel<String>() {
private static final long serialVersionUID = 1L;

@Override
@Override
public String load() {
OperationResult result = new OperationResult(OPERATION_LOAD_OBJECT_TEMPLATE);
StringBuilder sb = new StringBuilder();
ObjectPolicyConfigurationTypeDto config = model.getObject();

Expand Down Expand Up @@ -272,7 +276,7 @@ private void addPerformed(AjaxRequestTarget target){
target.add(this);
}

private void removePerformed(AjaxRequestTarget target, ListItem item){
private void removePerformed(AjaxRequestTarget target, ListItem<ObjectPolicyConfigurationTypeDto> item){
List<ObjectPolicyConfigurationTypeDto> list = getModelObject();
Iterator<ObjectPolicyConfigurationTypeDto> iterator = list.iterator();

Expand All @@ -292,10 +296,25 @@ private void removePerformed(AjaxRequestTarget target, ListItem item){
target.add(this);
}

private void editPerformed(AjaxRequestTarget target, ListItem item){
ObjectPolicyDialog window = (ObjectPolicyDialog) get(ID_TEMPLATE_CONFIG_MODAL);
window.updateModel(target, (ObjectPolicyConfigurationTypeDto)item.getModelObject());
window.show(target);
private void editPerformed(AjaxRequestTarget target, ListItem<ObjectPolicyConfigurationTypeDto> item){
ObjectPolicyPanel objectPolicyPanel = new ObjectPolicyPanel(getPageBase().getMainPopupBodyId(), item.getModelObject()) {
private static final long serialVersionUID = 1L;

@Override
protected void savePerformed(AjaxRequestTarget target){
ObjectPolicyConfigurationTypeDto oldConfig = getModel().getObject().getConfig();
ObjectPolicyConfigurationTypeDto newConfig = getModel().getObject().preparePolicyConfig();

ObjectPolicyConfigurationEditor.this.replace(oldConfig, newConfig);
ObjectPolicyConfigurationEditor.this.getPageBase().hideMainPopup(target);
target.add(ObjectPolicyConfigurationEditor.this);
}
};
objectPolicyPanel.setOutputMarkupId(true);
getPageBase().showMainPopup(objectPolicyPanel, target);
// ObjectPolicyPanel window = (ObjectPolicyPanel) get(ID_TEMPLATE_CONFIG_MODAL);
// window.updateModel(target, (ObjectPolicyConfigurationTypeDto)item.getModelObject());
// window.show(target);
}

}

0 comments on commit 570baf9

Please sign in to comment.