blob: f78709aee1bfac22488d1bc25369c1379512a637 [file] [log] [blame]
Matteo Scandolofcf842e2017-08-08 13:05:25 -07001
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16
Rizwan Haider30b33792016-08-18 02:11:18 -040017import sys
18
19from synchronizers.metronetwork.providers.metronetworktestprovider import MetroNetworkTestProvider
20from synchronizers.metronetwork.providers.metronetworkrestprovider import MetroNetworkRestProvider
21
22
23class ProviderFactory(object):
24 @staticmethod
25 def getprovider(networkdevice):
26
27 undertest = False
28
29 # We either return Test or Rest
30 # By convention a NetworkDevice with name TestDomain will use test objects
31 if networkdevice.id == 'TestMetroNet' or networkdevice.id == 'TestCORD1Net' or networkdevice.id == 'TestCORD2Net':
32 undertest = True
33
34 if undertest:
35 return MetroNetworkTestProvider(networkdevice)
36 else:
37 return MetroNetworkRestProvider(networkdevice)