\r
package eu.etaxonomy.cdm.model.reference;\r
\r
+import org.apache.log4j.Logger;\r
+\r
import eu.etaxonomy.cdm.model.agent.Person;\r
import eu.etaxonomy.cdm.model.common.TimePeriod;\r
import eu.etaxonomy.cdm.strategy.cache.reference.ArticleDefaultCacheStrategy;\r
import eu.etaxonomy.cdm.strategy.cache.reference.ThesisDefaultCacheStrategy;\r
\r
public class ReferenceFactory {\r
+ private static final Logger logger = Logger.getLogger(ReferenceFactory.class);\r
\r
\r
/**\r
}\r
\r
public static ReferenceBase newProceedings(){\r
- ReferenceBase<ReferenceBaseDefaultCacheStrategy<ReferenceBase>> proceedings = new ReferenceBase<ReferenceBaseDefaultCacheStrategy<ReferenceBase>>(ReferenceType.InProceedings);\r
+ ReferenceBase<ReferenceBaseDefaultCacheStrategy<ReferenceBase>> proceedings = new ReferenceBase<ReferenceBaseDefaultCacheStrategy<ReferenceBase>>(ReferenceType.Proceedings);\r
proceedings.setCacheStrategy(ReferenceType.Proceedings.getCacheStrategy());\r
return proceedings;\r
}\r
return article;\r
}\r
\r
+ /**\r
+ * Returns a new reference for the according reference type. If reference type is <code>null</code>,\r
+ * <code>null</code> is returned.\r
+ * @param referenceType\r
+ * @return\r
+ */\r
public static ReferenceBase newReference(ReferenceType referenceType) {\r
- \r
+ if (referenceType == null){\r
+ return null;\r
+ }\r
switch(referenceType){\r
case Article:\r
return newArticle();\r
return newReport();\r
case Thesis:\r
return newThesis();\r
+ case WebPage:\r
+ return newWebPage();\r
+ case Book:\r
+ return newBook();\r
+ case Generic:\r
+ return newGeneric();\r
default:\r
+ logger.warn("Unknown reference type " + referenceType.getMessage() + ". Created generic reference instead.");\r
return newGeneric(); \r
}\r
}\r