Skip to content

Commit

Permalink
Merge branch 'master' into closure
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Oct 10, 2014
2 parents f591b44 + cc4b4f6 commit d543ed4
Show file tree
Hide file tree
Showing 41 changed files with 617 additions and 325 deletions.
Expand Up @@ -3,7 +3,7 @@ NameStep.connectorBundle=Bundle
NameStep.connectorInformation=Information
NameStep.connectorName=Connector name
NameStep.connectorNotSelected=Connector was not selected.
NameStep.connectorType=Type
NameStep.connectorType=Connector
NameStep.connectorVersion=Connector version
NameStep.hostNotUsed=Not used
NameStep.location=Location
Expand Down
Expand Up @@ -4,7 +4,7 @@ NameStep.connectorHost=Connector host
NameStep.connectorInformation=Information
NameStep.connectorName=Connector name
NameStep.connectorNotSelected=Connector was not selected.
NameStep.connectorType=Connector type
NameStep.connectorType=Connector
NameStep.connectorVersion=Connector version
NameStep.description=Description
NameStep.hostNotUsed=Not used
Expand Down
Expand Up @@ -4,7 +4,7 @@ NameStep.connectorHost=Connector host
NameStep.connectorInformation=Information
NameStep.connectorName=Connector name
NameStep.connectorNotSelected=Connector was not selected.
NameStep.connectorType=Type
NameStep.connectorType=Connector
NameStep.connectorVersion=Connector version
NameStep.description=Description
NameStep.hostNotUsed=Not used
Expand Down
Expand Up @@ -436,7 +436,7 @@ private String createAssociationTooltipText(PrismProperty property){
PrismObject<ShadowType> shadowPrism = (PrismObject<ShadowType>)property.getParent().getParent();
ShadowType shadow = shadowPrism.asObjectable();

if(shadow.getActivation() != null){
if(shadow.getAttributes() != null){
ShadowAttributesType attributes = shadow.getAttributes();
AnyArrayList attrs = (AnyArrayList)attributes.getAny();

Expand Down
Expand Up @@ -26,14 +26,17 @@
<table class="table table-striped table-condensed">
<tbody wicket:id="tableRows">
<tr wicket:id="capabilityRow">
<td class="capability-item">
<td class="capability-item" style="padding: 10px;">
<a wicket:id="capabilityLink">
<button wicket:id="capabilityDelete" type="button" class="close">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
<span class="close">&nbsp;</span>
<button type="button" class="close"><span aria-hidden="true">&#8627;</span><span class="sr-only">Expand</span></button>
<span wicket:id="capabilityName" />
</a>
</td>
<td>
<a wicket:id="capabilityDelete" class="btn btn-danger btn-sm"><i class="fa fa-fw fa-minus" /></a>
</td>
</tr>
</tbody>
</table>
Expand Down
Expand Up @@ -196,7 +196,7 @@ public void onClick(AjaxRequestTarget target) {
deleteCapabilityPerformed(target, dto);
}
};
capabilityRow.add(deleteLink);
name.add(deleteLink);

capabilityRow.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<Object>() {

Expand Down
Expand Up @@ -21,6 +21,5 @@
<div class="form-group" wicket:id="description"/>
<div class="form-group" wicket:id="location"/>
<div class="form-group" wicket:id="connectorType"/>
<div class="form-group" wicket:id="connectorVersion"/>
</wicket:panel>
</html>
Expand Up @@ -20,13 +20,11 @@
import com.evolveum.midpoint.model.api.ModelService;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.PrismReference;
import com.evolveum.midpoint.prism.PrismReferenceValue;
import com.evolveum.midpoint.prism.delta.DiffUtil;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
Expand All @@ -35,7 +33,6 @@
import com.evolveum.midpoint.web.component.form.TextFormGroup;
import com.evolveum.midpoint.web.component.util.LoadableModel;
import com.evolveum.midpoint.web.component.util.PrismPropertyModel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.component.wizard.WizardStep;
import com.evolveum.midpoint.web.component.wizard.resource.dto.ConnectorHostTypeComparator;
import com.evolveum.midpoint.web.page.PageBase;
Expand Down Expand Up @@ -82,7 +79,6 @@ public class NameStep extends WizardStep {

//filtered, based on selection
private LoadableModel<List<PrismObject<ConnectorType>>> connectorTypes;
private LoadableModel<List<PrismObject<ConnectorType>>> connectorVersions;

public NameStep(IModel<PrismObject<ResourceType>> model) {
this.resourceModel = model;
Expand Down Expand Up @@ -121,66 +117,6 @@ private void initLayout() {

DropDownFormGroup<PrismObject<ConnectorType>> connectorType = createConnectorTypeDropDown(location.getModel());
add(connectorType);

DropDownFormGroup<PrismObject<ConnectorType>> connectorVersion = createConnectorVersionDropDown(location.getModel(),
connectorType.getModel());
add(connectorVersion);
}

private DropDownFormGroup createConnectorVersionDropDown(final IModel<PrismObject<ConnectorHostType>> connectorHostTypeModel,
final IModel<PrismObject<ConnectorType>> connectorTypeModel) {
connectorVersions = new LoadableModel<List<PrismObject<ConnectorType>>>(false) {

@Override
protected List<PrismObject<ConnectorType>> load() {
return loadConnectorVersions(connectorHostTypeModel.getObject(), connectorTypeModel.getObject());
}
};

DropDownFormGroup<PrismObject<ConnectorType>> formGroup = new DropDownFormGroup<PrismObject<ConnectorType>>(
ID_CONNECTOR_VERSION, createUsedConnectorModel(), connectorVersions,
new IChoiceRenderer<PrismObject<ConnectorType>>() {

@Override
public Object getDisplayValue(PrismObject<ConnectorType> object) {
String version = object.getPropertyRealValue(ConnectorType.F_CONNECTOR_VERSION, String.class);
if (StringUtils.isEmpty(version)) {
return NameStep.this.getString("NameStep.unknownVersion");
}

return version;
}

@Override
public String getIdValue(PrismObject<ConnectorType> object, int index) {
return Integer.toString(index);
}
}
, createStringResource("NameStep.connectorVersion"), "col-md-3", "col-md-3", true) {

@Override
protected DropDownChoice createDropDown(String id, IModel<List<PrismObject<ConnectorType>>> choices,
IChoiceRenderer<PrismObject<ConnectorType>> renderer, boolean required) {
DropDownChoice choice = super.createDropDown(id, choices, renderer, required);
choice.setOutputMarkupId(true);
choice.add(new AjaxFormComponentUpdatingBehavior("onchange") {

@Override
protected void onUpdate(AjaxRequestTarget target) {
}
});
choice.add(new VisibleEnableBehaviour() {

@Override
public boolean isEnabled() {
return connectorTypeModel.getObject() != null;
}
});
return choice;
}
};

return formGroup;
}

private IModel<PrismObject<ConnectorHostType>> createConnectorHostModel() {
Expand Down Expand Up @@ -258,38 +194,6 @@ private PrismObject<ConnectorType> getConnectorFromResource(List<PrismObject<Con
return null;
}

private IModel<PrismObject<ConnectorType>> createUsedConnectorModel() {
return new IModel<PrismObject<ConnectorType>>() {

@Override
public PrismObject<ConnectorType> getObject() {
List<PrismObject<ConnectorType>> connectors = connectorsModel.getObject();
return getConnectorFromResource(connectors);
}

@Override
public void setObject(PrismObject<ConnectorType> object) {
try {
PrismObject<ResourceType> resource = resourceModel.getObject();
PrismReference ref = resource.findOrCreateReference(ResourceType.F_CONNECTOR_REF);
if (object == null) {
resource.removeReference(ResourceType.F_CONNECTOR_REF);
} else {
PrismReferenceValue val = new PrismReferenceValue();
val.setObject(object);
ref.replace(val);
}
} catch (SchemaException ex) {
LoggingUtils.logException(LOGGER, "Couldn't create connector reference in resource", ex);
}
}

@Override
public void detach() {
}
};
}

private IModel<PrismObject<ConnectorType>> createReadonlyUsedConnectorModel() {
return new IModel<PrismObject<ConnectorType>>() {

Expand Down Expand Up @@ -320,15 +224,15 @@ public void detach() {

private DropDownFormGroup<PrismObject<ConnectorType>> createConnectorTypeDropDown(
final IModel<PrismObject<ConnectorHostType>> hostModel) {
connectorTypes = new LoadableModel(false) {
connectorTypes = new LoadableModel<List<PrismObject<ConnectorType>>>(false) {

@Override
protected Object load() {
protected List<PrismObject<ConnectorType>> load() {
return loadConnectorTypes(hostModel.getObject());
}
};

DropDownFormGroup<PrismObject<ConnectorType>> formGroup = new DropDownFormGroup<PrismObject<ConnectorType>>(
return new DropDownFormGroup<PrismObject<ConnectorType>>(
ID_CONNECTOR_TYPE, createReadonlyUsedConnectorModel(), connectorTypes,
new IChoiceRenderer<PrismObject<ConnectorType>>() {

Expand All @@ -348,23 +252,14 @@ protected DropDownChoice createDropDown(String id, IModel<List<PrismObject<Conne
IChoiceRenderer<PrismObject<ConnectorType>> renderer, boolean required) {
DropDownChoice choice = super.createDropDown(id, choices, renderer, required);
choice.setOutputMarkupId(true);
choice.add(new AjaxFormComponentUpdatingBehavior("onchange") {

@Override
protected void onUpdate(AjaxRequestTarget target) {
changeConnectorTypePerformed(target);
}
});
return choice;
}
};

return formGroup;
}

private DropDownFormGroup<PrismObject<ConnectorHostType>> createLocationDropDown() {
DropDownFormGroup<PrismObject<ConnectorHostType>> formGroup =
new DropDownFormGroup<PrismObject<ConnectorHostType>>(ID_LOCATION, createConnectorHostModel(),
return new DropDownFormGroup<PrismObject<ConnectorHostType>>(ID_LOCATION, createConnectorHostModel(),
connectorHostsModel, new IChoiceRenderer<PrismObject<ConnectorHostType>>() {

@Override
Expand Down Expand Up @@ -396,8 +291,6 @@ protected void onUpdate(AjaxRequestTarget target) {
return choice;
}
};

return formGroup;
}

private List<PrismObject<ConnectorType>> loadConnectorTypes(PrismObject<ConnectorHostType> host) {
Expand All @@ -423,8 +316,8 @@ private List<PrismObject<ConnectorType>> filterConnectorTypes(PrismObject<Connec
final String connectorType = type == null ? null :
type.getPropertyRealValue(ConnectorType.F_CONNECTOR_TYPE, String.class);

Set<String> alreadyAddedTypes = new HashSet<String>();
List<PrismObject<ConnectorType>> filtered = new ArrayList<PrismObject<ConnectorType>>();
Set<String> alreadyAddedTypes = new HashSet<>();
List<PrismObject<ConnectorType>> filtered = new ArrayList<>();
for (PrismObject<ConnectorType> connector : connectors) {
if (host != null && !isConnectorOnHost(connector, host)) {
continue;
Expand All @@ -444,23 +337,6 @@ private List<PrismObject<ConnectorType>> filterConnectorTypes(PrismObject<Connec
return filtered;
}

private List<PrismObject<ConnectorType>> loadConnectorVersions(PrismObject<ConnectorHostType> host,
PrismObject<ConnectorType> connector) {
List<PrismObject<ConnectorType>> filtered = filterConnectorTypes(host, connector);

Collections.sort(filtered, new Comparator<PrismObject<ConnectorType>>() {
@Override
public int compare(PrismObject<ConnectorType> c1, PrismObject<ConnectorType> c2) {
String v1 = c1.getPropertyRealValue(ConnectorType.F_CONNECTOR_VERSION, String.class);
String v2 = c1.getPropertyRealValue(ConnectorType.F_CONNECTOR_VERSION, String.class);

return String.CASE_INSENSITIVE_ORDER.compare(v1, v2);
}
});

return filtered;
}

private boolean isConnectorOnHost(PrismObject<ConnectorType> connector, PrismObject<ConnectorHostType> host) {
PrismReference hostRef = connector.findReference(ConnectorType.F_CONNECTOR_HOST_REF);
if (hostRef == null && host == null) {
Expand All @@ -478,13 +354,6 @@ private boolean isConnectorOnHost(PrismObject<ConnectorType> connector, PrismObj
return false;
}

private void changeConnectorTypePerformed(AjaxRequestTarget target) {
connectorVersions.reset();

DropDownFormGroup group = (DropDownFormGroup) get(ID_CONNECTOR_VERSION);
target.add(group.getInput());
}

private void discoverConnectorsPerformed(AjaxRequestTarget target) {
DropDownChoice<ConnectorHostType> location = (DropDownChoice) get(ID_LOCATION);
ConnectorHostType host = location.getModelObject();
Expand All @@ -495,7 +364,6 @@ private void discoverConnectorsPerformed(AjaxRequestTarget target) {
}

connectorTypes.reset();
connectorVersions.reset();

PageBase page = (PageBase) getPage();

Expand Down
Expand Up @@ -23,7 +23,7 @@ NameStep.connectorName=Connector name
NameStep.connectorVersion=Connector version
NameStep.undefinedVersion=Undefined version
NameStep.undefinedName=Undefined name
NameStep.connectorType=Connector type
NameStep.connectorType=Connector
NameStep.connectorBundle=Bundle
NameStep.connectorInformation=Information
NameStep.connectorNotSelected=Connector was not selected.
Expand Down
Expand Up @@ -20,24 +20,23 @@

<div class="row capability">

<!-- First row - object types list -->
<!--TODO - edit xs/sm/md class column sizes-->
<div class="col-xs-5 col-sm-4 col-sm-offset-2 col-md-4 col-md-offset-2 col-lg-offset-1 col-lg-2">
<h3><wicket:message key="SchemaHandlingStep.label.objectTypes" /></h3>

<table class="table table-striped table-condensed" style="margin-bottom: 10px">
<tbody wicket:id="tableRows">
<tr wicket:id="objectTypeRow">
<td class="capability-item">
<td class="capability-item" style="padding: 10px;">
<a wicket:id="objectTypeLink">
<button wicket:id="objectTypeDelete" type="button" class="close">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
<span class="close">&nbsp;</span>
<button type="button" class="close"><span aria-hidden="true">&#8627;</span><span class="sr-only">Expand</span></button>
<span wicket:id="objectTypeName" />
</a>
</td>
<td>
<a wicket:id="objectTypeDelete" class="btn btn-danger btn-sm">
<i class="fa fa-fw fa-minus" />
</a>
</td>
</tr>
</tbody>
</table>
Expand Down
Expand Up @@ -219,7 +219,7 @@ public void onClick(AjaxRequestTarget target) {
deleteObjectTypePerformed(target, objectType);
}
};
item.add(delete);
link.add(delete);

item.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>() {

Expand Down
Expand Up @@ -26,16 +26,17 @@ <h3><wicket:message key="SynchronizationStep.label.syncObjectHeader" /></h3>
<table class="table table-striped table-condensed" style="margin-bottom: 10px">
<tbody wicket:id="tableRows">
<tr wicket:id="objectSyncRow">
<td class="capability-item">
<td class="capability-item" style="padding: 10px;">
<a wicket:id="objectSyncLink">
<button wicket:id="objectSyncDelete" type="button" class="close">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
<span class="close">&nbsp;</span>
<button type="button" class="close"><span aria-hidden="true">&#8627;</span><span class="sr-only">Expand</span></button>
<span wicket:id="objectSyncName" />
</a>
</td>
<td>
<a wicket:id="objectSyncDelete" class="btn btn-danger btn-sm">
<i class="fa fa-fw fa-minus" />
</a>
</td>
</tr>
</tbody>
</table>
Expand Down

0 comments on commit d543ed4

Please sign in to comment.