OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 from api_categorizer import APICategorizer | 5 from api_categorizer import APICategorizer |
6 from api_data_source import APIDataSource | 6 from api_data_source import APIDataSource |
7 from api_list_data_source import APIListDataSource | 7 from api_list_data_source import APIListDataSource |
8 from api_models import APIModels | 8 from api_models import APIModels |
9 from availability_finder import AvailabilityFinder | 9 from availability_finder import AvailabilityFinder |
10 from compiled_file_system import CompiledFileSystem | 10 from compiled_file_system import CompiledFileSystem |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 compiled_fs_factory) | 94 compiled_fs_factory) |
95 | 95 |
96 self.api_data_source_factory = APIDataSource.Factory( | 96 self.api_data_source_factory = APIDataSource.Factory( |
97 self.compiled_fs_factory, | 97 self.compiled_fs_factory, |
98 host_fs_at_trunk, | 98 host_fs_at_trunk, |
99 self.availability_finder, | 99 self.availability_finder, |
100 self.api_models, | 100 self.api_models, |
101 self.features_bundle, | 101 self.features_bundle, |
102 self.object_store_creator) | 102 self.object_store_creator) |
103 | 103 |
104 self.ref_resolver_factory = ReferenceResolver.Factory( | 104 self.ref_resolver = ReferenceResolver( |
105 self.api_data_source_factory, | 105 self.api_data_source_factory.Create(None), |
106 self.api_models, | 106 self.api_models, |
107 object_store_creator) | 107 self.object_store_creator.Create(ReferenceResolver)) |
108 | |
109 self.api_data_source_factory.SetReferenceResolverFactory( | |
110 self.ref_resolver_factory) | |
111 | 108 |
112 # Note: samples are super slow in the dev server because it doesn't support | 109 # Note: samples are super slow in the dev server because it doesn't support |
113 # async fetch, so disable them. | 110 # async fetch, so disable them. |
114 if IsDevServer(): | 111 if IsDevServer(): |
115 extension_samples_fs = EmptyDirFileSystem() | 112 extension_samples_fs = EmptyDirFileSystem() |
116 app_samples_fs = EmptyDirFileSystem() | 113 app_samples_fs = EmptyDirFileSystem() |
117 else: | 114 else: |
118 extension_samples_fs = host_fs_at_trunk | 115 extension_samples_fs = host_fs_at_trunk |
119 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097. | 116 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097. |
120 app_samples_fs = EmptyDirFileSystem() | 117 app_samples_fs = EmptyDirFileSystem() |
121 #app_samples_fs = github_file_system_provider.Create( | 118 #app_samples_fs = github_file_system_provider.Create( |
122 # 'GoogleChrome', 'chrome-app-samples') | 119 # 'GoogleChrome', 'chrome-app-samples') |
123 self.samples_data_source_factory = SamplesDataSource.Factory( | 120 self.samples_data_source_factory = SamplesDataSource.Factory( |
124 extension_samples_fs, | 121 extension_samples_fs, |
125 app_samples_fs, | 122 app_samples_fs, |
126 CompiledFileSystem.Factory(object_store_creator), | 123 CompiledFileSystem.Factory(object_store_creator), |
127 self.ref_resolver_factory, | 124 self.ref_resolver, |
128 base_path) | 125 base_path) |
129 | 126 |
130 self.api_data_source_factory.SetSamplesDataSourceFactory( | 127 self.api_data_source_factory.SetSamplesDataSourceFactory( |
131 self.samples_data_source_factory) | 128 self.samples_data_source_factory) |
132 | 129 |
133 self.content_providers = ContentProviders( | 130 self.content_providers = ContentProviders( |
134 object_store_creator, | 131 object_store_creator, |
135 self.compiled_fs_factory, | 132 self.compiled_fs_factory, |
136 host_fs_at_trunk, | 133 host_fs_at_trunk, |
137 self.github_file_system_provider, | 134 self.github_file_system_provider, |
138 self.gcs_file_system_provider) | 135 self.gcs_file_system_provider) |
139 | 136 |
140 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry, | 137 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry, |
141 # then factor out the DataSource creation into a factory method, so that | 138 # then factor out the DataSource creation into a factory method, so that |
142 # the entire ServerInstance doesn't need to be passed in here. | 139 # the entire ServerInstance doesn't need to be passed in here. |
143 self.template_renderer = TemplateRenderer(self) | 140 self.template_renderer = TemplateRenderer(self) |
144 | 141 |
145 # TODO(kalman): It may be better for |document_renderer| to construct a | 142 # TODO(kalman): It may be better for |document_renderer| to construct a |
146 # TemplateDataSource itself rather than depending on template_renderer, but | 143 # TemplateDataSource itself rather than depending on template_renderer, but |
147 # for that the above todo should be addressed. | 144 # for that the above todo should be addressed. |
148 self.document_renderer = DocumentRenderer( | 145 self.document_renderer = DocumentRenderer( |
149 TableOfContentsRenderer(host_fs_at_trunk, | 146 TableOfContentsRenderer(host_fs_at_trunk, |
150 compiled_fs_factory, | 147 compiled_fs_factory, |
151 self.template_renderer), | 148 self.template_renderer), |
152 self.ref_resolver_factory.Create()) | 149 self.ref_resolver) |
153 | 150 |
154 @staticmethod | 151 @staticmethod |
155 def ForTest(file_system=None, file_system_provider=None, base_path='/'): | 152 def ForTest(file_system=None, file_system_provider=None, base_path='/'): |
156 object_store_creator = ObjectStoreCreator.ForTest() | 153 object_store_creator = ObjectStoreCreator.ForTest() |
157 if file_system is None and file_system_provider is None: | 154 if file_system is None and file_system_provider is None: |
158 raise ValueError('Either |file_system| or |file_system_provider| ' | 155 raise ValueError('Either |file_system| or |file_system_provider| ' |
159 'must be specified') | 156 'must be specified') |
160 if file_system and file_system_provider: | 157 if file_system and file_system_provider: |
161 raise ValueError('Only one of |file_system| and |file_system_provider| ' | 158 raise ValueError('Only one of |file_system| and |file_system_provider| ' |
162 'can be specified') | 159 'can be specified') |
(...skipping 15 matching lines...) Expand all Loading... |
178 store_type=TestObjectStore) | 175 store_type=TestObjectStore) |
179 host_file_system_provider = HostFileSystemProvider.ForLocal( | 176 host_file_system_provider = HostFileSystemProvider.ForLocal( |
180 object_store_creator) | 177 object_store_creator) |
181 return ServerInstance( | 178 return ServerInstance( |
182 object_store_creator, | 179 object_store_creator, |
183 CompiledFileSystem.Factory(object_store_creator), | 180 CompiledFileSystem.Factory(object_store_creator), |
184 TestBranchUtility.CreateWithCannedData(), | 181 TestBranchUtility.CreateWithCannedData(), |
185 host_file_system_provider, | 182 host_file_system_provider, |
186 GithubFileSystemProvider.ForEmpty(), | 183 GithubFileSystemProvider.ForEmpty(), |
187 CloudStorageFileSystemProvider(object_store_creator)) | 184 CloudStorageFileSystemProvider(object_store_creator)) |
OLD | NEW |