1
22
23 package com.liferay.portal.zip;
24
25 import com.liferay.portal.kernel.util.PortalClassLoaderUtil;
26 import com.liferay.portal.kernel.zip.ZipWriter;
27 import com.liferay.portal.kernel.zip.ZipWriterFactory;
28
29 import java.io.File;
30
31
36 public class ZipWriterFactoryImpl implements ZipWriterFactory {
37
38 public ZipWriter getZipWriter() {
39 ClassLoader portalClassLoader = PortalClassLoaderUtil.getClassLoader();
40
41 Thread currentThread = Thread.currentThread();
42
43 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
44
45 try {
46 if (contextClassLoader != portalClassLoader) {
47 currentThread.setContextClassLoader(portalClassLoader);
48 }
49
50 return new ZipWriterImpl();
51 }
52 finally {
53 if (contextClassLoader != portalClassLoader) {
54 currentThread.setContextClassLoader(contextClassLoader);
55 }
56 }
57 }
58
59 public ZipWriter getZipWriter(File file) {
60 ClassLoader portalClassLoader = PortalClassLoaderUtil.getClassLoader();
61
62 Thread currentThread = Thread.currentThread();
63
64 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
65
66 try {
67 if (contextClassLoader != portalClassLoader) {
68 currentThread.setContextClassLoader(portalClassLoader);
69 }
70
71 return new ZipWriterImpl(file);
72 }
73 finally {
74 if (contextClassLoader != portalClassLoader) {
75 currentThread.setContextClassLoader(contextClassLoader);
76 }
77 }
78 }
79
80 }