Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.docx4j.openpackaging.io;
 
 import java.net.URI;
 import java.net.URL;
 import java.util.Map;
public class ExternalResourceUtils {
	/* This was removed from Load and placed in a separate class,
	 * so that Load can load, even if the VFS jar is not present.
	 */
	private static Logger log = LoggerFactory.getLogger(ExternalResourceUtils.class);
	protected static final Map<StringStringCONTENT_TYPE_MAP = new TreeMap<StringString>();
	static {
	}
	public static BinaryPart getExternalResource(String absoluteTargetthrows Docx4JException {
	URI targetURI = null;
	URL targetURL = null;
	int p = absoluteTarget.lastIndexOf('.');
	String fileExtension = (p > -1 ? absoluteTarget.substring(p+1).toLowerCase() : null);
	String contentType = (fileExtension != null ? .get(fileExtension) : null);
	BinaryPart binaryPart = null;
	InputStream inStream = null;
		try {
			targetURI = new URI(absoluteTarget.replace('\\''/'));
		}
		catch (URISyntaxException use) {
			throw new Docx4JException("Invalid absolute Target: '" + absoluteTarget + "'"use);
		}
		try {
			targetURL = targetURI.toURL();
catch (MalformedURLException mue) {
			throw new Docx4JException("Invalid absolute Target: '" + absoluteTarget + "'"mue);
		}
		try {
			inStream = targetURL.openStream();
			binaryPart = createBinaryPart(absoluteTargetcontentType);
			binaryPart.setBinaryData(inStream);
catch (IOException ioe) {
			throw new Docx4JException("Could not load external resource: '" + absoluteTarget + "'"ioe);
		}
		return binaryPart;
	}
	protected static BinaryPart createBinaryPart(String absoluteTargetString contentType) {
	ExternalTarget externalTarget = new ExternalTarget(absoluteTarget);
	BinaryPart ret = null;
		if (..equals(contentType))
			ret = new ImageJpegPart(externalTarget);
		else if (..equals(contentType))
		    ret = new ImagePngPart(externalTarget);
		else if (..equals(contentType))
			ret = new ImageGifPart(externalTarget);
		else if (..equals(contentType))
			ret = new ImageTiffPart(externalTarget);
		else if (..equals(contentType))
			ret = new ImageBmpPart(externalTarget);
		else if (..equals(contentType))
			ret = new MetafileEmfPart(externalTarget);
		else if (..equals(contentType))
			ret = new MetafileWmfPart(externalTarget);
		else 
			ret = new BinaryPart(externalTarget);
		return ret;
	}
New to GrepCode? Check out our FAQ X