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

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

Issue 800913002: Report pub status (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments Created 6 years 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/NotificationServerStatusProcessor.java
diff --git a/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/NotificationServerStatusProcessor.java b/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/NotificationServerStatusProcessor.java
index 1c482e6f86d69ec2cc0b2e6b4b7bf067f8f1e024..f5bf2209bb1ac91b1a242953465c7379cccd4538 100644
--- a/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/NotificationServerStatusProcessor.java
+++ b/editor/tools/plugins/com.google.dart.server/src/com/google/dart/server/internal/remote/processor/NotificationServerStatusProcessor.java
@@ -15,6 +15,8 @@ package com.google.dart.server.internal.remote.processor;
import com.google.dart.server.AnalysisServerListener;
import com.google.dart.server.generated.types.AnalysisStatus;
+import com.google.dart.server.generated.types.PubStatus;
+import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
/**
@@ -31,10 +33,29 @@ public class NotificationServerStatusProcessor extends NotificationProcessor {
@Override
public void process(JsonObject response) throws Exception {
JsonObject paramsObject = response.get("params").getAsJsonObject();
- JsonObject analysisObject = paramsObject.get("analysis").getAsJsonObject();
+ AnalysisStatus analysisStatus = getAnalysisStatus(paramsObject);
+ PubStatus pubStatus = getPubStatus(paramsObject);
+ getListener().serverStatus(analysisStatus, pubStatus);
+ }
+
+ private AnalysisStatus getAnalysisStatus(JsonObject paramsObject) {
+ JsonElement analysisMember = paramsObject.get("analysis");
+ if (analysisMember == null) {
+ return null;
+ }
+ JsonObject analysisObject = analysisMember.getAsJsonObject();
boolean isAnalyzing = analysisObject.get("isAnalyzing").getAsBoolean();
String analysisTarget = safelyGetAsString(analysisObject, "analysisTarget");
- // notify listener
- getListener().serverStatus(new AnalysisStatus(isAnalyzing, analysisTarget));
+ return new AnalysisStatus(isAnalyzing, analysisTarget);
+ }
+
+ private PubStatus getPubStatus(JsonObject paramsObject) {
+ JsonElement pubMember = paramsObject.get("pub");
+ if (pubMember == null) {
+ return null;
+ }
+ JsonObject pubObject = pubMember.getAsJsonObject();
+ boolean isListingPackageDirs = pubObject.get("isListingPackageDirs").getAsBoolean();
+ return new PubStatus(isListingPackageDirs);
}
}

Powered by Google App Engine
This is Rietveld 408576698