import org.jdom.Namespace;\r
\r
import eu.etaxonomy.cdm.common.CdmUtils;\r
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
import eu.etaxonomy.cdm.model.common.Annotation;\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.common.DescriptionElementSource;\r
+import eu.etaxonomy.cdm.model.common.IOriginalSource;\r
import eu.etaxonomy.cdm.model.common.ISourceable;\r
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
import eu.etaxonomy.cdm.model.common.IdentifiableSource;\r
import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.common.TimePeriod;\r
-import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.reference.Reference;\r
/**\r
* @author a.mueller\r
*\r
\r
\r
\r
- public static boolean setOriginalSource(IdentifiableEntity idEntity, ReferenceBase sourceReference, long sourceId, String namespace){\r
+ public static boolean setOriginalSource(IdentifiableEntity idEntity, Reference sourceReference, long sourceId, String namespace){\r
return setOriginalSource(idEntity, sourceReference, String.valueOf(sourceId), namespace);\r
}\r
\r
* @param sourceId\r
* @return\r
*/\r
- public static boolean setOriginalSource(ISourceable idEntity, ReferenceBase sourceReference, String sourceId, String namespace){\r
- IdentifiableSource originalSource = IdentifiableSource.NewInstance(sourceId, namespace, sourceReference, null);\r
- idEntity.addSource(originalSource);\r
+ public static boolean setOriginalSource(ISourceable sourceable, Reference sourceReference, String sourceId, String namespace){\r
+ IOriginalSource originalSource;\r
+ if (HibernateProxyHelper.isInstanceOf(sourceable, IdentifiableEntity.class)){\r
+ originalSource = IdentifiableSource.NewInstance(sourceId, namespace, sourceReference, null);\r
+ }else if (HibernateProxyHelper.isInstanceOf(sourceable, DescriptionElementBase.class)){\r
+ originalSource = DescriptionElementSource.NewInstance(sourceId, namespace, sourceReference, null);\r
+ }else{\r
+ throw new ClassCastException("Unknown implementing class for ISourceable "+ sourceable.getClass() + " . Not supported bei ImportHelper.");\r
+ }\r
+ sourceable.addSource(originalSource);\r
return true;\r
}\r
\r
- \r
public static boolean addStringValue(ResultSet rs, CdmBase cdmBase, String dbAttrName, String cdmAttrName){\r
return addValue(rs, cdmBase, dbAttrName, cdmAttrName, String.class, OVERWRITE);\r
}\r
}\r
\r
/**\r
- * @param clazz\r
+ * @param clazz either boolean or other class (for boolean the naming strategy is different !)\r
* @param cdmAttrName \r
* @return\r
// * @throws IllegalArgumentException if a clazz is not yet supported\r