Project

General

Profile

Download (3.72 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10

    
11
package eu.etaxonomy.cdm.api.service;
12

    
13
import java.util.ArrayList;
14
import java.util.List;
15

    
16
import org.apache.log4j.Logger;
17
import org.springframework.beans.factory.annotation.Autowired;
18
import org.springframework.stereotype.Service;
19
import org.springframework.transaction.annotation.Transactional;
20

    
21
import eu.etaxonomy.cdm.model.common.CdmBase;
22
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
23
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
24
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
25
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
26
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
27
import eu.etaxonomy.cdm.persistence.dao.common.IPreferenceDao;
28

    
29
/**
30
 * @author a.mueller
31
 * @created 2013-09-09
32
 */
33
@Service
34
@Transactional(readOnly = true)
35
public class PreferenceServiceImpl implements IPreferenceService {
36

    
37
    @SuppressWarnings("unused")
38
	private static final Logger logger = Logger.getLogger(PreferenceServiceImpl.class);
39

    
40
    @Autowired
41
    private IPreferenceDao dao;
42

    
43
	@Override
44
	public CdmPreference find(PrefKey key) {
45
		List<PrefKey> keys = new ArrayList<>();
46
		keys.add(key);
47
//		while(key.)  TODO
48

    
49
		return dao.get(key);
50
	}
51

    
52
    /**
53
     * Retrieve the database wide preference for the given predicate.
54
     * @param key
55
     * @return
56
     */
57
    @Override
58
    public CdmPreference findDatabase(PreferencePredicate predicate){
59
        PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), predicate);
60
        return find(key);
61
    }
62

    
63
	@Override
64
	public void set(CdmPreference preference) {
65
		dao.set(preference);
66
	}
67

    
68
	@Override
69
	public int count() {
70
		return dao.count();
71
	}
72

    
73
	@Override
74
    public List<CdmPreference> list() {
75
        return dao.list();
76
    }
77

    
78
    @Override
79
    public Object find(TaxonNode taxonNode, String predicate) {
80
        return dao.find(taxonNode, predicate);
81
    }
82

    
83
    @Override
84
    public CdmPreference find(TaxonNode taxonNode, PreferencePredicate predicate){
85
        return dao.find(taxonNode, predicate.getKey());
86
    }
87

    
88

    
89
// ********************** NOT YET HANDLED *******************/
90

    
91

    
92
//    /* (non-Javadoc)
93
//     * @see eu.etaxonomy.cdm.api.service.IPreferenceService#find(java.lang.String, java.lang.String)
94
//     */
95
//    @Override
96
//    public Object find(String subject, String predicate) {
97
//        // TODO Auto-generated method stub
98
//        return null;
99
//    }
100

    
101
    /* (non-Javadoc)
102
     * @see eu.etaxonomy.cdm.api.service.IPreferenceService#findAll(java.lang.String, java.lang.String)
103
     */
104
    @Override
105
    public List<Object> findAll(String subject, String predicate) {
106
        // TODO Auto-generated method stub
107
        return null;
108
    }
109

    
110

    
111
    /* (non-Javadoc)
112
     * @see eu.etaxonomy.cdm.api.service.IPreferenceService#find(eu.etaxonomy.cdm.model.common.CdmBase, java.lang.String)
113
     */
114
    @Override
115
    public Object find(CdmBase taxonNode, String predicate) {
116
        // TODO Auto-generated method stub
117
        return null;
118
    }
119

    
120
    /* (non-Javadoc)
121
     * @see eu.etaxonomy.cdm.api.service.IPreferenceService#findAll()
122
     */
123
    @Override
124
    public List<Object> findAll() {
125
        // TODO Auto-generated method stub
126
        return null;
127
    }
128

    
129
    /* (non-Javadoc)
130
     * @see eu.etaxonomy.cdm.api.service.IPreferenceService#setCdmPrefs(eu.etaxonomy.cdm.model.common.CdmBase, java.lang.String, java.lang.String)
131
     */
132
    @Override
133
    public String setCdmPrefs(CdmBase cdmBase, String predicate, String value) {
134
        // TODO Auto-generated method stub
135
        return null;
136
    }
137

    
138

    
139
}
(81-81/97)