D:\CRM_Project\CRM_Metadata_Structure\NetBeamsICM_TestProject\ICM_DB_TestComponents\src\java\unstructured_data_parser\Convert2DAO_Class_UsingBusinessRule_1.java |
1
2
3
4
5
6 package unstructured_data_parser;
7
8 import constants.MainConstants;
9 import java.util.ArrayList;
10 import unstructured_data_idao.TokenValueDAO;
11 import java.util.StringTokenizer;
12 import unstructured_data_idao.ExcelCellMap2DAO;
13 import unstructured_data_idao.ExcelColumnMap2DAO;
14 import unstructured_data_idao.ExcelDAO_Constants;
15 import unstructured_data_idao.OneRow_ExcelCells;
16 import unstructured_data_idao.JavaCodeGeneratorDAO;
17 import java.io.BufferedWriter;
18 import java.io.FileWriter;
19 import java.io.IOException;
20
21
22
23 @author
24
25
26
27
28
29
30
31
32
33
34
35 public class Convert2DAO_Class_UsingBusinessRule_1 {
36
37 ArrayList<JavaCodeGeneratorDAO> classJavaCodeGeneratorDAOArrayList = null;
38 String newLine = "\n";
39
40
41 public Convert2DAO_Class_UsingBusinessRule_1(
42 ArrayList <OneRow_ExcelCells> passedAllExcelRowsDAO_ArrayList,
43 ArrayList <ExcelColumnMap2DAO> passedAllHorizontalMap2DAO_ArrayList,
44 ArrayList <ExcelColumnMap2DAO> passedAllVerticalMap2DAO_ArrayList ){
45
46
47 String javaCompliedCodePath = "D:/CRM_Project/CRM_Metadata_Structure/ParserConverterSeedFramework/build/classes/using_business_rule_1";
48
49
50 String javaDAO_SourceCodePath = "D:/CRM_Project/CRM_Metadata_Structure/ICM_InputData/TestJavaFiles/DAO_TargetCompilation/SimpleInputExcelSheetDAO.java";
51
52
53 OneRow_ExcelCells tempOneRow_ExcelCells = passedAllExcelRowsDAO_ArrayList.get(0);
54 int result = convertCellHeaders2DAOPrivateProperties(
55 tempOneRow_ExcelCells,
56 passedAllHorizontalMap2DAO_ArrayList,
57 passedAllVerticalMap2DAO_ArrayList
58 );
59
60 String dao_className = nameDAO_Class("SimpleInputExcelSheet.xlsx");
61 String javaDAO_MappingString =
62 "package " + nameDAO_Package(dao_className) + ";" + newLine
63 + "public class " + nameDAO_Class(dao_className)
64 + " { "
65 + newLine
66 + newLine
67 + getJavaDAO_VariableMappingString(classJavaCodeGeneratorDAOArrayList)
68 + newLine
69 + newLine
70 + getJavaDAO_MethodsMappingString(classJavaCodeGeneratorDAOArrayList)
71 + newLine
72 + "}";
73
74 FileWriter localFileWriter = null;
75 BufferedWriter localBufferedWriter = null;
76
77 try
78 {
79 localFileWriter = new FileWriter(javaDAO_SourceCodePath);
80 localBufferedWriter = new BufferedWriter(localFileWriter);
81 localBufferedWriter.write(javaDAO_MappingString);
82 System.out.println("Done");
83 } catch (IOException e)
84 {
85 e.printStackTrace();
86 } finally
87 {
88 try
89 {
90 if (localBufferedWriter != null)
91 localBufferedWriter.close();
92 if (localFileWriter != null)
93 localFileWriter.close();
94 } catch (IOException ex)
95 {
96 ex.printStackTrace();
97 }
98 }
99
100 int stopDebugger = 0;
101 }
102
103
104
105 String nameDAO_Class(String excelFileName){
106
107
108 return("SimpleInputExcelSheetDAO");
109 }
110
111
112
113 String nameDAO_Package(String excelFileName){
114
115 return("using_business_rule_1");
116 }
117
118
119
120 String getJavaDAO_VariableMappingString(ArrayList<JavaCodeGeneratorDAO> passedJavaCodeGeneratorDAOArrayList) {
121
122 if(null == passedJavaCodeGeneratorDAOArrayList){
123 System.out.println("passedJavaCodeGeneratorDAOArrayList is null ");
124 return(null);
125 }
126 if(passedJavaCodeGeneratorDAOArrayList.size() <= 0){
127 System.out.println("passedJavaCodeGeneratorDAOArrayList size is zero ");
128 return(null);
129 }
130 String javaDAO_MappingString = "";
131
132 int index = 0;
133 for(index = 0; index < passedJavaCodeGeneratorDAOArrayList.size();index++){
134
135 JavaCodeGeneratorDAO localJavaCodeGeneratorDAO = passedJavaCodeGeneratorDAOArrayList.get(index);
136 int dataTypeValue = localJavaCodeGeneratorDAO.getDataTypeValue();
137 switch(dataTypeValue)
138 {
139 case ExcelDAO_Constants.NUMERIC_DOUBLE_INDEX:
140 javaDAO_MappingString += " double " + localJavaCodeGeneratorDAO.getFieldNameString() + " = 0;" + newLine;
141 break;
142 case ExcelDAO_Constants.STRING_LABEL_INDEX:
143 javaDAO_MappingString += " String " + localJavaCodeGeneratorDAO.getFieldNameString() + " = \"\";" + newLine;
144 break;
145 case ExcelDAO_Constants.BOOLEAN_EVALUATION_INDEX:
146 break;
147 case ExcelDAO_Constants.EXCEL_CELL_TYPE_FORMULA:
148 break;
149 case ExcelDAO_Constants.FORMULA_SUM_COLUMN_CELLS_INDEX:
150 break;
151 case ExcelDAO_Constants.FORMULA_MULTIPLICATION_CELLS_INDEX:
152 break;
153 case ExcelDAO_Constants.FORMULA_COMPLEX_CELLS_INDEX:
154 break;
155 case ExcelDAO_Constants.STRING_COMMENT_INDEX:
156 case ExcelDAO_Constants.EXCEL_CELL_TYPE_ERROR:
157 break;
158 case ExcelDAO_Constants.EXCEL_CELL_TYPE_BLANK:
159 break;
160 default:
161 }
162 }
163
164 javaDAO_MappingString += newLine + newLine;
165 return (javaDAO_MappingString);
166
167 }
168 String getJavaDAO_MethodsMappingString(ArrayList<JavaCodeGeneratorDAO> passedJavaCodeGeneratorDAOArrayList) {
169
170 if(null == passedJavaCodeGeneratorDAOArrayList){
171 System.out.println("passedJavaCodeGeneratorDAOArrayList is null ");
172 return(null);
173 }
174 if(passedJavaCodeGeneratorDAOArrayList.size() <= 0){
175 System.out.println("passedJavaCodeGeneratorDAOArrayList size is zero ");
176 return(null);
177 }
178 String javaDAO_MappingString = "";
179 int index = 0;
180
181 for(index = 0; index < passedJavaCodeGeneratorDAOArrayList.size();index++){
182
183 JavaCodeGeneratorDAO localJavaCodeGeneratorDAO = passedJavaCodeGeneratorDAOArrayList.get(index);
184 javaDAO_MappingString += localJavaCodeGeneratorDAO.getGetMethodString() + newLine;
185 javaDAO_MappingString += localJavaCodeGeneratorDAO.getSetMethodString() + newLine;
186 }
187 return (javaDAO_MappingString);
188 }
189
190
191
192 int convertCellHeaders2DAOPrivateProperties(
193 OneRow_ExcelCells passedAllExcelRowsDAO_ArrayList,
194 ArrayList <ExcelColumnMap2DAO> passedAllHorizontalMap2DAO_ArrayList,
195 ArrayList <ExcelColumnMap2DAO> passedAllVerticalMap2DAO_ArrayList ){
196
197 String javaClassPrivatePropertiesString = "";
198 ArrayList <ExcelCellMap2DAO> oneRowArrayListCells = passedAllExcelRowsDAO_ArrayList.getOneRowDAOArrayList();
199
200 classJavaCodeGeneratorDAOArrayList = new ArrayList<JavaCodeGeneratorDAO>();
201 int index = 0;
202 for(index = 0; index < oneRowArrayListCells.size(); index ++){
203
204
205 JavaCodeGeneratorDAO tempJavaCodeGeneratorDAO = new JavaCodeGeneratorDAO();
206 ExcelCellMap2DAO headerCell = oneRowArrayListCells.get(index);
207
208 int rowIndex = headerCell.getRowIndex() + 1;
209 int columnIndex = headerCell.getColumnIndex() + 1;
210 int rowColumnID = rowIndex * ExcelDAO_Constants.DAO_ROW_COLUMN_ID_CONVERTER + columnIndex;
211 tempJavaCodeGeneratorDAO.setRowColumnID(rowColumnID);
212 String trimmedString = headerCell.getPossibleVariableName();
213 trimmedString = trimmedString.trim();
214 String variableName_Number = trimmedString + "_" + headerCell.getKnownStringTokenIndex();
215 ExcelColumnMap2DAO localHorizontalExcelColumnMap2DAO = passedAllHorizontalMap2DAO_ArrayList.get(index);
216 ExcelColumnMap2DAO localVerticalExcelColumnMap2DAO = passedAllVerticalMap2DAO_ArrayList.get(index);
217 tempJavaCodeGeneratorDAO.setFieldNameString(variableName_Number);
218 int result = getDataType(localVerticalExcelColumnMap2DAO, tempJavaCodeGeneratorDAO );
219
220 classJavaCodeGeneratorDAOArrayList.add(tempJavaCodeGeneratorDAO);
221 }
222 int result = createAllSetGetMehtods(classJavaCodeGeneratorDAOArrayList);
223
224 return(MainConstants.SUCCESS);
225 }
226
227
228
229 int getDataType(ExcelColumnMap2DAO passedExcelColumnMap2DAO,
230 JavaCodeGeneratorDAO passedJavaCodeGeneratorDAO){
231
232 int dataTypeCount = 0;
233 int dataTypeValue = ExcelDAO_Constants.NUMERIC_DOUBLE_INDEX;
234 String typeString = "";
235 String commentString = "";
236
237 dataTypeCount = passedExcelColumnMap2DAO.getNumericCount();
238 commentString = "// Numeric cell";
239 typeString = "double";
240 if(dataTypeCount < passedExcelColumnMap2DAO.getLabelCount()){
241 dataTypeCount = passedExcelColumnMap2DAO.getBlankCount();
242 commentString = "// Label cell";
243 dataTypeValue = ExcelDAO_Constants.STRING_LABEL_INDEX;
244 typeString = "String";
245 }
246 if(dataTypeCount < passedExcelColumnMap2DAO.getKnownheaderCount()){
247 dataTypeCount = passedExcelColumnMap2DAO.getKnownheaderCount();
248 commentString = "// Known header cell";
249 dataTypeValue = ExcelDAO_Constants.STRING_LABEL_INDEX;
250 typeString = "String";
251 }
252 if(dataTypeCount < passedExcelColumnMap2DAO.getBooleanCount()){
253 dataTypeCount = passedExcelColumnMap2DAO.getBooleanCount();
254 commentString = "// boolean cell";
255 dataTypeValue = ExcelDAO_Constants.BOOLEAN_EVALUATION_INDEX;
256 typeString = "boolean";
257 }
258 if(dataTypeCount < passedExcelColumnMap2DAO.getFormulaCount()){
259 dataTypeCount = passedExcelColumnMap2DAO.getFormulaCount();
260 commentString = "// Forumla cell";
261 dataTypeValue = ExcelDAO_Constants.EXCEL_CELL_TYPE_FORMULA;
262 typeString = "// formula";
263 }
264 if(dataTypeCount < passedExcelColumnMap2DAO.getFormulaSumCount()){
265 dataTypeCount = passedExcelColumnMap2DAO.getFormulaSumCount();
266 commentString = "// Formula Sum cell";
267 dataTypeValue = ExcelDAO_Constants.FORMULA_SUM_COLUMN_CELLS_INDEX;
268 typeString = "// formula Sum";
269 }
270 if(dataTypeCount < passedExcelColumnMap2DAO.getFormulaMultiplicationCount()){
271 dataTypeCount = passedExcelColumnMap2DAO.getFormulaMultiplicationCount();
272 commentString = "// Formula Multiplication cell";
273 dataTypeValue = ExcelDAO_Constants.FORMULA_MULTIPLICATION_CELLS_INDEX;
274 typeString = "// formula MULTIPLICATION";
275 }
276 if(dataTypeCount < passedExcelColumnMap2DAO.getFormulaComplexCount()){
277 dataTypeCount = passedExcelColumnMap2DAO.getFormulaComplexCount();
278 commentString = "// Formula Complex cell";
279 dataTypeValue = ExcelDAO_Constants.FORMULA_COMPLEX_CELLS_INDEX;
280 typeString = "// formula complex";
281 }
282 if(dataTypeCount < passedExcelColumnMap2DAO.getCommentCount()){
283 dataTypeCount = passedExcelColumnMap2DAO.getCommentCount();
284 commentString = "// comment cell";
285 dataTypeValue = ExcelDAO_Constants.STRING_COMMENT_INDEX;
286 typeString = "// comment";
287 }
288 if(dataTypeCount < passedExcelColumnMap2DAO.getErrorCount()){
289 dataTypeCount = passedExcelColumnMap2DAO.getErrorCount();
290 commentString = "// Error cell";
291 dataTypeValue = ExcelDAO_Constants.EXCEL_CELL_TYPE_ERROR;
292 typeString = "// Error";
293 }
294 if(dataTypeCount < passedExcelColumnMap2DAO.getBlankCount()){
295 dataTypeCount = passedExcelColumnMap2DAO.getBlankCount();
296 commentString = "// Blank cell";
297 dataTypeValue = ExcelDAO_Constants.EXCEL_CELL_TYPE_BLANK;
298 typeString = "// blank";
299 }
300 if(dataTypeCount < passedExcelColumnMap2DAO.getUnknownheaderCount()){
301 dataTypeCount = passedExcelColumnMap2DAO.getUnknownheaderCount();
302 commentString = "// unknownheaderCount cell";
303 dataTypeValue = ExcelDAO_Constants.STRING_UNKNOWN_HEADER_INDEX;
304 typeString = "String";
305 }
306 if(dataTypeCount < passedExcelColumnMap2DAO.getMiscCount()){
307 dataTypeCount = passedExcelColumnMap2DAO.getMiscCount();
308 commentString = "// Misc cell";
309 dataTypeValue = ExcelDAO_Constants.EXCEL_CELL_TYPE_ERROR;
310 typeString = "// Error";
311 }
312 double d_totalCount = (double)passedExcelColumnMap2DAO.getTotalCount();
313 double tempDouble = (double)dataTypeCount;
314 int percentageOfAccuracy = (int)((tempDouble / d_totalCount ) * 100);
315 passedJavaCodeGeneratorDAO.setSuccessPercentageString(" success = " + percentageOfAccuracy + "%");
316 passedJavaCodeGeneratorDAO.setDataTypeString(typeString);
317 passedJavaCodeGeneratorDAO.setCommentsString(commentString);
318 passedJavaCodeGeneratorDAO.setDataTypeValue(dataTypeValue);
319 return(MainConstants.SUCCESS);
320 }
321
322
323
324 int createAllSetGetMehtods(ArrayList<JavaCodeGeneratorDAO> passedJavaCodeGeneratorDAOArrayList) {
325
326 if(null == passedJavaCodeGeneratorDAOArrayList){
327 System.out.println("passedJavaCodeGeneratorDAOArrayList is null ");
328 return(MainConstants.FAILED);
329 }
330 if(passedJavaCodeGeneratorDAOArrayList.size() <= 0){
331 System.out.println("passedJavaCodeGeneratorDAOArrayList size is zero ");
332 return(MainConstants.FAILED);
333 }
334
335 int index = 0;
336 for(index = 0; index < passedJavaCodeGeneratorDAOArrayList.size();index++){
337
338 JavaCodeGeneratorDAO localJavaCodeGeneratorDAO = passedJavaCodeGeneratorDAOArrayList.get(index);
339 String variableString = localJavaCodeGeneratorDAO.getFieldNameString();
340 String firstCharCapVariable = variableString.substring(0, 1).toUpperCase() + variableString.substring(1);
341 String getMethodString =
342 "public "
343 + localJavaCodeGeneratorDAO.getDataTypeString()
344 + " get"
345 + firstCharCapVariable
346 + "() { "
347 + newLine
348 + "return("
349 + variableString
350 + ");"
351 + newLine
352 + "}";
353 localJavaCodeGeneratorDAO.setGetMethodString(getMethodString);
354
355 String setMethodString =
356 "public void "
357 + " set"
358 + firstCharCapVariable
359 + "("
360 + localJavaCodeGeneratorDAO.getDataTypeString()
361 + " "
362 + variableString
363 + ")"
364 + " { "
365 + newLine
366 + "this."
367 + variableString
368 + " = "
369 + variableString
370 + ";"
371 + newLine
372 + "}";
373 localJavaCodeGeneratorDAO.setSetMethodString(setMethodString);
374 }
375 return(MainConstants.SUCCESS);
376 }
377
378
379
380 public static void main(String[] args){
381
382 Excel2DAO_Mapper localExcel2DAO_Mapper = new Excel2DAO_Mapper();
383 ArrayList <OneRow_ExcelCells> localAllRows = localExcel2DAO_Mapper.getAllSheetRows();
384 if(null == localAllRows){
385 System.out.print("rows arrayList is null ");
386 return;
387 }
388 LoadTokenValueArrayList tempLoadTokenValueArrayList = new LoadTokenValueArrayList();
389 ArrayList <TokenValueDAO> localTokenValueDAOArrayList = tempLoadTokenValueArrayList.getTokenValueArrayList();
390 if(null == localTokenValueDAOArrayList){
391 System.out.print("localTokenValueDAOArrayList is null ");
392 return;
393 }
394 int rowNumber = 0;
395 for(rowNumber = 0; rowNumber < localAllRows.size(); rowNumber++){
396
397 OneRow_ExcelCells localOneRow_ExcelCells = localAllRows.get(rowNumber);
398 RowCellParserUsingBusinessRule_1 localRowCellParserUsingBusinessRule_1 =
399 new RowCellParserUsingBusinessRule_1(localOneRow_ExcelCells, localTokenValueDAOArrayList);
400 }
401 int stopDebugger = 0;
402
403 }
404
405 }
406