Can I define a custom "form property" type currently user task give 5 default types such as string, integer, long, ENUM and date. Can I add a "java.util.Map" as a type of form property?
You would need to override the default UserTaskActivityBehavior for this. You can plug in your own ActivityBehaviorFactory into the ProcessEngineConfiguration that returns the custom class.