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_data_source import APIDataSource | 5 from api_data_source import APIDataSource |
6 from api_list_data_source import APIListDataSource | 6 from api_list_data_source import APIListDataSource |
7 from appengine_wrappers import IsDevServer | 7 from appengine_wrappers import IsDevServer |
8 from availability_finder import AvailabilityFinder | 8 from availability_finder import AvailabilityFinder |
9 from compiled_file_system import CompiledFileSystem | 9 from compiled_file_system import CompiledFileSystem |
10 from data_source_registry import CreateDataSources | |
11 from empty_dir_file_system import EmptyDirFileSystem | 10 from empty_dir_file_system import EmptyDirFileSystem |
12 from example_zipper import ExampleZipper | 11 from example_zipper import ExampleZipper |
13 from host_file_system_creator import HostFileSystemCreator | 12 from host_file_system_creator import HostFileSystemCreator |
14 from intro_data_source import IntroDataSource | 13 from intro_data_source import IntroDataSource |
15 from object_store_creator import ObjectStoreCreator | 14 from object_store_creator import ObjectStoreCreator |
16 from path_canonicalizer import PathCanonicalizer | 15 from path_canonicalizer import PathCanonicalizer |
17 from permissions_data_source import PermissionsDataSource | 16 from permissions_data_source import PermissionsDataSource |
18 from redirector import Redirector | 17 from redirector import Redirector |
19 from reference_resolver import ReferenceResolver | 18 from reference_resolver import ReferenceResolver |
20 from samples_data_source import SamplesDataSource | 19 from samples_data_source import SamplesDataSource |
21 from sidenav_data_source import SidenavDataSource | |
22 import svn_constants | 20 import svn_constants |
23 from template_data_source import TemplateDataSource | 21 from template_data_source import TemplateDataSource |
24 from test_branch_utility import TestBranchUtility | 22 from test_branch_utility import TestBranchUtility |
25 from test_object_store import TestObjectStore | 23 from test_object_store import TestObjectStore |
26 | 24 |
27 class ServerInstance(object): | 25 class ServerInstance(object): |
28 def __init__(self, | 26 def __init__(self, |
29 object_store_creator, | 27 object_store_creator, |
30 host_file_system, | 28 host_file_system, |
31 app_samples_file_system, | 29 app_samples_file_system, |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 base_path) | 83 base_path) |
86 | 84 |
87 self.api_data_source_factory.SetSamplesDataSourceFactory( | 85 self.api_data_source_factory.SetSamplesDataSourceFactory( |
88 self.samples_data_source_factory) | 86 self.samples_data_source_factory) |
89 | 87 |
90 self.intro_data_source_factory = IntroDataSource.Factory( | 88 self.intro_data_source_factory = IntroDataSource.Factory( |
91 self.compiled_host_fs_factory, | 89 self.compiled_host_fs_factory, |
92 self.ref_resolver_factory, | 90 self.ref_resolver_factory, |
93 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH]) | 91 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH]) |
94 | 92 |
95 self.sidenav_data_source_factory = SidenavDataSource.Factory( | |
96 self.compiled_host_fs_factory, | |
97 svn_constants.JSON_PATH) | |
98 | |
99 self.permissions_data_source = PermissionsDataSource( | 93 self.permissions_data_source = PermissionsDataSource( |
100 self.compiled_host_fs_factory, | 94 self.compiled_host_fs_factory, |
101 self.host_file_system, | 95 self.host_file_system, |
102 '/'.join((svn_constants.API_PATH, '_api_features.json')), | 96 '/'.join((svn_constants.API_PATH, '_api_features.json')), |
103 '/'.join((svn_constants.API_PATH, '_permission_features.json')), | 97 '/'.join((svn_constants.API_PATH, '_permission_features.json')), |
104 '/'.join((svn_constants.JSON_PATH, 'permissions.json'))) | 98 '/'.join((svn_constants.JSON_PATH, 'permissions.json'))) |
105 | 99 |
106 self.example_zipper = ExampleZipper( | 100 self.example_zipper = ExampleZipper( |
107 self.compiled_host_fs_factory, | 101 self.compiled_host_fs_factory, |
108 self.host_file_system, | 102 self.host_file_system, |
109 svn_constants.DOCS_PATH) | 103 svn_constants.DOCS_PATH) |
110 | 104 |
111 self.path_canonicalizer = PathCanonicalizer(self.compiled_host_fs_factory) | 105 self.path_canonicalizer = PathCanonicalizer(self.compiled_host_fs_factory) |
112 | 106 |
113 self.redirector = Redirector( | 107 self.redirector = Redirector( |
114 self.compiled_host_fs_factory, | 108 self.compiled_host_fs_factory, |
115 self.host_file_system, | 109 self.host_file_system, |
116 svn_constants.PUBLIC_TEMPLATE_PATH) | 110 svn_constants.PUBLIC_TEMPLATE_PATH) |
117 | 111 |
118 self.strings_json_path = '/'.join((svn_constants.JSON_PATH, 'strings.json')) | 112 self.strings_json_path = '/'.join((svn_constants.JSON_PATH, 'strings.json')) |
| 113 self.sidenav_json_base_path = svn_constants.JSON_PATH |
119 self.manifest_json_path = '/'.join( | 114 self.manifest_json_path = '/'.join( |
120 (svn_constants.JSON_PATH, 'manifest.json')) | 115 (svn_constants.JSON_PATH, 'manifest.json')) |
121 self.manifest_features_path = '/'.join( | 116 self.manifest_features_path = '/'.join( |
122 (svn_constants.API_PATH, '_manifest_features.json')) | 117 (svn_constants.API_PATH, '_manifest_features.json')) |
123 | 118 |
124 self.template_data_source_factory = TemplateDataSource.Factory( | 119 self.template_data_source_factory = TemplateDataSource.Factory( |
125 self.api_data_source_factory, | 120 self.api_data_source_factory, |
126 self.api_list_data_source_factory, | 121 self.api_list_data_source_factory, |
127 self.intro_data_source_factory, | 122 self.intro_data_source_factory, |
128 self.samples_data_source_factory, | 123 self.samples_data_source_factory, |
129 self.sidenav_data_source_factory, | |
130 self.compiled_host_fs_factory, | 124 self.compiled_host_fs_factory, |
131 self.ref_resolver_factory, | 125 self.ref_resolver_factory, |
132 self.permissions_data_source, | 126 self.permissions_data_source, |
133 svn_constants.PUBLIC_TEMPLATE_PATH, | 127 svn_constants.PUBLIC_TEMPLATE_PATH, |
134 svn_constants.PRIVATE_TEMPLATE_PATH, | 128 svn_constants.PRIVATE_TEMPLATE_PATH, |
135 base_path, | 129 base_path) |
136 # TODO(jshumway): Remove this hack after data source registry | |
137 # transition, ServerInstance should not know about DataSourceRegistry. | |
138 CreateDataSources(self)) | |
139 | 130 |
140 self.api_data_source_factory.SetTemplateDataSource( | 131 self.api_data_source_factory.SetTemplateDataSource( |
141 self.template_data_source_factory) | 132 self.template_data_source_factory) |
142 self.permissions_data_source.SetTemplateDataSource( | 133 self.permissions_data_source.SetTemplateDataSource( |
143 self.template_data_source_factory) | 134 self.template_data_source_factory) |
144 | 135 |
145 @staticmethod | 136 @staticmethod |
146 def ForTest(file_system): | 137 def ForTest(file_system): |
147 object_store_creator = ObjectStoreCreator.ForTest() | 138 object_store_creator = ObjectStoreCreator.ForTest() |
148 return ServerInstance(object_store_creator, | 139 return ServerInstance(object_store_creator, |
(...skipping 14 matching lines...) Expand all Loading... |
163 object_store_creator) | 154 object_store_creator) |
164 trunk_file_system = host_file_system_creator.Create() | 155 trunk_file_system = host_file_system_creator.Create() |
165 return ServerInstance( | 156 return ServerInstance( |
166 object_store_creator, | 157 object_store_creator, |
167 trunk_file_system, | 158 trunk_file_system, |
168 EmptyDirFileSystem(), | 159 EmptyDirFileSystem(), |
169 '', | 160 '', |
170 CompiledFileSystem.Factory(trunk_file_system, object_store_creator), | 161 CompiledFileSystem.Factory(trunk_file_system, object_store_creator), |
171 TestBranchUtility.CreateWithCannedData(), | 162 TestBranchUtility.CreateWithCannedData(), |
172 host_file_system_creator) | 163 host_file_system_creator) |
OLD | NEW |