For usage of the DAM Dialog/Control within the data module, the class DialogDAM.java should be expendable.
When using within the data module, the detection of a DAMSupport configuration out of a site definition can't work.
There for the method getDamSupport() should be protected, for providing a DAMSupport configuration from other places.
Second the access to the non existing DAMSupprt will result in a null violation within the constructor.
I have added comments to the code how I think it should be solved (always returning the default site definition at least).