package com.vst.service.impl;
import com.vst.dao.StrengthDao;
import com.vst.model.Strength;
import com.vst.service.StrengthManager;
import com.vst.util.StrengthComparator;
import java.util.Collections;
import java.util.List;
public class StrengthManagerImpl extends BaseManager implements StrengthManager {
private StrengthDao dao;
public Float getAveragePower(List strengthPoints) {
StrengthComparator strengthComparator = new StrengthComparator();
Collections.sort(strengthPoints, strengthComparator);
//removing border values
if (strengthPoints.size() > 2) {
strengthPoints.remove(0);
strengthPoints.remove(strengthPoints.size() - 1);
}
Float averageValue = 0f;
//counting the average value from the rest of the points
for (int i = 0; i < strengthPoints.size(); i++) {
Strength strength = (Strength) strengthPoints.get(i);
averageValue += strength.getStrengthValue();
}
averageValue = averageValue / strengthPoints.size();
return averageValue;
}
public List getStrengthsByExampleId(String exampleId) {
return dao.getStrengthsByExampleId(exampleId);
}
public String getPointNumber(String objectConstructionId) {
return dao.getPointNumberByObjectConstructionId(new Integer(objectConstructionId));
}
/**
* Set the Dao for communication with the data layer.
*
* @param dao
*/
public void setStrengthDao(StrengthDao dao) {
this.dao = dao;
}
/**
* @see com.vst.service.StrengthManager#getStrengths(com.vst.model.Strength)
*/
public List getStrengths(final Strength strength) {
return dao.getStrengths(strength);
}
/**
* @see com.vst.service.StrengthManager#getStrength(String pointId)
*/
public Strength getStrength(final String pointId) {
return dao.getStrength(new Integer(pointId));
}
/**
* @see com.vst.service.StrengthManager#saveStrength(Strength strength)
*/
public void saveStrength(Strength strength) {
dao.saveStrength(strength);
}
/**
* @see com.vst.service.StrengthManager#removeStrength(String pointId)
*/
public void removeStrength(final String pointId) {
dao.removeStrength(new Integer(pointId));
}
}