// Copyright 2014-2015 Boundary, Inc. // // 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.boundary.sdk.event.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.apache.camel.Converter; /** * Uses Camel's conversion system to convert from a {@link InputStream} to {@link List} * * @author davidg * */ @Converter public final class InputStreamConverter { @Converter public static List<String> toList(InputStream stream) { BufferedReader bufferedReader = null; bufferedReader = new BufferedReader(new InputStreamReader(stream)); List<String> lines = new ArrayList<String>(); String line = null; try { while ((line = bufferedReader.readLine()) != null) { System.out.println(line); lines.add(line); } } catch (IOException e) { e.printStackTrace(); } return lines; } @Converter public static String toString(List<String> list) { StringBuffer sb = new StringBuffer(); for (String s :list) { sb.append(s); } return sb.toString(); } }