com.eu.evaluation.server.dao.eva.UniqueEvaluateItemDAO.java Source code

Java tutorial

Introduction

Here is the source code for com.eu.evaluation.server.dao.eva.UniqueEvaluateItemDAO.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.eu.evaluation.server.dao.eva;

import com.eu.evaluation.model.dictionary.FieldDictionary;
import com.eu.evaluation.model.dictionary.ObjectDictionary;
import com.eu.evaluation.model.eva.EvaluateItem;
import com.eu.evaluation.model.eva.EvaluateItemTemplate;
import com.eu.evaluation.model.eva.NotNullEvaluateItem;
import com.eu.evaluation.model.eva.UniqueEvaluateItem;
import com.eu.evaluation.server.dao.AbstractDAO;
import com.eu.evaluation.server.eva.EvaluateItemBuilder;
import java.util.List;
import java.util.Map;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.stereotype.Repository;

/**
 *
 * @author dell
 */
@Repository
public class UniqueEvaluateItemDAO extends AbstractDAO<UniqueEvaluateItem>
        implements EvaluateItemBuilder<UniqueEvaluateItem> {

    public void buildEvaluateItem(UniqueEvaluateItem evaluateItem, EvaluateItemTemplate itemTemplate,
            Map<String, Object> otherMap) {
        evaluateItem.setEditable(true);
    }

    public UniqueEvaluateItem findTheMatching(ObjectDictionary od, FieldDictionary fd,
            Map<String, Object> otherMap) {
        String jpql = "select t from UniqueEvaluateItem t where t.fieldDictionary.id = :fdID ";
        MapSqlParameterSource params = new MapSqlParameterSource();
        params.addValue("fdID", fd.getId());
        List<UniqueEvaluateItem> result = this.query(jpql, params);
        if (result.isEmpty()) {
            return null;
        } else if (result.size() == 1) {
            return result.get(0);
        } else {
            throw new RuntimeException("" + fd.getObjectDictionary().getDisplayname() + " , "
                    + fd.getDisplayname() + " ??");
        }
    }

}