Java tutorial
/* * Copyright IBM Corp. 2013 * * 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. */ package com.ibm.sbt.services.client.base.transformers; import java.io.InputStream; import java.util.Map; import org.apache.commons.io.IOUtils; /** * AbstractBaseTransformer provides helper methods for reading and updating template files * <p> * @author Manish Kataria */ public abstract class AbstractBaseTransformer { public abstract String transform(Map<String, Object> fieldmap) throws TransformerException; protected String getTemplateContent(String templatepath) throws TransformerException { try { InputStream fisTargetFile = AbstractBaseTransformer.class.getResourceAsStream(templatepath); String targetFileStr = IOUtils.toString(fisTargetFile); return targetFileStr; } catch (Exception e) { throw new TransformerException(e); } } protected String getXMLRep(InputStream templatefile, String placeholder, String value) throws TransformerException { try { String targetFileStr = IOUtils.toString(templatefile); return getXMLRep(targetFileStr, placeholder, value); } catch (Exception e) { throw new TransformerException(e); } } protected String getXMLRep(String xml, String placeholder, String value) { placeholder = "${" + placeholder + "}"; xml = xml.replace(placeholder, value); return xml; } protected String removeExtraPlaceholders(String xmlbody) { while (xmlbody.contains("${")) { int startIndex = xmlbody.indexOf("${"); int endIndex = xmlbody.indexOf("}", startIndex); String tempStart = xmlbody.substring(0, startIndex); String tempEnd = xmlbody.substring(endIndex + 1, xmlbody.length()); xmlbody = tempStart + tempEnd; } return xmlbody; } protected InputStream getStream(String templatepath) { InputStream fisTargetFile = AbstractBaseTransformer.class.getResourceAsStream(templatepath); return fisTargetFile; } }