Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint into HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Mar 2, 2020
2 parents 20f8ae1 + d9553f8 commit fcc6c31
Show file tree
Hide file tree
Showing 22 changed files with 291 additions and 88 deletions.
Expand Up @@ -28,6 +28,7 @@ public DatePanel(String id, IModel<XMLGregorianCalendar> model) {
super(id);

DateInput date = new DateInput(ID_INPUT, new XmlGregorianCalendarModel(model));
date.setOutputMarkupId(true);
add(date);
}

Expand Down
Expand Up @@ -27,6 +27,7 @@
import com.evolveum.midpoint.web.component.prism.ValueStatus;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.page.admin.configuration.PageSystemConfiguration;
import com.evolveum.midpoint.web.page.admin.server.OperationalButtonsPanel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

Expand Down Expand Up @@ -149,6 +150,9 @@ protected void onTimer(AjaxRequestTarget target) {

@Override
protected IModel<String> createPageTitleModel() {
if (PageAdminObjectDetails.this instanceof PageSystemConfiguration){
return super.createPageTitleModel();
}
String simpleName = getObjectSimpleName();
String lokalizedSimpleName = new StringResourceModel("ObjectType." + simpleName).setDefaultValue(simpleName).getString();
if (isAdd()) {
Expand Down
Expand Up @@ -8,8 +8,10 @@

import javax.xml.datatype.XMLGregorianCalendar;

import com.evolveum.midpoint.web.page.admin.configuration.component.EmptyOnBlurAjaxFormUpdatingBehaviour;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.model.IModel;
import org.apache.wicket.spring.injection.annot.SpringBean;

Expand Down
Expand Up @@ -12,6 +12,8 @@

import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.web.session.OrgStructurePanelStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

import org.apache.commons.lang3.ObjectUtils;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
Expand All @@ -30,7 +32,6 @@
import com.evolveum.midpoint.prism.polystring.PolyString;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ObjectQueryUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
Expand Down Expand Up @@ -165,9 +166,12 @@ private List<PrismObject<OrgType>> loadOrgRoots() {

List<PrismObject<OrgType>> list = new ArrayList<>();
try {
ObjectQuery query = ObjectQueryUtil.createRootOrgQuery(getPageBase().getPrismContext());
ObjectQuery query = getPageBase().getPrismContext().queryFor(OrgType.class)
.isRoot()
.asc(OrgType.F_NAME)
.build();
ObjectFilter assignableItemsFilter = getAssignableItemsFilter();
if (assignableItemsFilter != null){
if (assignableItemsFilter != null) {
query.addFilter(assignableItemsFilter);
}
list = getPageBase().getModelService().searchObjects(OrgType.class, query, null, task, result);
Expand Down
Expand Up @@ -161,7 +161,7 @@ protected IModel<String> createPageTitleModel() {
@Override
protected String load() {
if (editedResourceOid == null) {
return PageResourceWizard.super.createPageTitleModel().getObject();
return createStringResource("PageResourceWizard.title").getString();
}
String name = WebComponentUtil.getName(modelRaw.getObject());
return createStringResource("PageResourceWizard.title.edit", name).getString();
Expand Down
Expand Up @@ -10,6 +10,7 @@

import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;

import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;

Expand Down Expand Up @@ -61,6 +62,11 @@ protected boolean isSelfProfile(){
return true;
}

@Override
protected IModel<String> createPageTitleModel() {
return createStringResource("PageAdmin.menu.profile");
}

@Override
protected void createBreadcrumb() {
super.createBreadcrumb();
Expand Down
Expand Up @@ -12,6 +12,7 @@

import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType;

import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;

Expand Down Expand Up @@ -65,6 +66,11 @@ protected boolean isSelfProfile(){
return true;
}

@Override
protected IModel<String> createPageTitleModel() {
return createStringResource("PageAdmin.menu.profile");
}

@Override
protected void createBreadcrumb() {
super.createBreadcrumb();
Expand Down
Expand Up @@ -10,6 +10,7 @@

import com.evolveum.midpoint.xml.ns._public.common.common_3.ServiceType;

import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;

Expand Down Expand Up @@ -63,6 +64,11 @@ protected boolean isSelfProfile(){
return true;
}

@Override
protected IModel<String> createPageTitleModel() {
return createStringResource("PageAdmin.menu.profile");
}

@Override
protected void createBreadcrumb() {
super.createBreadcrumb();
Expand Down
Expand Up @@ -8,6 +8,7 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;

import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;

Expand Down Expand Up @@ -65,6 +66,11 @@ protected String getObjectOidParameter() {
}


@Override
protected IModel<String> createPageTitleModel() {
return createStringResource("PageAdmin.menu.profile");
}

@Override
protected boolean isSelfProfile(){
return true;
Expand Down
Expand Up @@ -41,10 +41,13 @@ public class TestPageOrg extends AbstractInitializedGuiIntegrationTest {
private static final Trace LOGGER = TraceManager.getTrace(TestPageOrg.class);

private static final String MAIN_FORM = "mainPanel:mainForm";
private static final String FORM_INPUT_DESCRIPTION = "tabPanel:panel:basicSystemConfiguration:values:0:value:propertiesLabel:properties:1:property:values:0:valueContainer:form:input:input";
// private static final String FORM_INPUT_DESCRIPTION = "tabPanel:panel:basicSystemConfiguration:values:0:value:propertiesLabel:properties:1:property:values:0:valueContainer:form:input:input";
private static final String PATH_FORM_NAME = "tabPanel:panel:main:values:0:value:propertiesLabel:properties:0:property:values:0:valueContainer:form:input:originValueContainer:origValueWithButton:origValue:input";
private static final String FORM_SAVE = "save";

private static final String NEW_ORG_NAME = "A-newOrg"; // starts with "A" to be alphabetically first
private static final String NEW_ORG_CHILD_NAME = "newOrgChild";

@Override
public void initSystem(Task initTask, OperationResult initResult) throws Exception {
super.initSystem(initTask, initResult);
Expand All @@ -69,12 +72,12 @@ public void test003testAddNewOrg() throws Exception {
renderPage(PageOrgUnit.class);

FormTester formTester = tester.newFormTester(MAIN_FORM, false);
formTester.setValue(PATH_FORM_NAME, "newOrg");
formTester = formTester.submit(FORM_SAVE);
formTester.setValue(PATH_FORM_NAME, NEW_ORG_NAME);
formTester.submit(FORM_SAVE);

Thread.sleep(5000);

PrismObject<OrgType> newOrg = findObjectByName(OrgType.class, "newOrg");
PrismObject<OrgType> newOrg = findObjectByName(OrgType.class, NEW_ORG_NAME);
assertNotNull(newOrg, "New org not created.");
LOGGER.info("created org: {}", newOrg.debugDump());
}
Expand All @@ -86,25 +89,22 @@ public void test004testCreateChild() throws Exception {
tester.assertRenderedPage(PageOrgUnit.class);

FormTester formTester = tester.newFormTester(MAIN_FORM, false);
formTester.setValue(PATH_FORM_NAME, "newOrgChild");
formTester = formTester.submit(FORM_SAVE);
formTester.setValue(PATH_FORM_NAME, NEW_ORG_CHILD_NAME);
formTester.submit(FORM_SAVE);

Thread.sleep(5000);

PrismObject<OrgType> newOrgChild = findObjectByName(OrgType.class, "newOrgChild");
PrismObject<OrgType> newOrg = findObjectByName(OrgType.class, "newOrg");
PrismObject<OrgType> newOrgChild = findObjectByName(OrgType.class, NEW_ORG_CHILD_NAME);
PrismObject<OrgType> newOrg = findObjectByName(OrgType.class, NEW_ORG_NAME);
assertNotNull(newOrgChild, "New org not created.");
assertAssignedOrg(newOrgChild, newOrg.getOid());
}

private Page renderPage(Class<? extends Page> expectedRenderedPageClass) {
private void renderPage(Class<? extends Page> expectedRenderedPageClass) {
LOGGER.info("render page system configuration");
PageParameters params = new PageParameters();
Page pageAccount = tester.startPage(expectedRenderedPageClass, params);
tester.startPage(expectedRenderedPageClass, params);

tester.assertRenderedPage(expectedRenderedPageClass);

return pageAccount;
}

}
Expand Up @@ -46,13 +46,12 @@
public final class QueryBuilder {

final private Class<? extends Containerable> queryClass;
final private ComplexTypeDefinition containerCTD;
final private PrismContext prismContext;

private QueryBuilder(Class<? extends Containerable> queryClass, PrismContext prismContext) {
this.queryClass = queryClass;
this.prismContext = prismContext;
containerCTD = prismContext.getSchemaRegistry().findComplexTypeDefinitionByCompileTimeClass(queryClass);
ComplexTypeDefinition containerCTD = prismContext.getSchemaRegistry().findComplexTypeDefinitionByCompileTimeClass(queryClass);
if (containerCTD == null) {
throw new IllegalArgumentException("Couldn't find definition for complex type " + queryClass);
}
Expand All @@ -69,13 +68,4 @@ public PrismContext getPrismContext() {
public static S_FilterEntryOrEmpty queryFor(Class<? extends Containerable> queryClass, PrismContext prismContext) {
return R_Filter.create(new QueryBuilder(queryClass, prismContext));
}

// ItemDefinition findItemDefinition(ItemPath itemPath) throws SchemaException {
// ItemDefinition itemDefinition = containerCTD.findItemDefinition(itemPath);
// if (itemDefinition == null) {
// throw new SchemaException("Couldn't find definition for '" + itemPath + "' in " + containerCTD);
// }
// return itemDefinition;
// }

}

0 comments on commit fcc6c31

Please sign in to comment.