/*
* Smart GWT (GWT for SmartClient)
* Copyright 2014 and beyond, Isomorphic Software, Inc.
*
* Smart GWT is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3
* is published by the Free Software Foundation. Smart GWT is also
* available under typical commercial license terms - see
* http://smartclient.com/license
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package com.smartgwt.linker;
import com.google.gwt.core.ext.TreeLogger;
import com.google.gwt.core.ext.linker.EmittedArtifact;
import com.google.gwt.core.ext.UnableToCompleteException;
import java.io.IOException;
import java.io.InputStream;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
public class SmartGwtLinkerUtils {
/**
* Returns the contents of the artifact as a String.
* @param emittedArtifact the artifact
* @param logger the logger
* @return contents of the artifact
* @throws UnableToCompleteException
*/
static String getContents(EmittedArtifact emittedArtifact, TreeLogger logger) throws UnableToCompleteException {
InputStream in = emittedArtifact.getContents(logger);
BufferedInputStream bis = new BufferedInputStream(in);
ByteArrayOutputStream buf = new ByteArrayOutputStream();
try {
int result = bis.read();
while (result != -1) {
byte b = (byte) result;
buf.write(b);
result = bis.read();
}
} catch (IOException e) {
logger.log(TreeLogger.ERROR, "Unable to read resource load_skin.js", e);
throw new UnableToCompleteException();
}
return buf.toString();
}
}