示例#1
0
  private void purgeSnapshots(final List<Long> snapshotIds) {
    // note that events are not deleted
    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotDependencies(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotDuplications(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotSource(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotViolations(snapshotId);
    }
    session.commit();

    List<Long> metricIdsWithoutHistoricalData = purgeMapper.selectMetricIdsWithoutHistoricalData();
    if (!metricIdsWithoutHistoricalData.isEmpty()) {
      for (Long snapshotId : snapshotIds) {
        purgeMapper.deleteSnapshotWastedMeasures(snapshotId, metricIdsWithoutHistoricalData);
      }
      session.commit();
    }

    List<Long> characteristicIds = purgeMapper.selectCharacteristicIdsToPurge();
    if (!characteristicIds.isEmpty()) {
      for (Long snapshotId : snapshotIds) {
        purgeMapper.deleteSnapshotMeasuresOnCharacteristics(snapshotId, characteristicIds);
      }
      session.commit();
    }

    for (Long snapshotId : snapshotIds) {
      purgeMapper.updatePurgeStatusToOne(snapshotId);
    }
    session.commit();
  }
示例#2
0
  private void deleteSnapshots(final List<Long> snapshotIds) {
    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotDependencies(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotDuplications(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotEvents(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotMeasureData(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotMeasures(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotSource(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshotViolations(snapshotId);
    }
    session.commit();

    for (Long snapshotId : snapshotIds) {
      purgeMapper.deleteSnapshot(snapshotId);
    }

    session.commit();
  }
示例#3
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();
  }
示例#4
0
 List<Long> selectSnapshotIds(PurgeSnapshotQuery query) {
   return purgeMapper.selectSnapshotIds(query);
 }
示例#5
0
 void purgeSnapshots(final PurgeSnapshotQuery query) {
   purgeSnapshots(purgeMapper.selectSnapshotIds(query));
 }