/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.delegate.directory.complex;
import beans.directory.danger.DirectoryDangerBean;
import beans.directory.danger.DirectoryDangerBeanRemote;
import cli_fmw.delegate.SharedBean;
import cli_fmw.delegate.directory.DirectoryRecursive;
import cli_fmw.main.ClipsException;
import beans.directory.danger.entity.DangerDetails;
import beans.directory.danger.entity.DangerServiceDetails;
import framework.beans.directory.DirectoryItemDetails;
import framework.generic.ClipsServerException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author petr
*/
public class DirectoryDanger
extends DirectoryRecursive<DirectoryDangerBeanRemote, DirectoryDangerItem> {
public DirectoryDanger() throws ClipsException {
super(DirectoryDangerBean.class.getSimpleName());
}
@Override
public String getDirectoryTitle() {
return "Вредные факторы";
}
@Override
protected DirectoryDangerItem createFromLoadedDetails(DirectoryItemDetails details) {
DangerDetails d = (DangerDetails) details;
return new DirectoryDangerItem(d);
}
@Override
protected DirectoryDangerItem createNullItem() {
DangerDetails d = new DangerDetails();
d.title = "нет фактора";
return createFromLoadedDetails(d);
}
List<DangerServiceDetails> getServiceList(int dangerId) throws ClipsException{
try {
return getBean().get().getServiceList(dangerId);
} catch (Exception ex) {
clearBean();
throw new ClipsException("Не удалось загрузить список услуг по вредному фактору", ex);
}
}
public void removeService(DangerServiceDetails details) throws ClipsException {
try {
getBean().get().removeService(details);
} catch (Exception ex) {
clearBean();
throw new ClipsException("Не удалось удалить услугу", ex);
}
}
public int addService(DangerServiceDetails details) throws ClipsException {
try {
return getBean().get().addService(details);
} catch (Exception ex) {
clearBean();
throw new ClipsException("Не удалось добавить услугу", ex);
}
}
}