Skip to content

Commit

Permalink
More meaningful output; table of provisioned accounts and their state.
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Sep 13, 2014
1 parent cfcbcaa commit eee62eb
Show file tree
Hide file tree
Showing 14 changed files with 698 additions and 295 deletions.

This file was deleted.

@@ -0,0 +1,171 @@
/*
* Copyright (c) 2010-2014 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.
*/

package com.evolveum.midpoint.web.component.status;

import com.evolveum.midpoint.common.refinery.ResourceShadowDiscriminator;
import com.evolveum.midpoint.model.api.OperationStatus;
import com.evolveum.midpoint.web.page.admin.configuration.dto.DebugConfDialogDto;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import static com.evolveum.midpoint.model.api.OperationStatus.EventType.RESOURCE_OBJECT_OPERATION;

/**
* @author mederly
*/
public class StatusDto implements Serializable {

public static class StatusItem implements Serializable {

private OperationStatus operationStatus; // to be able to check correspondence
private ResourceShadowDiscriminator awaitingRsd; // TODO fixme
private String description;
private String state;
private boolean isSuccess;

public StatusItem(OperationStatus operationStatus) {
this.operationStatus = operationStatus;
}

public OperationStatus getOperationStatus() {
return operationStatus;
}

public void setOperationStatus(OperationStatus operationStatus) {
this.operationStatus = operationStatus;
}

public StatusItem(OperationStatus operationStatus, String description) {
this.operationStatus = operationStatus;
this.description = description;
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

public String getState() {
return state;
}

public void setState(String state) {
this.state = state;
}

public boolean isSuccess() {
return isSuccess;
}

public void setSuccess(boolean isSuccess) {
this.isSuccess = isSuccess;
}

public ResourceShadowDiscriminator getAwaitingRsd() {
return awaitingRsd;
}

public void setAwaitingRsd(ResourceShadowDiscriminator awaitingRsd) {
this.awaitingRsd = awaitingRsd;
}

public boolean correspondsTo(OperationStatus newStatus) {
if (newStatus == null) {
return false; // should not occur too often
}

if (operationStatus == null) { // "awaiting" entry
if (newStatus.getEventType() != RESOURCE_OBJECT_OPERATION || newStatus.getResourceShadowDiscriminator() == null) {
return false;
}
if (!newStatus.getResourceShadowDiscriminator().equals(awaitingRsd)) {
return false;
}
return true;
}

if (operationStatus.getEventType() != newStatus.getEventType()) {
return false;
}
if (operationStatus.getEventType() == RESOURCE_OBJECT_OPERATION
&& (operationStatus.getResourceShadowDiscriminator() == null ||
!operationStatus.getResourceShadowDiscriminator().equals(newStatus.getResourceShadowDiscriminator()))) {
return false;
}
return true;
}

public boolean correspondsTo(ResourceShadowDiscriminator discriminator) {
if (discriminator == null) {
return false;
}
if (awaitingRsd != null && awaitingRsd.equals(discriminator)) {
return true;
}
if (operationStatus != null && operationStatus.getEventType() == RESOURCE_OBJECT_OPERATION && discriminator.equals(operationStatus.getResourceShadowDiscriminator())) {
return true;
}
return false;
}
}

private List<StatusItem> statusItems = new ArrayList<>();
private List<String> logItems = new ArrayList<>();

public List<StatusItem> getStatusItems() {
return statusItems;
}

public void setStatusItems(List<StatusItem> statusItems) {
this.statusItems = statusItems;
}

public List<String> getLogItems() {
return logItems;
}

public void setLogItems(List<String> logItems) {
this.logItems = logItems;
}

public void log(String message) {
logItems.add(message);
}

public void add(StatusItem si) {
statusItems.add(si);
}

public void clear() {
statusItems.clear();
logItems.clear();
}

public boolean allSuccess() {
for (StatusItem si : statusItems) {
if (!si.isSuccess()) {
return false;
}
}
return true;
}
}
Expand Up @@ -21,7 +21,6 @@
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
Expand All @@ -31,7 +30,7 @@
/**
* @author mederly
*/
public class StatusPanel extends SimplePanel<Status> {
public class StatusPanel extends SimplePanel<StatusDto> {

private static final String ID_CONTENTS_PANEL = "contents";
private static final String ID_STATUS_ITEM = "statusItems";
Expand All @@ -47,7 +46,7 @@ public StatusPanel(String id) {
super(id);
}

public StatusPanel(String id, IModel<Status> model) {
public StatusPanel(String id, IModel<StatusDto> model) {
super(id, model);
}

Expand All @@ -59,8 +58,8 @@ protected void initLayout() {
ListView statusItemsListView = new ListView(ID_STATUS_ITEM, new AbstractReadOnlyModel<List>() {
@Override
public List getObject() {
Status status = StatusPanel.this.getModelObject();
return status.getStatusItems();
StatusDto statusDto = StatusPanel.this.getModelObject();
return statusDto.getStatusItems();
}
}) {
protected void populateItem(ListItem item) {
Expand All @@ -73,8 +72,8 @@ protected void populateItem(ListItem item) {
ListView logItemsListView = new ListView(ID_LOG_ITEMS, new AbstractReadOnlyModel<List>() {
@Override
public List getObject() {
Status status = StatusPanel.this.getModelObject();
return status.getLogItems();
StatusDto statusDto = StatusPanel.this.getModelObject();
return statusDto.getLogItems();
}
}) {
protected void populateItem(ListItem item) {
Expand Down

0 comments on commit eee62eb

Please sign in to comment.