blob: bae2df5ac90af77d577efe8e4b9ede5887b19f66 [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;
Bharat saraswal33dfa012016-05-17 19:59:16 +053024import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule;
25import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModule;
Bharat saraswalb551aae2016-07-14 15:18:20 +053026import org.onosproject.yangutils.translator.tojava.utils.JavaExtendsListHolder;
Gaurav Agrawal8a5af142016-06-15 13:58:01 +053027import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053028
29import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.RPC_IMPL_MASK;
30import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.RPC_INTERFACE_MASK;
Bharat saraswalb551aae2016-07-14 15:18:20 +053031import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.addAnnotationsImports;
32import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.addListenersImport;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053033import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaClassDefClose;
34import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateManagerClassFile;
35import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateServiceInterfaceFile;
Bharat saraswalb551aae2016-07-14 15:18:20 +053036import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.createPackage;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053037import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcManagerMethod;
38import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcServiceMethod;
Bharat saraswalc0e04842016-05-12 13:16:57 +053039import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
Bharat saraswalab4c6ba2016-05-17 14:19:38 +053040import static org.onosproject.yangutils.utils.UtilConstants.LISTENER_REG;
41import static org.onosproject.yangutils.utils.UtilConstants.LISTENER_SERVICE;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053042import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
Bharat saraswalc0e04842016-05-12 13:16:57 +053043import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_VAR_NAME;
44import static org.onosproject.yangutils.utils.UtilConstants.VOID;
Bharat saraswalb551aae2016-07-14 15:18:20 +053045import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.closeFile;
Bharat saraswalb551aae2016-07-14 15:18:20 +053046import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.generateJavaDocForRpc;
Bharat saraswalb551aae2016-07-14 15:18:20 +053047import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath;
Bharat saraswalb551aae2016-07-14 15:18:20 +053048import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053049import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.insertDataIntoJavaFile;
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053050
51/**
Bharat saraswalb551aae2016-07-14 15:18:20 +053052 * Represents implementation of java service code fragments temporary implementations. Maintains the temp files required
53 * specific for service and manager java snippet generation.
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +053054 */
55public class TempJavaServiceFragmentFiles
56 extends TempJavaFragmentFiles {
57
58 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053059 * File name for rpc method.
60 */
61 private static final String RPC_INTERFACE_FILE_NAME = "Rpc";
62
63 /**
64 * File name for rpc implementation method.
65 */
66 private static final String RPC_IMPL_FILE_NAME = "RpcImpl";
67
68 /**
Bharat saraswald50c6382016-07-14 21:57:13 +053069 * File name for generated class file for service suffix.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053070 */
71 private static final String SERVICE_FILE_NAME_SUFFIX = "Service";
72
73 /**
Bharat saraswald50c6382016-07-14 21:57:13 +053074 * File name for generated class file for manager suffix.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053075 */
76 private static final String MANAGER_FILE_NAME_SUFFIX = "Manager";
77
78 /**
Bharat saraswald50c6382016-07-14 21:57:13 +053079 * Flag to set the manager files generation.
Bharat saraswal33dfa012016-05-17 19:59:16 +053080 */
Bharat saraswale707f032016-07-14 23:33:55 +053081 private boolean isManagerNeedToBeGenerated = false;
Bharat saraswal33dfa012016-05-17 19:59:16 +053082
83 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +053084 * Temporary file handle for rpc interface.
85 */
86 private File rpcInterfaceTempFileHandle;
87
88 /**
89 * Temporary file handle for rpc manager impl.
90 */
91 private File rpcImplTempFileHandle;
92
93 /**
94 * Java file handle for rpc interface file.
95 */
96 private File serviceInterfaceJavaFileHandle;
97
98 /**
Bharat saraswale707f032016-07-14 23:33:55 +053099 * Path for service file to be generated.
Bharat saraswald50c6382016-07-14 21:57:13 +0530100 */
101 private String serviceGenPath;
102
103 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530104 * Java file handle for manager impl file.
105 */
106 private File managerJavaFileHandle;
107
108 /**
Bharat saraswalb551aae2016-07-14 15:18:20 +0530109 * Creates an instance of temporary java code fragment.
110 *
111 * @param javaFileInfo generated file information
112 * @throws IOException when fails to create new file handle
113 */
Bharat saraswale707f032016-07-14 23:33:55 +0530114 TempJavaServiceFragmentFiles(JavaFileInfo javaFileInfo)
Bharat saraswalb551aae2016-07-14 15:18:20 +0530115 throws IOException {
116 setJavaExtendsListHolder(new JavaExtendsListHolder());
117 setJavaImportData(new JavaImportData());
118 setJavaFileInfo(javaFileInfo);
Bharat saraswald50c6382016-07-14 21:57:13 +0530119 setBaseCodePath(getJavaFileInfo().getBaseCodeGenPath());
120 setServiceGenPath(getJavaFileInfo().getPluginConfig().getCodeGenDir());
Bharat saraswalb551aae2016-07-14 15:18:20 +0530121 setAbsoluteDirPath(getAbsolutePackagePath(getJavaFileInfo().getBaseCodeGenPath(),
122 getJavaFileInfo().getPackageFilePath()));
123 addGeneratedTempFile(RPC_INTERFACE_MASK);
124 addGeneratedTempFile(RPC_IMPL_MASK);
125
Bharat saraswalb551aae2016-07-14 15:18:20 +0530126 setRpcInterfaceTempFileHandle(getTemporaryFileHandle(RPC_INTERFACE_FILE_NAME));
127 setRpcImplTempFileHandle(getTemporaryFileHandle(RPC_IMPL_FILE_NAME));
Bharat saraswalb551aae2016-07-14 15:18:20 +0530128 }
129
130 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530131 * Returns rpc method's java file handle.
132 *
133 * @return java file handle
134 */
135 private File getServiceInterfaceJavaFileHandle() {
136 return serviceInterfaceJavaFileHandle;
137 }
138
139 /**
140 * Sets rpc method's java file handle.
141 *
142 * @param serviceInterfaceJavaFileHandle file handle for to rpc method
143 */
144 private void setServiceInterfaceJavaFileHandle(File serviceInterfaceJavaFileHandle) {
145 this.serviceInterfaceJavaFileHandle = serviceInterfaceJavaFileHandle;
146 }
147
148 /**
149 * Returns managers java file handle.
150 *
151 * @return java file handle
152 */
Bharat saraswale707f032016-07-14 23:33:55 +0530153 private File getManagerJavaFileHandle() {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530154 return managerJavaFileHandle;
155 }
156
157 /**
158 * Sets manager java file handle.
159 *
160 * @param managerJavaFileHandle file handle for to manager
161 */
Bharat saraswale707f032016-07-14 23:33:55 +0530162 private void setManagerJavaFileHandle(File managerJavaFileHandle) {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530163 this.managerJavaFileHandle = managerJavaFileHandle;
164 }
165
166 /**
167 * Returns rpc method's temporary file handle.
168 *
169 * @return temporary file handle
170 */
171 public File getRpcInterfaceTempFileHandle() {
172 return rpcInterfaceTempFileHandle;
173 }
174
175 /**
176 * Sets rpc method's temporary file handle.
177 *
178 * @param rpcInterfaceTempFileHandle file handle for to rpc method
179 */
180 private void setRpcInterfaceTempFileHandle(File rpcInterfaceTempFileHandle) {
181 this.rpcInterfaceTempFileHandle = rpcInterfaceTempFileHandle;
182 }
183
184 /**
185 * Retrieves the manager impl temp file.
186 *
187 * @return the manager impl temp file
188 */
189 public File getRpcImplTempFileHandle() {
190 return rpcImplTempFileHandle;
191 }
192
193 /**
194 * Sets the manager impl temp file.
195 *
196 * @param rpcImplTempFileHandle the manager impl temp file
197 */
Bharat saraswale707f032016-07-14 23:33:55 +0530198 private void setRpcImplTempFileHandle(File rpcImplTempFileHandle) {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530199 this.rpcImplTempFileHandle = rpcImplTempFileHandle;
200 }
201
202 /**
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530203 * Constructs java code exit.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530204 *
205 * @param fileType generated file type
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530206 * @param curNode current YANG node
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530207 * @throws IOException when fails to generate java files
208 */
Bharat saraswalc0e04842016-05-12 13:16:57 +0530209 @Override
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530210 public void generateJavaFile(int fileType, YangNode curNode)
211 throws IOException {
Bharat saraswalb551aae2016-07-14 15:18:20 +0530212 List<String> imports = ((JavaCodeGeneratorInfo) curNode).getTempJavaCodeFragmentFiles().getServiceTempFiles()
213 .getJavaImportData().getImports();
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530214 createPackage(curNode);
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530215 boolean isNotification = false;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530216 if (curNode instanceof YangJavaModule) {
217 if (!((YangJavaModule) curNode).getNotificationNodes().isEmpty()) {
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530218 isNotification = true;
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530219 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530220 } else if (curNode instanceof YangJavaSubModule) {
221 if (!((YangJavaSubModule) curNode).getNotificationNodes().isEmpty()) {
222 isNotification = true;
223 }
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530224 }
225
226 if (isNotification) {
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530227 addListenersImport(curNode, imports, true, LISTENER_SERVICE);
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530228 }
Bharat saraswale707f032016-07-14 23:33:55 +0530229
230 // Creates rpc interface file.
Bharat saraswald50c6382016-07-14 21:57:13 +0530231 setBaseCodePath(getServiceGenPath());
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530232 setServiceInterfaceJavaFileHandle(getJavaFileHandle(getJavaClassName(SERVICE_FILE_NAME_SUFFIX)));
Bharat saraswalb551aae2016-07-14 15:18:20 +0530233 generateServiceInterfaceFile(getServiceInterfaceJavaFileHandle(), curNode, imports);
Bharat saraswald50c6382016-07-14 21:57:13 +0530234 setBaseCodePath(getJavaFileInfo().getBaseCodeGenPath());
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530235 if (isNotification) {
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530236 addListenersImport(curNode, imports, false, LISTENER_SERVICE);
237 addListenersImport(curNode, imports, true, LISTENER_REG);
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530238 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530239 addAnnotationsImports(imports, true);
Bharat saraswale707f032016-07-14 23:33:55 +0530240
241 // Create builder class file.
Bharat saraswald50c6382016-07-14 21:57:13 +0530242 if (isManagerNeedToBeGenerated()) {
243 setManagerJavaFileHandle(getJavaFileHandle(getJavaClassName(MANAGER_FILE_NAME_SUFFIX)));
244 generateManagerClassFile(getManagerJavaFileHandle(), imports, curNode);
245 insertDataIntoJavaFile(getManagerJavaFileHandle(), getJavaClassDefClose());
246 }
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530247 if (isNotification) {
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530248 addListenersImport(curNode, imports, false, LISTENER_REG);
Bharat saraswalab4c6ba2016-05-17 14:19:38 +0530249 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530250 addAnnotationsImports(imports, false);
251
Bharat saraswale707f032016-07-14 23:33:55 +0530252
253 // Close all the file handles.
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530254 freeTemporaryResources(false);
255 }
256
257 /**
258 * Adds rpc string information to applicable temp file.
259 *
Bharat saraswale707f032016-07-14 23:33:55 +0530260 * @param javaAttributeInfoOfInput RPCs input node attribute info
261 * @param javaAttributeInfoOfOutput RPCs output node attribute info
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530262 * @param rpcName name of the rpc function
263 * @param pluginConfig plugin configurations
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530264 * @throws IOException IO operation fail
265 */
Bharat saraswalc0e04842016-05-12 13:16:57 +0530266 private void addRpcString(JavaAttributeInfo javaAttributeInfoOfInput,
Bharat saraswalb551aae2016-07-14 15:18:20 +0530267 JavaAttributeInfo javaAttributeInfoOfOutput, YangPluginConfig pluginConfig,
268 String rpcName)
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530269 throws IOException {
Bharat saraswalc0e04842016-05-12 13:16:57 +0530270 String rpcInput = EMPTY_STRING;
271 String rpcOutput = VOID;
Bharat saraswalcad0e652016-05-26 23:48:38 +0530272 String rpcInputJavaDoc = EMPTY_STRING;
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530273 if (javaAttributeInfoOfInput != null) {
janani b4a6711a2016-05-17 13:12:22 +0530274 rpcInput = getCapitalCase(javaAttributeInfoOfInput.getAttributeName());
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530275 }
276 if (javaAttributeInfoOfOutput != null) {
janani b4a6711a2016-05-17 13:12:22 +0530277 rpcOutput = getCapitalCase(javaAttributeInfoOfOutput.getAttributeName());
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530278 }
Bharat saraswalcad0e652016-05-26 23:48:38 +0530279 if (!rpcInput.equals(EMPTY_STRING)) {
280 rpcInputJavaDoc = RPC_INPUT_VAR_NAME;
281 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530282 appendToFile(getRpcInterfaceTempFileHandle(),
Bharat saraswalcad0e652016-05-26 23:48:38 +0530283 generateJavaDocForRpc(rpcName, rpcInputJavaDoc, rpcOutput, pluginConfig)
Bharat saraswal33dfa012016-05-17 19:59:16 +0530284 + getRpcServiceMethod(rpcName, rpcInput, rpcOutput, pluginConfig) + NEW_LINE);
285 appendToFile(getRpcImplTempFileHandle(),
286 getRpcManagerMethod(rpcName, rpcInput, rpcOutput, pluginConfig) + NEW_LINE);
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530287 }
288
289 /**
290 * Adds the JAVA rpc snippet information.
291 *
Bharat saraswale707f032016-07-14 23:33:55 +0530292 * @param javaAttributeInfoOfInput RPCs input node attribute info
293 * @param javaAttributeInfoOfOutput RPCs output node attribute info
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530294 * @param pluginConfig plugin configurations
295 * @param rpcName name of the rpc function
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530296 * @throws IOException IO operation fail
297 */
298 public void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo javaAttributeInfoOfInput,
Bharat saraswalb551aae2016-07-14 15:18:20 +0530299 JavaAttributeInfo javaAttributeInfoOfOutput,
300 YangPluginConfig pluginConfig, String rpcName)
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530301 throws IOException {
Bharat saraswal96dfef02016-06-16 00:29:12 +0530302 addRpcString(javaAttributeInfoOfInput, javaAttributeInfoOfOutput, pluginConfig, rpcName);
Bharat saraswal33dfa012016-05-17 19:59:16 +0530303 }
304
305 /**
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530306 * Removes all temporary file handles.
307 *
Bharat saraswale707f032016-07-14 23:33:55 +0530308 * @param isErrorOccurred flag to tell translator that error has occurred while file generation
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530309 * @throws IOException when failed to delete the temporary files
310 */
Bharat saraswalc0e04842016-05-12 13:16:57 +0530311 @Override
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530312 public void freeTemporaryResources(boolean isErrorOccurred)
313 throws IOException {
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530314
Bharat saraswale707f032016-07-14 23:33:55 +0530315 closeFile(getServiceInterfaceJavaFileHandle(), isErrorOccurred);
316 closeFile(getManagerJavaFileHandle(), isErrorOccurred);
Bharat saraswal33dfa012016-05-17 19:59:16 +0530317
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530318 closeFile(getRpcInterfaceTempFileHandle(), true);
Bharat saraswalc0e04842016-05-12 13:16:57 +0530319 closeFile(getRpcImplTempFileHandle(), true);
320 closeFile(getGetterInterfaceTempFileHandle(), true);
321 closeFile(getSetterInterfaceTempFileHandle(), true);
322 closeFile(getSetterImplTempFileHandle(), true);
VinodKumarS-Huaweicb3a1f52016-05-10 17:58:57 +0530323
324 super.freeTemporaryResources(isErrorOccurred);
325
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +0530326 }
Bharat saraswal33dfa012016-05-17 19:59:16 +0530327
328 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530329 * Returns the path where service file should be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530330 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530331 * @return path where service file should be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530332 */
Bharat saraswale707f032016-07-14 23:33:55 +0530333 private String getServiceGenPath() {
Bharat saraswald50c6382016-07-14 21:57:13 +0530334 return serviceGenPath;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530335 }
336
337 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530338 * Sets path where service file should be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530339 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530340 * @param serviceGenPath path where service file should be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530341 */
Bharat saraswale707f032016-07-14 23:33:55 +0530342 private void setServiceGenPath(String serviceGenPath) {
Bharat saraswald50c6382016-07-14 21:57:13 +0530343 this.serviceGenPath = serviceGenPath;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530344 }
345
346 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530347 * Returns true if manager needs to be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530348 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530349 * @return true if manager needs to be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530350 */
Bharat saraswale707f032016-07-14 23:33:55 +0530351 private boolean isManagerNeedToBeGenerated() {
Bharat saraswald50c6382016-07-14 21:57:13 +0530352 return isManagerNeedToBeGenerated;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530353 }
354
355 /**
Bharat saraswald50c6382016-07-14 21:57:13 +0530356 * Sets true if manager needs to be generated.
Bharat saraswal33dfa012016-05-17 19:59:16 +0530357 *
Bharat saraswald50c6382016-07-14 21:57:13 +0530358 * @param managerNeedToBeGenerated true if manager needs to be generated
Bharat saraswal33dfa012016-05-17 19:59:16 +0530359 */
Bharat saraswald50c6382016-07-14 21:57:13 +0530360 public void setManagerNeedToBeGenerated(boolean managerNeedToBeGenerated) {
361 isManagerNeedToBeGenerated = managerNeedToBeGenerated;
Bharat saraswal33dfa012016-05-17 19:59:16 +0530362 }
363
Vinod Kumar Se4b9b0c2016-04-30 21:09:15 +0530364}