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
Sabria committed Apr 21, 2015
2 parents 4a67d83 + adf0147 commit 88c4d25
Show file tree
Hide file tree
Showing 21 changed files with 717 additions and 60 deletions.
Expand Up @@ -37,7 +37,6 @@ public DatePanel(String id, IModel<XMLGregorianCalendar> model) {
DateInput date = new DateInput(ID_INPUT, new XmlGregorianCalendarModel(model));
add(date);
}

@Override
public FormComponent getBaseFormComponent() {
return (FormComponent) get(ID_INPUT);
Expand Down
Expand Up @@ -384,10 +384,14 @@ private List<ContainerWrapper> createResourceContainerWrapper(PrismObject<Connec
ConnectorType connectorType = connector.asObjectable();
PrismSchema schema = ConnectorTypeUtil.parseConnectorSchema(connectorType, connector.getPrismContext());
PrismContainerDefinition definition = ConnectorTypeUtil.findConfigurationContainerDefintion(connectorType, schema);

ContainerStatus status = container != null ? ContainerStatus.MODIFYING : ContainerStatus.ADDING;
if (container == null) {
container = definition.instantiate();
// brutal hack - the definition has (errorneously) set maxOccurs = unbounded. But there can be only one configuration container.
// See MID-2317 and related issues
PrismContainerDefinition definitionFixed = definition.clone();
definitionFixed.setMaxOccurs(1);
container = definitionFixed.instantiate();
}

return createContainerWrapper(container, new ItemPath(ResourceType.F_CONNECTOR_CONFIGURATION), pageBase);
Expand Down
Expand Up @@ -17,6 +17,7 @@
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.validation.IValidatable;
import org.apache.wicket.validation.validator.AbstractValidator;
Expand Down Expand Up @@ -240,7 +241,7 @@ public void onClick(AjaxRequestTarget target, IModel<JasperReportParameterDto> r
public void populateItem(Item<ICellPopulator<JasperReportParameterDto>> cellItem,
String componentId, IModel<JasperReportParameterDto> rowModel) {
// TODO Auto-generated method stub
CheckBoxPanel checkBox = new CheckBoxPanel(componentId, new PropertyModel<Boolean>(rowModel, getPropertyExpression()), new PropertyModel<Boolean>(rowModel, getPropertyExpression()));
CheckBoxPanel checkBox = new CheckBoxPanel(componentId, new PropertyModel<Boolean>(rowModel, getPropertyExpression()), new Model<Boolean>(true));
cellItem.add(checkBox);
}

Expand Down
@@ -1,6 +1,7 @@
package com.evolveum.midpoint.web.page.admin.reports.component;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.xml.datatype.XMLGregorianCalendar;
Expand All @@ -10,15 +11,19 @@
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.datetime.markup.html.form.DateTextField;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;

import com.evolveum.midpoint.audit.api.AuditEventStage;
import com.evolveum.midpoint.audit.api.AuditEventType;
import com.evolveum.midpoint.prism.PrismContainer;
import com.evolveum.midpoint.prism.PrismContainerDefinition;
import com.evolveum.midpoint.prism.PrismContainerValue;
Expand All @@ -30,20 +35,25 @@
import com.evolveum.midpoint.report.api.ReportConstants;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.DateInput;
import com.evolveum.midpoint.web.component.data.TablePanel;
import com.evolveum.midpoint.web.component.data.column.EditablePropertyColumn;
import com.evolveum.midpoint.web.component.input.DatePanel;
import com.evolveum.midpoint.web.component.input.DropDownChoicePanel;
import com.evolveum.midpoint.web.component.input.TextPanel;
import com.evolveum.midpoint.web.component.prism.InputPanel;
import com.evolveum.midpoint.web.component.util.ListDataProvider;
import com.evolveum.midpoint.web.component.util.LoadableModel;
import com.evolveum.midpoint.web.component.util.SimplePanel;
import com.evolveum.midpoint.web.component.util.XmlGregorianCalendarModel;
import com.evolveum.midpoint.web.page.admin.reports.dto.JasperReportParameterDto;
import com.evolveum.midpoint.web.page.admin.reports.dto.ReportDto;
import com.evolveum.midpoint.web.util.WebMiscUtil;
import com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventStageType;
import com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventTypeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ReportParameterType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ReportType;

Expand Down Expand Up @@ -138,7 +148,7 @@ public void populateItem(Item<ICellPopulator<JasperReportParameterDto>> cellItem
final IModel<JasperReportParameterDto> rowModel) {
Component component = createTypedInputPanel(componentId, rowModel, getPropertyExpression());
cellItem.add(component);
cellItem.setOutputMarkupId(true);
// cellItem.setOutputMarkupId(true);
}

});
Expand All @@ -161,18 +171,37 @@ private Component createTypedInputPanel(String componentId, final IModel<JasperR
// TODO Auto-generated catch block
return null;
}
InputPanel panel = null;
if (type.isEnum()){
DropDownChoicePanel panel = WebMiscUtil.createEnumPanel(type, componentId, new PropertyModel(model, expression), this);
FormComponent component = panel.getBaseFormComponent();
component.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
return panel;
panel = WebMiscUtil.createEnumPanel(type, componentId, new PropertyModel(model, expression), this);
// FormComponent component = panel.getBaseFormComponent();
// component.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
// return panel;
} else if (XMLGregorianCalendar.class.isAssignableFrom(type)){
return new DateInput(componentId, new XmlGregorianCalendarModel(new PropertyModel<XMLGregorianCalendar>(model, expression)));
}
TextPanel panel = new TextPanel<String>(componentId, new PropertyModel<String>(model, expression));

FormComponent component = panel.getBaseFormComponent();
component.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
panel = new DatePanel(componentId, new PropertyModel<XMLGregorianCalendar>(model, expression));
// c.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
// FormComponent component = date.getBaseFormComponent();
// component.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
// return date;
// return new DateInput(componentId, new XmlGregorianCalendarModel(new PropertyModel<XMLGregorianCalendar>(model, expression)));
} else {
panel = new TextPanel<String>(componentId, new PropertyModel<String>(model, expression));
}
List<FormComponent> components = panel.getFormComponents();
for (FormComponent component : components){
Component c = component.get("date");
if (c != null){
c.add(new AjaxFormComponentUpdatingBehavior("change") {

@Override
protected void onUpdate(AjaxRequestTarget target) {
model.getObject().setValue(MiscUtil.asXMLGregorianCalendar((Date) getFormComponent().getConvertedInput()));
int i = 0;
}
});
}
component.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
}
return panel;

}
Expand All @@ -194,16 +223,26 @@ private void runConfirmPerformed(AjaxRequestTarget target, IModel<ReportDto> mod
continue;
}
QName typeName = null;
if (XmlTypeConverter.canConvert(paramDto.getType())){
typeName = XsdTypeMapper.toXsdType(paramDto.getType());
Object realValue = paramDto.getValue();
Class paramClass = paramDto.getType();
if (XmlTypeConverter.canConvert(paramClass)){
typeName = XsdTypeMapper.toXsdType(paramClass);
} else {
typeName = getPrismContext().getBeanConverter().determineTypeForClass(paramDto.getType());
}

if (AuditEventType.class.isAssignableFrom(paramClass)){
paramClass = AuditEventTypeType.class;
realValue = AuditEventType.fromAuditEventType((AuditEventType)realValue);
} else if (AuditEventStage.class.isAssignableFrom(paramClass)){
paramClass = AuditEventStageType.class;
realValue = AuditEventStage.fromAuditEventStage((AuditEventStage)realValue);
}
typeName = getPrismContext().getBeanConverter().determineTypeForClass(paramClass);
}
PrismPropertyDefinition def = new PrismPropertyDefinition<>(new QName(ReportConstants.NS_EXTENSION, paramDto.getName()), typeName, getPrismContext());
def.setDynamic(true);
def.setRuntimeSchema(true);
PrismProperty prop = def.instantiate();
prop.addRealValue(paramDto.getValue());
prop.addRealValue(realValue);
reportParamValue.add(prop);
//setPropertyRealValue(new QName(ReportConstants.NS_EXTENSION, paramDto.getName()), paramDto.getValue(), getPrismContext());
}
Expand All @@ -228,7 +267,7 @@ protected void runConfirmPerformed(AjaxRequestTarget target, ReportType reportTy
private static class EmptyOnBlurAjaxFormUpdatingBehaviour extends AjaxFormComponentUpdatingBehavior {

public EmptyOnBlurAjaxFormUpdatingBehaviour() {
super("onBlur");
super("change");
}

@Override
Expand Down
@@ -0,0 +1,22 @@
#
# Copyright (c) 2010-2013 Evolveum
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

page.title=Forgot Password
PageForgetPassword.resetPassword=Reset Password
PageForgetPassword.username=Username
PageForgetPassword.password=Password
PageForgetPassword.email=E-mail
pageForgetPassword.message.usernotfound=User Not Found
Expand Up @@ -108,6 +108,19 @@ AuditEventType.WORK_ITEM=Work item
AuditEventType.WORKFLOW_PROCESS_INSTANCE=Workflow process instance
AuditEventType.RECONCILIATION=Reconciliation

AuditEventTypeType.null=All
AuditEventTypeType.GET_OBJECT=Get object
AuditEventTypeType.ADD_OBJECT=Add object
AuditEventTypeType.MODIFY_OBJECT=Modify object
AuditEventTypeType.DELETE_OBJECT=Delete object
AuditEventTypeType.EXECUTE_CHANGES_RAW=Execute changes raw
AuditEventTypeType.SYNCHRONIZATION=Synchronization
AuditEventTypeType.CREATE_SESSION=Create session
AuditEventTypeType.TERMINATE_SESSION=Terminate session
AuditEventTypeType.WORK_ITEM=Work item
AuditEventTypeType.WORKFLOW_PROCESS_INSTANCE=Workflow process instance
AuditEventTypeType.RECONCILIATION=Reconciliation

ExportType.PDF=PDF
ExportType.CSV=CSV
ExportType.XML=XML
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Expand Up @@ -122,6 +122,9 @@ private void registerBuiltinSchemas(SchemaRegistry schemaRegistry) throws Schema
schemaRegistry.registerPrismDefaultSchemaResource("xml/ns/public/common/common-3.xsd", "c",
com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectFactory.class.getPackage()); // declared by default

schemaRegistry.registerPrismSchemaResource("xml/ns/public/common/audit-3.xsd", "aud",
com.evolveum.midpoint.xml.ns._public.common.audit_3.ObjectFactory.class.getPackage());

schemaRegistry.registerPrismSchemaResource("xml/ns/public/common/api-types-3.xsd", "apti",
com.evolveum.midpoint.xml.ns._public.common.api_types_3.ObjectFactory.class.getPackage());

Expand Down
Expand Up @@ -54,6 +54,8 @@
schemaLocation="http://prism.evolveum.com/xml/ns/public/query-3"/>
<xsd:import namespace="http://prism.evolveum.com/xml/ns/public/types-3"
schemaLocation="http://prism.evolveum.com/xml/ns/public/types-3"/>
<xsd:import namespace="http://midpoint.evolveum.com/xml/ns/public/common/audit-3"
schemaLocation="../../public/common/audit-3.xsd"/>

<xsd:import namespace="http://midpoint.evolveum.com/xml/ns/public/gui/admin-1"
schemaLocation="../../public/gui/admin-1.xsd"/>
Expand Down

0 comments on commit 88c4d25

Please sign in to comment.