4de980433753e4165f66dec8fe2eb7081073ddd5
[controller.git] / opendaylight / config / yang-test / src / main / java / org / opendaylight / controller / config / yang / test / impl / NetconfTestImplModuleUtil.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. 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.controller.config.yang.test.impl;
9
10 import com.google.common.collect.Lists;
11
12 import java.util.List;
13
14 public class NetconfTestImplModuleUtil {
15     static NetconfTestImplRuntimeRegistration registerRuntimeBeans(final NetconfTestImplModule module) {
16         NetconfTestImplRuntimeRegistration reg = module.getRootRuntimeBeanRegistratorWrapper().register(new NetconfTestImplRuntimeMXBean() {
17
18             @Override
19             public Long getCreatedSessions() {
20                 return module.getSimpleLong();
21             }
22
23             @Override
24             public Asdf getAsdf() {
25                 final Asdf asdf = new Asdf();
26                 asdf.setSimpleString("asdf");
27                 return asdf;
28             }
29
30             @Override
31             public String noArg(final String arg1) {
32                 return arg1.toUpperCase();
33             }
34
35         });
36
37         for (int i = 0; i < module.getSimpleShort(); i++) {
38             final int finalI = i;
39
40             reg.register(new InnerRunningDataAdditionalRuntimeMXBean() {
41                 @Override
42                 public Integer getSimpleInt3() {
43                     return module.getSimpleTest();
44                 }
45
46                 @Override
47                 public Deep4 getDeep4() {
48                     final Deep4 d = new Deep4();
49                     d.setBoool(false);
50                     return d;
51                 }
52
53                 @Override
54                 public String getSimpleString() {
55                     return Integer.toString(finalI);
56                 }
57
58                 @Override
59                 public void noArgInner() {
60                 }
61             });
62
63             InnerRunningDataRuntimeRegistration innerReg = reg.register(new InnerRunningDataRuntimeMXBean() {
64                 @Override
65                 public Integer getSimpleInt3() {
66                     return finalI;
67                 }
68
69                 @Override
70                 public Deep2 getDeep2() {
71                     return new Deep2();
72                 }
73             });
74
75             for (int j = 0; j < module.getSimpleShort(); j++) {
76                 final int finalJ = j;
77                 innerReg.register(new InnerInnerRunningDataRuntimeMXBean() {
78                     @Override
79                     public List<NotStateBean> getNotStateBean() {
80                         NotStateBean b1 = new NotStateBean();
81                         b1.setElement("not state");
82                         return Lists.newArrayList(b1);
83                     }
84
85                     @Override
86                     public Integer getSimpleInt3() {
87                         return finalJ;
88                     }
89
90                     @Override
91                     public Deep3 getDeep3() {
92                         return new Deep3();
93                     }
94
95                     @Override
96                     public List<String> getListOfStrings() {
97                         return Lists.newArrayList("l1", "l2");
98                     }
99
100                     @Override
101                     public List<RetValList> listOutput() {
102                         return Lists.newArrayList(new RetValList());
103                     }
104
105                     @Override
106                     public Boolean noArgInnerInner(Integer integer, Boolean aBoolean) {
107                         return aBoolean;
108                     }
109
110                     @Override
111                     public RetValContainer containerOutput() {
112                         return new RetValContainer();
113                     }
114
115                     @Override
116                     public List<String> leafListOutput() {
117                         return Lists.newArrayList("1", "2");
118                     }
119                 });
120             }
121         }
122
123         return reg;
124     }
125 }