| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library domain.context; | 5 library domain.context; |
| 6 | 6 |
| 7 import 'package:analysis_server/src/analysis_server.dart'; |
| 8 import 'package:analysis_server/src/protocol.dart'; |
| 7 import 'package:analyzer/src/generated/engine.dart'; | 9 import 'package:analyzer/src/generated/engine.dart'; |
| 8 import 'package:analyzer/src/generated/source.dart'; | 10 import 'package:analyzer/src/generated/source.dart'; |
| 9 | 11 |
| 10 import 'analysis_server.dart'; | |
| 11 import 'protocol.dart'; | |
| 12 | |
| 13 /** | 12 /** |
| 14 * Instances of the class [ContextDomainHandler] implement a [RequestHandler] | 13 * Instances of the class [ContextDomainHandler] implement a [RequestHandler] |
| 15 * that handles requests in the context domain. | 14 * that handles requests in the context domain. |
| 16 */ | 15 */ |
| 17 class ContextDomainHandler implements RequestHandler { | 16 class ContextDomainHandler implements RequestHandler { |
| 18 /** | 17 /** |
| 19 * The name of the context.applyChanges request. | 18 * The name of the context.applyChanges request. |
| 20 */ | 19 */ |
| 21 static const String APPLY_CHANGES_NAME = 'context.applyChanges'; | 20 static const String APPLY_CHANGES_NAME = 'context.applyChanges'; |
| 22 | 21 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 * Inform the specified context that the changes encoded in the change set | 110 * Inform the specified context that the changes encoded in the change set |
| 112 * have been made. Any invalidated analysis results will be flushed from the | 111 * have been made. Any invalidated analysis results will be flushed from the |
| 113 * context. | 112 * context. |
| 114 */ | 113 */ |
| 115 Response applyChanges(Request request) { | 114 Response applyChanges(Request request) { |
| 116 AnalysisContext context = getAnalysisContext(request); | 115 AnalysisContext context = getAnalysisContext(request); |
| 117 Map<String, Object> changesData = request.getRequiredParameter(CHANGES_PARAM
); | 116 Map<String, Object> changesData = request.getRequiredParameter(CHANGES_PARAM
); |
| 118 ChangeSet changeSet = createChangeSet(changesData); | 117 ChangeSet changeSet = createChangeSet(changesData); |
| 119 | 118 |
| 120 context.applyChanges(changeSet); | 119 context.applyChanges(changeSet); |
| 120 Response response = new Response(request.id); |
| 121 return response; |
| 121 } | 122 } |
| 122 | 123 |
| 123 /** | 124 /** |
| 124 * Convert the given JSON object into a [ChangeSet]. | 125 * Convert the given JSON object into a [ChangeSet]. |
| 125 */ | 126 */ |
| 126 ChangeSet createChangeSet(Map<String, Object> jsonData) { | 127 ChangeSet createChangeSet(Map<String, Object> jsonData) { |
| 127 // TODO(brianwilkerson) Implement this. | 128 // TODO(brianwilkerson) Implement this. |
| 128 return null; | 129 return null; |
| 129 } | 130 } |
| 130 | 131 |
| 131 /** | 132 /** |
| 132 * Set the options controlling analysis within a context to the given set of | 133 * Set the options controlling analysis within a context to the given set of |
| 133 * options. | 134 * options. |
| 134 */ | 135 */ |
| 135 Response setOptions(Request request) { | 136 Response setOptions(Request request) { |
| 136 AnalysisContext context = getAnalysisContext(request); | 137 AnalysisContext context = getAnalysisContext(request); |
| 137 | 138 |
| 138 context.analysisOptions = createAnalysisOptions(request); | 139 context.analysisOptions = createAnalysisOptions(request); |
| 140 Response response = new Response(request.id); |
| 141 return response; |
| 139 } | 142 } |
| 140 | 143 |
| 141 /** | 144 /** |
| 142 * Return the set of analysis options associated with the given [request], or | 145 * Return the set of analysis options associated with the given [request], or |
| 143 * throw a [RequestFailure] exception if the analysis options are not valid. | 146 * throw a [RequestFailure] exception if the analysis options are not valid. |
| 144 */ | 147 */ |
| 145 AnalysisOptions createAnalysisOptions(Request request) { | 148 AnalysisOptions createAnalysisOptions(Request request) { |
| 146 Map<String, Object> optionsData = request.getRequiredParameter(OPTIONS_PARAM
); | 149 Map<String, Object> optionsData = request.getRequiredParameter(OPTIONS_PARAM
); |
| 147 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); | 150 AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
| 148 optionsData.forEach((String key, Object value) { | 151 optionsData.forEach((String key, Object value) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 168 /** | 171 /** |
| 169 * Set the priority sources in the specified context to the sources in the | 172 * Set the priority sources in the specified context to the sources in the |
| 170 * given array. | 173 * given array. |
| 171 */ | 174 */ |
| 172 Response setPrioritySources(Request request) { | 175 Response setPrioritySources(Request request) { |
| 173 AnalysisContext context = getAnalysisContext(request); | 176 AnalysisContext context = getAnalysisContext(request); |
| 174 List<String> sourcesData = request.getRequiredParameter(SOURCES_PARAM); | 177 List<String> sourcesData = request.getRequiredParameter(SOURCES_PARAM); |
| 175 List<Source> sources = convertToSources(context.sourceFactory, sourcesData); | 178 List<Source> sources = convertToSources(context.sourceFactory, sourcesData); |
| 176 | 179 |
| 177 context.analysisPriorityOrder = sources; | 180 context.analysisPriorityOrder = sources; |
| 181 Response response = new Response(request.id); |
| 182 return response; |
| 178 } | 183 } |
| 179 | 184 |
| 180 /** | 185 /** |
| 181 * Convert the given list of strings into a list of sources owned by the given | 186 * Convert the given list of strings into a list of sources owned by the given |
| 182 * [sourceFactory]. | 187 * [sourceFactory]. |
| 183 */ | 188 */ |
| 184 List<Source> convertToSources(SourceFactory sourceFactory, List<String> source
sData) { | 189 List<Source> convertToSources(SourceFactory sourceFactory, List<String> source
sData) { |
| 185 List<Source> sources = new List<Source>(); | 190 List<Source> sources = new List<Source>(); |
| 186 sourcesData.forEach((String string) { | 191 sourcesData.forEach((String string) { |
| 187 sources.add(sourceFactory.fromEncoding(string)); | 192 sources.add(sourceFactory.fromEncoding(string)); |
| 188 }); | 193 }); |
| 189 return sources; | 194 return sources; |
| 190 } | 195 } |
| 191 | 196 |
| 192 /** | 197 /** |
| 193 * Return the analysis context specified by the given request, or throw a | 198 * Return the analysis context specified by the given request, or throw a |
| 194 * [RequestFailure] exception if either there is no specified context or if | 199 * [RequestFailure] exception if either there is no specified context or if |
| 195 * the specified context does not exist. | 200 * the specified context does not exist. |
| 196 */ | 201 */ |
| 197 AnalysisContext getAnalysisContext(Request request) { | 202 AnalysisContext getAnalysisContext(Request request) { |
| 198 String contextId = request.getRequiredParameter(CONTEXT_ID_PARAM); | 203 String contextId = request.getRequiredParameter(CONTEXT_ID_PARAM); |
| 199 AnalysisContext context = server.contextMap[contextId]; | 204 AnalysisContext context = server.contextMap[contextId]; |
| 200 if (context == null) { | 205 if (context == null) { |
| 201 throw new RequestFailure(new Response.contextDoesNotExist(request)); | 206 throw new RequestFailure(new Response.contextDoesNotExist(request)); |
| 202 } | 207 } |
| 203 return context; | 208 return context; |
| 204 } | 209 } |
| 205 } | 210 } |
| OLD | NEW |