blob: 98221f123a7ddf265d61143d9f8a6b43e9e5fe71 [file] [log] [blame]
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +05301/*
2 * Copyright 2016-present Open Networking Laboratory
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
17package org.onosproject.yangutils.translator.tojava;
18
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053019import java.io.File;
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053020import java.io.IOException;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053021import java.util.List;
22
23import org.onosproject.yangutils.datamodel.YangNode;
Shankara-Huaweibdf24bb2016-08-02 18:13:13 +053024import org.onosproject.yangutils.datamodel.javadatamodel.JavaFileInfo;
25import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModuleTranslator;
26import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModuleTranslator;
Bharat saraswalb551aae2016-07-14 15:18:20 +053027import org.onosproject.yangutils.translator.tojava.utils.JavaExtendsListHolder;
Shankara-Huaweibdf24bb2016-08-02 18:13:13 +053028import org.onosproject.yangutils.datamodel.javadatamodel.YangPluginConfig;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053029
30import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.RPC_IMPL_MASK;
31import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.RPC_INTERFACE_MASK;
Bharat saraswalb551aae2016-07-14 15:18:20 +053032import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.addAnnotationsImports;
33import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.addListenersImport;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053034import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaClassDefClose;
35import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateManagerClassFile;
36import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateServiceInterfaceFile;
Bharat saraswalb551aae2016-07-14 15:18:20 +053037import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.createPackage;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053038import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcManagerMethod;
39import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcServiceMethod;
Bharat saraswalc0e04842016-05-12 13:16:57 +053040import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
Bharat saraswalab4c6ba2016-05-17 14:19:38 +053041import static org.onosproject.yangutils.utils.UtilConstants.LISTENER_REG;
42import static org.onosproject.yangutils.utils.UtilConstants.LISTENER_SERVICE;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053043import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
Bharat saraswalc0e04842016-05-12 13:16:57 +053044import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_VAR_NAME;
45import static org.onosproject.yangutils.utils.UtilConstants.VOID;
Bharat saraswalb551aae2016-07-14 15:18:20 +053046import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.closeFile;
Bharat saraswalb551aae2016-07-14 15:18:20 +053047import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.generateJavaDocForRpc;
Bharat saraswalb551aae2016-07-14 15:18:20 +053048import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath;
Bharat saraswalb551aae2016-07-14 15:18:20 +053049import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053050import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.insertDataIntoJavaFile;
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053051
52/**
Bharat saraswalb551aae2016-07-14 15:18:20 +053053 * Represents implementation of java service code fragments temporary implementations. Maintains the temp files required
54 * specific for service and manager java snippet generation.
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053055 */
56public class TempJavaServiceFragmentFiles
57 extends TempJavaFragmentFiles {
58
59 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053060 * File name for rpc method.
61 */
62 private static final String RPC_INTERFACE_FILE_NAME = "Rpc";
63
64 /**
65 * File name for rpc implementation method.
66 */
67 private static final String RPC_IMPL_FILE_NAME = "RpcImpl";
68
69 /**
Bharat saraswald50c6382016-07-14 21:57:13 +053070 * File name for generated class file for service suffix.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053071 */
72 private static final String SERVICE_FILE_NAME_SUFFIX = "Service";
73
74 /**
Bharat saraswald50c6382016-07-14 21:57:13 +053075 * File name for generated class file for manager suffix.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053076 */
77 private static final String MANAGER_FILE_NAME_SUFFIX = "Manager";
78
79 /**
Bharat saraswald50c6382016-07-14 21:57:13 +053080 * Flag to set the manager files generation.
Bharat saraswal33dfa012016-05-17 19:59:16 +053081 */
Bharat saraswale707f032016-07-14 23:33:55 +053082 private boolean isManagerNeedToBeGenerated = false;
Bharat saraswal33dfa012016-05-17 19:59:16 +053083
84 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053085 * Temporary file handle for rpc interface.
86 */
87 private File rpcInterfaceTempFileHandle;
88
89 /**
90 * Temporary file handle for rpc manager impl.
91 */
92 private File rpcImplTempFileHandle;
93
94 /**
95 * Java file handle for rpc interface file.
96 */
97 private File serviceInterfaceJavaFileHandle;
98
99 /**
Bharat saraswale707f032016-07-14 23:33:55 +0530100 * Path for service file to be generated.
Bharat saraswald50c6382016-07-14 21:57:13 +0530101 */
102 private String serviceGenPath;
103
104 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530105 * Java file handle for manager impl file.
106 */
107 private File managerJavaFileHandle;
108
109 /**
Bharat saraswalb551aae2016-07-14 15:18:20 +0530110 * Creates an instance of temporary java code fragment.
111 *
112 * @param javaFileInfo generated file information
113 * @throws IOException when fails to create new file handle
114 */
Bharat saraswale707f032016-07-14 23:33:55 +0530115 TempJavaServiceFragmentFiles(JavaFileInfo javaFileInfo)
Bharat saraswalb551aae2016-07-14 15:18:20 +0530116 throws IOException {
117 setJavaExtendsListHolder(new JavaExtendsListHolder());
118 setJavaImportData(new JavaImportData());
119 setJavaFileInfo(javaFileInfo);
Bharat saraswald50c6382016-07-14 21:57:13 +0530120 setBaseCodePath(getJavaFileInfo().getBaseCodeGenPath());
121 setServiceGenPath(getJavaFileInfo().getPluginConfig().getCodeGenDir());
Bharat saraswalb551aae2016-07-14 15:18:20 +0530122 setAbsoluteDirPath(getAbsolutePackagePath(getJavaFileInfo().getBaseCodeGenPath(),
123 getJavaFileInfo().getPackageFilePath()));
124 addGeneratedTempFile(RPC_INTERFACE_MASK);
125 addGeneratedTempFile(RPC_IMPL_MASK);
126
Bharat saraswalb551aae2016-07-14 15:18:20 +0530127 setRpcInterfaceTempFileHandle(getTemporaryFileHandle(RPC_INTERFACE_FILE_NAME));
128 setRpcImplTempFileHandle(getTemporaryFileHandle(RPC_IMPL_FILE_NAME));
Bharat saraswalb551aae2016-07-14 15:18:20 +0530129 }
130
131 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530132 * Returns rpc method's java file handle.
133 *
134 * @return java file handle
135 */
136 private File getServiceInterfaceJavaFileHandle() {
137 return serviceInterfaceJavaFileHandle;
138 }
139
140 /**
141 * Sets rpc method's java file handle.
142 *
143 * @param serviceInterfaceJavaFileHandle file handle for to rpc method
144 */
145 private void setServiceInterfaceJavaFileHandle(File serviceInterfaceJavaFileHandle) {
146 this.serviceInterfaceJavaFileHandle = serviceInterfaceJavaFileHandle;
147 }
148
149 /**
150 * Returns managers java file handle.
151 *
152 * @return java file handle
153 */
Bharat saraswale707f032016-07-14 23:33:55 +0530154 private File getManagerJavaFileHandle() {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530155 return managerJavaFileHandle;
156 }
157
158 /**
159 * Sets manager java file handle.
160 *
161 * @param managerJavaFileHandle file handle for to manager
162 */
Bharat saraswale707f032016-07-14 23:33:55 +0530163 private void setManagerJavaFileHandle(File managerJavaFileHandle) {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530164 this.managerJavaFileHandle = managerJavaFileHandle;
165 }
166
167 /**
168 * Returns rpc method's temporary file handle.
169 *
170 * @return temporary file handle
171 */
172 public File getRpcInterfaceTempFileHandle() {
173 return rpcInterfaceTempFileHandle;
174 }
175
176 /**
177 * Sets rpc method's temporary file handle.
178 *
179 * @param rpcInterfaceTempFileHandle file handle for to rpc method
180 */
181 private void setRpcInterfaceTempFileHandle(File rpcInterfaceTempFileHandle) {
182 this.rpcInterfaceTempFileHandle = rpcInterfaceTempFileHandle;
183 }
184
185 /**
186 * Retrieves the manager impl temp file.
187 *
188 * @return the manager impl temp file
189 */
190 public File getRpcImplTempFileHandle() {
191 return rpcImplTempFileHandle;
192 }
193
194 /**
195 * Sets the manager impl temp file.
196 *
197 * @param rpcImplTempFileHandle the manager impl temp file
198 */
Bharat saraswale707f032016-07-14 23:33:55 +0530199 private void setRpcImplTempFileHandle(File rpcImplTempFileHandle) {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530200 this.rpcImplTempFileHandle = rpcImplTempFileHandle;
201 }
202
203 /**
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530204 * Constructs java code exit.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530205 *
206 * @param fileType generated file type
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530207 * @param curNode current YANG node
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530208 * @throws IOException when fails to generate java files
209 */
Bharat saraswalc0e04842016-05-12 13:16:57 +0530210 @Override
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530211 public void generateJavaFile(int fileType, YangNode curNode)
212 throws IOException {
Bharat saraswalb551aae2016-07-14 15:18:20 +0530213 List<String> imports = ((JavaCodeGeneratorInfo) curNode).getTempJavaCodeFragmentFiles().getServiceTempFiles()
214 .getJavaImportData().getImports();
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530215 createPackage(curNode);
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530216 boolean isNotification = false;
Shankara-Huaweibdf24bb2016-08-02 18:13:13 +0530217 if (curNode instanceof YangJavaModuleTranslator) {
218 if (!((YangJavaModuleTranslator) curNode).getNotificationNodes().isEmpty()) {
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530219 isNotification = true;
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530220 }
Shankara-Huaweibdf24bb2016-08-02 18:13:13 +0530221 } else if (curNode instanceof YangJavaSubModuleTranslator) {
222 if (!((YangJavaSubModuleTranslator) curNode).getNotificationNodes().isEmpty()) {
Bharat saraswal33dfa012016-05-17 19:59:16 +0530223 isNotification = true;
224 }
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530225 }
226
227 if (isNotification) {
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530228 addListenersImport(curNode, imports, true, LISTENER_SERVICE);
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530229 }
Bharat saraswale707f032016-07-14 23:33:55 +0530230
231 // Creates rpc interface file.
Bharat saraswald50c6382016-07-14 21:57:13 +0530232 setBaseCodePath(getServiceGenPath());
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530233 setServiceInterfaceJavaFileHandle(getJavaFileHandle(getJavaClassName(SERVICE_FILE_NAME_SUFFIX)));
Bharat saraswalb551aae2016-07-14 15:18:20 +0530234 generateServiceInterfaceFile(getServiceInterfaceJavaFileHandle(), curNode, imports);
Bharat saraswald50c6382016-07-14 21:57:13 +0530235 setBaseCodePath(getJavaFileInfo().getBaseCodeGenPath());
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530236 if (isNotification) {
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530237 addListenersImport(curNode, imports, false, LISTENER_SERVICE);
238 addListenersImport(curNode, imports, true, LISTENER_REG);
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530239 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530240 addAnnotationsImports(imports, true);
Bharat saraswale707f032016-07-14 23:33:55 +0530241
242 // Create builder class file.
Bharat saraswald50c6382016-07-14 21:57:13 +0530243 if (isManagerNeedToBeGenerated()) {
244 setManagerJavaFileHandle(getJavaFileHandle(getJavaClassName(MANAGER_FILE_NAME_SUFFIX)));
245 generateManagerClassFile(getManagerJavaFileHandle(), imports, curNode);
246 insertDataIntoJavaFile(getManagerJavaFileHandle(), getJavaClassDefClose());
247 }
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530248 if (isNotification) {
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530249 addListenersImport(curNode, imports, false, LISTENER_REG);
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530250 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530251 addAnnotationsImports(imports, false);
252
Bharat saraswale707f032016-07-14 23:33:55 +0530253
254 // Close all the file handles.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530255 freeTemporaryResources(false);
256 }
257
258 /**
259 * Adds rpc string information to applicable temp file.
260 *
Bharat saraswale707f032016-07-14 23:33:55 +0530261 * @param javaAttributeInfoOfInput RPCs input node attribute info
262 * @param javaAttributeInfoOfOutput RPCs output node attribute info
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530263 * @param rpcName name of the rpc function
264 * @param pluginConfig plugin configurations
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530265 * @throws IOException IO operation fail
266 */
Bharat saraswalc0e04842016-05-12 13:16:57 +0530267 private void addRpcString(JavaAttributeInfo javaAttributeInfoOfInput,
Bharat saraswalb551aae2016-07-14 15:18:20 +0530268 JavaAttributeInfo javaAttributeInfoOfOutput, YangPluginConfig pluginConfig,
269 String rpcName)
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530270 throws IOException {
Bharat saraswalc0e04842016-05-12 13:16:57 +0530271 String rpcInput = EMPTY_STRING;
272 String rpcOutput = VOID;
Bharat saraswalcad0e652016-05-26 23:48:38 +0530273 String rpcInputJavaDoc = EMPTY_STRING;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530274 if (javaAttributeInfoOfInput != null) {
janani b4a6711a2016-05-17 13:12:22 +0530275 rpcInput = getCapitalCase(javaAttributeInfoOfInput.getAttributeName());
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530276 }
277 if (javaAttributeInfoOfOutput != null) {
janani b4a6711a2016-05-17 13:12:22 +0530278 rpcOutput = getCapitalCase(javaAttributeInfoOfOutput.getAttributeName());
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530279 }
Bharat saraswalcad0e652016-05-26 23:48:38 +0530280 if (!rpcInput.equals(EMPTY_STRING)) {
281 rpcInputJavaDoc = RPC_INPUT_VAR_NAME;
282 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530283 appendToFile(getRpcInterfaceTempFileHandle(),
Bharat saraswalcad0e652016-05-26 23:48:38 +0530284 generateJavaDocForRpc(rpcName, rpcInputJavaDoc, rpcOutput, pluginConfig)
Bharat saraswal33dfa012016-05-17 19:59:16 +0530285 + getRpcServiceMethod(rpcName, rpcInput, rpcOutput, pluginConfig) + NEW_LINE);
286 appendToFile(getRpcImplTempFileHandle(),
287 getRpcManagerMethod(rpcName, rpcInput, rpcOutput, pluginConfig) + NEW_LINE);
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530288 }
289
290 /**
291 * Adds the JAVA rpc snippet information.
292 *
Bharat saraswale707f032016-07-14 23:33:55 +0530293 * @param javaAttributeInfoOfInput RPCs input node attribute info
294 * @param javaAttributeInfoOfOutput RPCs output node attribute info
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530295 * @param pluginConfig plugin configurations
296 * @param rpcName name of the rpc function
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530297 * @throws IOException IO operation fail
298 */
299 public void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo javaAttributeInfoOfInput,
Bharat saraswalb551aae2016-07-14 15:18:20 +0530300 JavaAttributeInfo javaAttributeInfoOfOutput,
301 YangPluginConfig pluginConfig, String rpcName)
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530302 throws IOException {
Bharat saraswal96dfef02016-06-16 00:29:12 +0530303 addRpcString(javaAttributeInfoOfInput, javaAttributeInfoOfOutput, pluginConfig, rpcName);
Bharat saraswal33dfa012016-05-17 19:59:16 +0530304 }
305
306 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530307 * Removes all temporary file handles.
308 *
Bharat saraswale707f032016-07-14 23:33:55 +0530309 * @param isErrorOccurred flag to tell translator that error has occurred while file generation
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530310 * @throws IOException when failed to delete the temporary files
311 */
Bharat saraswalc0e04842016-05-12 13:16:57 +0530312 @Override
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530313 public void freeTemporaryResources(boolean isErrorOccurred)
314 throws IOException {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530315
Bharat saraswale707f032016-07-14 23:33:55 +0530316 closeFile(getServiceInterfaceJavaFileHandle(), isErrorOccurred);
317 closeFile(getManagerJavaFileHandle(), isErrorOccurred);
Bharat saraswal33dfa012016-05-17 19:59:16 +0530318
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530319 closeFile(getRpcInterfaceTempFileHandle(), true);
Bharat saraswalc0e04842016-05-12 13:16:57 +0530320 closeFile(getRpcImplTempFileHandle(), true);
321 closeFile(getGetterInterfaceTempFileHandle(), true);
322 closeFile(getSetterInterfaceTempFileHandle(), true);
323 closeFile(getSetterImplTempFileHandle(), true);
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530324
325 super.freeTemporaryResources(isErrorOccurred);
326
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +0530327 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530328
329 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530330 * Returns the path where service file should be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530331 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530332 * @return path where service file should be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530333 */
Bharat saraswale707f032016-07-14 23:33:55 +0530334 private String getServiceGenPath() {
Bharat saraswald50c6382016-07-14 21:57:13 +0530335 return serviceGenPath;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530336 }
337
338 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530339 * Sets path where service file should be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530340 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530341 * @param serviceGenPath path where service file should be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530342 */
Bharat saraswale707f032016-07-14 23:33:55 +0530343 private void setServiceGenPath(String serviceGenPath) {
Bharat saraswald50c6382016-07-14 21:57:13 +0530344 this.serviceGenPath = serviceGenPath;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530345 }
346
347 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530348 * Returns true if manager needs to be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530349 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530350 * @return true if manager needs to be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530351 */
Bharat saraswale707f032016-07-14 23:33:55 +0530352 private boolean isManagerNeedToBeGenerated() {
Bharat saraswald50c6382016-07-14 21:57:13 +0530353 return isManagerNeedToBeGenerated;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530354 }
355
356 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530357 * Sets true if manager needs to be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530358 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530359 * @param managerNeedToBeGenerated true if manager needs to be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530360 */
Bharat saraswald50c6382016-07-14 21:57:13 +0530361 public void setManagerNeedToBeGenerated(boolean managerNeedToBeGenerated) {
362 isManagerNeedToBeGenerated = managerNeedToBeGenerated;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530363 }
364
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +0530365}