The syntax for the package-info stuff is way whacky and if I let Idea reformat the class it jumbles the order.
Here's ours:
Code:
@FilterDefs({
@FilterDef(name = ContextSet.CONTEXT_FILTER, parameters = {@ParamDef(name = ContextSet.CONTEXT, type = "com.x.app.context.ContextSet")}),
@FilterDef(name = EnableBusinessUnitContextFiltersDatabaseOperation.BUSINESS_UNIT_FILTER_NAME, parameters = {@ParamDef(name = EnableBusinessUnitContextFiltersDatabaseOperation.MEMBER_PARAMETER, type = "java.lang.Long"), @ParamDef(name = EnableBusinessUnitContextFiltersDatabaseOperation.EFFECTIVE_DATE_PARAMETER, type = "java.util.Date")}),
@FilterDef(name = EnablePeriodTypeContextFiltersDatabaseOperation.PERIOD_TYPE_FILTER_NAME, parameters = {@ParamDef(name = EnablePeriodTypeContextFiltersDatabaseOperation.PERIOD_TYPE_PARAMETER_NAME, type = "java.lang.String")}, defaultCondition = "PERIOD_TYPE = :" + EnablePeriodTypeContextFiltersDatabaseOperation.PERIOD_TYPE_PARAMETER_NAME),
@FilterDef(name = EnableExpirableContextFiltersDatabaseOperation.EXPIRABLE_FILTER_NAME, parameters = {@ParamDef(name = EnableExpirableContextFiltersDatabaseOperation.EXPIRY_DATE_PARAMETER, type = "java.util.Date")}, defaultCondition = ":" + EnableExpirableContextFiltersDatabaseOperation.EXPIRY_DATE_PARAMETER + " <= EXPIRY_DATE"),
@FilterDef(name = EnableVersionPeriodContextFiltersDatabaseOperation.MOST_EFFECTIVE_VERSION_FILTER_NAME, parameters = {@ParamDef(name = EnableVersionPeriodContextFiltersDatabaseOperation.VERSION_START_DATE_PARAMETER, type = "java.util.Date"), @ParamDef(name = EnableVersionPeriodContextFiltersDatabaseOperation.VERSION_END_DATE_PARAMETER, type = "java.util.Date")}),
@FilterDef(name = EnableVersionPeriodContextFiltersDatabaseOperation.VERSION_FILTER_NAME, parameters = {@ParamDef(name = EnableVersionPeriodContextFiltersDatabaseOperation.VERSION_START_DATE_PARAMETER, type = "java.util.Date"), @ParamDef(name = EnableVersionPeriodContextFiltersDatabaseOperation.VERSION_END_DATE_PARAMETER, type = "java.util.Date")}, defaultCondition = ":" + EnableVersionPeriodContextFiltersDatabaseOperation.VERSION_END_DATE_PARAMETER + " >= VERSION_START_DATE"),
@FilterDef(name = EnableEffectivePeriodContextFiltersDatabaseOperation.DATE_EFFECTIVE_FILTER_NAME, parameters = {@ParamDef(name = EnableEffectivePeriodContextFiltersDatabaseOperation.EFFECTIVE_DATE_PARAMETER, type = "java.util.Date"), @ParamDef(name = EnableEffectivePeriodContextFiltersDatabaseOperation.INACTIVE_DATE_PARAMETER, type = "java.util.Date")}, defaultCondition = ":" + EnableEffectivePeriodContextFiltersDatabaseOperation.EFFECTIVE_DATE_PARAMETER + " <= INACTIVE_DATE AND :" + EnableEffectivePeriodContextFiltersDatabaseOperation.INACTIVE_DATE_PARAMETER + " >= EFFECTIVE_DATE AND INACTIVE_DATE > EFFECTIVE_DATE"),
@FilterDef(name = EnablePropertyContextFiltersDatabaseOperation.PROPERTY_BOUND_FILTER_NAME, parameters = {@ParamDef(name = EnablePropertyContextFiltersDatabaseOperation.LOCATION_ID_PARAMETER, type = "java.lang.Long"), @ParamDef(name = EnableEffectivePeriodContextFiltersDatabaseOperation.EFFECTIVE_DATE_PARAMETER, type = "java.util.Date"), @ParamDef(name = EnableEffectivePeriodContextFiltersDatabaseOperation.INACTIVE_DATE_PARAMETER, type = "java.util.Date")}),
@FilterDef(name = EnableExportContextFiltersDatabaseOperation.EXPORT_FILTER_NAME, parameters = {@ParamDef(name = EnableExportContextFiltersDatabaseOperation.EXPORT_TASK_PARAMETER, type = "java.lang.Long")}, defaultCondition = "not exists (select o.object_uuid from object_export o, workflow_event_task wet, workflow_task_defn wtd where o.object_uuid = uuid and o.state = 'PASS' and o.workflow_event_task_id = wet.workflow_event_task_id and wet.workflow_task_id = wtd.workflow_task_id and wtd.workflow_task_id = :" + EnableExportContextFiltersDatabaseOperation.EXPORT_TASK_PARAMETER + " and o.create_date = (select max(o2.create_date) from object_export o2 where o2.object_uuid =o.object_uuid))")
})
@GenericGenerator(name = "uuid-generator", strategy = "uuid") package com.x.app.hibernate;
import com.x.app.context.ContextSet;
import com.x.app.database.*;
import org.hibernate.annotations.FilterDef;
import org.hibernate.annotations.FilterDefs;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.ParamDef;