diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/daos/AppPropertiesDAO.java b/libreplan-business/src/main/java/org/libreplan/business/common/daos/AppPropertiesDAO.java new file mode 100644 index 000000000..f97c41292 --- /dev/null +++ b/libreplan-business/src/main/java/org/libreplan/business/common/daos/AppPropertiesDAO.java @@ -0,0 +1,76 @@ +/* + * This file is part of LibrePlan + * + * Copyright (C) 2013 St. Antoniusziekenhuis + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package org.libreplan.business.common.daos; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.hibernate.Criteria; +import org.hibernate.criterion.Restrictions; +import org.libreplan.business.common.entities.AppProperties; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +/** + * DAO for {@link AppProperties} + * + * @author Miciele Ghiorghis + */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) +public class AppPropertiesDAO extends GenericDAOHibernate + implements IAppPropertiesDAO { + + @Override + @Transactional(readOnly = true) + public List getAll() { + return list(AppProperties.class); + } + + @Override + @Transactional(readOnly = true) + @SuppressWarnings("unchecked") + public Map findByMajorId(String majorId) { + Criteria c = getSession().createCriteria(AppProperties.class).add( + Restrictions.eq("majorId", majorId)); + List list = c.list(); + + Map map = new HashMap(); + for (AppProperties appProperty : list) { + map.put(appProperty.getPropertyName(), + appProperty.getPropertyValue()); + } + return map; + + } + + @Override + @Transactional(readOnly = true) + public AppProperties findByMajorIdAndName(String majorId, String proprtyName) { + return (AppProperties) getSession().createCriteria(AppProperties.class) + .add(Restrictions.eq("majorId", majorId)) + .add(Restrictions.eq("propertyName", proprtyName)) + .uniqueResult(); + } + +}