All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.molgenis.service.OntologyTermService Maven / Gradle / Ivy

package org.molgenis.service;

import java.util.List;
import java.util.ArrayList;

import org.apache.log4j.Logger;
import org.molgenis.framework.db.Database;
import org.molgenis.framework.db.DatabaseException;
import org.molgenis.framework.db.QueryRule;
import org.molgenis.framework.db.QueryRule.Operator;
import org.molgenis.omx.observ.target.OntologyTerm;
import org.molgenis.model.elements.Entity;
import org.molgenis.util.EntityPager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;

@Lazy
@Service
public class OntologyTermService
{
	private static final Logger logger = Logger.getLogger(OntologyTermService.class);

	@Autowired
	@Qualifier("database")
	private Database db;

	public OntologyTerm create(OntologyTerm ontologyTerm) throws DatabaseException
	{
		logger.debug("creating OntologyTerm");
		db.add(ontologyTerm);
		return ontologyTerm;
	}

	public OntologyTerm read(Integer id) throws DatabaseException
	{
		logger.debug("retrieving OntologyTerm");
		return db.findById(OntologyTerm.class, id);
	}

	public void update(OntologyTerm ontologyTerm) throws DatabaseException
	{
		logger.debug("updating OntologyTerm");
		db.update(ontologyTerm);
	}

	public boolean deleteById(Integer id) throws DatabaseException
	{
		logger.debug("deleting OntologyTerm");
		OntologyTerm ontologyTerm = db.findById(OntologyTerm.class, id);
		return db.remove(ontologyTerm) == 1;
	}
	
	public Iterable readAll() throws DatabaseException
	{
		logger.debug("retrieving all OntologyTerm instances");
		return db.find(OntologyTerm.class);
	}
	
	public EntityPager readAll(int start, int num, List queryRules) throws DatabaseException
	{
		logger.debug("retrieving all OntologyTerm instances");
		if (queryRules == null) queryRules = new ArrayList();
		queryRules.add(new QueryRule(Operator.OFFSET, start));
		queryRules.add(new QueryRule(Operator.LIMIT, num));
		int count = db.count(OntologyTerm.class, queryRules.toArray(new QueryRule[0]));
		List ontologyTermCollection = db.find(OntologyTerm.class, queryRules.toArray(new QueryRule[0]));
		return new EntityPager(start, num, count, ontologyTermCollection);
	}
	
	public Entity getEntity() throws DatabaseException
	{
		return db.getMetaData().getEntity("OntologyTerm");
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy