Integer kpiValueId = null;
try {
aSession = getSession();
tx = aSession.beginTransaction();
SbiKpiValue hibKpiValue = new SbiKpiValue();
Date beginDt = value.getBeginDate();
logger
.debug("Kpi value begin date: "
+ (beginDt != null ? beginDt.toString()
: "Begin date null"));
Date endDt = value.getEndDate();
logger.debug("Kpi value end date: "
+ (endDt != null ? endDt.toString() : "End date null"));
String valueDescr = value.getValueDescr();
logger.debug("Kpi value: "
+ (valueDescr != null ? valueDescr
: "value Description null"));
String kpiValue = value.getValue();
logger.debug("Kpi value: "
+ (kpiValue != null ? kpiValue : "Value null"));
Integer kpiInstanceId = value.getKpiInstanceId();
logger.debug("Kpi Instance ID: "
+ (kpiInstanceId != null ? kpiInstanceId.toString()
: "Kpi Instance ID null"));
SbiKpiInstance sbiKpiInstance = (SbiKpiInstance) aSession.load(
SbiKpiInstance.class, kpiInstanceId);
Resource r = value.getR();
if (r != null) {
IResourceDAO resDaoImpl=DAOFactory.getResourceDAO();
SbiResources sbiResources = resDaoImpl.toSbiResource(r);
logger.debug("Resource: "
+ (r.getName() != null ? r.getName()
: "Resource name null"));
hibKpiValue.setSbiResources(sbiResources);
}
OrganizationalUnitGrantNode grantNode = value.getGrantNodeOU();
if (grantNode != null) {
OrganizationalUnit ou = grantNode.getOuNode().getOu();
SbiOrgUnit hibOU = new SbiOrgUnit();
hibOU.setLabel(ou.getLabel());
hibOU.setName(ou.getName());
hibOU.setDescription(ou.getDescription());
hibOU.setId(ou.getId());
logger.debug("Organizational unit: "
+ (ou.getName() != null ? ou.getName()
: "OU name null"));
hibKpiValue.setSbiOrgUnit(hibOU);
//same for hierarchy
OrganizationalUnitHierarchy hier = grantNode.getOuNode().getHierarchy();
SbiOrgUnitHierarchies hibHier = new SbiOrgUnitHierarchies();
hibHier.setDescription(hier.getDescription());
hibHier.setId(hier.getId());
hibHier.setLabel(hier.getLabel());
hibHier.setName(hier.getName());
hibHier.setTarget(hier.getTarget());
hibHier.setCompany(hier.getCompany());
hibKpiValue.setSbiOrgUnitHierarchies(hibHier);
//inserts company too as standalone column field
hibKpiValue.setCompany(hier.getCompany());
}
hibKpiValue.setDescription(valueDescr);
logger.debug("Kpi value description setted");
hibKpiValue.setBeginDt(beginDt);
logger.debug("Kpi value begin date setted");
hibKpiValue.setEndDt(endDt);
logger.debug("Kpi value end date setted");
hibKpiValue.setValue(kpiValue);
logger.debug("Kpi value setted");
hibKpiValue.setSbiKpiInstance(sbiKpiInstance);
logger.debug("Kpi Instance setted");
hibKpiValue.setXmlData(value.getValueXml());
updateSbiCommonInfo4Insert(hibKpiValue);
kpiValueId = (Integer)aSession.save(hibKpiValue);
tx.commit();
return kpiValueId;
} catch (HibernateException he) {