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

org.integratedmodelling.engine.authorities.WRBAuthority Maven / Gradle / Ivy

The newest version!
package org.integratedmodelling.engine.authorities;

import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.integratedmodelling.api.knowledge.IConcept;
import org.integratedmodelling.api.knowledge.IKnowledge;
import org.integratedmodelling.api.metadata.IMetadata;
import org.integratedmodelling.common.beans.authority.Authority;
import org.integratedmodelling.common.beans.authority.AuthorityConcept;
import org.integratedmodelling.common.beans.authority.AuthorityQueryResponse;
import org.integratedmodelling.common.vocabulary.authority.BaseAuthority;
import org.integratedmodelling.exceptions.KlabValidationException;
import org.integratedmodelling.soil.wrb.WRBIdentity;
import org.integratedmodelling.soil.wrb.WRBParser;
import org.integratedmodelling.soil.wrb.vocabulary.WRBVocabulary;

public class WRBAuthority extends BaseAuthority {

    public WRBAuthority(Authority definition) {
        super(definition);
    }

    @Override
    public IConcept getBaseIdentityFor(String id, String authorityId) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public List search(String query, String authorityId) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String validateCoreConcept(IKnowledge knowledge, String id) {
        // TODO Auto-generated method stub
        return null;
    }

    public static WRBAuthority get() {

        Authority ret = new Authority();

        ret.setName("SOIL");
        ret.setOverallDescription("SOIL authority endorses the World Reference Base (WRB) classification for soil.\n\n"
                + "\n\n"
                + "This authority is developed and maintained with Italy's CREA () and FAO");
        ret.getAuthorities().add("SOIL.WRB");
        ret.getAuthorityDescriptions().add("");
        ret.setOntologyId("soil");
        ret.setSearchable(false);
        ret.setWorldview("im");
        ret.setVersion("1.0");

        WRBVocabulary.get().defineOntology(ret);

        return new WRBAuthority(ret);
    }

    @Override
    public AuthorityConcept getConcept(String authority, String id) throws KlabValidationException {
        WRBIdentity wrb = WRBParser.parse(id);
        if (wrb != null) {
            if (wrb.isError()) {
                throw new KlabValidationException(StringUtils.join(wrb.getErrors(), "; "));
            }
            return wrb.getConceptDefinition();
        }
        return null;
    }

    @Override
    public AuthorityQueryResponse queryAuthority(String authority, String query) {
        // TODO Auto-generated method stub
        return null;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy