+ private static void parseMetaDataLine(String line, Map<String, MOMetaData> metaDataMap,\r
+ Map<String, String> metaDataReverseMap) {\r
+ String[] split = line.split(",");\r
+ boolean isReadOnly = false;\r
+ boolean isTabluar = false;\r
+ boolean isTabObject = false;\r
+ if (split[2].contains("-")) {\r
+ String[] dataAttr = split[2].split("-");\r
+ if ("Tabular".equalsIgnoreCase(dataAttr[0]))\r
+ isTabluar = true;\r
+ if ("ReadOnly".equalsIgnoreCase(dataAttr[1]))\r
+ isReadOnly = true;\r
+ } else if ("TabularObject".equalsIgnoreCase(split[2])) {\r
+ isTabObject = true;\r
+ }\r
+ prepareMOMetaData(isReadOnly, isTabluar, split, isTabObject, metaDataMap, metaDataReverseMap);\r
+ }\r
+\r
+ private static void prepareMOMetaData(boolean isReadOnly, boolean isTabluar, String[] split,\r
+ boolean isTabObject, Map<String, MOMetaData> metaDataMap,\r
+ Map<String, String> metaDataReverseMap) {\r
+ String dataType = "";\r
+ if (split.length > 3) {\r
+ dataType = split[3];\r
+ }\r
+ if (isTabObject) {\r
+ String logMessage = split[1].substring(0, split[1].length() - 5);\r
+ LOG.info("Adding Parent Objects {}", logMessage);\r
+ String substring = split[0].substring(0, split[0].length() - 4);\r
+ MOMetaData metaTabData =\r
+ new MOMetaData(substring, dataType, isReadOnly, isTabluar, isTabObject);\r
+ if ((split.length > 4 && split[4] != null) && split[4].trim().length() > 0) {\r
+ metaTabData.setURI(split[4]);\r
+ }\r
+ metaDataMap.put(logMessage, metaTabData);\r
+ }\r
+ MOMetaData metaData = new MOMetaData(split[0], dataType, isReadOnly, isTabluar, isTabObject);\r
+ if ((split.length > 4 && split[4] != null) && split[4].trim().length() > 0) {\r
+ metaData.setURI(split[4]);\r
+ }\r
+ metaDataMap.put(split[1], metaData);\r
+ metaDataReverseMap.put(split[0], split[1]);\r
+ }\r
+\r