Skip to content

Commit b7daecb

Browse files
committed
Add locale tag to changeset, reduce duplicate code.
1 parent 86df0f7 commit b7daecb

File tree

1 file changed

+40
-62
lines changed

1 file changed

+40
-62
lines changed

src/main/java/de/blau/android/osm/Server.java

Lines changed: 40 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -807,37 +807,7 @@ public void openChangeset(final String comment, final String source, final Strin
807807
}
808808
}
809809
try {
810-
XmlSerializable xmlData = new XmlSerializable() {
811-
@Override
812-
public void toXml(XmlSerializer serializer, Long changeSetId) throws IllegalArgumentException, IllegalStateException, IOException {
813-
startXml(serializer);
814-
serializer.startTag("", "changeset");
815-
serializer.startTag("", "tag");
816-
serializer.attribute("", "k", "created_by");
817-
serializer.attribute("", "v", generator);
818-
serializer.endTag("", "tag");
819-
if (comment != null && comment.length() > 0) {
820-
serializer.startTag("", "tag");
821-
serializer.attribute("", "k", "comment");
822-
serializer.attribute("", "v", comment);
823-
serializer.endTag("", "tag");
824-
}
825-
if (source != null && source.length() > 0) {
826-
serializer.startTag("", "tag");
827-
serializer.attribute("", "k", "source");
828-
serializer.attribute("", "v", source);
829-
serializer.endTag("", "tag");
830-
}
831-
if (imagery != null && imagery.length() > 0) {
832-
serializer.startTag("", "tag");
833-
serializer.attribute("", "k", "imagery_used");
834-
serializer.attribute("", "v", imagery);
835-
serializer.endTag("", "tag");
836-
}
837-
serializer.endTag("", "changeset");
838-
endXml(serializer);
839-
}
840-
};
810+
XmlSerializable xmlData = changeSetTags(comment, source, imagery);
841811
connection = openConnectionForWriteAccess(getCreateChangesetUrl(), "PUT");
842812
sendPayload(connection, xmlData, changesetId);
843813
if (connection.getResponseCode() == -1) {
@@ -860,6 +830,44 @@ public void toXml(XmlSerializer serializer, Long changeSetId) throws IllegalArgu
860830
changesetId = newChangesetId;
861831
}
862832

833+
private XmlSerializable changeSetTags(final String comment, final String source, final String imagery) {
834+
return new XmlSerializable() {
835+
@Override
836+
public void toXml(XmlSerializer serializer, Long changeSetId) throws IllegalArgumentException, IllegalStateException, IOException {
837+
startXml(serializer);
838+
serializer.startTag("", "changeset");
839+
serializer.startTag("", "tag");
840+
serializer.attribute("", "k", "created_by");
841+
serializer.attribute("", "v", generator);
842+
serializer.endTag("", "tag");
843+
if (comment != null && comment.length() > 0) {
844+
serializer.startTag("", "tag");
845+
serializer.attribute("", "k", "comment");
846+
serializer.attribute("", "v", comment);
847+
serializer.endTag("", "tag");
848+
}
849+
if (source != null && source.length() > 0) {
850+
serializer.startTag("", "tag");
851+
serializer.attribute("", "k", "source");
852+
serializer.attribute("", "v", source);
853+
serializer.endTag("", "tag");
854+
}
855+
if (imagery != null && imagery.length() > 0) {
856+
serializer.startTag("", "tag");
857+
serializer.attribute("", "k", "imagery_used");
858+
serializer.attribute("", "v", imagery);
859+
serializer.endTag("", "tag");
860+
}
861+
serializer.startTag("", "tag");
862+
serializer.attribute("", "k", "locale");
863+
serializer.attribute("", "v", Locale.getDefault().toString());
864+
serializer.endTag("", "tag");
865+
serializer.endTag("", "changeset");
866+
endXml(serializer);
867+
}
868+
};
869+
}
870+
863871
/**
864872
* Close the current open changeset, will zap the stored id even if the closing fails,
865873
* this will force using a new changeset on the next upload
@@ -932,37 +940,7 @@ private void updateChangeset(final long changesetId, final String comment, final
932940
InputStream in = null;
933941

934942
try {
935-
XmlSerializable xmlData = new XmlSerializable() {
936-
@Override
937-
public void toXml(XmlSerializer serializer, Long changeSetId) throws IllegalArgumentException, IllegalStateException, IOException {
938-
startXml(serializer);
939-
serializer.startTag("", "changeset");
940-
serializer.startTag("", "tag");
941-
serializer.attribute("", "k", "created_by");
942-
serializer.attribute("", "v", generator);
943-
serializer.endTag("", "tag");
944-
if (comment != null && comment.length() > 0) {
945-
serializer.startTag("", "tag");
946-
serializer.attribute("", "k", "comment");
947-
serializer.attribute("", "v", comment);
948-
serializer.endTag("", "tag");
949-
}
950-
if (source != null && source.length() > 0) {
951-
serializer.startTag("", "tag");
952-
serializer.attribute("", "k", "source");
953-
serializer.attribute("", "v", source);
954-
serializer.endTag("", "tag");
955-
}
956-
if (imagery != null && imagery.length() > 0) {
957-
serializer.startTag("", "tag");
958-
serializer.attribute("", "k", "imagery_used");
959-
serializer.attribute("", "v", imagery);
960-
serializer.endTag("", "tag");
961-
}
962-
serializer.endTag("", "changeset");
963-
endXml(serializer);
964-
}
965-
};
943+
XmlSerializable xmlData = changeSetTags(comment, source, imagery);
966944
connection = openConnectionForWriteAccess(getChangesetUrl(changesetId), "PUT");
967945
sendPayload(connection, xmlData, changesetId);
968946
checkResponseCode(connection);

0 commit comments

Comments
 (0)