Class ConfiguredMergeForgivenessPolicy
- java.lang.Object
-
- org.openstreetmap.atlas.mutator.configuration.parsing.mergeforgiveness.ConfiguredMergeForgivenessPolicy
-
- All Implemented Interfaces:
java.io.Serializable
public class ConfiguredMergeForgivenessPolicy extends java.lang.Object implements java.io.Serializable- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classConfiguredMergeForgivenessPolicy.FailureSequencePolicyElementstatic classConfiguredMergeForgivenessPolicy.RootLevelPolicyElement
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONFIGURATION_ROOTstatic ConfiguredMergeForgivenessPolicyDEFAULTstatic java.lang.StringDEFAULT_NAMEstatic java.lang.StringEXACT_SEQUENCE_FAILURE_POLICY_JSON_PROPERTYstatic java.lang.StringOWNER_JSON_PROPERTYstatic java.lang.StringROOT_LEVEL_POLICY_JSON_PROPERTYstatic java.lang.StringSUB_SEQUENCE_FAILURE_POLICY_JSON_PROPERTYstatic java.lang.StringTYPE_JSON_PROPERTY_VALUE
-
Constructor Summary
Constructors Constructor Description ConfiguredMergeForgivenessPolicy()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<org.openstreetmap.atlas.geography.atlas.change.FeatureChange>applyPolicy(org.openstreetmap.atlas.exception.change.FeatureChangeMergeException mergeException, org.openstreetmap.atlas.geography.atlas.change.FeatureChange left, org.openstreetmap.atlas.geography.atlas.change.FeatureChange right)Given someFeatureChangeMergeExceptionand a left and rightFeatureChange, attempt to apply the merge forgiveness policies represented by this object.static ConfiguredMergeForgivenessPolicyfromGlobal(org.openstreetmap.atlas.utilities.configuration.Configuration configuration)static ConfiguredMergeForgivenessPolicyfromRoot(org.openstreetmap.atlas.utilities.configuration.Configuration configuration, java.lang.String root)java.util.List<ConfiguredMergeForgivenessPolicy.FailureSequencePolicyElement>getExactSequenceFailurePolicy()java.lang.StringgetOwner()java.util.List<ConfiguredMergeForgivenessPolicy.RootLevelPolicyElement>getRootLevelFailurePolicy()java.util.List<ConfiguredMergeForgivenessPolicy.FailureSequencePolicyElement>getSubSequenceFailurePolicy()booleanpolicyIsEmpty()com.google.gson.JsonObjecttoJson()java.lang.StringtoString()
-
-
-
Field Detail
-
DEFAULT
public static final ConfiguredMergeForgivenessPolicy DEFAULT
-
DEFAULT_NAME
public static final java.lang.String DEFAULT_NAME
- See Also:
- Constant Field Values
-
CONFIGURATION_ROOT
public static final java.lang.String CONFIGURATION_ROOT
- See Also:
- Constant Field Values
-
TYPE_JSON_PROPERTY_VALUE
public static final java.lang.String TYPE_JSON_PROPERTY_VALUE
- See Also:
- Constant Field Values
-
OWNER_JSON_PROPERTY
public static final java.lang.String OWNER_JSON_PROPERTY
- See Also:
- Constant Field Values
-
ROOT_LEVEL_POLICY_JSON_PROPERTY
public static final java.lang.String ROOT_LEVEL_POLICY_JSON_PROPERTY
- See Also:
- Constant Field Values
-
SUB_SEQUENCE_FAILURE_POLICY_JSON_PROPERTY
public static final java.lang.String SUB_SEQUENCE_FAILURE_POLICY_JSON_PROPERTY
- See Also:
- Constant Field Values
-
EXACT_SEQUENCE_FAILURE_POLICY_JSON_PROPERTY
public static final java.lang.String EXACT_SEQUENCE_FAILURE_POLICY_JSON_PROPERTY
- See Also:
- Constant Field Values
-
-
Method Detail
-
fromGlobal
public static ConfiguredMergeForgivenessPolicy fromGlobal(org.openstreetmap.atlas.utilities.configuration.Configuration configuration)
-
fromRoot
public static ConfiguredMergeForgivenessPolicy fromRoot(org.openstreetmap.atlas.utilities.configuration.Configuration configuration, java.lang.String root)
-
applyPolicy
public java.util.Optional<org.openstreetmap.atlas.geography.atlas.change.FeatureChange> applyPolicy(org.openstreetmap.atlas.exception.change.FeatureChangeMergeException mergeException, org.openstreetmap.atlas.geography.atlas.change.FeatureChange left, org.openstreetmap.atlas.geography.atlas.change.FeatureChange right)Given someFeatureChangeMergeExceptionand a left and rightFeatureChange, attempt to apply the merge forgiveness policies represented by this object. Returns a mergedFeatureChangeresult if possible. This method will fail if the selected policy itself fails. The policy selection will try each of the following policies in this order until it finds one that is defined: 1) exactSequenceFailurePolicy, 2) subSequenceFailurePolicy, 3) rootLevelFailurePolicy.- Parameters:
mergeException- the exception detailing the merge failureleft- the leftFeatureChangeright- the rightFeatureChange- Returns:
- the merged
FeatureChange, wrapped in anOptional
-
getExactSequenceFailurePolicy
public java.util.List<ConfiguredMergeForgivenessPolicy.FailureSequencePolicyElement> getExactSequenceFailurePolicy()
-
getOwner
public java.lang.String getOwner()
-
getRootLevelFailurePolicy
public java.util.List<ConfiguredMergeForgivenessPolicy.RootLevelPolicyElement> getRootLevelFailurePolicy()
-
getSubSequenceFailurePolicy
public java.util.List<ConfiguredMergeForgivenessPolicy.FailureSequencePolicyElement> getSubSequenceFailurePolicy()
-
policyIsEmpty
public boolean policyIsEmpty()
-
toJson
public com.google.gson.JsonObject toJson()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-