001
014
015 package com.liferay.portal.zip;
016
017 import com.liferay.portal.kernel.util.PortalClassLoaderUtil;
018 import com.liferay.portal.kernel.zip.ZipWriter;
019 import com.liferay.portal.kernel.zip.ZipWriterFactory;
020
021 import java.io.File;
022
023
026 public class ZipWriterFactoryImpl implements ZipWriterFactory {
027
028 public ZipWriter getZipWriter() {
029 ClassLoader portalClassLoader = PortalClassLoaderUtil.getClassLoader();
030
031 Thread currentThread = Thread.currentThread();
032
033 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
034
035 try {
036 if (contextClassLoader != portalClassLoader) {
037 currentThread.setContextClassLoader(portalClassLoader);
038 }
039
040 return new ZipWriterImpl();
041 }
042 finally {
043 if (contextClassLoader != portalClassLoader) {
044 currentThread.setContextClassLoader(contextClassLoader);
045 }
046 }
047 }
048
049 public ZipWriter getZipWriter(File file) {
050 ClassLoader portalClassLoader = PortalClassLoaderUtil.getClassLoader();
051
052 Thread currentThread = Thread.currentThread();
053
054 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
055
056 try {
057 if (contextClassLoader != portalClassLoader) {
058 currentThread.setContextClassLoader(portalClassLoader);
059 }
060
061 return new ZipWriterImpl(file);
062 }
063 finally {
064 if (contextClassLoader != portalClassLoader) {
065 currentThread.setContextClassLoader(contextClassLoader);
066 }
067 }
068 }
069
070 }