@Test
  public void delete_wasted_measures_when_purging_snapshot() {
    setupData("shouldDeleteWastedMeasuresWhenPurgingSnapshot");

    SqlSession session = getMyBatis().openSession();
    try {
      new PurgeCommands(session, profiler).purgeSnapshots(PurgeSnapshotQuery.create().setId(1L));
    } finally {
      MyBatis.closeQuietly(session);
    }
    checkTables("shouldDeleteWastedMeasuresWhenPurgingSnapshot", "project_measures");
  }
  /** Test that all related data is purged. */
  @Test
  public void shouldPurgeSnapshot() {
    setupData("shouldPurgeSnapshot");

    SqlSession session = getMyBatis().openSession();
    try {
      new PurgeCommands(session, profiler).purgeSnapshots(PurgeSnapshotQuery.create().setId(1L));
    } finally {
      MyBatis.closeQuietly(session);
    }
    checkTables(
        "shouldPurgeSnapshot",
        "snapshots",
        "project_measures",
        "snapshot_sources",
        "duplications_index",
        "events",
        "dependencies",
        "snapshot_data");
  }
Beispiel #3
0
 @Test
 public void shouldDeleteSnapshots() {
   setupData("shouldDeleteSnapshots");
   dao.deleteSnapshots(PurgeSnapshotQuery.create().setIslast(false).setResourceId(1L));
   checkTables("shouldDeleteSnapshots", "snapshots");
 }
Beispiel #4
0
  void deleteResources(List<Long> resourceIds) {
    // Note : do not merge the delete statements into a single loop of resource ids. It's
    // voluntarily grouped by tables in order to benefit from JDBC batch mode.
    // Batch requests can only relate to the same PreparedStatement.

    for (Long resourceId : resourceIds) {
      deleteSnapshots(PurgeSnapshotQuery.create().setResourceId(resourceId));
    }

    // possible missing optimization: filter requests according to resource scope

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceLinks(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceProperties(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceIndex(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceGroupRoles(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceUserRoles(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceManualMeasures(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceReviewComments(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceActionPlansReviews(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceReviews(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceActionPlans(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResourceEvents(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteResource(resourceId);
    }
    session.commit();

    for (Long resourceId : resourceIds) {
      purgeMapper.deleteAuthors(resourceId);
    }
    session.commit();
  }