Skip to content

Commit

Permalink
verify in ninja updated, new validation types available
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Apr 15, 2024
1 parent f0632cf commit f0c2e22
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ public ObjectUpgradeValidator(@NotNull PrismContext prismContext) {
this.validator = new ObjectValidator();
}

public void setTypeToCheck(@NotNull ValidationItemType item, boolean check) {
this.validator.setTypeToCheck(item, check);
}

public void setWarnDeprecated(boolean value) {
this.validator.setWarnDeprecated(value);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,7 @@ public void setWarnRemoved(boolean warnRemoved) {
setTypeToCheck(ValidationItemType.REMOVED_ITEM, warnRemoved);
}

@Deprecated
private void setTypeToCheck(ValidationItemType type, boolean set) {
public void setTypeToCheck(@NotNull ValidationItemType type, boolean set) {
if (set) {
typesToCheck.add(type);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,12 @@ private <T extends ObjectType> UpgradeValidationItem process(PrismObject<T> obje
PrismObject<T> cloned = object.clone();

UpgradeObjectProcessor<?> processor = null;
for (UpgradeObjectProcessor<?> p : PROCESSORS) {
if (p.isApplicable(cloned, path)) {
processor = p;
break;
if (path != null && !path.isEmpty()) {
for (UpgradeObjectProcessor<?> p : PROCESSORS) {
if (p.isApplicable(cloned, path)) {
processor = p;
break;
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,10 @@

import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;

import com.evolveum.midpoint.schema.validator.ValidationItemType;

import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.ninja.util.EnumConverterValidator;
import com.evolveum.midpoint.schema.validator.ValidationItemType;

/**
* // todo fix these options, extending Export options is messing up help messages (it's using export.* keys)
Expand All @@ -42,13 +40,27 @@ public ReportStyleConverter() {

public enum VerificationCategory {

DEPRECATED,
DEPRECATED(ValidationItemType.DEPRECATED_ITEM),

REMOVED(ValidationItemType.REMOVED_ITEM),

PLANNED_REMOVAL(ValidationItemType.PLANNED_REMOVAL_ITEM),

REMOVED,
INCORRECT_OIDS(ValidationItemType.INCORRECT_OID_FORMAT),

PLANNED_REMOVAL,
MULTI_VALUE_REF_WITHOUT_OID(ValidationItemType.MULTIVALUE_REF_WITHOUT_OID),

INCORRECT_OIDS
MISSING_NATURAL_KEY(ValidationItemType.MISSING_NATURAL_KEY),

MULTIVALUE_BYTE_ARRAY(ValidationItemType.MULTIVALUE_BYTE_ARRAY),

PROTECTED_DATA_NOT_EXTERNAL(ValidationItemType.PROTECTED_DATA_NOT_EXTERNAL);

public final ValidationItemType validationItemType;

VerificationCategory(ValidationItemType validationItemType) {
this.validationItemType = validationItemType;
}
}

public static class VerificationCategoryConverter extends EnumConverterValidator<VerificationCategory> {
Expand All @@ -65,6 +77,7 @@ public VerificationCategoryConverter() {
public static final String P_STOP_ON_CRITICAL_ERROR = "--stop-on-critical-error";

public static final String P_FILE = "--file";

public static final String P_PLANNED_REMOVAL_VERSION = "--planned-removal-version";

@Parameter(names = { P_VERIFICATION_CATEGORY_LONG }, descriptionKey = "verify.verificationCategory",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,24 +109,7 @@ public void init() {
if (categories.isEmpty()) {
validator.showAllWarnings();
} else {
for (VerifyOptions.VerificationCategory category : categories) {
switch (category) {
case DEPRECATED:
validator.setWarnDeprecated(true);
break;
case INCORRECT_OIDS:
validator.setWarnIncorrectOids(true);
break;
case PLANNED_REMOVAL:
validator.setWarnPlannedRemoval(true);
break;
case REMOVED:
validator.setWarnRemoved(true);
break;
default:
throw new IllegalArgumentException("Unknown category " + category);
}
}
categories.forEach(c -> validator.setTypeToCheck(c.validationItemType, true));
}
}

Expand Down Expand Up @@ -327,6 +310,10 @@ private void writeValidationItem(Writer writer, PrismObject<?> object, UpgradeVa
writer.append("INFO ");
}

if (item.getItem().type() != null) {
items.add(item.getItem().type());
}

UpgradePriority priority = item.getPriority();
if (priority != null) {
items.add(priority);
Expand Down
3 changes: 2 additions & 1 deletion tools/ninja/src/main/resources/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,8 @@ Without NFKD processing the whole character will be removed.
base.psn.trimWhitespace=PolyString normalizer trim whitespace
base.psn.lowercase=PolyString normalizer lowercase
verify.reportStyle=Report format. Allowed values CSV, PLAIN.
verify.verificationCategory=Verification category. Allowed values DEPRECATED, REMOVED, PLANNED_REMOVAL, INCORRECT_OIDS.
verify.verificationCategory=Verification category. Allowed values DEPRECATED, REMOVED, PLANNED_REMOVAL, INCORRECT_OIDS, \
MULTI_VALUE_REF_WITHOUT_OID, MISSING_NATURAL_KEY, MULTIVALUE_BYTE_ARRAY, PROTECTED_DATA_NOT_EXTERNAL.
upgradeDistribution=Upgrade midPoint distribution and related DB schema
upgradeDistribution.tempDir=Temp directory. By default, JVM temp directory is used.
upgradeDistribution.distributionArchive=Distribution archive file. This can be used to skip downloading archive.
Expand Down

0 comments on commit f0c2e22

Please sign in to comment.