From 93db8c4c0e5739a8567b40c4f1b73aa7e06d427e Mon Sep 17 00:00:00 2001 From: simon Date: Thu, 15 Oct 2020 12:36:33 +0300 Subject: [PATCH] bug fix --- .../java/net/osmand/osm/io/NetworkUtils.java | 49 ++ OsmAnd/libs/opendb-core.jar | Bin 0 -> 350613 bytes .../plus/mapcontextmenu/MenuBuilder.java | 89 ++- .../plus/osmedit/OpenstreetmapRemoteUtil.java | 78 ++- .../utils/FailedVerificationException.java | 16 + .../plus/osmedit/utils/JsonFormatter.java | 135 +++++ .../osmand/plus/osmedit/utils/SecUtils.java | 411 ++++++++++++++ .../plus/osmedit/utils/ops/OpObject.java | 530 ++++++++++++++++++ .../plus/osmedit/utils/ops/OpOperation.java | 281 ++++++++++ .../osmedit/utils/ops/PerformanceMetrics.java | 171 ++++++ .../plus/osmedit/utils/util/DBConstants.java | 25 + .../osmedit/utils/util/JsonObjectUtils.java | 275 +++++++++ .../plus/osmedit/utils/util/OUtils.java | 122 ++++ .../util/exception/ConnectionException.java | 15 + .../FailedVerificationException.java | 16 + .../util/exception/TechnicalException.java | 15 + 16 files changed, 2200 insertions(+), 28 deletions(-) create mode 100644 OsmAnd/libs/opendb-core.jar create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/FailedVerificationException.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/JsonFormatter.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/SecUtils.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpObject.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpOperation.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/ops/PerformanceMetrics.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/util/DBConstants.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/util/JsonObjectUtils.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/util/OUtils.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/ConnectionException.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/FailedVerificationException.java create mode 100644 OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/TechnicalException.java diff --git a/OsmAnd-java/src/main/java/net/osmand/osm/io/NetworkUtils.java b/OsmAnd-java/src/main/java/net/osmand/osm/io/NetworkUtils.java index 28a1ec3fb9..1590116f5c 100644 --- a/OsmAnd-java/src/main/java/net/osmand/osm/io/NetworkUtils.java +++ b/OsmAnd-java/src/main/java/net/osmand/osm/io/NetworkUtils.java @@ -56,6 +56,55 @@ public class NetworkUtils { return e.getMessage(); } } + + public static String sendPostDataRequest(String urlText, InputStream data){ + try { + log.info("POST : " + urlText); + HttpURLConnection conn = getHttpURLConnection(urlText); + conn.setDoInput(true); + conn.setDoOutput(false); + conn.setRequestMethod("POST"); + conn.setRequestProperty("Accept","*/*"); + conn.setRequestProperty("User-Agent", "OsmAnd"); //$NON-NLS-1$ //$NON-NLS-2$ + conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY); + OutputStream ous = conn.getOutputStream(); + ous.write(("--" + BOUNDARY + "\r\n").getBytes()); + ous.write(("content-disposition: form-data; name=\"" + "file" + "\"; filename=\"" + "image1" + "\"\r\n").getBytes()); //$NON-NLS-1$ //$NON-NLS-2$ + ous.write(("Content-Type: application/octet-stream\r\n\r\n").getBytes()); //$NON-NLS-1$ + Algorithms.streamCopy(data,ous); + ous.write(("\r\n--" + BOUNDARY + "--\r\n").getBytes()); //$NON-NLS-1$ //$NON-NLS-2$ + ous.flush(); + log.info("Response code and message : " + conn.getResponseCode() + " " + conn.getResponseMessage()); + if(conn.getResponseCode() != 200){ + return conn.getResponseMessage(); + } + StringBuilder responseBody = new StringBuilder(); + InputStream is = conn.getInputStream(); + responseBody.setLength(0); + if (is != null) { + BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8")); //$NON-NLS-1$ + String s; + boolean first = true; + while ((s = in.readLine()) != null) { + if(first){ + first = false; + } else { + responseBody.append("\n"); //$NON-NLS-1$ + } + responseBody.append(s); + } + is.close(); + } + Algorithms.closeStream(is); + Algorithms.closeStream(data); + Algorithms.closeStream(ous); + return responseBody.toString(); + } catch (IOException e) { + log.error(e.getMessage(), e); + return e.getMessage(); + } + } + private static final String BOUNDARY = "CowMooCowMooCowCowCow"; //$NON-NLS-1$ public static String uploadFile(String urlText, File fileToUpload, String userNamePassword, OsmOAuthAuthorizationClient client, diff --git a/OsmAnd/libs/opendb-core.jar b/OsmAnd/libs/opendb-core.jar new file mode 100644 index 0000000000000000000000000000000000000000..ac14553f6d290172c9314326bb8a192590613b92 GIT binary patch literal 350613 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 Um^KauND|yZujLwOSj~ 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

SpD9a-U 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java index 00d0a8cc20..affeba63d1 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java @@ -34,17 +34,20 @@ import androidx.core.content.ContextCompat; import androidx.core.graphics.drawable.DrawableCompat; import net.osmand.AndroidUtils; +import net.osmand.PlatformUtil; import net.osmand.binary.BinaryMapIndexReader; import net.osmand.data.Amenity; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.data.QuadRect; import net.osmand.osm.PoiCategory; +import net.osmand.osm.io.NetworkUtils; import net.osmand.plus.OsmAndFormatter; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; import net.osmand.plus.UiUtilities; +import net.osmand.plus.activities.ActivityResultListener; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.helpers.FontCache; import net.osmand.plus.mapcontextmenu.builders.cards.AbstractCard; @@ -53,6 +56,7 @@ import net.osmand.plus.mapcontextmenu.builders.cards.ImageCard; import net.osmand.plus.mapcontextmenu.builders.cards.ImageCard.GetImageCardsTask; import net.osmand.plus.mapcontextmenu.builders.cards.NoImagesCard; import net.osmand.plus.mapcontextmenu.controllers.TransportStopController; +import net.osmand.plus.osmedit.utils.SecUtils; import net.osmand.plus.poi.PoiUIFilter; import net.osmand.plus.render.RenderingIcons; import net.osmand.plus.transport.TransportStopRoute; @@ -62,7 +66,9 @@ import net.osmand.plus.widgets.TextViewEx; import net.osmand.plus.widgets.tools.ClickableSpanTouchListener; import net.osmand.util.Algorithms; import net.osmand.util.MapUtils; - +import org.apache.commons.logging.Log; +import java.io.FileNotFoundException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -77,7 +83,7 @@ public class MenuBuilder { public static final float SHADOW_HEIGHT_TOP_DP = 17f; public static final int TITLE_LIMIT = 60; - protected static final String[] arrowChars = new String[]{"=>"," - "}; + protected static final String[] arrowChars = new String[] {"=>", " - "}; protected MapActivity mapActivity; protected MapContextMenu mapContextMenu; @@ -103,6 +109,8 @@ public class MenuBuilder { private String preferredMapLang; private String preferredMapAppLang; private boolean transliterateNames; + private static final int PICK_IMAGE = 1231; + private static final Log LOG = PlatformUtil.getLog(MenuBuilder.class); public interface CollapseExpandListener { void onCollapseExpand(boolean collapsed); @@ -212,10 +220,59 @@ public class MenuBuilder { if (showOnlinePhotos) { buildNearestPhotosRow(view); } + buildUploadImagesRow(view); buildPluginRows(view); // buildAfter(view); } + public void buildUploadImagesRow(View view) { + if (mapContextMenu != null) { + //TODO to strings + String title = "Upload images"; + buildRow(view, R.drawable.ic_action_note_dark, null, title, 0, false, + null, false, 0, false, new OnClickListener() { + @Override + public void onClick(View view) { + mapActivity.registerActivityResultListener(new ActivityResultListener(PICK_IMAGE, + new ActivityResultListener.OnActivityResultListener() { + @Override + public void onResult(int resultCode, Intent resultData) { + InputStream inputStream = null; + try { + inputStream = mapActivity.getContentResolver().openInputStream(resultData.getData()); + } catch (FileNotFoundException e) { + LOG.error(e); + } + handleSelectedImage(inputStream); + } + })); + Intent intent = new Intent(); + intent.setType("image/*"); + intent.setAction(Intent.ACTION_GET_CONTENT); + mapActivity.startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE); + } + }, false); + } + } + + private void handleSelectedImage(final InputStream image) { + Thread t = new Thread(new Runnable() { + @Override + public void run() { + try{ + String url = "https://test.openplacereviews.org/api/ipfs/image"; + String response = NetworkUtils.sendPostDataRequest(url, image); + //TODO + (new SecUtils()).main(new String[0]); + } + catch (Exception e){ + e.printStackTrace(); + } + } + }); + t.start(); + } + private boolean showTransportRoutes() { return showLocalTransportRoutes() || showNearbyTransportRoutes(); } @@ -254,7 +311,7 @@ public class MenuBuilder { protected boolean needBuildPlainMenuItems() { return true; } - + protected boolean needBuildCoordinatesRow() { return true; } @@ -282,7 +339,7 @@ public class MenuBuilder { protected void buildNearestWikiRow(View view) { if (processNearestWiki() && nearestWiki.size() > 0) { - buildRow(view, R.drawable.ic_action_wikipedia, null, app.getString(R.string.wiki_around) + " (" + nearestWiki.size()+")", 0, + buildRow(view, R.drawable.ic_action_wikipedia, null, app.getString(R.string.wiki_around) + " (" + nearestWiki.size() + ")", 0, true, getCollapsableWikiView(view.getContext(), true), false, 0, false, null, false); } @@ -322,9 +379,9 @@ public class MenuBuilder { locationData.remove(PointDescription.LOCATION_LIST_HEADER); CollapsableView cv = getLocationCollapsableView(locationData); buildRow(view, R.drawable.ic_action_get_my_location, null, title, 0, true, cv, false, 1, - false, null, false); + false, null, false); } - + private void startLoadingImages() { if (onlinePhotoCardsRow == null) { return; @@ -379,7 +436,7 @@ public class MenuBuilder { } } - protected void buildDescription(View view){ + protected void buildDescription(View view) { } protected void buildAfter(View view) { @@ -395,8 +452,8 @@ public class MenuBuilder { } public View buildRow(View view, int iconId, String buttonText, String text, int textColor, - boolean collapsable, final CollapsableView collapsableView, - boolean needLinks, int textLinesLimit, boolean isUrl, OnClickListener onClickListener, boolean matchWidthDivider) { + boolean collapsable, final CollapsableView collapsableView, + boolean needLinks, int textLinesLimit, boolean isUrl, OnClickListener onClickListener, boolean matchWidthDivider) { return buildRow(view, iconId == 0 ? null : getRowIcon(iconId), buttonText, text, textColor, null, collapsable, collapsableView, needLinks, textLinesLimit, isUrl, onClickListener, matchWidthDivider); } @@ -480,7 +537,7 @@ public class MenuBuilder { textPrefixView.setLayoutParams(llTextParams); textPrefixView.setTypeface(FontCache.getRobotoRegular(view.getContext())); textPrefixView.setTextSize(12); - textPrefixView.setTextColor(app.getResources().getColor(light ? R.color.text_color_secondary_light: R.color.text_color_secondary_dark)); + textPrefixView.setTextColor(app.getResources().getColor(light ? R.color.text_color_secondary_light : R.color.text_color_secondary_dark)); textPrefixView.setMinLines(1); textPrefixView.setMaxLines(1); textPrefixView.setText(textPrefix); @@ -526,7 +583,7 @@ public class MenuBuilder { textViewSecondary.setLayoutParams(llTextSecondaryParams); textViewSecondary.setTypeface(FontCache.getRobotoRegular(view.getContext())); textViewSecondary.setTextSize(14); - textViewSecondary.setTextColor(app.getResources().getColor(light ? R.color.text_color_secondary_light: R.color.text_color_secondary_dark)); + textViewSecondary.setTextColor(app.getResources().getColor(light ? R.color.text_color_secondary_light : R.color.text_color_secondary_dark)); textViewSecondary.setText(secondaryText); llText.addView(textViewSecondary); } @@ -581,7 +638,7 @@ public class MenuBuilder { } if (collapsableView.getContentView().getParent() != null) { ((ViewGroup) collapsableView.getContentView().getParent()) - .removeView(collapsableView.getContentView()); + .removeView(collapsableView.getContentView()); } baseView.addView(collapsableView.getContentView()); } @@ -741,8 +798,8 @@ public class MenuBuilder { } public void addPlainMenuItem(int iconId, String text, boolean needLinks, boolean isUrl, - boolean collapsable, CollapsableView collapsableView, - OnClickListener onClickListener) { + boolean collapsable, CollapsableView collapsableView, + OnClickListener onClickListener) { plainMenuItems.add(new PlainMenuItem(iconId, null, text, needLinks, isUrl, collapsable, collapsableView, onClickListener)); } @@ -964,7 +1021,7 @@ public class MenuBuilder { button.setTypeface(FontCache.getRobotoRegular(context)); int bg; if (selected) { - bg = light ? R.drawable.context_menu_controller_bg_light_selected: R.drawable.context_menu_controller_bg_dark_selected; + bg = light ? R.drawable.context_menu_controller_bg_light_selected : R.drawable.context_menu_controller_bg_dark_selected; } else if (showAll) { bg = light ? R.drawable.context_menu_controller_bg_light_show_all : R.drawable.context_menu_controller_bg_dark_show_all; } else { @@ -1021,7 +1078,7 @@ public class MenuBuilder { private List getAmenities(QuadRect rect, PoiUIFilter wikiPoiFilter) { return wikiPoiFilter.searchAmenities(rect.top, rect.left, - rect.bottom, rect.right, -1, null); + rect.bottom, rect.right, -1, null); } @SuppressWarnings("unchecked") diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java b/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java index 393dd7d965..6e38a115ea 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OpenstreetmapRemoteUtil.java @@ -18,6 +18,7 @@ import net.osmand.osm.edit.Entity.EntityType; import net.osmand.osm.edit.EntityInfo; import net.osmand.osm.edit.Node; import net.osmand.osm.edit.Way; +import net.osmand.osm.io.Base64; import net.osmand.osm.io.NetworkUtils; import net.osmand.osm.io.OsmBaseStorage; import net.osmand.plus.OsmandApplication; @@ -30,10 +31,8 @@ import org.apache.commons.logging.Log; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.StringWriter; +import java.io.*; +import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.text.MessageFormat; import java.util.HashMap; @@ -108,14 +107,16 @@ public class OpenstreetmapRemoteUtil implements OpenstreetmapUtil { boolean doAuthenticate) { log.info("Sending request " + url); //$NON-NLS-1$ try { - if (doAuthenticate){ - OsmOAuthAuthorizationAdapter client = new OsmOAuthAuthorizationAdapter(ctx); - Response response = client.performRequest(url,requestMethod,requestBody); - return response.getBody(); - } - else { - OsmOAuthAuthorizationAdapter client = new OsmOAuthAuthorizationAdapter(ctx); - Response response = client.performRequestWithoutAuth(url,requestMethod,requestBody); + OsmOAuthAuthorizationAdapter client = new OsmOAuthAuthorizationAdapter(ctx); + if (doAuthenticate) { + if (client.isValidToken()) { + Response response = client.performRequest(url, requestMethod, requestBody); + return response.getBody(); + } else { + return performBasicAuthRequest(url, requestMethod, requestBody, userOperation); + } + } else { + Response response = client.performRequestWithoutAuth(url, requestMethod, requestBody); return response.getBody(); } } catch (NullPointerException e) { @@ -139,11 +140,64 @@ public class OpenstreetmapRemoteUtil implements OpenstreetmapUtil { log.error(userOperation + " " + ctx.getString(R.string.failed_op), e); //$NON-NLS-1$ showWarning(MessageFormat.format(ctx.getResources().getString(R.string.shared_string_action_template) + ": " + ctx.getResources().getString(R.string.shared_string_unexpected_error), userOperation)); + } catch (Exception e) { + log.error(userOperation + " " + ctx.getString(R.string.failed_op), e); //$NON-NLS-1$ + showWarning(MessageFormat.format(ctx.getResources().getString(R.string.shared_string_action_template) + + ": " + ctx.getResources().getString(R.string.shared_string_unexpected_error), userOperation)); } return null; } + private String performBasicAuthRequest(String url, String requestMethod, String requestBody, String userOperation) throws IOException { + HttpURLConnection connection = NetworkUtils.getHttpURLConnection(url); + connection.setConnectTimeout(15000); + connection.setRequestMethod(requestMethod); + connection.setRequestProperty("User-Agent", Version.getFullVersion(ctx)); //$NON-NLS-1$ + StringBuilder responseBody = new StringBuilder(); + String token = settings.USER_NAME.get() + ":" + settings.USER_PASSWORD.get(); //$NON-NLS-1$ + connection.addRequestProperty("Authorization", "Basic " + Base64.encode(token.getBytes("UTF-8"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + connection.setDoInput(true); + if (requestMethod.equals("PUT") || requestMethod.equals("POST") || requestMethod.equals("DELETE")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + connection.setDoOutput(true); + connection.setRequestProperty("Content-type", "text/xml"); //$NON-NLS-1$ //$NON-NLS-2$ + OutputStream out = connection.getOutputStream(); + if (requestBody != null) { + BufferedWriter bwr = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"), 1024); //$NON-NLS-1$ + bwr.write(requestBody); + bwr.flush(); + } + out.close(); + } + connection.connect(); + if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) { + String msg = userOperation + + " " + ctx.getString(R.string.failed_op) + " : " + connection.getResponseMessage(); //$NON-NLS-1$//$NON-NLS-2$ + log.error(msg); + showWarning(msg); + } else { + log.info("Response : " + connection.getResponseMessage()); //$NON-NLS-1$ + // populate return fields. + responseBody.setLength(0); + InputStream i = connection.getInputStream(); + if (i != null) { + BufferedReader in = new BufferedReader(new InputStreamReader(i, "UTF-8"), 256); //$NON-NLS-1$ + String s; + boolean f = true; + while ((s = in.readLine()) != null) { + if (!f) { + responseBody.append("\n"); //$NON-NLS-1$ + } else { + f = false; + } + responseBody.append(s); + } + } + return responseBody.toString(); + } + return null; + } + public long openChangeSet(String comment) { long id = -1; StringWriter writer = new StringWriter(256); diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/FailedVerificationException.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/FailedVerificationException.java new file mode 100644 index 0000000000..08f1a71cec --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/FailedVerificationException.java @@ -0,0 +1,16 @@ +package net.osmand.plus.osmedit.utils; + +public class FailedVerificationException extends Exception { + + private static final long serialVersionUID = -4936205097177668159L; + + + public FailedVerificationException(Exception e) { + super(e); + } + + + public FailedVerificationException(String msg) { + super(msg); + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/JsonFormatter.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/JsonFormatter.java new file mode 100644 index 0000000000..74aca61659 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/JsonFormatter.java @@ -0,0 +1,135 @@ +package net.osmand.plus.osmedit.utils; + +import com.google.gson.*; +import net.osmand.plus.osmedit.utils.ops.OpObject; +import net.osmand.plus.osmedit.utils.ops.OpOperation; + +import java.io.Reader; +import java.lang.reflect.Type; +import java.util.*; + +public class JsonFormatter { + + private Gson gson; + + private Gson gsonOperationHash; + + private Gson gsonFullOutput; + + public JsonFormatter() { + GsonBuilder builder = new GsonBuilder(); + builder.disableHtmlEscaping(); + builder.registerTypeAdapter(OpOperation.class, new OpOperation.OpOperationBeanAdapter(false)); + builder.registerTypeAdapter(OpObject.class, new OpObject.OpObjectAdapter(false)); + builder.registerTypeAdapter(TreeMap.class, new MapDeserializerDoubleAsIntFix()); + gson = builder.create(); + + builder = new GsonBuilder(); + builder.disableHtmlEscaping(); + builder.registerTypeAdapter(OpOperation.class, new OpOperation.OpOperationBeanAdapter(false, true)); + builder.registerTypeAdapter(OpObject.class, new OpObject.OpObjectAdapter(false)); + builder.registerTypeAdapter(TreeMap.class, new MapDeserializerDoubleAsIntFix()); + gsonOperationHash = builder.create(); + + builder = new GsonBuilder(); + builder.disableHtmlEscaping(); + builder.registerTypeAdapter(OpOperation.class, new OpOperation.OpOperationBeanAdapter(true)); + builder.registerTypeAdapter(OpObject.class, new OpObject.OpObjectAdapter(true)); + builder.registerTypeAdapter(TreeMap.class, new MapDeserializerDoubleAsIntFix()); + gsonFullOutput = builder.create(); + + + } + + public static class MapDeserializerDoubleAsIntFix implements JsonDeserializer> { + + @Override @SuppressWarnings("unchecked") + public TreeMap deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + return (TreeMap) read(json); + } + + public Object read(JsonElement in) { + + if(in.isJsonArray()){ + List list = new ArrayList(); + JsonArray arr = in.getAsJsonArray(); + for (JsonElement anArr : arr) { + list.add(read(anArr)); + } + return list; + }else if(in.isJsonObject()){ + Map map = new TreeMap(); + JsonObject obj = in.getAsJsonObject(); + Set> entitySet = obj.entrySet(); + for(Map.Entry entry: entitySet){ + map.put(entry.getKey(), read(entry.getValue())); + } + return map; + }else if(in.isJsonPrimitive()){ + JsonPrimitive prim = in.getAsJsonPrimitive(); + if(prim.isBoolean()){ + return prim.getAsBoolean(); + }else if(prim.isString()){ + return prim.getAsString(); + }else if(prim.isNumber()){ + Number num = prim.getAsNumber(); + // here you can handle double int/long values + // and return any type you want + // this solution will transform 3.0 float to long values + if(Math.ceil(num.doubleValue()) == num.longValue() && (!num.toString().contains(".") || num.toString().split("\\.")[1].length() <= 1)) + return num.longValue(); + else { + return num.doubleValue(); + } + } + } + return null; + } + } + +// operations to parse / format related + public OpOperation parseOperation(String opJson) { + return gson.fromJson(opJson, OpOperation.class); + } + + public OpObject parseObject(String opJson) { + return gson.fromJson(opJson, OpObject.class); + } + + public Object parseBlock(String opJson) { + throw new UnsupportedOperationException(""); + } + + public JsonElement toJsonElement(Object o) { + return gson.toJsonTree(o); + } + + @SuppressWarnings("unchecked") + public TreeMap fromJsonToTreeMap(String json) { + return gson.fromJson(json, TreeMap.class); + } + + + public T fromJson(Reader json, Class classOfT) throws JsonSyntaxException { + return gson.fromJson(json, classOfT); + } + + public String fullObjectToJson(Object o) { + return gsonFullOutput.toJson(o); + } + + + public String opToJsonNoHash(OpOperation op) { + return gsonOperationHash.toJson(op); + } + + public String opToJson(OpOperation op) { + return gson.toJson(op); + } + + public String objToJson(OpObject op) { + return gson.toJson(op); + } + + +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/SecUtils.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/SecUtils.java new file mode 100644 index 0000000000..d0f0765bb6 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/SecUtils.java @@ -0,0 +1,411 @@ +package net.osmand.plus.osmedit.utils; + + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.security.*; +import java.security.spec.ECGenParameterSpec; +import java.security.spec.EncodedKeySpec; +import java.security.spec.InvalidKeySpecException; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +//import java.util.Base64; +import java.util.concurrent.ThreadLocalRandom; + +import net.osmand.plus.osmedit.utils.ops.OpOperation; +import org.apache.commons.codec.DecoderException; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.codec.digest.DigestUtils; +//import org.bouncycastle.crypto.generators.SCrypt; +//import org.bouncycastle.crypto.prng.FixedSecureRandom; +public class SecUtils { + private static final String SIG_ALGO_SHA1_EC = "SHA1withECDSA"; + private static final String SIG_ALGO_NONE_EC = "NonewithECDSA"; + + public static final String SIG_ALGO_ECDSA = "ECDSA"; + public static final String ALGO_EC = "EC"; + public static final String EC_256SPEC_K1 = "secp256k1"; + + public static final String KEYGEN_PWD_METHOD_1 = "EC256K1_S17R8"; + public static final String DECODE_BASE64 = "base64"; + public static final String HASH_SHA256 = "sha256"; + public static final String HASH_SHA1 = "sha1"; + + public static final String JSON_MSG_TYPE = "json"; + public static final String KEY_BASE64 = DECODE_BASE64; + + public static void main(String[] args) { + //1) create op, 2) sign op 3) send to server process op + // + KeyPairGenerator keyGen = null ; + SecureRandom random = null; + try { + keyGen = KeyPairGenerator.getInstance(ALGO_EC); + random = SecureRandom.getInstance("SHA1PRNG"); + keyGen.initialize(1024, random); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + KeyPair kp = null; + try { + kp = SecUtils.getKeyPair(ALGO_EC, + "base64:PKCS#8:MD4CAQAwEAYHKoZIzj0CAQYFK4EEAAoEJzAlAgEBBCDR+/ByIjTHZgfdnMfP9Ab5s14mMzFX+8DYqUiGmf/3rw==" + , "base64:X.509:MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEOMUiRZwU7wW8L3A1qaJPwhAZy250VaSxJmKCiWdn9EMeubXQgWNT8XUWLV5Nvg7O3sD+1AAQLG5kHY8nOc/AyA=="); + } catch (FailedVerificationException e) { + e.printStackTrace(); + } +// KeyPair kp = generateECKeyPairFromPassword(KEYGEN_PWD_METHOD_1, "openplacereviews", ""); +// KeyPair kp = generateRandomEC256K1KeyPair(); + System.out.println(kp.getPrivate().getFormat()); + System.out.println(kp.getPrivate().getAlgorithm()); + try { + System.out.println(SecUtils.validateKeyPair(ALGO_EC, kp.getPrivate(), kp.getPublic())); + } catch (FailedVerificationException e) { + e.printStackTrace(); + } + String pr = encodeKey(KEY_BASE64, kp.getPrivate()); + String pk = encodeKey(KEY_BASE64, kp.getPublic()); + String algo = kp.getPrivate().getAlgorithm(); + System.out.println(String.format("Private key: %s %s\nPublic key: %s %s", kp.getPrivate().getFormat(), pr, kp + .getPublic().getFormat(), pk)); + String signMessageTest = "Hello this is a registration message test"; + byte[] signature = signMessageWithKey(kp, signMessageTest.getBytes(), SIG_ALGO_SHA1_EC); + System.out.println(String.format("Signed message: %s %s", android.util.Base64.decode(signature, android.util.Base64.DEFAULT), + signMessageTest)); + + KeyPair nk = null; + try { + nk = getKeyPair(algo, pr, pk); + } catch (FailedVerificationException e) { + e.printStackTrace(); + } + // validate + pr = new String(android.util.Base64.decode(nk.getPrivate().getEncoded(), android.util.Base64.DEFAULT)); + pk = new String(android.util.Base64.decode(nk.getPublic().getEncoded(), android.util.Base64.DEFAULT)); + + System.out.println(String.format("Private key: %s %s\nPublic key: %s %s", nk.getPrivate().getFormat(), pr, nk + .getPublic().getFormat(), pk)); + System.out.println(validateSignature(nk, signMessageTest.getBytes(), SIG_ALGO_SHA1_EC, signature)); + + JsonFormatter formatter = new JsonFormatter(); + String msg = "{\n" + + " \"type\" : \"sys.signup\",\n" + + " \"signed_by\": \"openplacereviews\",\n" + + " \"create\": [{\n" + + " \"id\": [\"openplacereviews\"],\n" + + " \"name\" : \"openplacereviews\",\n" + + " \"algo\": \"EC\",\n" + + " \"auth_method\": \"provided\",\n" + + " \"pubkey\": \"base64:X.509:MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEn6GkOTN3SYc+OyCYCpqPzKPALvUgfUVNDJ+6eyBlCHI1/gKcVqzHLwaO90ksb29RYBiF4fW/PqHcECNzwJB+QA==\"\n" + + " }]\n" + + " }"; + + OpOperation opOperation = formatter.parseOperation(msg); + String hash = JSON_MSG_TYPE + ":" + + SecUtils.calculateHashWithAlgo(SecUtils.HASH_SHA256, null, + formatter.opToJsonNoHash(opOperation)); + + byte[] hashBytes = SecUtils.getHashBytes(hash); + String signatureTxt = SecUtils.signMessageWithKeyBase64(kp, hashBytes, SecUtils.SIG_ALGO_ECDSA, null); + System.out.println(formatter.opToJsonNoHash(opOperation)); + System.out.println(hash); + System.out.println(signatureTxt); + } + + public static EncodedKeySpec decodeKey(String key) { + if (key.startsWith(KEY_BASE64 + ":")) { + key = key.substring(KEY_BASE64.length() + 1); + int s = key.indexOf(':'); + if (s == -1) { + throw new IllegalArgumentException(String.format("Key doesn't contain algorithm of hashing to verify")); + } + return getKeySpecByFormat(key.substring(0, s), + android.util.Base64.decode(key.substring(s + 1), android.util.Base64.DEFAULT)); + } + throw new IllegalArgumentException(String.format("Key doesn't contain algorithm of hashing to verify")); + } + + public static String encodeKey(String algo, PublicKey pk) { + if (algo.equals(KEY_BASE64)) { + return SecUtils.KEY_BASE64 + ":" + pk.getFormat() + ":" + encodeBase64(pk.getEncoded()); + } + throw new UnsupportedOperationException("Algorithm is not supported: " + algo); + } + + public static String encodeKey(String algo, PrivateKey pk) { + if (algo.equals(KEY_BASE64)) { + return SecUtils.KEY_BASE64 + ":" + pk.getFormat() + ":" + encodeBase64(pk.getEncoded()); + } + throw new UnsupportedOperationException("Algorithm is not supported: " + algo); + } + + public static EncodedKeySpec getKeySpecByFormat(String format, byte[] data) { + switch (format) { + case "PKCS#8": + return new PKCS8EncodedKeySpec(data); + case "X.509": + return new X509EncodedKeySpec(data); + } + throw new IllegalArgumentException(format); + } + + public static String encodeBase64(byte[] data) { + return new String(android.util.Base64.decode(data, android.util.Base64.DEFAULT)); + } + + public static boolean validateKeyPair(String algo, PrivateKey privateKey, PublicKey publicKey) + throws FailedVerificationException { + if (!algo.equals(ALGO_EC)) { + throw new FailedVerificationException("Algorithm is not supported: " + algo); + } + // create a challenge + byte[] challenge = new byte[512]; + ThreadLocalRandom.current().nextBytes(challenge); + + try { + // sign using the private key + Signature sig = Signature.getInstance(SIG_ALGO_SHA1_EC); + sig.initSign(privateKey); + sig.update(challenge); + byte[] signature = sig.sign(); + + // verify signature using the public key + sig.initVerify(publicKey); + sig.update(challenge); + + boolean keyPairMatches = sig.verify(signature); + return keyPairMatches; + } catch (InvalidKeyException e) { + throw new FailedVerificationException(e); + } catch (NoSuchAlgorithmException e) { + throw new FailedVerificationException(e); + } catch (SignatureException e) { + throw new FailedVerificationException(e); + } + } + + public static KeyPair getKeyPair(String algo, String prKey, String pbKey) throws FailedVerificationException { + try { + KeyFactory keyFactory = KeyFactory.getInstance(algo); + PublicKey pb = null; + PrivateKey pr = null; + if (pbKey != null) { + pb = keyFactory.generatePublic(decodeKey(pbKey)); + } + if (prKey != null) { + pr = keyFactory.generatePrivate(decodeKey(prKey)); + } + return new KeyPair(pb, pr); + } catch (NoSuchAlgorithmException e) { + throw new FailedVerificationException(e); + } catch (InvalidKeySpecException e) { + throw new FailedVerificationException(e); + } + } + + public static KeyPair generateKeyPairFromPassword(String algo, String keygenMethod, String salt, String pwd) + throws FailedVerificationException { + if (algo.equals(ALGO_EC)) { + return generateECKeyPairFromPassword(keygenMethod, salt, pwd); + } + throw new UnsupportedOperationException("Unsupported algo keygen method: " + algo); + } + + public static KeyPair generateECKeyPairFromPassword(String keygenMethod, String salt, String pwd) + throws FailedVerificationException { + if (keygenMethod.equals(KEYGEN_PWD_METHOD_1)) { + return generateEC256K1KeyPairFromPassword(salt, pwd); + } + throw new UnsupportedOperationException("Unsupported keygen method: " + keygenMethod); + } + + // "EC:secp256k1:scrypt(salt,N:17,r:8,p:1,len:256)" algorithm - EC256K1_S17R8 + public static KeyPair generateEC256K1KeyPairFromPassword(String salt, String pwd) + throws FailedVerificationException { + try { + KeyPairGenerator kpg = KeyPairGenerator.getInstance(ALGO_EC); + ECGenParameterSpec ecSpec = new ECGenParameterSpec(EC_256SPEC_K1); + if (pwd.length() < 10) { + throw new IllegalArgumentException("Less than 10 characters produces only 50 bit entropy"); + } + byte[] bytes = pwd.getBytes("UTF-8"); + //byte[] scrypt = SCrypt.generate(bytes, salt.getBytes("UTF-8"), 1 << 17, 8, 1, 256); + //kpg.initialize(ecSpec, new FixedSecureRandom(scrypt)); + return kpg.genKeyPair(); + } catch (NoSuchAlgorithmException e) { + throw new FailedVerificationException(e); + } catch (UnsupportedEncodingException e) { + throw new FailedVerificationException(e); + } /* catch (InvalidAlgorithmParameterException e) { + throw new FailedVerificationException(e); + }*/ + } + + public static KeyPair generateRandomEC256K1KeyPair() throws FailedVerificationException { + try { + KeyPairGenerator kpg = KeyPairGenerator.getInstance(ALGO_EC); + ECGenParameterSpec ecSpec = new ECGenParameterSpec(EC_256SPEC_K1); + kpg.initialize(ecSpec); + return kpg.genKeyPair(); + } catch (NoSuchAlgorithmException e) { + throw new FailedVerificationException(e); + } catch (InvalidAlgorithmParameterException e) { + throw new FailedVerificationException(e); + } + } + + public static String signMessageWithKeyBase64(KeyPair keyPair, byte[] msg, String signAlgo, ByteArrayOutputStream out) { + byte[] sigBytes = signMessageWithKey(keyPair, msg, signAlgo); + if(out != null) { + try { + out.write(sigBytes); + } catch (IOException e) { + throw new IllegalStateException(e); + } + } + String signature = new String(android.util.Base64.decode(sigBytes, android.util.Base64.DEFAULT)); + return signAlgo + ":" + DECODE_BASE64 + ":" + signature; + } + + public static byte[] signMessageWithKey(KeyPair keyPair, byte[] msg, String signAlgo) { + try { + Signature sig = Signature.getInstance(getInternalSigAlgo(signAlgo)); + sig.initSign(keyPair.getPrivate()); + sig.update(msg); + byte[] signatureBytes = sig.sign(); + return signatureBytes; + } catch (NoSuchAlgorithmException e) { + //throw new FailedVerificationException(e); + } catch (InvalidKeyException e) { + //throw new FailedVerificationException(e); + } catch (SignatureException e) { + //throw new FailedVerificationException(e); + } + return new byte[0]; + } + + public static boolean validateSignature(KeyPair keyPair, byte[] msg, String sig) { + if(sig == null || keyPair == null) { + return false; + } + int ind = sig.indexOf(':'); + String sigAlgo = sig.substring(0, ind); + return validateSignature(keyPair, msg, sigAlgo, decodeSignature(sig.substring(ind + 1))); + } + + public static boolean validateSignature(KeyPair keyPair, byte[] msg, String sigAlgo, byte[] signature) { + if (keyPair == null) { + return false; + } + try { + Signature sig = Signature.getInstance(getInternalSigAlgo(sigAlgo)); + sig.initVerify(keyPair.getPublic()); + sig.update(msg); + return sig.verify(signature); + } catch (NoSuchAlgorithmException e) { + //throw new FailedVerificationException(e); + } catch (InvalidKeyException e) { + //throw new FailedVerificationException(e); + } catch (SignatureException e) { + //throw new FailedVerificationException(e); + } + return false; + } + + private static String getInternalSigAlgo(String sigAlgo) { + return sigAlgo.equals(SIG_ALGO_ECDSA)? SIG_ALGO_NONE_EC : sigAlgo; + } + + + public static byte[] calculateHash(String algo, byte[] b1, byte[] b2) { + byte[] m = mergeTwoArrays(b1, b2); + if (algo.equals(HASH_SHA256)) { + return DigestUtils.sha256(m); + } else if (algo.equals(HASH_SHA1)) { + return DigestUtils.sha1(m); + } + throw new UnsupportedOperationException(); + } + + public static byte[] mergeTwoArrays(byte[] b1, byte[] b2) { + byte[] m = b1 == null ? b2 : b1; + if(b2 != null && b1 != null) { + m = new byte[b1.length + b2.length]; + System.arraycopy(b1, 0, m, 0, b1.length); + System.arraycopy(b2, 0, m, b1.length, b2.length); + } + return m; + } + + public static String calculateHashWithAlgo(String algo, String salt, String msg) { + try { + String hex = Hex.encodeHexString(calculateHash(algo, salt == null ? null : salt.getBytes("UTF-8"), + msg == null ? null : msg.getBytes("UTF-8"))); + return algo + ":" + hex; + } catch (UnsupportedEncodingException e) { + throw new IllegalStateException(e); + } + } + + public static String calculateHashWithAlgo(String algo, byte[] bts) { + byte[] hash = calculateHash(algo, bts, null); + return formatHashWithAlgo(algo, hash); + } + + public static String formatHashWithAlgo(String algo, byte[] hash) { + String hex = Hex.encodeHexString(hash); + return algo + ":" + hex; + } + + public static byte[] getHashBytes(String msg) { + if(msg == null || msg.length() == 0) { + // special case for empty hash + return new byte[0]; + } + int i = msg.lastIndexOf(':'); + String s = i >= 0 ? msg.substring(i + 1) : msg; + try { + return Hex.decodeHex(s); + } catch (DecoderException e) { + throw new IllegalArgumentException(e); + } + } + + + public static boolean validateHash(String hash, String salt, String msg) { + int s = hash.indexOf(":"); + if (s == -1) { + throw new IllegalArgumentException(String.format("Hash %s doesn't contain algorithm of hashing to verify", + s)); + } + String v = calculateHashWithAlgo(hash.substring(0, s), salt, msg); + return hash.equals(v); + } + + public static byte[] decodeSignature(String digest) { + try { + int indexOf = digest.indexOf(DECODE_BASE64 + ":"); + if (indexOf != -1) { +// return Base64.getDecoder().decode(digest.substring(indexOf + DECODE_BASE64.length() + 1). +// getBytes("UTF-8")); + return android.util.Base64.decode(digest.substring(indexOf + DECODE_BASE64.length() + 1) + .getBytes("UTF-8"), android.util.Base64.DEFAULT); + } + } catch (UnsupportedEncodingException e) { + throw new IllegalStateException(e); + } + throw new IllegalArgumentException("Unknown format for signature " + digest); + } + + public static String hexify(byte[] bytes) { + if(bytes == null || bytes.length == 0) { + return ""; + } + return Hex.encodeHexString(bytes); + + } + + + +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpObject.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpObject.java new file mode 100644 index 0000000000..20350f6572 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpObject.java @@ -0,0 +1,530 @@ +package net.osmand.plus.osmedit.utils.ops; + +import com.google.gson.*; +import net.osmand.plus.osmedit.utils.util.JsonObjectUtils; +import net.osmand.plus.osmedit.utils.util.OUtils; + +import java.lang.reflect.Type; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.Map.Entry; +import java.util.concurrent.ConcurrentHashMap; + +public class OpObject { + + public static final String F_NAME = "name"; + public static final String F_ID = "id"; + public static final String F_COMMENT = "comment"; + public static final String TYPE_OP = "sys.op"; + public static final String TYPE_BLOCK = "sys.block"; + public static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; + // transient info about validation timing etc + public static final String F_EVAL = "eval"; + public static final String F_VALIDATION = "validation"; + public static final String F_TIMESTAMP_ADDED = "timestamp"; + public static final String F_PARENT_TYPE = "parentType"; + public static final String F_PARENT_HASH = "parentHash"; + public static final String F_CHANGE = "change"; + public static final String F_CURRENT = "current"; + // voting + public static final String F_OP = "op"; + public static final String F_STATE = "state"; + public static final String F_OPEN = "open"; + public static final String F_FINAL = "final"; + public static final String F_VOTE = "vote"; + public static final String F_VOTES = "votes"; + public static final String F_SUBMITTED_OP_HASH = "submittedOpHash"; + public static final String F_USER = "user"; + + public static final OpObject NULL = new OpObject(true); + + public static SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT); + static { + dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + } + + protected Map fields = new TreeMap<>(); + protected transient Map cacheFields; + protected boolean isImmutable; + + protected transient String parentType; + protected transient String parentHash; + protected transient boolean deleted; + + + public OpObject() {} + + public OpObject(boolean deleted) { + this.deleted = deleted; + } + + public OpObject(OpObject cp) { + this(cp, false); + } + + public OpObject(OpObject cp, boolean copyCacheFields) { + createOpObjectCopy(cp, copyCacheFields); + } + + @SuppressWarnings("unchecked") + private OpObject createOpObjectCopy(OpObject opObject, boolean copyCacheFields) { + this.parentType = opObject.parentType; + this.parentHash = opObject.parentHash; + this.deleted = opObject.deleted; + this.fields = (Map) copyingObjects(opObject.fields, copyCacheFields); + if (opObject.cacheFields != null && copyCacheFields) { + this.cacheFields = (Map) copyingObjects(opObject.cacheFields, copyCacheFields); + } + this.isImmutable = false; + + return this; + } + + public boolean isDeleted() { + return deleted; + } + + @SuppressWarnings("unchecked") + private Object copyingObjects(Object object, boolean copyCacheFields) { + if (object instanceof Number) { + return (Number) object; + } else if (object instanceof String) { + return (String) object; + } else if (object instanceof Boolean) { + return (Boolean) object; + } else if (object instanceof List) { + List copy = new ArrayList<>(); + List list = (List) object; + for (Object o : list) { + copy.add(copyingObjects(o, copyCacheFields)); + } + return copy; + } else if (object instanceof Map) { + Map copy = new LinkedHashMap<>(); + Map map = (Map) object; + for (Object o : map.keySet()) { + copy.put(o, copyingObjects(map.get(o), copyCacheFields)); + } + return copy; + } else if (object instanceof OpObject) { + return new OpObject((OpObject) object); + } else { + throw new UnsupportedOperationException("Type of object is not supported"); + } + } + + public void setParentOp(OpOperation op) { + setParentOp(op.type, op.getRawHash()); + } + + public void setParentOp(String parentType, String parentHash) { + this.parentType = parentType; + this.parentHash = parentHash; + } + + public String getParentHash() { + return parentHash; + } + + public String getParentType() { + return parentType; + } + + public List getId() { + return getStringList(F_ID); + } + + public void setId(String id) { + addOrSetStringValue(F_ID, id);; + } + + public boolean isImmutable() { + return isImmutable; + } + + public OpObject makeImmutable() { + isImmutable = true; + return this; + } + + public Object getFieldByExpr(String field) { + if (field.contains(".") || field.contains("[") || field.contains("]")) { + return JsonObjectUtils.getField(this.fields, generateFieldSequence(field)); + } + + return fields.get(field); + } + + + /** + * generateFieldSequence("a") - [a] + * generateFieldSequence("a.b") - [a, b] + * generateFieldSequence("a.b.c.de") - [a, b, c, de] + * generateFieldSequence("a.bwerq.c") - [a, bwerq, c] + * generateFieldSequence("a.bwerq...c") - [a, bwerq, c] + * generateFieldSequence("a.bwereq..c..") - [a, bwerq, c] + * generateFieldSequence("a.{b}") - [a, b] + * generateFieldSequence("a.{b.c.de}") - [a, b.c.de] + * generateFieldSequence("a.{b.c.de}") - [a, b.c.de] + * generateFieldSequence("a.{b{}}") - [a, b{}] + * generateFieldSequence("a.{b{}d.q}") - [a, b{}d.q] + */ + private static List generateFieldSequence(String field) { + int STATE_OPEN_BRACE = 1; + int STATE_OPEN = 0; + int state = STATE_OPEN; + int start = 0; + List l = new ArrayList(); + for(int i = 0; i < field.length(); i++) { + boolean split = false; + if (i == field.length() - 1) { + if (state == STATE_OPEN_BRACE) { + if(field.charAt(i) == '}') { + split = true; + } else { + throw new IllegalArgumentException("Illegal field expression: " + field); + } + } else { + if(field.charAt(i) != '.') { + i++; + } + split = true; + } + } else { + if (field.charAt(i) == '.' && state == STATE_OPEN) { + split = true; + } else if (field.charAt(i) == '}' && field.charAt(i + 1) == '.' && state == STATE_OPEN_BRACE) { + split = true; + } else if (field.charAt(i) == '{' && state == STATE_OPEN) { + if(start != i) { + throw new IllegalArgumentException("Illegal field expression (wrap {} is necessary): " + field); + } + state = STATE_OPEN_BRACE; + start = i + 1; + } + } + if(split) { + if (i != start) { + l.add(field.substring(start, i)); + } + start = i + 1; + state = STATE_OPEN; + } + } + return l; + } + + public void setFieldByExpr(String field, Object object) { + if (field.contains(".") || field.contains("[") || field.contains("]")) { + List fieldSequence = generateFieldSequence(field); + if (object == null) { + JsonObjectUtils.deleteField(this.fields, fieldSequence); + } else { + JsonObjectUtils.setField(this.fields, fieldSequence, object); + } + } else if (object == null) { + fields.remove(field); + } else { + fields.put(field, object); + } + } + + + public Object getCacheObject(String f) { + if(cacheFields == null) { + return null; + } + return cacheFields.get(f); + } + + public void putCacheObject(String f, Object o) { + if (isImmutable()) { + if (cacheFields == null) { + cacheFields = new ConcurrentHashMap(); + } + cacheFields.put(f, o); + } + } + + public void setId(String id, String id2) { + List list = new ArrayList(); + list.add(id); + list.add(id2); + putObjectValue(F_ID, list); + } + + public String getName() { + return getStringValue(F_NAME); + } + + public String getComment() { + return getStringValue(F_COMMENT); + } + + public Map getRawOtherFields() { + return fields; + } + + @SuppressWarnings("unchecked") + public Map getStringMap(String field) { + return (Map) fields.get(field); + } + + @SuppressWarnings("unchecked") + public Map> getMapStringList(String field) { + return (Map>) fields.get(field); + } + + @SuppressWarnings("unchecked") + public List> getListStringMap(String field) { + return (List>) fields.get(field); + } + + @SuppressWarnings("unchecked") + public List> getListStringObjMap(String field) { + return (List>) fields.get(field); + } + + @SuppressWarnings("unchecked") + public Map getStringObjMap(String field) { + return (Map) fields.get(field); + } + + @SuppressWarnings("unchecked") + public T getField(T def, String... fields) { + Map p = this.fields; + for(int i = 0; i < fields.length - 1 ; i++) { + p = (Map) p.get(fields[i]); + if(p == null) { + return def; + } + } + T res = (T) p.get(fields[fields.length - 1]); + if(res == null) { + return def; + } + return res; + } + + @SuppressWarnings("unchecked") + public Map, Object> getStringListObjMap(String field) { + return (Map, Object>) fields.get(field); + } + + + public long getDate(String field) { + String date = getStringValue(field); + if(OUtils.isEmpty(date)) { + return 0; + } + try { + return dateFormat.parse(date).getTime(); + } catch (ParseException e) { + return 0; + } + } + + + public void setDate(String field, long time) { + putStringValue(field, dateFormat.format(new Date(time))); + } + + public Number getNumberValue(String field) { + return (Number) fields.get(field); + } + + public int getIntValue(String key, int def) { + Number o = getNumberValue(key); + return o == null ? def : o.intValue(); + } + + public long getLongValue(String key, long def) { + Number o = getNumberValue(key); + return o == null ? def : o.longValue(); + } + + public String getStringValue(String field) { + Object o = fields.get(field); + if (o instanceof String || o == null) { + return (String) o; + } + return o.toString(); + } + + @SuppressWarnings("unchecked") + public List getStringList(String field) { + // cast to list if it is single value + Object o = fields.get(field); + if(o == null || o.toString().isEmpty()) { + return Collections.emptyList(); + } + if(o instanceof String) { + return Collections.singletonList(o.toString()); + } + return (List) o; + } + + public Object getObjectValue(String field) { + return fields.get(field); + } + + public void putStringValue(String key, String value) { + checkNotImmutable(); + if(value == null) { + fields.remove(key); + } else { + fields.put(key, value); + } + } + + /** + * Operates as a single value if cardinality is less than 1 + * or as a list of values if it stores > 1 value + * @param key + * @param value + */ + @SuppressWarnings("unchecked") + public void addOrSetStringValue(String key, String value) { + checkNotImmutable(); + Object o = fields.get(key); + if(o == null) { + fields.put(key, value); + } else if(o instanceof List) { + ((List) o).add(value); + } else { + List list = new ArrayList(); + list.add(o.toString()); + list.add(value); + fields.put(key, list); + } + } + + @SuppressWarnings("unchecked") + public Map getChangedEditFields() { + return (Map) fields.get(F_CHANGE); + } + + @SuppressWarnings("unchecked") + public Map getCurrentEditFields() { + return (Map) fields.get(F_CURRENT); + } + + public void putObjectValue(String key, Object value) { + checkNotImmutable(); + if(value == null) { + fields.remove(key); + } else { + fields.put(key, value); + } + } + + public void checkNotImmutable() { + if(isImmutable) { + throw new IllegalStateException("Object is immutable"); + } + + } + + public void checkImmutable() { + if(!isImmutable) { + throw new IllegalStateException("Object is mutable"); + } + } + + public Object remove(String key) { + checkNotImmutable(); + return fields.remove(key); + } + + public Map getMixedFieldsAndCacheMap() { + TreeMap mp = new TreeMap<>(fields); + if(cacheFields != null || parentType != null || parentHash != null) { + TreeMap eval = new TreeMap(); + + if(parentType != null) { + eval.put(F_PARENT_TYPE, parentType); + } + if(parentHash != null) { + eval.put(F_PARENT_HASH, parentHash); + } + if (cacheFields != null) { + Iterator> it = cacheFields.entrySet().iterator(); + while (it.hasNext()) { + Entry e = it.next(); + Object v = e.getValue(); + if (v instanceof Map || v instanceof String || v instanceof Number) { + eval.put(e.getKey(), v); + } + } + } + if(eval.size() > 0) { + mp.put(F_EVAL, eval); + } + } + return mp; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((fields == null) ? 0 : fields.hashCode()); + return result; + } + + @Override + public String toString() { + return getClass().getSimpleName() + "[" + fields + "]"; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + OpObject other = (OpObject) obj; + if (fields == null) { + if (other.fields != null) + return false; + } else if (!fields.equals(other.fields)) + return false; + return true; + } + + public static class OpObjectAdapter implements JsonDeserializer, + JsonSerializer { + + private boolean fullOutput; + + public OpObjectAdapter(boolean fullOutput) { + this.fullOutput = fullOutput; + } + + @Override + public OpObject deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) + throws JsonParseException { + OpObject bn = new OpObject(); + bn.fields = context.deserialize(json, TreeMap.class); + // remove cache + bn.fields.remove(F_EVAL); + return bn; + } + + @Override + public JsonElement serialize(OpObject src, Type typeOfSrc, JsonSerializationContext context) { + return context.serialize(fullOutput ? src.getMixedFieldsAndCacheMap() : src.fields); + } + + + } + + + + + + +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpOperation.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpOperation.java new file mode 100644 index 0000000000..ad1c9571ae --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/OpOperation.java @@ -0,0 +1,281 @@ +package net.osmand.plus.osmedit.utils.ops; + +import com.google.gson.*; + +import java.lang.reflect.Type; +import java.util.*; + +public class OpOperation extends OpObject { + + public static final String F_TYPE = "type"; + public static final String F_SIGNED_BY = "signed_by"; + public static final String F_HASH = "hash"; + + public static final String F_SIGNATURE = "signature"; + + public static final String F_REF = "ref"; + public static final String F_CREATE = "create"; + public static final String F_DELETE = "delete"; + public static final String F_EDIT = "edit"; + + public static final String F_NAME = "name"; + public static final String F_COMMENT = "comment"; + + private List createdObjects = new LinkedList(); + private List editedObjects = new LinkedList(); + protected String type; + + public OpOperation() { + } + + public OpOperation(OpOperation cp, boolean copyCacheFields) { + super(cp, copyCacheFields); + this.type = cp.type; + for(OpObject o : cp.createdObjects) { + this.createdObjects.add(new OpObject(o, copyCacheFields)); + } + for(OpObject o : cp.editedObjects) { + this.editedObjects.add(new OpObject(o, copyCacheFields)); + } + } + + public String getOperationType() { + return type; + } + + public void setType(String name) { + checkNotImmutable(); + type = name; + updateObjectsRef(); + } + + protected void updateObjectsRef() { + for(OpObject o : createdObjects) { + o.setParentOp(this); + } + for(OpObject o : editedObjects) { + o.setParentOp(this); + } + } + + public String getType() { + return type; + } + + public OpOperation makeImmutable() { + isImmutable = true; + for(OpObject o : createdObjects) { + o.makeImmutable(); + } + for(OpObject o : editedObjects) { + o.makeImmutable(); + } + return this; + } + + public void setSignedBy(String value) { + putStringValue(F_SIGNED_BY, value); + } + + public void addOtherSignedBy(String value) { + super.addOrSetStringValue(F_SIGNED_BY, value); + } + + public List getSignedBy() { + return getStringList(F_SIGNED_BY); + } + + public String getHash() { + return getStringValue(F_HASH); + } + + public String getRawHash() { + String rw = getStringValue(F_HASH); + // drop algorithm and everything else + if(rw != null) { + rw = rw.substring(rw.lastIndexOf(':') + 1); + } + return rw; + } + + public List getSignatureList() { + return getStringList(F_SIGNATURE); + } + + public Map> getRef() { + return getMapStringList(F_REF); + } + + @SuppressWarnings("unchecked") + public List> getDeleted() { + List> l = (List>) fields.get(F_DELETE); + if(l == null) { + return Collections.emptyList(); + } + return l; + } + + public boolean hasDeleted() { + return getDeleted().size() > 0; + } + + public void addDeleted(List id) { + if(!fields.containsKey(F_DELETE)) { + ArrayList> lst = new ArrayList<>(); + lst.add(id); + putObjectValue(F_DELETE, lst); + } else { + getDeleted().add(id); + } + } + + public List getCreated() { + return createdObjects; + } + + public void addCreated(OpObject o) { + checkNotImmutable(); + createdObjects.add(o); + if(type != null) { + o.setParentOp(this); + } + } + + public boolean hasCreated() { + return createdObjects.size() > 0; + } + + public void addEdited(OpObject o) { + checkNotImmutable(); + editedObjects.add(o); + if (type != null) { + o.setParentOp(this); + } + } + + public List getEdited() { + return editedObjects; + } + + public boolean hasEdited() { + return editedObjects.size() > 0; + } + + + public String getName() { + return getStringValue(F_NAME); + } + + public String getComment() { + return getStringValue(F_COMMENT); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((createdObjects == null) ? 0 : createdObjects.hashCode()); + result = prime * result + ((editedObjects == null) ? 0 : editedObjects.hashCode()); + result = prime * result + ((type == null) ? 0 : type.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (getClass() != obj.getClass()) + return false; + OpOperation other = (OpOperation) obj; + if (createdObjects == null) { + if (other.createdObjects != null) + return false; + } else if (!createdObjects.equals(other.createdObjects)) + return false; + if (editedObjects == null) { + if (other.editedObjects != null) + return false; + } else if (!editedObjects.equals(other.editedObjects)) + return false; + if (type == null) { + if (other.type != null) + return false; + } else if (!type.equals(other.type)) + return false; + return true; + } + + + + public static class OpOperationBeanAdapter implements JsonDeserializer, + JsonSerializer { + + // plain serialization to calculate hash + private boolean excludeHashAndSignature; + private boolean fullOutput; + + public OpOperationBeanAdapter(boolean fullOutput, boolean excludeHashAndSignature) { + this.excludeHashAndSignature = excludeHashAndSignature; + this.fullOutput = fullOutput; + } + + public OpOperationBeanAdapter(boolean fullOutput) { + this.fullOutput = fullOutput; + this.excludeHashAndSignature = false; + } + + @Override + public OpOperation deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) + throws JsonParseException { + JsonObject jsonObj = json.getAsJsonObject(); + OpOperation op = new OpOperation(); + JsonElement tp = jsonObj.remove(F_TYPE); + if(tp != null) { + String opType = tp.getAsString(); + op.type = opType; + } else { + op.type = ""; + } + JsonElement createdObjs = jsonObj.remove(F_CREATE); + if(createdObjs != null) { + JsonArray ar = createdObjs.getAsJsonArray(); + for(int i = 0; i < ar.size(); i++) { + //op.addCreated(context.deserialize(ar.get(i), OpObject.class)); + } + } + + JsonElement editedObjs = jsonObj.remove(F_EDIT); + if (editedObjs != null) { + for (JsonElement editElem : editedObjs.getAsJsonArray()) { + //op.addEdited(context.deserialize(editElem, OpObject.class)); + } + } + + jsonObj.remove(F_EVAL); + op.fields = context.deserialize(jsonObj, TreeMap.class); + return op; + } + + @Override + public JsonElement serialize(OpOperation src, Type typeOfSrc, JsonSerializationContext context) { + TreeMap tm = new TreeMap<>(fullOutput ? src.getMixedFieldsAndCacheMap() : src.fields); + if(excludeHashAndSignature) { + tm.remove(F_SIGNATURE); + tm.remove(F_HASH); + } + tm.put(F_TYPE, src.type); + + if (src.hasEdited()) { + tm.put(F_EDIT, context.serialize(src.editedObjects)); + } + + if(src.hasCreated()) { + tm.put(F_CREATE, context.serialize(src.createdObjects)); + } + return context.serialize(tm); + } + } + +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/PerformanceMetrics.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/PerformanceMetrics.java new file mode 100644 index 0000000000..a6abf266d6 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/ops/PerformanceMetrics.java @@ -0,0 +1,171 @@ +package net.osmand.plus.osmedit.utils.ops; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; + +public class PerformanceMetrics { + private static final PerformanceMetrics inst = new PerformanceMetrics(); + public static final int METRICS_COUNT = 2; + public static PerformanceMetrics i() { + return inst; + } + private final Map metrics = new ConcurrentHashMap(); + private final AtomicInteger ids = new AtomicInteger(); + private final PerformanceMetric DISABLED = new PerformanceMetric(-1, ""); + private boolean enabled = true; + private PerformanceMetric overhead; + + private PerformanceMetrics() { + overhead = getByKey("_overhead"); + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public Map getMetrics() { + return metrics; + } + + public PerformanceMetric getMetric(String prefix, String key) { + if(!enabled) { + return DISABLED; + } + return getMetric(prefix + "." + key); + } + + public void reset(int c) { + for(PerformanceMetric p : metrics.values()) { + p.reset(c); + } + } + + + public PerformanceMetric getMetric(String key) { + if(!enabled) { + return DISABLED; + } + long s = System.nanoTime(); + PerformanceMetric pm = getByKey(key); + overhead.capture(System.nanoTime() - s); + return pm; + } + + private PerformanceMetric getByKey(String key) { + PerformanceMetric pm = metrics.get(key); + if(pm == null) { + pm = new PerformanceMetric(ids.incrementAndGet(), key); + metrics.put(key, pm); + } + return pm; + } + + + public final class PerformanceMetric { + final String name; + final int id; + String description; + AtomicInteger invocations = new AtomicInteger(); + AtomicLong totalDuration = new AtomicLong(); + AtomicInteger invocationsA = new AtomicInteger(); + AtomicLong totalDurationA = new AtomicLong(); + AtomicInteger invocationsB = new AtomicInteger(); + AtomicLong totalDurationB = new AtomicLong(); + + + + private PerformanceMetric(int id, String name) { + this.id = id; + this.name = name; + } + + public Metric start() { + if(id == -1) { + return Metric.EMPTY; + } + return new Metric(this); + } + + public String getName() { + return name; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } + + public void reset(int c) { + if(c == 1) { + invocationsA.set(0); + totalDurationA.set(0); + } else if(c == 2) { + totalDurationB.set(0); + invocationsB.set(0); + } + } + + public int getInvocations(int c) { + if(c == 1) { + return invocationsA.get(); + } else if(c == 2) { + return invocationsB.get(); + } + return invocations.get(); + } + + public long getDuration(int c) { + if(c == 1) { + return totalDurationA.get(); + } else if(c == 2) { + return totalDurationB.get(); + } + return totalDuration.get(); + } + + public int getId() { + return id; + } + + long capture(long d) { + invocations.incrementAndGet(); + totalDuration.addAndGet(d); + invocationsA.incrementAndGet(); + totalDurationA.addAndGet(d); + invocationsB.incrementAndGet(); + totalDurationB.addAndGet(d); + return d; + } + } + + public static final class Metric { + long start; + PerformanceMetric m; + boolean e; + public static final Metric EMPTY = new Metric(true); + private Metric(PerformanceMetric m) { + start = System.nanoTime(); + this.m = m; + } + + private Metric(boolean empty) { + e = empty; + } + + public long capture() { + if(e) { + return 0; + } + return m.capture(System.nanoTime() - start); + } + } +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/util/DBConstants.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/DBConstants.java new file mode 100644 index 0000000000..fb769b10c5 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/DBConstants.java @@ -0,0 +1,25 @@ +package net.osmand.plus.osmedit.utils.util; + +public interface DBConstants { + + public static final String SCHEMA_NAME = "public"; + + // Tables + public static final String BLOCK_TABLE = "blocks"; + + public static final String LOGINS_TABLE = "logins"; + + public static final String USERS_TABLE = "users"; + + public static final String QUEUE_TABLE = "queue"; + + public static final String ROLES_TABLE = "roles"; + + public static final String TABLES_TABLE = "tables"; + + public static final String OP_DEFINITIONS_TABLE = "op_definitions"; + + public static final String EXECUTED_OPERATIONS_TABLE = "operations"; + + +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/util/JsonObjectUtils.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/JsonObjectUtils.java new file mode 100644 index 0000000000..e8ccc187f1 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/JsonObjectUtils.java @@ -0,0 +1,275 @@ +package net.osmand.plus.osmedit.utils.util; + +import java.util.*; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Class uses for work with Json Object represent as Map. + */ +public class JsonObjectUtils { + + + private static final int GET_OPERATION = 0; + private static final int SET_OPERATION = 1; + private static final int DELETE_OPERATION = 2; + protected static final Log LOGGER = LogFactory.getLog(JsonObjectUtils.class); + + private static class OperationAccess { + private final int operation; + private final Object value; + + private OperationAccess(int op, Object v) { + this.operation = op; + this.value = v; + } + + } + + /** + * Retrieve value from jsonMap by field sequence. + * @param jsonMap source json object deserialized in map + * @param fieldSequence Sequence to field value. + * Example: person.car.number have to be ["person", "car[2]", "number"] + * @return Field value + */ + public static Object getField(Map jsonMap, String[] fieldSequence) { + return accessField(jsonMap, fieldSequence, new OperationAccess(GET_OPERATION, null)); + } + + /** + * Set value to json field (path to field presented as sequence of string) + * + * @param jsonMap source json object deserialized in map + * @param fieldSequence Sequence to field value. + * * Example: person.car.number have to be ["person", "car[2]", "number"] + * @param field field value + * @return + */ + public static Object setField(Map jsonMap, List fieldSequence, Object field) { + return setField(jsonMap, fieldSequence.toArray(new String[fieldSequence.size()]), field); + } + + /** + * Set value to json field (path to field presented as sequence of string) + * + * @param jsonObject source json object deserialized in map + * @param fieldSequence Sequence to field value. + * * Example: person.car.number have to be ["person", "car[2]", "number"] + * @param field field value + * @return + */ + public static Object setField(Map jsonObject, String[] fieldSequence, Object field) { + return accessField(jsonObject, fieldSequence, new OperationAccess(SET_OPERATION, field)); + } + + + /** + * Retrieve value from jsonMap by field sequence. + * + * @param jsonObject source json object deserialized in map + * @param fieldSequence Sequence to field value. + * Example: person.car.number have to be ["person", "car[2]", "number"] + * @return Field value + */ + public static Object getField(Map jsonObject, List fieldSequence) { + return getField(jsonObject, fieldSequence.toArray(new String[fieldSequence.size()])); + } + + /** + * Delete field value from json Map (field path presented as sequence of string) + * + * @param jsonMap source json object deserialized in map + * @param fieldSequence Sequence to field value. + * Example: person.car.number have to be ["person", "car[2]", "number"] + * @return + */ + public static Object deleteField(Map jsonMap, List fieldSequence) { + return accessField(jsonMap, fieldSequence.toArray(new String[fieldSequence.size()]), new OperationAccess(DELETE_OPERATION, null)); + } + + + @SuppressWarnings("unchecked") + private static Object accessField(Map jsonObject, String[] fieldSequence, OperationAccess op) { + if (fieldSequence == null || fieldSequence.length == 0) { + throw new IllegalArgumentException("Field sequence is empty. Set value to root not possible."); + } + String fieldName = null; + Map jsonObjLocal = jsonObject; + List jsonListLocal = null; + int indexToAccess = -1; + for(int i = 0; i < fieldSequence.length; i++) { + boolean last = i == fieldSequence.length - 1; + fieldName = fieldSequence[i]; + int indOpArray = -1; + for(int ic = 0; ic < fieldName.length(); ) { + if(ic > 0 && (fieldName.charAt(ic) == '[' || fieldName.charAt(ic) == ']') && + fieldName.charAt(ic - 1) == '\\') { + // replace '\[' with '[' + fieldName = fieldName.substring(0, ic - 1) + fieldName.substring(ic); + } else if(fieldName.charAt(ic) == '[') { + indOpArray = ic; + break; + } else { + ic++; + } + } + jsonListLocal = null; // reset + if(indOpArray == -1) { + if(!last) { + Map fieldAccess = (Map) jsonObjLocal.get(fieldName); + if(fieldAccess == null) { + if(op.operation == GET_OPERATION) { + // don't modify during get operation + return null; + } + Map newJsonMap = new TreeMap<>(); + jsonObjLocal.put(fieldName, newJsonMap); + jsonObjLocal = newJsonMap; + } else { + jsonObjLocal = fieldAccess; + } + } + } else { + String arrayFieldName = fieldName.substring(0, indOpArray); + if(arrayFieldName.contains("]")) { + throw new IllegalArgumentException(String.format("Illegal field array modifier %s", fieldSequence[i])); + } + jsonListLocal = (List) jsonObjLocal.get(arrayFieldName); + if (jsonListLocal == null) { + if (op.operation == GET_OPERATION) { + // don't modify during get operation + return null; + } + jsonListLocal = new ArrayList(); + jsonObjLocal.put(arrayFieldName, jsonListLocal); + } + while (indOpArray != -1) { + fieldName = fieldName.substring(indOpArray + 1); + int indClArray = fieldName.indexOf("]"); + if (indClArray == -1) { + throw new IllegalArgumentException(String.format("Illegal field array modifier %s", fieldSequence[i])); + } + if(indClArray == fieldName.length() - 1) { + indOpArray = -1; + } else if(fieldName.charAt(indClArray + 1) == '[') { + indOpArray = indClArray + 1; + } else { + throw new IllegalArgumentException(String.format("Illegal field array modifier %s", fieldSequence[i])); + } + int index = Integer.parseInt(fieldName.substring(0, indClArray)); + if (last && indOpArray == -1) { + indexToAccess = index; + } else { + Object obj = null; + if (index < jsonListLocal.size() && index >= 0) { + obj = jsonListLocal.get(index); + } else if (op.operation == SET_OPERATION && (index == -1 || index == jsonListLocal.size())) { + index = jsonListLocal.size(); + jsonListLocal.add(null); + } else { + throw new IllegalArgumentException( + String.format("Illegal access to array at position %d", index)); + } + + if (obj == null) { + if (op.operation == GET_OPERATION) { + // don't modify during get operation + return null; + } + if (indOpArray == -1) { + obj = new TreeMap<>(); + } else { + obj = new ArrayList(); + } + jsonListLocal.set(index, obj); + } + if(indOpArray != -1) { + jsonListLocal = (List) obj; + } else { + jsonObjLocal = (Map) obj; + jsonListLocal = null; + } + } + } + + } + } + if(jsonListLocal != null) { + return accessListField(op, jsonListLocal, indexToAccess); + } else { + return accessObjField(op, jsonObjLocal, fieldName); + } + } + + private static Object accessObjField(OperationAccess op, Map jsonObjLocal, String fieldName) { + Object prevValue; + if (op.operation == DELETE_OPERATION) { + prevValue = jsonObjLocal.remove(fieldName); + } else if (op.operation == SET_OPERATION) { + prevValue = jsonObjLocal.put(fieldName, op.value); + } else { + prevValue = jsonObjLocal.get(fieldName); + } + return prevValue; + } + + private static Object accessListField(OperationAccess op, List jsonListLocal, int indexToAccess) { + Object prevValue; + int lastIndex = indexToAccess; + if (op.operation == DELETE_OPERATION) { + if (lastIndex >= jsonListLocal.size() || lastIndex < 0) { + prevValue = null; + } else { + prevValue = jsonListLocal.remove(lastIndex); + } + } else if (op.operation == SET_OPERATION) { + if (lastIndex == jsonListLocal.size() || lastIndex == -1) { + prevValue = null; + jsonListLocal.add(op.value); + } else if (lastIndex >= jsonListLocal.size() || lastIndex < 0) { + throw new IllegalArgumentException(String.format("Illegal access to %d position in array with size %d", + lastIndex, jsonListLocal.size())); + } else { + prevValue = jsonListLocal.set(lastIndex, op.value); + } + } else { + if (lastIndex >= jsonListLocal.size() || lastIndex < 0) { + prevValue = null; + } else { + prevValue = jsonListLocal.get(lastIndex); + } + } + return prevValue; + } + + @SuppressWarnings("unchecked") + public static List getIndexObjectByField(Object obj, List field, List res) { + if(obj == null) { + return res; + } + if(field.size() == 0) { + if(res == null) { + res = new ArrayList(); + } + res.add(obj); + return res; + } + if (obj instanceof Map) { + String fieldFirst = field.get(0); + Object value = ((Map) obj).get(fieldFirst); + return getIndexObjectByField(value, field.subList(1, field.size()), res); + } else if(obj instanceof Collection) { + for(Object o : ((Collection)obj)) { + res = getIndexObjectByField(o, field, res); + } + } else { + // we need extract but there no field + LOGGER.warn(String.format("Can't access field %s for object %s", field, obj)); + } + return res; + } + + +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/util/OUtils.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/OUtils.java new file mode 100644 index 0000000000..50ed65cba8 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/OUtils.java @@ -0,0 +1,122 @@ +package net.osmand.plus.osmedit.utils.util; + +import java.util.List; + +public class OUtils { + + public static boolean isEmpty(String s) { + return s == null || s.trim().length() == 0; + } + + public static boolean validateSqlIdentifier(String id, StringBuilder errorMessage, String field, String action) { + if(isEmpty(id)) { + errorMessage.append(String.format("Field '%s' is not specified which is necessary to %s", field, action)); + return false; + } + if(!isValidJavaIdentifier(id)) { + errorMessage.append(String.format("Value '%s' is not valid for %s to %s", id, field, action)); + return false; + } + return true; + } + + public static long combine(int x1, int x2) { + long l = Integer.toUnsignedLong(x1); + l = (l << 32) | Integer.toUnsignedLong(x2); + return l; + } + + public static int first(long l) { + long s = Integer.MAX_VALUE; + int t = (int) ((l & (s << 32)) >> 32); + if(l < 0) { + t = -t; + } + return t; + } + + public static int second(long l) { + int t = (int) (l & Integer.MAX_VALUE); + if ((l & 0x80000000l) != 0) { + t = -t; + } + return t; + } + + public static boolean isValidJavaIdentifier(String s) { + if (s.isEmpty()) { + return false; + } + if (!Character.isJavaIdentifierStart(s.charAt(0))) { + return false; + } + for (int i = 1; i < s.length(); i++) { + if (!Character.isJavaIdentifierPart(s.charAt(i))) { + return false; + } + } + return true; + } + + public static boolean equals(List s1, List s2) { + if(s1 == null || s1.size() == 0) { + return s2 == null || s2.size() == 0; + } + if(s2 == null || s1.size() != s2.size()) { + return false; + } + for(int i = 0; i < s1.size(); i++) { + Object o1 = s1.get(i); + Object o2 = s2.get(i); + if(o1 == null) { + if(o2 != null) { + return false; + } + } else { + if(!o1.equals(o2)) { + return false; + } + } + } + return true; + } + public static boolean equals(Object s1, Object s2) { + if(s1 == null || s2 == null) { + return s1 == s2; + } + if(s1 instanceof Number && s2 instanceof Number) { + return ((Number) s1).longValue() == ((Number) s2).longValue() && + ((Number) s1).doubleValue() == ((Number) s2).doubleValue(); + } + return s1.equals(s2); + } + + public static boolean equalsStringValue(Object s1, Object s2) { + if(s1 == null || s2 == null) { + return s1 == s2; + } + return s1.toString().equals(s2.toString()); + } + + public static long parseLongSilently(String input, long def) { + if (input != null && input.length() > 0) { + try { + return Long.parseLong(input); + } catch (NumberFormatException e) { + return def; + } + } + return def; + } + + public static int parseIntSilently(String input, int def) { + if (input != null && input.length() > 0) { + try { + return Integer.parseInt(input); + } catch (NumberFormatException e) { + return def; + } + } + return def; + } +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/ConnectionException.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/ConnectionException.java new file mode 100644 index 0000000000..8a5d4504e3 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/ConnectionException.java @@ -0,0 +1,15 @@ +package net.osmand.plus.osmedit.utils.util.exception; + +public class ConnectionException extends TechnicalException { + + private static final long serialVersionUID = 8191498058841215578L; + + public ConnectionException(String message, Throwable cause) { + super(message, cause); + } + + public ConnectionException(String message) { + super(message); + } + +} diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/FailedVerificationException.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/FailedVerificationException.java new file mode 100644 index 0000000000..eba54a8260 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/FailedVerificationException.java @@ -0,0 +1,16 @@ +package net.osmand.plus.osmedit.utils.util.exception; + +public class FailedVerificationException extends Exception { + + private static final long serialVersionUID = -4936205097177668159L; + + + public FailedVerificationException(Exception e) { + super(e); + } + + + public FailedVerificationException(String msg) { + super(msg); + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/TechnicalException.java b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/TechnicalException.java new file mode 100644 index 0000000000..70df91a4e8 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/osmedit/utils/util/exception/TechnicalException.java @@ -0,0 +1,15 @@ +package net.osmand.plus.osmedit.utils.util.exception; + +public class TechnicalException extends RuntimeException { + + private static final long serialVersionUID = 9201898433665734132L; + + public TechnicalException(String message, Throwable cause) { + super(message, cause); + } + + public TechnicalException(String message) { + super(message); + } + +}