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