Project

General

Profile

1
package eu.dnetlib.data.transform;
2

    
3
import java.util.Map;
4

    
5
import com.google.gson.Gson;
6
import eu.dnetlib.data.graph.utils.RelDescriptor;
7
import org.apache.commons.logging.Log;
8
import org.apache.commons.logging.LogFactory;
9

    
10
/**
11
 * Created by claudio on 12/12/2016.
12
 */
13
public class Ontology {
14

    
15
	private static final Log log = LogFactory.getLog(Ontology.class);
16

    
17
	private String code;
18
	private String description;
19

    
20
	private Map<String, OntologyTerm> terms;
21

    
22
	public String getCode() {
23
		return code;
24
	}
25

    
26
	public Ontology setCode(final String code) {
27
		this.code = code;
28
		return this;
29
	}
30

    
31
    public String getDescription() {
32
        return description;
33
    }
34

    
35
	public Ontology setDescription(final String description) {
36
		this.description = description;
37
		return this;
38
	}
39

    
40
    public Map<String, OntologyTerm> getTerms() {
41
        return terms;
42
    }
43

    
44
	public Ontology setTerms(final Map<String, OntologyTerm> terms) {
45
		this.terms = terms;
46
		return this;
47
	}
48

    
49
    public String inverseOf(final String termCode) {
50
        if (getTerms() == null || !getTerms().containsKey(termCode)) {
51
            //log.warn(String.format("unable to find inverse for term '%s', terms: %s", termCode, getTerms()));
52
            return null;
53
        }
54
        return getTerms().get(termCode).getInverseCode();
55
    }
56

    
57
    public String inverseOf(final RelDescriptor rd) {
58
        if (getTerms() == null || !getTerms().containsKey(rd.getTermCode())) {
59
            return null;
60
        }
61
        return getTerms().get(rd.getTermCode()).getInverseCode();
62
    }
63

    
64
	@Override
65
	public String toString() {
66
		return new Gson().toJson(this);
67
	}
68

    
69
}
(6-6/13)