diff options
author | 2017-12-13 11:14:21 -0800 | |
---|---|---|
committer | 2017-12-13 11:14:31 -0800 | |
commit | 161df8a94bb3b0c34ed16fd4fdba078bd1eeef9a (patch) | |
tree | 21f410d053d5e390902d72bb3ebe6889451dd633 /appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool | |
parent | 0756759f39e125b02d63b4e93de83b3c6b13beea (diff) |
Second part of onap rename
This is the second commit of the rename. The folder structure
is renamed for appc-adapters and appc-config in this commit.
Change-Id: Iaa2b8c937ff1ca1b5d1178128961fb115ee65d9b
Signed-off-by: Patrick Brady <pb071s@att.com>
Issue-ID: APPC-13
Diffstat (limited to 'appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool')
9 files changed, 0 insertions, 735 deletions
diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CheckDataTool.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CheckDataTool.java deleted file mode 100644 index 316e821df..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CheckDataTool.java +++ /dev/null @@ -1,84 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -import java.io.StringReader; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.codehaus.jettison.json.JSONArray; -import org.codehaus.jettison.json.JSONException; -import org.codehaus.jettison.json.JSONObject; -import org.openecomp.sdnc.config.generator.ConfigGeneratorConstant; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; - -public class CheckDataTool { - - public static String checkData(String data){ - boolean isJSON = isJSON(data); - if(isJSON){ - return ConfigGeneratorConstant.DATA_TYPE_JSON; - } - - boolean isXML = isXML(data); - if(isXML){ - return ConfigGeneratorConstant.DATA_TYPE_XML; - } - - return ConfigGeneratorConstant.DATA_TYPE_TEXT; - } - - public static boolean isJSON(String data) { - try { - new JSONObject(data); - } catch (JSONException ex) { - try { - new JSONArray(data); - } catch (JSONException ex1) { - return false; - } - } - return true; - - // try { - // final ObjectMapper mapper = new ObjectMapper(); - // mapper.readTree(data); - // return true; - // } catch (IOException e) { - // return false; - // } - } - - public static boolean isXML(String data) { - try { - DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); - Document doc = dBuilder.parse(new InputSource(new StringReader(data))); - return true; - } catch (Exception ex) { - return false; - } - - } - -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/Constants.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/Constants.java deleted file mode 100644 index d8af571e8..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/Constants.java +++ /dev/null @@ -1,32 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -public class Constants -{ - - public static final String DBLIB_SERVICE = "org.openecomp.sdnc.sli.resource.dblib.DBResourceManager"; - public static final String DEVICE_AUTHENTICATION="DEVICE_AUTHENTICATION"; - public static final String SCHEMA_SDNCTL="SDNCTL"; - - public static final String APPC_CONFIG_DIR="/opt/app/bvc/properties"; - -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CustomJsonNodeFactory.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CustomJsonNodeFactory.java deleted file mode 100644 index 5820cea7a..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CustomJsonNodeFactory.java +++ /dev/null @@ -1,32 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -import com.fasterxml.jackson.databind.node.JsonNodeFactory; -import com.fasterxml.jackson.databind.node.TextNode; - -public class CustomJsonNodeFactory extends JsonNodeFactory { - - public TextNode textNode(String text) { - return new CustomTextNode(text); - } - -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CustomTextNode.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CustomTextNode.java deleted file mode 100644 index 93e252a6d..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/CustomTextNode.java +++ /dev/null @@ -1,50 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - - -import com.fasterxml.jackson.core.io.CharTypes; -import com.fasterxml.jackson.databind.node.TextNode; - -public class CustomTextNode extends TextNode{ - - public CustomTextNode(String v) { - super(v); - } - - @Override - public String toString() - { - int len = textValue().length(); - len = len + 2 + (len >> 4); - StringBuilder sb = new StringBuilder(len); - appendQuoted(sb, textValue()); - return sb.toString(); - } - - protected static void appendQuoted(StringBuilder sb, String content) - { - // sb.append('"'); - CharTypes.appendQuoted(sb, content); - // sb.append('"'); - } - -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/DbServiceUtil.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/DbServiceUtil.java deleted file mode 100644 index c8340816e..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/DbServiceUtil.java +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -import java.io.File; -import java.net.URL; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Properties; - -import javax.sql.rowset.CachedRowSet; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.onap.ccsdk.sli.core.dblib.DBResourceManager; -import org.onap.ccsdk.sli.core.dblib.DbLibService; - -public class DbServiceUtil -{ - private static final Logger log = LoggerFactory - .getLogger(DbServiceUtil.class); - - private static Properties props; - private static DBResourceManager jdbcDataSource = null; - - - public static boolean updateDB(String tableName, ArrayList inputArgs, String scema, String whereClause, String setCluase) throws SQLException - { - String updatePasswordString = "update " + tableName + " set " + setCluase + " where " + whereClause ; - boolean result = jdbcDataSource.writeData(updatePasswordString, inputArgs,Constants.SCHEMA_SDNCTL); - return result; - } - - - public static CachedRowSet getData(String tableName, ArrayList argList, String schema, String getselectData, String getDataClasue ) throws SQLException - { - String selectQuery = "select " + getselectData + "from " + tableName + " where " + getDataClasue ; - CachedRowSet data = jdbcDataSource.getData(selectQuery, argList, schema); - return data; - } - - - public static DBResourceManager initDbLibService() throws Exception - { - props = new Properties(); - File file = new File("/opt/app/bvc/properties/dblib.properties"); - URL propURL = file.toURI().toURL(); - props.load(propURL.openStream()); - jdbcDataSource = new DBResourceManager(props); - return jdbcDataSource; - - } - - - -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/EscapeUtils.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/EscapeUtils.java deleted file mode 100644 index 36afe76ae..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/EscapeUtils.java +++ /dev/null @@ -1,102 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -import org.apache.commons.lang3.StringUtils; - -public class EscapeUtils { - - public EscapeUtils() { - // TODO Auto-generated constructor stub - } - - public static String escapeSql(String str) { - if (str == null) { - return null; - } - String searchList[] = new String[]{"'","\\"}; - String replacementList[] = new String[]{ "''","\\\\"}; - return StringUtils.replaceEach(str,searchList, replacementList); - } - - public static String unescapeSql(String str) { - if (str == null) { - return null; - } - - String searchList[] = new String[] {"''"}; - String replacementList[] = new String[] {"'"}; - return StringUtils.replaceEach(str, searchList, replacementList); - } - - - // For Generic Purpose - public static String escapeSQL(String s) { - if (s == null) { - return null; - } - - int length = s.length(); - int newLength = length; - for (int i = 0; i < length; i++) { - char c = s.charAt(i); - switch (c) { - case '\\': - case '\"': - case '\'': - case '\0': { - newLength += 1; - } - break; - } - } - if (length == newLength) { - // nothing to escape in the string - return s; - } - StringBuffer sb = new StringBuffer(newLength); - for (int i = 0; i < length; i++) { - char c = s.charAt(i); - switch (c) { - case '\\': { - sb.append("\\\\"); - } - break; - case '\"': { - sb.append("\\\""); - } - break; - case '\'': { - sb.append("\\\'"); - } - break; - case '\0': { - sb.append("\\0"); - } - break; - default: { - sb.append(c); - } - } - } - return sb.toString(); - } -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/JSONTool.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/JSONTool.java deleted file mode 100644 index 63fd7006e..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/JSONTool.java +++ /dev/null @@ -1,157 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.codehaus.jettison.json.JSONArray; -import org.codehaus.jettison.json.JSONException; -import org.codehaus.jettison.json.JSONObject; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - - - -public class JSONTool { - - private static final EELFLogger log = EELFManager.getInstance().getLogger(JSONTool.class); - - public static Map<String, String> convertToProperties(String s) throws JSONException { - return convertToProperties(s, null); - } - - public static Map<String, String> convertToProperties(String s,List<String> blockKeys) throws JSONException { - JSONObject json = new JSONObject(s); - Map<String, String> mm = new HashMap<String, String>(); - - Map<String, Object> wm = new HashMap<String, Object>(); - Iterator<String> ii = json.keys(); - while (ii.hasNext()) { - String key1 = ii.next(); - wm.put(key1, json.get(key1)); - - - } - - while (!wm.isEmpty()) - for (String key : new ArrayList<>(wm.keySet())) { - Object o = wm.get(key); - wm.remove(key); - - - if(blockKeys != null && blockKeys.contains(key) && o != null){ - //log.info("Adding JSON Block Keys : " + key + "=" + o.toString()); - mm.put("block_" +key,o.toString()); - } - - if (o instanceof Boolean || o instanceof Number || o instanceof String) { - mm.put(key, o.toString()); - //log.info("Added property: " + key + ": " + o.toString()); - } - - else if (o instanceof JSONObject) { - JSONObject jo = (JSONObject) o; - Iterator<String> i = jo.keys(); - while (i.hasNext()) { - String key1 = i.next(); - wm.put(key + "." + key1, jo.get(key1)); - } - } - - else if (o instanceof JSONArray) { - JSONArray ja = (JSONArray) o; - mm.put("size_"+key, String.valueOf(ja.length())); - - //log.info("Added property: " + key + "_length" + ": " + String.valueOf(ja.length())); - - for (int i = 0; i < ja.length(); i++) - wm.put(key + '[' + i + ']', ja.get(i)); - } - } - - return mm; - } - - /* - public static Map<String, String> convertToProperties1(String s,List<String> blockKeys) throws Exception { - ObjectMapper objectMapper = new ObjectMapper(); - - JsonNode rootNode = objectMapper.readTree(s); - - Map<String, String> mm = new HashMap<String, String>(); - - Map<String, Object> wm = new HashMap<String, Object>(); - Iterator<String> ii = rootNode.fieldNames(); - while (ii.hasNext()) { - String key1 = ii.next(); - wm.put(key1, rootNode.get(key1)); - - - } - - while (!wm.isEmpty()) - for (String key : new ArrayList<>(wm.keySet())) { - Object o = wm.get(key); - wm.remove(key); - - - if(blockKeys != null && blockKeys.contains(key) && o != null){ - //log.info("Adding JSON Block Keys : " + key + "=" + o.toString()); - mm.put("block_" +key,o.toString()); - } - - if (o instanceof Boolean || o instanceof Number || o instanceof String) { - mm.put(key, o.toString()); - //log.info("Added property: " + key + ": " + o.toString()); - } - - else if (o instanceof JSONObject) { - JSONObject jo = (JSONObject) o; - Iterator<String> i = jo.keys(); - while (i.hasNext()) { - String key1 = i.next(); - wm.put(key + "." + key1, jo.get(key1)); - } - } - - else if (o instanceof JSONArray) { - JSONArray ja = (JSONArray) o; - mm.put("size_"+key, String.valueOf(ja.length())); - - //log.info("Added property: " + key + "_length" + ": " + String.valueOf(ja.length())); - - for (int i = 0; i < ja.length(); i++) - wm.put(key + '[' + i + ']', ja.get(i)); - } - } - - return mm; - } -*/ - -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/LogParserTool.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/LogParserTool.java deleted file mode 100644 index 54823bc17..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/LogParserTool.java +++ /dev/null @@ -1,94 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - -public class LogParserTool { - private static final EELFLogger log = EELFManager.getInstance().getLogger(JSONTool.class); - - private String[] singleLines; - private List<String> recentErrors = new ArrayList<String> ();; - private Date todaysDate = new Date(); - private SimpleDateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); - private final int minMilli = 60000; - private final int IN_TIME = 0; - private final int NOT_IN_TIME = 1; - private final int NO_DATE = 2; - - public String parseErrorLog(String data){ - singleLines = data.split("\\r?\\n"); - try { - getNearestDates(); - - } catch (Exception e) { - e.printStackTrace(); - } - if(recentErrors.size() == 0){ - recentErrors.clear(); - return "Did not find the string 'Starting orchestration of file backed up to /var/opt/MetaSwitch/orch/orch_conf.json' in the log file with timestamp within the last 5 minutes"; - }else if(recentErrors.size() == 1){ - recentErrors.clear(); - return "Did not find the string ‘Error parsing orchestration file’ in the log file with timestamp within the last 5 minutes"; - }else{ - String error = recentErrors.get(0); - recentErrors.clear(); - return "Error: "+ error.substring(error.indexOf("Error parsing orchestration file:")+34); - } - } - - public void getNearestDates() throws ParseException{ - int result; - for( int i = singleLines.length-1; i >= 0 ; i--){ - if(singleLines[i].contains("Starting orchestration of file backed up to") || singleLines[i].contains("Error parsing orchestration file:")){ - result = checkDateTime(singleLines[i]); - if( result == IN_TIME) - recentErrors.add(singleLines[i]); - else if(result == NOT_IN_TIME){ - return; - } - } - } - } - - private int checkDateTime(String line){ - Date newDate; - try { - newDate = dFormat.parse(line.substring(0, 19)); - if((todaysDate.getTime() - newDate.getTime()) <= 5*minMilli){ - return IN_TIME; - }else - return NOT_IN_TIME; - } catch (ParseException e) { - e.printStackTrace(); - return NO_DATE; - } - } - - -} diff --git a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/MergeTool.java b/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/MergeTool.java deleted file mode 100644 index 0958deebb..000000000 --- a/appc-config/appc-config-generator/provider/src/main/java/org/openecomp/sdnc/config/generator/tool/MergeTool.java +++ /dev/null @@ -1,109 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APP-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.generator.tool; - -import java.io.IOException; -import java.io.StringWriter; -import java.util.Iterator; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; -import org.apache.velocity.Template; -import org.apache.velocity.VelocityContext; -import org.apache.velocity.app.Velocity; -import org.apache.velocity.app.VelocityEngine; -import org.apache.velocity.runtime.RuntimeConstants; -import org.apache.velocity.runtime.resource.loader.StringResourceLoader; -import org.apache.velocity.runtime.resource.util.StringResourceRepository; -import org.openecomp.sdnc.config.generator.ConfigGeneratorConstant; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - - -public class MergeTool { - - private static final EELFLogger log = EELFManager.getInstance().getLogger(MergeTool.class); - - public static String mergeMap2TemplateData(String template, Map< String, String> dataMap ){ - log.info("MergeMap2TemplateData Template :"+ template + " Maps :"+ dataMap); - StringWriter writer = new StringWriter(); - VelocityEngine ve = new VelocityEngine(); - ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "string"); - ve.addProperty("string.resource.loader.class", StringResourceLoader.class.getName()); - ve.addProperty("string.resource.loader.repository.static", "false"); - ve.init(); - - StringResourceRepository repo = (StringResourceRepository)ve.getApplicationAttribute(StringResourceLoader.REPOSITORY_NAME_DEFAULT); - repo.putStringResource("TemplateResource", template); - - Template t = ve.getTemplate("TemplateResource"); - VelocityContext context = new VelocityContext(); - Iterator<Map.Entry<String, String>> entries = dataMap.entrySet().iterator(); - while (entries.hasNext()) { - Map.Entry<String, String> entry = entries.next(); - context.put(entry.getKey(), entry.getValue()); - } - t.merge(context, writer); - return writer.toString(); - } - - - public static String mergeJson2TemplateData(String template, String jsonData, String templateType, String doPrettyOutput) throws JsonParseException, JsonMappingException, IOException{ - String mergedData = template; - if( StringUtils.isNotBlank(template) && StringUtils.isNotBlank(jsonData)){ - Velocity.init(); - - ObjectMapper mapper = new ObjectMapper(); - CustomJsonNodeFactory f = new CustomJsonNodeFactory(); - mapper.setNodeFactory(f); - - JsonNode jsonObj = mapper.readValue(jsonData, JsonNode.class); - - VelocityContext context = new VelocityContext(); - Iterator<String> ii = jsonObj.fieldNames(); - while (ii.hasNext()) { - String key = ii.next(); - context.put(key, jsonObj.get(key)); - } - - StringWriter writer = new StringWriter(); - Velocity.evaluate(context, writer, "TemplateData", template); - writer.flush(); - mergedData = writer.toString(); - - if(StringUtils.isNotBlank(templateType) && StringUtils.isNotBlank(doPrettyOutput) - && ConfigGeneratorConstant.Y.equalsIgnoreCase(doPrettyOutput) - && ( ConfigGeneratorConstant.DATA_TYPE_JSON.equalsIgnoreCase(templateType) - || ConfigGeneratorConstant.DATA_TYPE_XML.equalsIgnoreCase(templateType)) ){ - // Perform Prettying - - } - } - return mergedData; - - } - -} |