use of org.graylog2.contentpacks.model.constraints.ConstraintCheckResult in project graylog2-server by Graylog2.
the class ContentPackService method checkConstraintsV1.
private Set<ConstraintCheckResult> checkConstraintsV1(ContentPackV1 contentPackV1) {
Set<Constraint> requiredConstraints = contentPackV1.constraints();
final Set<ConstraintCheckResult> fulfilledConstraints = new HashSet<>();
for (ConstraintChecker constraintChecker : constraintCheckers) {
fulfilledConstraints.addAll(constraintChecker.checkConstraints(requiredConstraints));
}
return fulfilledConstraints;
}
use of org.graylog2.contentpacks.model.constraints.ConstraintCheckResult in project graylog2-server by Graylog2.
the class PluginVersionConstraintChecker method checkConstraints.
@Override
public Set<ConstraintCheckResult> checkConstraints(Collection<Constraint> requestedConstraints) {
final ImmutableSet.Builder<ConstraintCheckResult> fulfilledConstraints = ImmutableSet.builder();
for (Constraint constraint : requestedConstraints) {
if (constraint instanceof PluginVersionConstraint) {
final PluginVersionConstraint versionConstraint = (PluginVersionConstraint) constraint;
final Requirement requiredVersion = versionConstraint.version();
boolean result = false;
for (Semver pluginVersion : pluginVersions) {
if (requiredVersion.isSatisfiedBy(pluginVersion)) {
result = true;
}
}
ConstraintCheckResult constraintCheckResult = ConstraintCheckResult.create(versionConstraint, result);
fulfilledConstraints.add(constraintCheckResult);
}
}
return fulfilledConstraints.build();
}
use of org.graylog2.contentpacks.model.constraints.ConstraintCheckResult in project graylog2-server by Graylog2.
the class ContentPackResource method getContentPackRevisions.
@GET
@Path("{contentPackId}/{revision}")
@Timed
@ApiOperation(value = "Get a revision of a content pack")
@ApiResponses(value = { @ApiResponse(code = 500, message = "Error loading content packs") })
@JsonView(ContentPackView.HttpView.class)
public ContentPackResponse getContentPackRevisions(@ApiParam(name = "contentPackId", value = "Content pack ID", required = true) @PathParam("contentPackId") ModelId id, @ApiParam(name = "revision", value = "Content pack revision", required = true) @PathParam("revision") int revision) {
checkPermission(RestPermissions.CONTENT_PACK_READ);
ContentPack contentPack = contentPackPersistenceService.findByIdAndRevision(id, revision).orElseThrow(() -> new NotFoundException("Content pack " + id + " with revision " + revision + " not found!"));
Set<ConstraintCheckResult> constraints = contentPackService.checkConstraints(contentPack);
return ContentPackResponse.create(contentPack, constraints);
}
use of org.graylog2.contentpacks.model.constraints.ConstraintCheckResult in project graylog2-server by Graylog2.
the class GraylogVersionConstraintCheckerTest method checkConstraints.
@Test
public void checkConstraints() {
final GraylogVersionConstraintChecker constraintChecker = new GraylogVersionConstraintChecker("1.0.0");
final GraylogVersionConstraint graylogVersionConstraint = GraylogVersionConstraint.builder().version("^1.0.0").build();
final PluginVersionConstraint pluginVersionConstraint = PluginVersionConstraint.builder().pluginId("unique-id").version("^1.0.0").build();
final ImmutableSet<Constraint> requiredConstraints = ImmutableSet.of(graylogVersionConstraint, pluginVersionConstraint);
final Set<ConstraintCheckResult> result = constraintChecker.checkConstraints(requiredConstraints);
assertThat(result.stream().allMatch(c -> c.fulfilled())).isTrue();
}
use of org.graylog2.contentpacks.model.constraints.ConstraintCheckResult in project graylog2-server by Graylog2.
the class GraylogVersionConstraintCheckerTest method checkConstraintsFails.
@Test
public void checkConstraintsFails() {
final GraylogVersionConstraintChecker constraintChecker = new GraylogVersionConstraintChecker("1.0.0");
final GraylogVersionConstraint graylogVersionConstraint = GraylogVersionConstraint.builder().version("^2.0.0").build();
final PluginVersionConstraint pluginVersionConstraint = PluginVersionConstraint.builder().pluginId("unique-id").version("^1.0.0").build();
final ImmutableSet<Constraint> requiredConstraints = ImmutableSet.of(graylogVersionConstraint, pluginVersionConstraint);
final Set<ConstraintCheckResult> result = constraintChecker.checkConstraints(requiredConstraints);
assertThat(result.stream().allMatch(c -> !c.fulfilled())).isTrue();
}
Aggregations