cleanup
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / term / DefinedTermBase.java
index 28de39f3c130a711823f297bc54abf36af552e81..bba872d05efe054e54c28e6890c951ca96198824 100644 (file)
@@ -36,7 +36,8 @@ import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 import org.hibernate.envers.Audited;
@@ -47,6 +48,7 @@ import org.hibernate.search.annotations.ClassBridge;
 import au.com.bytecode.opencsv.CSVWriter;
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.common.URI;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.hibernate.search.DefinedTermBaseClassBridge;
 import eu.etaxonomy.cdm.model.ICdmUuidCacher;
 import eu.etaxonomy.cdm.model.common.AnnotationType;
@@ -111,7 +113,7 @@ public abstract class DefinedTermBase<T extends DefinedTermBase>
             implements IDefinedTerm<T>, Comparable<T> {
 
     private static final long serialVersionUID = 2931811562248571531L;
-    private static final Logger logger = Logger.getLogger(DefinedTermBase.class);
+    private static final Logger logger = LogManager.getLogger();
 
 //     @XmlElement(name = "KindOf")
 //    @XmlIDREF
@@ -197,16 +199,20 @@ public abstract class DefinedTermBase<T extends DefinedTermBase>
 
 //***************************** CONSTRUCTOR *******************************************/
 
-    //for javassit only
+    //for hibernate use only, *packet* private required by bytebuddy
+    //2022-06-17: currently still needed protected as TaxEditor.TaxonRelationshipTypeInverseContainer inherits from DefinedTermBase
     @Deprecated
-    protected DefinedTermBase(){};
+    protected DefinedTermBase(){}
 
     protected DefinedTermBase(TermType type) {
         super(type);
     }
 
+    public DefinedTermBase(TermType type, String description, String label, String labelAbbrev, Language lang) {
+        super(type, description, label, labelAbbrev, lang);
+    }
     public DefinedTermBase(TermType type, String description, String label, String labelAbbrev) {
-        super(type, description, label, labelAbbrev);
+        super(type, description, label, labelAbbrev, null);
     }
 
 //********************** GETTER /SETTER *************************************
@@ -527,11 +533,12 @@ public abstract class DefinedTermBase<T extends DefinedTermBase>
 
        public static <T extends DefinedTermBase> T getTermByClassAndUUID(Class<T> clazz, UUID uuid) {
            if(cacher != null) {
-               Object obj = getCacher().load(uuid);
+               Object obj = HibernateProxyHelper.deproxy(getCacher().load(uuid));
+
                if(obj != null && obj.getClass().equals(clazz)) {
                    return (T)obj;
                }
            }
            return null;
        }
-}
+}
\ No newline at end of file