/**
* Copyright (C) 2007 EDIT
* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
import java.util.HashMap;
import java.util.Map;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
import eu.etaxonomy.cdm.model.reference.ReferenceType;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
/**
*
ReferenceCreator class.
*
* @author p.ciardelli
* @created 07.07.2009
*/
public class ReferenceCreator implements IEntityCreator {
@Override
public Reference createEntity(String text) {
return createEntity(Reference.class, text);
}
@Override
public Reference createEntity(Object key, String text) {
Reference reference = null;
// TODO replace w more generic method when cdmlib matures accordingly
if (ReferenceType.Article.getLabel().equals(key)) {
reference = ReferenceFactory.newArticle();
}
if (ReferenceType.Book.getLabel().equals(key)) {
reference = ReferenceFactory.newBook();
}
if (ReferenceType.BookSection.getLabel().equals(key)) {
reference = ReferenceFactory.newBookSection();
}
if (ReferenceType.CdDvd.getLabel().equals(key)) {
reference = ReferenceFactory.newCdDvd();
}
if (ReferenceType.Database.getLabel().equals(key)) {
reference = ReferenceFactory.newDatabase();
}
if (ReferenceType.Generic.getLabel().equals(key)) {
reference = ReferenceFactory.newGeneric();
}
if (ReferenceType.InProceedings.getLabel().equals(key)) {
reference = ReferenceFactory.newInProceedings();
}
if (ReferenceType.Journal.getLabel().equals(key)) {
reference = ReferenceFactory.newJournal();
}
if (ReferenceType.Map.getLabel().equals(key)) {
reference = ReferenceFactory.newMap();
}
if (ReferenceType.Patent.getLabel().equals(key)) {
reference = ReferenceFactory.newPatent();
}
if (ReferenceType.PersonalCommunication.getLabel().equals(key)) {
reference = ReferenceFactory.newPersonalCommunication();
}
if (ReferenceType.PrintSeries.getLabel().equals(key)) {
reference = ReferenceFactory.newPrintSeries();
}
if (ReferenceType.Proceedings.getLabel().equals(key)) {
reference = ReferenceFactory.newProceedings();
}
if (ReferenceType.Report.getLabel().equals(key)) {
reference = ReferenceFactory.newReport();
}
if (ReferenceType.Thesis.getLabel().equals(key)) {
reference = ReferenceFactory.newThesis();
}
if (ReferenceType.WebPage.getLabel().equals(key)) {
reference = ReferenceFactory.newWebPage();
}
if (ReferenceType.Section.getLabel().equals(key)) {
reference = ReferenceFactory.newSection();
}
if (reference == null) {
MessagingUtils.warn(getClass(), "Reference type " + key + " not found. Creating reference with default type.");
reference = ReferenceFactory.newGeneric();
}
reference.setTitleCache(text, true);
return reference;
}
/**
*
getKeyLabelPairs
*
* @return a {@link java.util.Map} object.
*/
@Override
public Map