* The change to be analysed.
* @return The sort weighting.
*/
private int calculateSortWeight(ChangeContainer changeEntity) {
ChangeAction action = changeEntity.getAction();
Entity entity = changeEntity.getEntityContainer().getEntity();
if (entity.getType().equals(EntityType.Bound)) {
if (action.equals(ChangeAction.Create)) {
return 1;
}
if (action.equals(ChangeAction.Modify)) {
return 8;
}
if (action.equals(ChangeAction.Delete)) {
return 12;
}
} else if (entity.getType().equals(EntityType.Node)) {
if (action.equals(ChangeAction.Create)) {
return 2;
}
if (action.equals(ChangeAction.Modify)) {
return 7;
}
if (action.equals(ChangeAction.Delete)) {
return 11;
}
} else if (entity.getType().equals(EntityType.Way)) {
if (action.equals(ChangeAction.Create)) {
return 3;
}
if (action.equals(ChangeAction.Modify)) {
return 6;
}
if (action.equals(ChangeAction.Delete)) {
return 10;
}
} else if (entity.getType().equals(EntityType.Relation)) {
if (action.equals(ChangeAction.Create)) {
return 4;
}
if (action.equals(ChangeAction.Modify)) {
return 5;
}
if (action.equals(ChangeAction.Delete)) {
return 9;
}
}
throw new OsmosisRuntimeException(
"The change entity with action " + action
+ " type " + entity.getType()
+ " and id " + entity.getId()
+ " was not recognised."
);
}