Criteria criteria = aSession.createCriteria(SbiDomains.class);
criteria.add(aCriterion);
transformer = (SbiDomains) criteria.uniqueResult();
if (transformer == null){
logger.error("The Domain with value_id= "+dsActiveDetailToSet.getTransformerId()+" does not exist.");
throw new EMFUserError(EMFErrorSeverity.ERROR, 1035);
}
}
SbiDomains category = null;
if (dsActiveDetailToSet.getCategoryId()!= null){
Criterion aCriterion = Expression.eq("valueId", dsActiveDetailToSet.getCategoryId());
Criteria criteria = aSession.createCriteria(SbiDomains.class);
criteria.add(aCriterion);
category = (SbiDomains) criteria.uniqueResult();
if (category == null){
logger.error("The Domain with value_id= "+dsActiveDetailToSet.getCategoryId()+" does not exist.");
throw new EMFUserError(EMFErrorSeverity.ERROR, 1035);
}
}
Date currentTStamp = new Date();
hibDataSet.setTimeIn(currentTStamp);
hibDataSet.setActive(true);
hibDataSet.setTransformer(transformer);
hibDataSet.setPivotColumnName(dsActiveDetailToSet.getPivotColumnName());
hibDataSet.setPivotRowName(dsActiveDetailToSet.getPivotRowName());
hibDataSet.setPivotColumnValue(dsActiveDetailToSet.getPivotColumnValue());
hibDataSet.setNumRows(dsActiveDetailToSet.isNumRows());
hibDataSet.setCategory(category);
hibDataSet.setParameters(dsActiveDetailToSet.getParameters());
hibDataSet.setDsMetadata(dsActiveDetailToSet.getDsMetadata());
SbiDataSetConfig hibGenericDataSet = (SbiDataSetConfig) aSession.load(SbiDataSetConfig.class,dsId);
hibGenericDataSet.setLabel(dataSet.getLabel());
hibGenericDataSet.setDescription(dataSet.getDescription());
hibGenericDataSet.setName(dataSet.getName());
updateSbiCommonInfo4Update(hibGenericDataSet);
String userUp = hibGenericDataSet.getCommonInfo().getUserUp();
String sbiVersionUp = hibGenericDataSet.getCommonInfo().getSbiVersionUp();
hibDataSet.setUserIn(userUp);
hibDataSet.setSbiVersionIn(sbiVersionUp);
hibDataSet.setTimeIn(currentTStamp);
Integer currenthigherVersion = getHigherVersionNumForDS(dsId);
Integer newVersion = currenthigherVersion+1;
hibDataSet.setVersionNum(newVersion);
Query hibQuery = aSession.createQuery("from SbiDataSetHistory h where h.active = ? and h.sbiDsConfig = ?" );
hibQuery.setBoolean(0, true);
hibQuery.setInteger(1, dsId);
SbiDataSetHistory dsActiveDetail =(SbiDataSetHistory)hibQuery.uniqueResult();
dsActiveDetail.setActive(false);
aSession.update(dsActiveDetail);
aSession.update(hibGenericDataSet);
hibDataSet.setSbiDsConfig(hibGenericDataSet);
aSession.save(hibDataSet);
tx.commit();
}
} catch (HibernateException he) {
logger.error("Error while modifing the data Set with id " + ((dataSet == null)?"":String.valueOf(dataSet.getDsId())), he);
if (tx != null)
tx.rollback();
throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
} finally {
if (aSession!=null){
if (aSession.isOpen()) aSession.close();
logger.debug("OUT");
}