/* * Copyright (c) 2013-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.model.impl.util; import java.util.ArrayList; import java.util.Collections; import java.util.List; import com.evolveum.midpoint.model.impl.sync.ReconciliationTaskResult; import com.evolveum.midpoint.model.impl.sync.ReconciliationTaskResultListener; import com.evolveum.midpoint.prism.util.PrismAsserts; /** * Debugging listener for reconciliation tasks. * * This is not the best place for this object. But we have to live with it now. * * @author semancik * */ public class DebugReconciliationTaskResultListener implements ReconciliationTaskResultListener { private List<ReconciliationTaskResult> results = Collections.synchronizedList(new ArrayList<ReconciliationTaskResult>()); @Override public void process(ReconciliationTaskResult reconResult) { results.add(reconResult); } public void clear() { results.clear(); } public void assertResult(String resourceOid, long expectedUnOpsCount, long expectedResourceReconCount, long expectedResourceReconErrors, long expectedShadowReconCount) { ReconciliationTaskResult result = findResult(resourceOid); assert result != null : "No recon result for resource "+resourceOid; PrismAsserts.assertEquals("Wrong upOpsCount in recon result for resource "+resourceOid, expectedUnOpsCount, result.getUnOpsCount()); PrismAsserts.assertEquals("Wrong resourceReconCount in recon result for resource "+resourceOid, expectedResourceReconCount, result.getResourceReconCount()); PrismAsserts.assertEquals("Wrong resourceReconErrors in recon result for resource "+resourceOid, expectedResourceReconErrors, result.getResourceReconErrors()); PrismAsserts.assertEquals("Wrong shadowReconCount in recon result for resource "+resourceOid, expectedShadowReconCount, result.getShadowReconCount()); } private ReconciliationTaskResult findResult(String resourceOid) { for (ReconciliationTaskResult result: results) { if (resourceOid.equals(result.getResource().getOid())) { return result; } } return null; } }