Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/GetRefactoringProcessor.java

Issue 539353002: Use RefactoringFeedback objects in Java. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/GetRefactoringProcessor.java
diff --git a/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/GetRefactoringProcessor.java b/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/GetRefactoringProcessor.java
index 24c4152cc9752341a106dd7f79736da04923983f..ba2cdfc1b3db62bb888b4b48754f2ea4b038d8ef 100644
--- a/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/GetRefactoringProcessor.java
+++ b/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/GetRefactoringProcessor.java
@@ -14,15 +14,16 @@
package com.google.dart.server.internal.remote.processor;
import com.google.dart.server.GetRefactoringConsumer;
-import com.google.dart.server.generated.types.RefactoringMethodParameter;
+import com.google.dart.server.generated.types.ExtractLocalVariableFeedback;
+import com.google.dart.server.generated.types.ExtractMethodFeedback;
+import com.google.dart.server.generated.types.RefactoringFeedback;
+import com.google.dart.server.generated.types.RefactoringKind;
import com.google.dart.server.generated.types.RefactoringProblem;
+import com.google.dart.server.generated.types.RenameFeedback;
import com.google.dart.server.generated.types.SourceChange;
import com.google.dart.server.utilities.general.JsonUtilities;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,14 +34,16 @@ import java.util.Map;
* @coverage dart.server.remote
*/
public class GetRefactoringProcessor extends ResultProcessor {
-
+ private final Map<String, String> requestToRefactoringKindMap;
private final GetRefactoringConsumer consumer;
- public GetRefactoringProcessor(GetRefactoringConsumer consumer) {
+ public GetRefactoringProcessor(Map<String, String> requestToRefactoringKindMap,
+ GetRefactoringConsumer consumer) {
+ this.requestToRefactoringKindMap = requestToRefactoringKindMap;
this.consumer = consumer;
}
- public void process(JsonObject resultObject) {
+ public void process(String requestId, JsonObject resultObject) {
// problems
List<RefactoringProblem> problems = RefactoringProblem.fromJsonArray(resultObject.get(
"problems").getAsJsonArray());
@@ -54,61 +57,20 @@ public class GetRefactoringProcessor extends ResultProcessor {
? resultObject.get("potentialEdits").getAsJsonArray() : null);
//
- // Compute all refactoring-kind specific "Options" and put them into the feedback map
+ // Compute all refactoring-kind specific "Feedback" and put them into the feedback map
//
- JsonObject feedbackObject = resultObject.get("feedback") != null
- ? resultObject.get("feedback").getAsJsonObject() : null;
- Map<String, Object> feedback = new HashMap<String, Object>();
- if (feedbackObject != null) {
- // names: List<String>
- JsonElement namesElt = feedbackObject.get("names");
- if (namesElt != null) {
- feedback.put("names", JsonUtilities.decodeStringList(namesElt.getAsJsonArray()));
- }
- // offsets: List<int>
- JsonElement offsetsElt = feedbackObject.get("offsets");
- if (offsetsElt != null) {
- feedback.put("offsets", JsonUtilities.decodeIntegerArray(offsetsElt.getAsJsonArray()));
- }
- // lengths: List<int>
- JsonElement lengthsElt = feedbackObject.get("lengths");
- if (lengthsElt != null) {
- feedback.put("lengths", JsonUtilities.decodeIntegerArray(lengthsElt.getAsJsonArray()));
- }
- // offset: int
- JsonElement offsetElt = feedbackObject.get("offset");
- if (offsetElt != null) {
- feedback.put("offset", offsetElt.getAsInt());
- }
- // length: int
- JsonElement lengthElt = feedbackObject.get("length");
- if (lengthElt != null) {
- feedback.put("length", lengthElt.getAsInt());
- }
- // returnType: String
- JsonElement returnTypeElt = feedbackObject.get("returnType");
- if (returnTypeElt != null) {
- feedback.put("returnType", returnTypeElt.getAsString());
- }
- // canCreateGetter: boolean
- JsonElement canCreateGetterElt = feedbackObject.get("canCreateGetter");
- if (canCreateGetterElt != null) {
- boolean canCreateGetter = canCreateGetterElt.getAsBoolean();
- feedback.put("canCreateGetter", canCreateGetter);
- }
- // parameters: List<Parameter>
- JsonElement parametersElt = feedbackObject.get("parameters");
- if (parametersElt instanceof JsonArray) {
- List<RefactoringMethodParameter> parameters = RefactoringMethodParameter.fromJsonArray((JsonArray) parametersElt);
- feedback.put("parameters", parameters);
- }
- // occurrences: int
- JsonElement occurrencesElt = feedbackObject.get("occurrences");
- if (occurrencesElt != null) {
- feedback.put("occurrences", occurrencesElt.getAsInt());
+ RefactoringFeedback feedback = null;
+ if (resultObject.has("feedback")) {
+ JsonObject feedbackObject = resultObject.get("feedback").getAsJsonObject();
+ String kind = requestToRefactoringKindMap.remove(requestId);
+ if (RefactoringKind.EXTRACT_LOCAL_VARIABLE.equals(kind)) {
+ feedback = ExtractLocalVariableFeedback.fromJson(feedbackObject);
+ } else if (RefactoringKind.EXTRACT_METHOD.equals(kind)) {
+ feedback = ExtractMethodFeedback.fromJson(feedbackObject);
+ } else if (RefactoringKind.RENAME.equals(kind)) {
+ feedback = RenameFeedback.fromJson(feedbackObject);
}
}
-
consumer.computedRefactorings(problems, feedback, change, potentialEdits);
}
}

Powered by Google App Engine
This is Rietveld 408576698