You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DaoModule.java 6.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. /*
  2. * SonarQube
  3. * Copyright (C) 2009-2021 SonarSource SA
  4. * mailto:info AT sonarsource DOT com
  5. *
  6. * This program is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 3 of the License, or (at your option) any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public License
  17. * along with this program; if not, write to the Free Software Foundation,
  18. * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  19. */
  20. package org.sonar.db;
  21. import java.util.Arrays;
  22. import java.util.Collections;
  23. import java.util.List;
  24. import org.sonar.core.platform.Module;
  25. import org.sonar.db.alm.pat.AlmPatDao;
  26. import org.sonar.db.alm.setting.AlmSettingDao;
  27. import org.sonar.db.alm.setting.ProjectAlmSettingDao;
  28. import org.sonar.db.audit.AuditDao;
  29. import org.sonar.db.ce.CeActivityDao;
  30. import org.sonar.db.ce.CeQueueDao;
  31. import org.sonar.db.ce.CeScannerContextDao;
  32. import org.sonar.db.ce.CeTaskCharacteristicDao;
  33. import org.sonar.db.ce.CeTaskInputDao;
  34. import org.sonar.db.ce.CeTaskMessageDao;
  35. import org.sonar.db.component.AnalysisPropertiesDao;
  36. import org.sonar.db.component.ApplicationProjectsDao;
  37. import org.sonar.db.component.BranchDao;
  38. import org.sonar.db.component.ComponentDao;
  39. import org.sonar.db.component.ComponentKeyUpdaterDao;
  40. import org.sonar.db.component.ProjectLinkDao;
  41. import org.sonar.db.component.SnapshotDao;
  42. import org.sonar.db.duplication.DuplicationDao;
  43. import org.sonar.db.es.EsQueueDao;
  44. import org.sonar.db.event.EventComponentChangeDao;
  45. import org.sonar.db.event.EventDao;
  46. import org.sonar.db.issue.IssueChangeDao;
  47. import org.sonar.db.issue.IssueDao;
  48. import org.sonar.db.mapping.ProjectMappingsDao;
  49. import org.sonar.db.measure.LiveMeasureDao;
  50. import org.sonar.db.measure.MeasureDao;
  51. import org.sonar.db.metric.MetricDao;
  52. import org.sonar.db.newcodeperiod.NewCodePeriodDao;
  53. import org.sonar.db.notification.NotificationQueueDao;
  54. import org.sonar.db.permission.AuthorizationDao;
  55. import org.sonar.db.permission.GroupPermissionDao;
  56. import org.sonar.db.permission.UserPermissionDao;
  57. import org.sonar.db.permission.template.PermissionTemplateCharacteristicDao;
  58. import org.sonar.db.permission.template.PermissionTemplateDao;
  59. import org.sonar.db.plugin.PluginDao;
  60. import org.sonar.db.portfolio.PortfolioDao;
  61. import org.sonar.db.project.ProjectDao;
  62. import org.sonar.db.project.ProjectBadgeTokenDao;
  63. import org.sonar.db.property.InternalComponentPropertiesDao;
  64. import org.sonar.db.property.InternalPropertiesDao;
  65. import org.sonar.db.property.PropertiesDao;
  66. import org.sonar.db.purge.PurgeDao;
  67. import org.sonar.db.qualitygate.ProjectQgateAssociationDao;
  68. import org.sonar.db.qualitygate.QualityGateConditionDao;
  69. import org.sonar.db.qualitygate.QualityGateDao;
  70. import org.sonar.db.qualitygate.QualityGateGroupPermissionsDao;
  71. import org.sonar.db.qualitygate.QualityGateUserPermissionsDao;
  72. import org.sonar.db.qualityprofile.ActiveRuleDao;
  73. import org.sonar.db.qualityprofile.DefaultQProfileDao;
  74. import org.sonar.db.qualityprofile.QProfileChangeDao;
  75. import org.sonar.db.qualityprofile.QProfileEditGroupsDao;
  76. import org.sonar.db.qualityprofile.QProfileEditUsersDao;
  77. import org.sonar.db.qualityprofile.QualityProfileDao;
  78. import org.sonar.db.qualityprofile.QualityProfileExportDao;
  79. import org.sonar.db.rule.RuleDao;
  80. import org.sonar.db.rule.RuleRepositoryDao;
  81. import org.sonar.db.schemamigration.SchemaMigrationDao;
  82. import org.sonar.db.source.FileSourceDao;
  83. import org.sonar.db.user.GroupDao;
  84. import org.sonar.db.user.GroupMembershipDao;
  85. import org.sonar.db.user.RoleDao;
  86. import org.sonar.db.user.SamlMessageIdDao;
  87. import org.sonar.db.user.SessionTokensDao;
  88. import org.sonar.db.user.UserDao;
  89. import org.sonar.db.user.UserDismissedMessagesDao;
  90. import org.sonar.db.user.UserGroupDao;
  91. import org.sonar.db.user.UserPropertiesDao;
  92. import org.sonar.db.user.UserTokenDao;
  93. import org.sonar.db.webhook.WebhookDao;
  94. import org.sonar.db.webhook.WebhookDeliveryDao;
  95. public class DaoModule extends Module {
  96. private static final List<Class<? extends Dao>> classes = Collections.unmodifiableList(Arrays.asList(
  97. // =====================================================================
  98. // for readability and easier merge, keep list ordered alphabetically
  99. // =====================================================================
  100. ActiveRuleDao.class,
  101. AnalysisPropertiesDao.class,
  102. AuthorizationDao.class,
  103. ApplicationProjectsDao.class,
  104. AuditDao.class,
  105. BranchDao.class,
  106. CeActivityDao.class,
  107. CeQueueDao.class,
  108. CeScannerContextDao.class,
  109. CeTaskCharacteristicDao.class,
  110. CeTaskInputDao.class,
  111. CeTaskMessageDao.class,
  112. ComponentDao.class,
  113. ComponentKeyUpdaterDao.class,
  114. DefaultQProfileDao.class,
  115. DuplicationDao.class,
  116. EsQueueDao.class,
  117. EventDao.class,
  118. EventComponentChangeDao.class,
  119. FileSourceDao.class,
  120. GroupDao.class,
  121. GroupMembershipDao.class,
  122. GroupPermissionDao.class,
  123. AlmSettingDao.class,
  124. AlmPatDao.class,
  125. ProjectAlmSettingDao.class,
  126. InternalComponentPropertiesDao.class,
  127. InternalPropertiesDao.class,
  128. IssueChangeDao.class,
  129. IssueDao.class,
  130. LiveMeasureDao.class,
  131. MeasureDao.class,
  132. MetricDao.class,
  133. NewCodePeriodDao.class,
  134. NotificationQueueDao.class,
  135. PermissionTemplateCharacteristicDao.class,
  136. PermissionTemplateDao.class,
  137. PluginDao.class,
  138. ProjectDao.class,
  139. ProjectBadgeTokenDao.class,
  140. PortfolioDao.class,
  141. ProjectLinkDao.class,
  142. ProjectMappingsDao.class,
  143. ProjectQgateAssociationDao.class,
  144. PropertiesDao.class,
  145. PurgeDao.class,
  146. QProfileChangeDao.class,
  147. QProfileEditGroupsDao.class,
  148. QProfileEditUsersDao.class,
  149. QualityGateConditionDao.class,
  150. QualityGateDao.class,
  151. QualityGateGroupPermissionsDao.class,
  152. QualityGateUserPermissionsDao.class,
  153. QualityProfileDao.class,
  154. QualityProfileExportDao.class,
  155. RoleDao.class,
  156. RuleDao.class,
  157. RuleRepositoryDao.class,
  158. SamlMessageIdDao.class,
  159. SnapshotDao.class,
  160. SchemaMigrationDao.class,
  161. SessionTokensDao.class,
  162. UserDao.class,
  163. UserDismissedMessagesDao.class,
  164. UserGroupDao.class,
  165. UserPermissionDao.class,
  166. UserPropertiesDao.class,
  167. UserTokenDao.class,
  168. WebhookDao.class,
  169. WebhookDeliveryDao.class));
  170. @Override
  171. protected void configureModule() {
  172. add(classes.toArray());
  173. }
  174. public static List<Class<? extends Dao>> classes() {
  175. return classes;
  176. }
  177. }