| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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_models import APIModels | 6 from api_models import APIModels |
| 7 from availability_finder import AvailabilityFinder | 7 from availability_finder import AvailabilityFinder |
| 8 from empty_dir_file_system import EmptyDirFileSystem | 8 from empty_dir_file_system import EmptyDirFileSystem |
| 9 from environment import IsDevServer | 9 from environment import IsDevServer |
| 10 from features_bundle import FeaturesBundle | 10 from features_bundle import FeaturesBundle |
| 11 from future import All | 11 from future import All |
| 12 from platform_util import GetPlatforms, PlatformToExtensionType | 12 from platform_util import GetPlatforms, PlatformToExtensionType |
| 13 from reference_resolver import ReferenceResolver | 13 from reference_resolver import ReferenceResolver |
| 14 from samples_model import SamplesModel | 14 from samples_model import SamplesModel |
| 15 from future import Future |
| 16 from process_schema import ProcessSchemaFactory |
| 15 | 17 |
| 16 | 18 |
| 17 class _PlatformData(object): | 19 class _PlatformData(object): |
| 18 def __init__(self): | 20 def __init__(self): |
| 19 self.features_bundle = None | 21 self.features_bundle = None |
| 20 self.api_models = None | 22 self.api_models = None |
| 21 self.reference_resolver = None | 23 self.reference_resolver = None |
| 22 self.availability_finder = None | 24 self.availability_finder = None |
| 23 self.api_categorizer = None | 25 self.api_categorizer = None |
| 24 self.samples_model = None | 26 self.samples_model = None |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 | 77 |
| 76 def GetAPIModels(self, platform): | 78 def GetAPIModels(self, platform): |
| 77 if self._platform_data[platform].api_models is None: | 79 if self._platform_data[platform].api_models is None: |
| 78 # TODO(danielj41): Filter APIModels data here rather than passing the | 80 # TODO(danielj41): Filter APIModels data here rather than passing the |
| 79 # platform. | 81 # platform. |
| 80 self._platform_data[platform].api_models = APIModels( | 82 self._platform_data[platform].api_models = APIModels( |
| 81 self.GetFeaturesBundle(platform), | 83 self.GetFeaturesBundle(platform), |
| 82 self._compiled_fs_factory, | 84 self._compiled_fs_factory, |
| 83 self._host_fs_at_trunk, | 85 self._host_fs_at_trunk, |
| 84 self._object_store_creator, | 86 self._object_store_creator, |
| 85 platform) | 87 platform, |
| 88 ProcessSchemaFactory( |
| 89 Future(callback=lambda: self.GetReferenceResolver(platform)), |
| 90 Future(callback=lambda: self.GetAPIModels(platform)), |
| 91 Future(callback=lambda: self.GetFeaturesBundle(platform)), |
| 92 self._compiled_fs_factory, |
| 93 self._host_fs_at_trunk)) |
| 86 return self._platform_data[platform].api_models | 94 return self._platform_data[platform].api_models |
| 87 | 95 |
| 88 def GetReferenceResolver(self, platform): | 96 def GetReferenceResolver(self, platform): |
| 89 if self._platform_data[platform].reference_resolver is None: | 97 if self._platform_data[platform].reference_resolver is None: |
| 90 self._platform_data[platform].reference_resolver = ReferenceResolver( | 98 self._platform_data[platform].reference_resolver = ReferenceResolver( |
| 91 self.GetAPIModels(platform), | 99 self.GetAPIModels(platform), |
| 92 self._object_store_creator.Create(ReferenceResolver, | 100 self._object_store_creator.Create(ReferenceResolver, |
| 93 category=platform)) | 101 category=platform)) |
| 94 return self._platform_data[platform].reference_resolver | 102 return self._platform_data[platform].reference_resolver |
| 95 | 103 |
| 96 def GetAvailabilityFinder(self, platform): | 104 def GetAvailabilityFinder(self, platform): |
| 97 if self._platform_data[platform].availability_finder is None: | 105 if self._platform_data[platform].availability_finder is None: |
| 98 self._platform_data[platform].availability_finder = AvailabilityFinder( | 106 self._platform_data[platform].availability_finder = AvailabilityFinder( |
| 99 self._branch_utility, | 107 self._branch_utility, |
| 100 self._compiled_fs_factory, | 108 self._compiled_fs_factory, |
| 101 self._host_file_system_iterator, | 109 self._host_file_system_iterator, |
| 102 self._host_fs_at_trunk, | 110 self._host_fs_at_trunk, |
| 103 self._object_store_creator, | 111 self._object_store_creator, |
| 104 platform) | 112 platform, |
| 113 ProcessSchemaFactory( |
| 114 Future(callback=lambda: self.GetReferenceResolver(platform)), |
| 115 Future(callback=lambda: self.GetAPIModels(platform)), |
| 116 Future(callback=lambda: self.GetFeaturesBundle(platform)), |
| 117 self._compiled_fs_factory, |
| 118 self._host_fs_at_trunk)) |
| 105 return self._platform_data[platform].availability_finder | 119 return self._platform_data[platform].availability_finder |
| 106 | 120 |
| 107 def GetAPICategorizer(self, platform): | 121 def GetAPICategorizer(self, platform): |
| 108 if self._platform_data[platform].api_categorizer is None: | 122 if self._platform_data[platform].api_categorizer is None: |
| 109 self._platform_data[platform].api_categorizer = APICategorizer( | 123 self._platform_data[platform].api_categorizer = APICategorizer( |
| 110 self._host_fs_at_trunk, | 124 self._host_fs_at_trunk, |
| 111 self._compiled_fs_factory, | 125 self._compiled_fs_factory, |
| 112 platform) | 126 platform) |
| 113 return self._platform_data[platform].api_categorizer | 127 return self._platform_data[platform].api_categorizer |
| 114 | 128 |
| 115 def Cron(self): | 129 def Cron(self): |
| 116 return All(self.GetAPIModels(platform).Cron() | 130 return All(self.GetAPIModels(platform).Cron() |
| 117 for platform in self._platform_data) | 131 for platform in self._platform_data) |
| 118 | 132 |
| 119 def GetIdentity(self): | 133 def GetIdentity(self): |
| 120 return self._host_fs_at_trunk.GetIdentity() | 134 return self._host_fs_at_trunk.GetIdentity() |
| OLD | NEW |