a7406aa058424ee45e04b4c44ada49670bc807a2
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / configuration / OpenFlowProviderConfigImpl.java
1 /*
2  * Copyright (c) 2017 Pantheon Technologies s.r.o. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.openflowplugin.impl.configuration;
9
10 import org.opendaylight.openflowplugin.api.openflow.configuration.ConfigurationProperty;
11 import org.opendaylight.openflowplugin.api.openflow.configuration.ConfigurationService;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.NonZeroUint16Type;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.NonZeroUint32Type;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.OpenflowProviderConfig;
15 import org.opendaylight.yangtools.yang.binding.Augmentation;
16 import org.opendaylight.yangtools.yang.common.Uint16;
17 import org.opendaylight.yangtools.yang.common.Uint32;
18
19 public class OpenFlowProviderConfigImpl implements OpenflowProviderConfig {
20     private final ConfigurationService service;
21
22     public OpenFlowProviderConfigImpl(final ConfigurationService service) {
23         this.service = service;
24     }
25
26     @Override
27     public NonZeroUint16Type getRpcRequestsQuota() {
28         final Integer property = service.getProperty(
29                 ConfigurationProperty.RPC_REQUESTS_QUOTA.toString(),
30                 Integer::valueOf);
31
32         return new NonZeroUint16Type(property);
33     }
34
35     @Override
36     public Boolean isSwitchFeaturesMandatory() {
37         return service.getProperty(ConfigurationProperty.SWITCH_FEATURES_MANDATORY.toString(), Boolean::valueOf);
38     }
39
40     @Override
41     public Uint32 getGlobalNotificationQuota() {
42         return service.getProperty(ConfigurationProperty.GLOBAL_NOTIFICATION_QUOTA.toString(), Uint32::valueOf);
43     }
44
45     @Override
46     public Boolean isIsStatisticsPollingOn() {
47         return service.getProperty(ConfigurationProperty.IS_STATISTICS_POLLING_ON.toString(), Boolean::valueOf);
48     }
49
50     @Override
51     public Boolean isIsTableStatisticsPollingOn() {
52         return service.getProperty(ConfigurationProperty.IS_TABLE_STATISTICS_POLLING_ON.toString(), Boolean::valueOf);
53     }
54
55     @Override
56     public Boolean isIsFlowStatisticsPollingOn() {
57         return service.getProperty(ConfigurationProperty.IS_FLOW_STATISTICS_POLLING_ON.toString(), Boolean::valueOf);
58     }
59
60     @Override
61     public Boolean isIsGroupStatisticsPollingOn() {
62         return service.getProperty(ConfigurationProperty.IS_GROUP_STATISTICS_POLLING_ON.toString(), Boolean::valueOf);
63     }
64
65     @Override
66     public Boolean isIsMeterStatisticsPollingOn() {
67         return service.getProperty(ConfigurationProperty.IS_METER_STATISTICS_POLLING_ON.toString(), Boolean::valueOf);
68     }
69
70     @Override
71     public Boolean isIsQueueStatisticsPollingOn() {
72         return service.getProperty(ConfigurationProperty.IS_QUEUE_STATISTICS_POLLING_ON.toString(), Boolean::valueOf);
73     }
74
75     @Override
76     public Boolean isIsPortStatisticsPollingOn() {
77         return service.getProperty(ConfigurationProperty.IS_PORT_STATISTICS_POLLING_ON.toString(), Boolean::valueOf);
78     }
79
80
81     @Override
82     public Boolean isIsStatisticsRpcEnabled() {
83         return service.getProperty(ConfigurationProperty.IS_STATISTICS_RPC_ENABLED.toString(), Boolean::valueOf);
84     }
85
86     @Override
87     public NonZeroUint32Type getBarrierIntervalTimeoutLimit() {
88         final Long property = service.getProperty(
89                 ConfigurationProperty.BARRIER_INTERVAL_TIMEOUT_LIMIT.toString(),
90                 Long::valueOf);
91
92         return new NonZeroUint32Type(property);
93     }
94
95     @Override
96     public NonZeroUint16Type getBarrierCountLimit() {
97         final Integer property = service.getProperty(
98                 ConfigurationProperty.BARRIER_COUNT_LIMIT.toString(),
99                 Integer::valueOf);
100
101         return new NonZeroUint16Type(property);
102     }
103
104     @Override
105     public NonZeroUint32Type getEchoReplyTimeout() {
106         final Long property = service.getProperty(
107                 ConfigurationProperty.ECHO_REPLY_TIMEOUT.toString(),
108                 Long::valueOf);
109
110         return new NonZeroUint32Type(property);
111     }
112
113     @Override
114     public Uint16 getThreadPoolMinThreads() {
115         return service.getProperty(ConfigurationProperty.THREAD_POOL_MIN_THREADS.toString(), Uint16::valueOf);
116     }
117
118     @Override
119     public NonZeroUint16Type getThreadPoolMaxThreads() {
120         final Integer property = service.getProperty(
121                 ConfigurationProperty.THREAD_POOL_MAX_THREADS.toString(),
122                 Integer::valueOf);
123
124         return new NonZeroUint16Type(property);
125     }
126
127     @Override
128     public Uint32 getThreadPoolTimeout() {
129         return service.getProperty(ConfigurationProperty.THREAD_POOL_TIMEOUT.toString(), Uint32::valueOf);
130     }
131
132     @Override
133     public Boolean isEnableFlowRemovedNotification() {
134         return service.getProperty(ConfigurationProperty.ENABLE_FLOW_REMOVED_NOTIFICATION.toString(), Boolean::valueOf);
135     }
136
137     @Override
138     public Boolean isSkipTableFeatures() {
139         return service.getProperty(ConfigurationProperty.SKIP_TABLE_FEATURES.toString(), Boolean::valueOf);
140     }
141
142     @Override
143     public Boolean isEnableEqualRole() {
144         return service.getProperty(ConfigurationProperty.ENABLE_EQUAL_ROLE.toString(), Boolean::valueOf);
145     }
146
147     @Override
148     public NonZeroUint32Type getBasicTimerDelay() {
149         final Long property = service.getProperty(
150                 ConfigurationProperty.BASIC_TIMER_DELAY.toString(),
151                 Long::valueOf);
152
153         return new NonZeroUint32Type(property);
154     }
155
156     @Override
157     public NonZeroUint32Type getMaximumTimerDelay() {
158         final Long property = service.getProperty(
159                 ConfigurationProperty.MAXIMUM_TIMER_DELAY.toString(),
160                 Long::valueOf);
161
162         return new NonZeroUint32Type(property);
163     }
164
165     @Override
166     public Boolean isUseSingleLayerSerialization() {
167         return service.getProperty(ConfigurationProperty.USE_SINGLE_LAYER_SERIALIZATION.toString(), Boolean::valueOf);
168     }
169
170     @Override
171     public <E extends Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang
172             .openflow.provider.config.rev160510.OpenflowProviderConfig>> E augmentation(
173                     final java.lang.Class<E> augmentationType) {
174         return null;
175     }
176
177     @Override
178     public Uint16 getDeviceConnectionRateLimitPerMin() {
179         return service.getProperty(ConfigurationProperty.DEVICE_CONNECTION_RATE_LIMIT_PER_MIN.toString(),
180                 Uint16::valueOf);
181     }
182 }