refactoring
removing not necessary incapsulation
added logs and removed transient in param of Constraint class
added classes to encapsulate List types
added check for association of datasource to community
modification for selection criteria
new classes for implementation of selection criteria