/* * Copyright 2014 * Ubiquitous Knowledge Processing (UKP) Lab * Technische Universität Darmstadt * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.tudarmstadt.ukp.dkpro.core.api.resources; public class MappingProviderFactory { private static final String CONSTITUENT_TAGSET = "constituent.tagset"; private static final String DEPENDENCY_TAGSET = "dependency.tagset"; private static final String CHUNK_TAGSET = "chunk.tagset"; private static final String POS_TAGSET = "pos.tagset"; public static MappingProvider createPosMappingProvider(String aMappingLocation, String aLanguage, HasResourceMetadata aSource) { MappingProvider p = createPosMappingProvider(aMappingLocation, null, aLanguage); p.addImport(POS_TAGSET, aSource); return p; } public static MappingProvider createPosMappingProvider(String aMappingLocation, String aTagset, String aLanguage) { MappingProvider p = new MappingProvider(); p.setDefault(MappingProvider.LOCATION, "classpath:/de/tudarmstadt/ukp/dkpro/core/api/lexmorph/tagset/" + "${language}-${pos.tagset}-pos.map"); p.setDefault(MappingProvider.BASE_TYPE, "de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos.POS"); p.setDefault(POS_TAGSET, "default"); p.setOverride(MappingProvider.LOCATION, aMappingLocation); p.setOverride(MappingProvider.LANGUAGE, aLanguage); p.setOverride(POS_TAGSET, aTagset); return p; } public static MappingProvider createChunkMappingProvider(String aMappingLocation, String aLanguage, HasResourceMetadata aSource) { MappingProvider p = createChunkMappingProvider(aMappingLocation, null, aLanguage); p.addImport(CHUNK_TAGSET, aSource); return p; } public static MappingProvider createChunkMappingProvider(String aMappingLocation, String aTagset, String aLanguage) { MappingProvider chunkMappingProvider = new MappingProvider(); chunkMappingProvider = new MappingProvider(); chunkMappingProvider.setDefault(MappingProvider.LOCATION, "classpath:/de/tudarmstadt/ukp/" + "dkpro/core/api/syntax/tagset/${language}-${chunk.tagset}-chunk.map"); chunkMappingProvider.setDefault(MappingProvider.BASE_TYPE, "de.tudarmstadt.ukp.dkpro.core.api.syntax.type.chunk.Chunk"); chunkMappingProvider.setDefault(CHUNK_TAGSET, "default"); chunkMappingProvider.setOverride(MappingProvider.LOCATION, aMappingLocation); chunkMappingProvider.setOverride(MappingProvider.LANGUAGE, aLanguage); chunkMappingProvider.setOverride(CHUNK_TAGSET, aTagset); return chunkMappingProvider; } public static MappingProvider createConstituentMappingProvider(String aMappingLocation, String aLanguage, HasResourceMetadata aSource) { MappingProvider p = createConstituentMappingProvider(aMappingLocation, null, aLanguage); p.addImport(CONSTITUENT_TAGSET, aSource); p.addTagMappingImport("constituent", aSource); return p; } public static MappingProvider createConstituentMappingProvider(String aMappingLocation, String aTagset, String aLanguage) { MappingProvider p = new MappingProvider(); p.setDefault(MappingProvider.LOCATION, "classpath:/de/tudarmstadt/ukp/dkpro/core/api/syntax/tagset/" + "${language}-${constituent.tagset}-constituency.map"); p.setDefault(MappingProvider.BASE_TYPE, "de.tudarmstadt.ukp.dkpro.core.api.syntax.type.constituent.Constituent"); p.setDefault(CONSTITUENT_TAGSET, "default"); p.setOverride(MappingProvider.LOCATION, aMappingLocation); p.setOverride(MappingProvider.LANGUAGE, aLanguage); p.setOverride(CONSTITUENT_TAGSET, aTagset); return p; } public static MappingProvider createDependencyMappingProvider(String aMappingLocation, String aLanguage, HasResourceMetadata aSource) { MappingProvider p = createDependencyMappingProvider(aMappingLocation, null, aLanguage); p.addImport(DEPENDENCY_TAGSET, aSource); return p; } public static MappingProvider createDependencyMappingProvider(String aMappingLocation, String aTagset, String aLanguage) { MappingProvider p = new MappingProvider(); p.setDefault(MappingProvider.LOCATION, "classpath:/de/tudarmstadt/ukp/dkpro/core/api/syntax/tagset/" + "${language}-${dependency.tagset}-dependency.map"); p.setDefault(MappingProvider.BASE_TYPE, "de.tudarmstadt.ukp.dkpro.core.api.syntax.type.dependency.Dependency"); p.setDefault(DEPENDENCY_TAGSET, "default"); p.setOverride(MappingProvider.LOCATION, aMappingLocation); p.setOverride(MappingProvider.LANGUAGE, aLanguage); p.setOverride(DEPENDENCY_TAGSET, aTagset); return p; } }