/**
* Copyright 2011 Intuit Inc. All Rights Reserved
*/
package com.intuit.tank.monitor;
/*
* #%L
* Common
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.io.Serializable;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.enterprise.context.ApplicationScoped;
import com.intuit.tank.vm.common.PercentCompleteMonitor;
/**
* PercentCompleteMonitor
*
* @author dangleton
*
*/
@ApplicationScoped
public class GlobalPercentCompleteMonitor implements PercentCompleteMonitor, Serializable {
private final Map<Integer, Integer> statusMap = new ConcurrentHashMap<Integer, Integer>();
/**
* @{inheritDoc
*/
@Override
public void setSavingStarted(int id) {
statusMap.put(id, 101);
}
/**
* @{inheritDoc
*/
@Override
public void setProcessingComplete(int id) {
statusMap.put(id, 200);
}
/**
* @{inheritDoc
*/
@Override
public void setError(int id, int errorCode) {
statusMap.put(id, errorCode);
}
/**
* @{inheritDoc
*/
@Override
public int getPerctComplete(int id) {
Integer perctComplete = statusMap.get(id);
return perctComplete != null ? perctComplete : 0;
}
}