Repository: olingo-odata4 Updated Branches: refs/heads/master 3295bcc06 -> 1b6259b97
[OLINGO-834] better debug output Signed-off-by: Christian Amend <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/b881e9ca Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/b881e9ca Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/b881e9ca Branch: refs/heads/master Commit: b881e9caac3a76d4e3fefdeac9e5b48666031bcb Parents: 3295bcc Author: Klaus Straubinger <[email protected]> Authored: Wed Jan 13 16:16:29 2016 +0100 Committer: Christian Amend <[email protected]> Committed: Mon Jan 18 13:29:41 2016 +0100 ---------------------------------------------------------------------- .../search/SearchBinaryOperatorKind.java | 27 ++++------- .../search/SearchUnaryOperatorKind.java | 20 +-------- .../olingo/server/core/debug/DebugTabUri.java | 47 +++++++++++++------- 3 files changed, 42 insertions(+), 52 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b881e9ca/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java ---------------------------------------------------------------------- diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java index 224d3c1..0f174cb 100644 --- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java +++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java @@ -19,27 +19,16 @@ package org.apache.olingo.server.api.uri.queryoption.search; public enum SearchBinaryOperatorKind { - // and/or - AND("and"), OR("or"); - - private String syntax; - - private SearchBinaryOperatorKind(final String syntax) { - this.syntax = syntax; - } - - @Override - public String toString() { - return syntax; - } + AND, + OR; public static SearchBinaryOperatorKind get(final String operator) { - for (SearchBinaryOperatorKind op : SearchBinaryOperatorKind.values()) { - if (op.toString().equals(operator)) { - return op; - } + if (AND.name().equals(operator)) { + return AND; + } else if (OR.name().equals(operator)) { + return OR; + } else { + return null; } - return null; } - } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b881e9ca/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java ---------------------------------------------------------------------- diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java index 07d1302..bbc9ba6 100644 --- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java +++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java @@ -19,25 +19,9 @@ package org.apache.olingo.server.api.uri.queryoption.search; public enum SearchUnaryOperatorKind { - NOT("not"); - - private String syntax; - - private SearchUnaryOperatorKind(final String syntax) { - this.syntax = syntax; - } - - @Override - public String toString() { - return syntax; - } + NOT; public static SearchUnaryOperatorKind get(final String operator) { - for (SearchUnaryOperatorKind op : SearchUnaryOperatorKind.values()) { - if (op.toString().equals(operator)) { - return op; - } - } - return null; + return NOT.equals(operator) ? NOT : null; } } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b881e9ca/lib/server-core/src/main/java/org/apache/olingo/server/core/debug/DebugTabUri.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/debug/DebugTabUri.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/debug/DebugTabUri.java index 906db19..7909334 100644 --- a/lib/server-core/src/main/java/org/apache/olingo/server/core/debug/DebugTabUri.java +++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/debug/DebugTabUri.java @@ -27,11 +27,13 @@ import java.util.Map; import org.apache.olingo.commons.api.ex.ODataException; import org.apache.olingo.server.api.uri.UriInfo; +import org.apache.olingo.server.api.uri.UriInfoKind; import org.apache.olingo.server.api.uri.UriParameter; import org.apache.olingo.server.api.uri.UriResource; import org.apache.olingo.server.api.uri.UriResourceEntitySet; import org.apache.olingo.server.api.uri.UriResourceFunction; import org.apache.olingo.server.api.uri.UriResourceNavigation; +import org.apache.olingo.server.api.uri.UriResourcePartTyped; import org.apache.olingo.server.api.uri.queryoption.CountOption; import org.apache.olingo.server.api.uri.queryoption.ExpandItem; import org.apache.olingo.server.api.uri.queryoption.ExpandOption; @@ -72,7 +74,8 @@ public class DebugTabUri implements DebugTab { public void appendJson(final JsonGenerator gen) throws IOException { gen.writeStartObject(); - if (!uriInfo.getUriResourceParts().isEmpty()) { + gen.writeStringField("kind", uriInfo.getKind().name()); + if (uriInfo.getKind() == UriInfoKind.resource) { gen.writeFieldName("uriResourceParts"); appendURIResourceParts(gen, uriInfo.getUriResourceParts()); } @@ -161,6 +164,10 @@ public class DebugTabUri implements DebugTab { gen.writeStartObject(); gen.writeStringField("uriResourceKind", resource.getKind().toString()); gen.writeStringField("segment", resource.toString()); + if (resource instanceof UriResourcePartTyped && ((UriResourcePartTyped) resource).getType() != null) { + gen.writeStringField("type", + ((UriResourcePartTyped) resource).getType().getFullQualifiedName().getFullQualifiedNameAsString()); + } if (resource instanceof UriResourceEntitySet) { appendParameters(gen, "keys", ((UriResourceEntitySet) resource).getKeyPredicates()); } else if (resource instanceof UriResourceNavigation) { @@ -231,7 +238,12 @@ public class DebugTabUri implements DebugTab { } if (item.getLevelsOption() != null) { - gen.writeNumberField("levels", item.getLevelsOption().getValue()); + gen.writeFieldName("levels"); + if (item.getLevelsOption().isMax()) { + gen.writeString("max"); + } else { + gen.writeNumber(item.getLevelsOption().getValue()); + } } appendCommonJsonObjects(gen, item.getCountOption(), item.getSkipOption(), item.getTopOption(), @@ -275,9 +287,9 @@ public class DebugTabUri implements DebugTab { boolean first = true; for (UriResource resourcePart : selectItem.getResourcePath().getUriResourceParts()) { if (!first) { - selectedProperty += "/"; + selectedProperty += '/'; } - selectedProperty = resourcePart.toString(); + selectedProperty += resourcePart.toString(); first = false; } } @@ -309,17 +321,22 @@ public class DebugTabUri implements DebugTab { public void appendHtml(final Writer writer) throws IOException { // factory for JSON generators (the object mapper is necessary to write expression trees) final JsonFactory jsonFactory = new ObjectMapper().getFactory(); + JsonGenerator json; - writer.append("<h2>Resource Path</h2>\n") - .append("<ul>\n<li class=\"json\">"); - JsonGenerator json = jsonFactory.createGenerator(writer).useDefaultPrettyPrinter(); - appendURIResourceParts(json, uriInfo.getUriResourceParts()); - json.close(); - writer.append("\n</li>\n</ul>\n"); + if (uriInfo.getKind() == UriInfoKind.resource) { + writer.append("<h2>Resource Path</h2>\n") + .append("<ul>\n<li class=\"json\">"); + json = jsonFactory.createGenerator(writer).useDefaultPrettyPrinter(); + appendURIResourceParts(json, uriInfo.getUriResourceParts()); + json.close(); + writer.append("\n</li>\n</ul>\n"); + } else { + writer.append("<h2>Kind</h2>\n<p>").append(uriInfo.getKind().name()).append("</p>\n"); + } if (uriInfo.getSearchOption() != null) { writer.append("<h2>Search Option</h2>\n") - .append("<ul>\n<li class=\"json\">"); + .append("<ul>\n<li class=\"json\">"); json = jsonFactory.createGenerator(writer).useDefaultPrettyPrinter(); appendSearchJson(json, uriInfo.getSearchOption().getSearchExpression()); json.close(); @@ -328,7 +345,7 @@ public class DebugTabUri implements DebugTab { if (uriInfo.getFilterOption() != null) { writer.append("<h2>Filter Option</h2>\n") - .append("<ul>\n<li class=\"json\">"); + .append("<ul>\n<li class=\"json\">"); json = jsonFactory.createGenerator(writer).useDefaultPrettyPrinter(); appendExpressionJson(json, uriInfo.getFilterOption().getExpression()); json.close(); @@ -337,7 +354,7 @@ public class DebugTabUri implements DebugTab { if (uriInfo.getOrderByOption() != null) { writer.append("<h2>OrderBy Option</h2>\n") - .append("<ul>\n<li class=\"json\">"); + .append("<ul>\n<li class=\"json\">"); json = jsonFactory.createGenerator(writer).useDefaultPrettyPrinter(); appendOrderByItemsJson(json, uriInfo.getOrderByOption().getOrders()); json.close(); @@ -346,7 +363,7 @@ public class DebugTabUri implements DebugTab { if (uriInfo.getExpandOption() != null) { writer.append("<h2>Expand Option</h2>\n") - .append("<ul>\n<li class=\"json\">"); + .append("<ul>\n<li class=\"json\">"); json = jsonFactory.createGenerator(writer).useDefaultPrettyPrinter(); appendExpandedPropertiesJson(json, uriInfo.getExpandOption().getExpandItems()); json.close(); @@ -355,7 +372,7 @@ public class DebugTabUri implements DebugTab { if (uriInfo.getSelectOption() != null) { writer.append("<h2>Selected Properties</h2>\n") - .append("<ul>\n"); + .append("<ul>\n"); for (final SelectItem selectItem : uriInfo.getSelectOption().getSelectItems()) { writer.append("<li>").append(getSelectString(selectItem)).append("</li>\n"); }
