| 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.analysis; | 5 library domain.analysis; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/analysis_server.dart'; | 9 import 'package:analysis_server/src/analysis_server.dart'; |
| 10 import 'package:analysis_server/src/constants.dart'; | 10 import 'package:analysis_server/src/constants.dart'; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 | 22 |
| 23 /** | 23 /** |
| 24 * Initialize a newly created handler to handle requests for the given [server
]. | 24 * Initialize a newly created handler to handle requests for the given [server
]. |
| 25 */ | 25 */ |
| 26 AnalysisDomainHandler(this.server); | 26 AnalysisDomainHandler(this.server); |
| 27 | 27 |
| 28 @override | 28 @override |
| 29 Response handleRequest(Request request) { | 29 Response handleRequest(Request request) { |
| 30 try { | 30 try { |
| 31 String requestName = request.method; | 31 String requestName = request.method; |
| 32 if (requestName == METHOD_GET_FIXES) { | 32 if (requestName == ANALYSIS_SET_ANALYSIS_ROOTS) { |
| 33 return getFixes(request); | |
| 34 } else if (requestName == METHOD_GET_MINOR_REFACTORINGS) { | |
| 35 return getMinorRefactorings(request); | |
| 36 } else if (requestName == METHOD_SET_ANALYSIS_ROOTS) { | |
| 37 return setAnalysisRoots(request); | 33 return setAnalysisRoots(request); |
| 38 } else if (requestName == METHOD_SET_PRIORITY_FILES) { | 34 } else if (requestName == ANALYSIS_SET_PRIORITY_FILES) { |
| 39 return setPriorityFiles(request); | 35 return setPriorityFiles(request); |
| 40 } else if (requestName == METHOD_SET_ANALYSIS_SUBSCRIPTIONS) { | 36 } else if (requestName == ANALYSIS_SET_SUBSCRIPTIONS) { |
| 41 return setSubscriptions(request); | 37 return setSubscriptions(request); |
| 42 } else if (requestName == METHOD_UPDATE_CONTENT) { | 38 } else if (requestName == ANALYSIS_UPDATE_CONTENT) { |
| 43 return updateContent(request); | 39 return updateContent(request); |
| 44 } else if (requestName == METHOD_UPDATE_OPTIONS) { | 40 } else if (requestName == ANALYSIS_UPDATE_OPTIONS) { |
| 45 return updateOptions(request); | 41 return updateOptions(request); |
| 46 } else if (requestName == METHOD_UPDATE_SDKS) { | 42 } else if (requestName == ANALYSIS_UPDATE_SDKS) { |
| 47 return updateSdks(request); | 43 return updateSdks(request); |
| 48 } | 44 } |
| 49 } on RequestFailure catch (exception) { | 45 } on RequestFailure catch (exception) { |
| 50 return exception.response; | 46 return exception.response; |
| 51 } | 47 } |
| 52 return null; | 48 return null; |
| 53 } | 49 } |
| 54 | 50 |
| 55 Response getFixes(Request request) { | |
| 56 // TODO(scheglov) implement | |
| 57 return null; | |
| 58 } | |
| 59 | |
| 60 Response getMinorRefactorings(Request request) { | |
| 61 // TODO(scheglov) implement | |
| 62 return null; | |
| 63 } | |
| 64 | |
| 65 Response setAnalysisRoots(Request request) { | 51 Response setAnalysisRoots(Request request) { |
| 66 // included | 52 // included |
| 67 RequestDatum includedDatum = request.getRequiredParameter(INCLUDED); | 53 RequestDatum includedDatum = request.getRequiredParameter(INCLUDED); |
| 68 List<String> includedPaths = includedDatum.asStringList(); | 54 List<String> includedPaths = includedDatum.asStringList(); |
| 69 // excluded | 55 // excluded |
| 70 RequestDatum excludedDatum = request.getRequiredParameter(EXCLUDED); | 56 RequestDatum excludedDatum = request.getRequiredParameter(EXCLUDED); |
| 71 List<String> excludedPaths = excludedDatum.asStringList(); | 57 List<String> excludedPaths = excludedDatum.asStringList(); |
| 72 // continue in server | 58 // continue in server |
| 73 server.setAnalysisRoots(request.id, includedPaths, excludedPaths); | 59 server.setAnalysisRoots(request.id, includedPaths, excludedPaths); |
| 74 return new Response(request.id); | 60 return new Response(request.id); |
| 75 } | 61 } |
| 76 | 62 |
| 77 Response setPriorityFiles(Request request) { | 63 Response setPriorityFiles(Request request) { |
| 78 // TODO(scheglov) implement | 64 // TODO(scheglov) implement |
| 79 return null; | 65 return null; |
| 80 } | 66 } |
| 81 | 67 |
| 82 Response setSubscriptions(Request request) { | 68 Response setSubscriptions(Request request) { |
| 83 // parse subscriptions | 69 // parse subscriptions |
| 84 Map<AnalysisService, Set<String>> subMap; | 70 Map<AnalysisService, Set<String>> subMap; |
| 85 { | 71 { |
| 86 RequestDatum subDatum = request.getRequiredParameter(SUBSCRIPTIONS); | 72 RequestDatum subDatum = request.getRequiredParameter(SUBSCRIPTIONS); |
| 87 Map<String, List<String>> subStringMap = subDatum.asStringListMap(); | 73 Map<String, List<String>> subStringMap = subDatum.asStringListMap(); |
| 88 subMap = new HashMap<AnalysisService, Set<String>>(); | 74 subMap = new HashMap<AnalysisService, Set<String>>(); |
| 89 subStringMap.forEach((String serviceName, List<String> paths) { | 75 subStringMap.forEach((String serviceName, List<String> paths) { |
| 90 AnalysisService service = Enum2.valueOf(AnalysisService.VALUES, serviceN
ame); | 76 AnalysisService service = Enum2.valueOf(AnalysisService.VALUES, |
| 77 serviceName); |
| 91 if (service == null) { | 78 if (service == null) { |
| 92 throw new RequestFailure( | 79 throw new RequestFailure(new Response.unknownAnalysisService(request, |
| 93 new Response.unknownAnalysisService(request, serviceName)); | 80 serviceName)); |
| 94 } | 81 } |
| 95 subMap[service] = new HashSet.from(paths); | 82 subMap[service] = new HashSet.from(paths); |
| 96 }); | 83 }); |
| 97 } | 84 } |
| 98 server.setAnalysisSubscriptions(subMap); | 85 server.setAnalysisSubscriptions(subMap); |
| 99 return new Response(request.id); | 86 return new Response(request.id); |
| 100 } | 87 } |
| 101 | 88 |
| 102 Response updateContent(Request request) { | 89 Response updateContent(Request request) { |
| 103 var changes = new HashMap<String, ContentChange>(); | 90 var changes = new HashMap<String, ContentChange>(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 131 | 118 |
| 132 /** | 119 /** |
| 133 * A description of the change to the content of a file. | 120 * A description of the change to the content of a file. |
| 134 */ | 121 */ |
| 135 class ContentChange { | 122 class ContentChange { |
| 136 String content; | 123 String content; |
| 137 int offset; | 124 int offset; |
| 138 int oldLength; | 125 int oldLength; |
| 139 int newLength; | 126 int newLength; |
| 140 } | 127 } |
| OLD | NEW |