public class ZipUtil extends java.lang.Object implements JmolZipUtility
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
SCENE_TAG |
| Constructor and Description |
|---|
ZipUtil() |
| Modifier and Type | Method and Description |
|---|---|
private java.lang.String |
addPngFileBytes(java.lang.String name,
byte[] ret,
int iFile,
java.util.Hashtable<java.lang.Object,java.lang.String> crcMap,
boolean isSparDir,
java.lang.String newName,
int ptSlash,
JmolList<java.lang.Object> v) |
boolean |
cachePngjFile(FileManager fm,
java.lang.String[] data) |
java.lang.String |
cacheZipContents(java.io.BufferedInputStream bis,
java.lang.String fileName,
java.util.Map<java.lang.String,byte[]> cache)
caches an entire pngj file's contents into a Map
|
private static SB |
checkSpecialData(java.io.InputStream is,
java.lang.String[] zipDirectory)
called by SmarterJmolAdapter to see if we have a Spartan directory and, if so,
open it and get all the data into the correct order.
|
(package private) static java.lang.String[] |
checkSpecialInZip(java.lang.String[] zipDirectory)
called by SmarterJmolAdapter to see if we can automatically assign a file
from the zip file.
|
java.lang.Object |
createZipSet(FileManager fm,
Viewer viewer,
java.lang.String fileName,
java.lang.String script,
java.lang.String[] scripts,
boolean includeRemoteFiles) |
void |
getAllZipData(java.io.InputStream is,
java.lang.String[] subfileList,
java.lang.String name0,
java.lang.String binaryFileList,
java.util.Map<java.lang.String,java.lang.String> fileData)
reads a ZIP file and saves all data in a Hashtable so that the files may be
organized later in a different order.
|
private static void |
getAllZipDataStatic(java.io.InputStream is,
java.lang.String[] subfileList,
java.lang.String name0,
java.lang.String binaryFileList,
java.util.Map<java.lang.String,java.lang.String> fileData) |
java.lang.Object |
getAtomSetCollectionOrBufferedReaderFromZip(JmolAdapter adapter,
java.io.InputStream is,
java.lang.String fileName,
java.lang.String[] zipDirectory,
java.util.Map<java.lang.String,java.lang.Object> htParams,
int subFilePtr,
boolean asBufferedReader,
boolean asBufferedInputStream) |
private static java.lang.String |
getBinaryStringForBytes(byte[] bytes) |
byte[] |
getCachedPngjBytes(FileManager fm,
java.lang.String pathName) |
java.lang.String |
getGzippedBytesAsString(byte[] bytes) |
java.io.InputStream |
getGzippedInputStream(byte[] bytes) |
java.lang.String |
getSceneScript(java.lang.String[] scenes,
java.util.Map<java.lang.String,java.lang.String> htScenes,
JmolList<java.lang.Integer> list) |
private static java.lang.String[] |
getSpartanDirs(java.lang.String outputFileData)
read the output file from the Spartan directory and decide from that what
files need to be read and in what order - usually M0001 or a set of Profiles.
|
private static java.lang.String[] |
getSpartanFileList(java.lang.String name,
java.lang.String[] dirNums)
returns the list of files to read for every Spartan spardir.
|
java.lang.String[] |
getZipDirectoryAndClose(java.io.BufferedInputStream bis,
boolean addManifest) |
java.lang.String |
getZipDirectoryAsStringAndClose(java.io.BufferedInputStream bis) |
private java.lang.String[] |
getZipDirectoryOrErrorAndClose(java.io.BufferedInputStream bis,
boolean addManifest) |
private static java.lang.String |
getZipEntryAsString(java.io.InputStream is) |
java.lang.Object |
getZipFileContents(java.io.BufferedInputStream bis,
java.lang.String[] list,
int listPtr,
boolean asBufferedInputStream)
iteratively drills into zip files of zip files to extract file content or
zip file directory.
|
byte[] |
getZipFileContentsAsBytes(java.io.BufferedInputStream bis,
java.lang.String[] list,
int listPtr) |
private static boolean |
isJmolManifest(java.lang.String thisEntry) |
java.io.InputStream |
newGZIPInputStream(java.io.BufferedInputStream bis) |
ZInputStream |
newZipInputStream(java.io.InputStream is) |
private static ZInputStream |
newZIS(java.io.InputStream is) |
private static java.lang.String |
shortSceneFilename(java.lang.String pathName) |
java.lang.String[] |
spartanFileList(java.lang.String name,
java.lang.String type)
Special loading for file directories.
|
(package private) static java.lang.String |
staticGetGzippedBytesAsString(byte[] bytes) |
private static java.lang.String |
wrapPathForAllFiles(java.lang.String cmd,
java.lang.String strCatch) |
java.lang.Object |
writeZipFile(FileManager fm,
Viewer viewer,
java.lang.String outFileName,
JmolList<java.lang.Object> fileNamesAndByteArrays,
java.lang.String msg) |
private static final java.lang.String SCENE_TAG
public ZInputStream newZipInputStream(java.io.InputStream is)
newZipInputStream in interface JmolZipUtilityprivate static ZInputStream newZIS(java.io.InputStream is)
public void getAllZipData(java.io.InputStream is,
java.lang.String[] subfileList,
java.lang.String name0,
java.lang.String binaryFileList,
java.util.Map<java.lang.String,java.lang.String> fileData)
getAllZipData in interface JmolZipUtilityis - subfileList - name0 - prefix for entry listingbinaryFileList - |-separated list of files that should be saved as xx xx xx hex byte
strings. The directory listing is appended with ":asBinaryString"fileData - private static void getAllZipDataStatic(java.io.InputStream is,
java.lang.String[] subfileList,
java.lang.String name0,
java.lang.String binaryFileList,
java.util.Map<java.lang.String,java.lang.String> fileData)
private static java.lang.String getBinaryStringForBytes(byte[] bytes)
public java.lang.Object getZipFileContents(java.io.BufferedInputStream bis,
java.lang.String[] list,
int listPtr,
boolean asBufferedInputStream)
getZipFileContents in interface JmolZipUtilitybis - list - listPtr - asBufferedInputStream - for Pmeshpublic byte[] getZipFileContentsAsBytes(java.io.BufferedInputStream bis,
java.lang.String[] list,
int listPtr)
getZipFileContentsAsBytes in interface JmolZipUtilitypublic java.lang.String getZipDirectoryAsStringAndClose(java.io.BufferedInputStream bis)
getZipDirectoryAsStringAndClose in interface JmolZipUtilitypublic java.lang.String[] getZipDirectoryAndClose(java.io.BufferedInputStream bis,
boolean addManifest)
getZipDirectoryAndClose in interface JmolZipUtilityprivate java.lang.String[] getZipDirectoryOrErrorAndClose(java.io.BufferedInputStream bis,
boolean addManifest)
throws java.io.IOException
java.io.IOExceptionprivate static java.lang.String getZipEntryAsString(java.io.InputStream is)
throws java.io.IOException
java.io.IOExceptionprivate static boolean isJmolManifest(java.lang.String thisEntry)
public java.lang.String cacheZipContents(java.io.BufferedInputStream bis,
java.lang.String fileName,
java.util.Map<java.lang.String,byte[]> cache)
cacheZipContents in interface JmolZipUtilitybis - fileName - cache - public java.lang.String getGzippedBytesAsString(byte[] bytes)
getGzippedBytesAsString in interface JmolZipUtilitystatic java.lang.String staticGetGzippedBytesAsString(byte[] bytes)
public java.io.InputStream getGzippedInputStream(byte[] bytes)
public java.io.InputStream newGZIPInputStream(java.io.BufferedInputStream bis)
throws java.io.IOException
newGZIPInputStream in interface JmolZipUtilityjava.io.IOExceptionprivate java.lang.String addPngFileBytes(java.lang.String name,
byte[] ret,
int iFile,
java.util.Hashtable<java.lang.Object,java.lang.String> crcMap,
boolean isSparDir,
java.lang.String newName,
int ptSlash,
JmolList<java.lang.Object> v)
public java.lang.Object writeZipFile(FileManager fm, Viewer viewer, java.lang.String outFileName, JmolList<java.lang.Object> fileNamesAndByteArrays, java.lang.String msg)
writeZipFile in interface JmolZipUtilitypublic java.lang.String getSceneScript(java.lang.String[] scenes,
java.util.Map<java.lang.String,java.lang.String> htScenes,
JmolList<java.lang.Integer> list)
getSceneScript in interface JmolZipUtilityprivate static java.lang.String wrapPathForAllFiles(java.lang.String cmd,
java.lang.String strCatch)
public java.lang.Object createZipSet(FileManager fm, Viewer viewer, java.lang.String fileName, java.lang.String script, java.lang.String[] scripts, boolean includeRemoteFiles)
createZipSet in interface JmolZipUtilitypublic java.lang.Object getAtomSetCollectionOrBufferedReaderFromZip(JmolAdapter adapter, java.io.InputStream is, java.lang.String fileName, java.lang.String[] zipDirectory, java.util.Map<java.lang.String,java.lang.Object> htParams, int subFilePtr, boolean asBufferedReader, boolean asBufferedInputStream)
getAtomSetCollectionOrBufferedReaderFromZip in interface JmolZipUtilityprivate static SB checkSpecialData(java.io.InputStream is, java.lang.String[] zipDirectory)
is - zipDirectory - public java.lang.String[] spartanFileList(java.lang.String name,
java.lang.String type)
spartanFileList in interface JmolZipUtilityname - type - private static java.lang.String[] getSpartanDirs(java.lang.String outputFileData)
outputFileData - private static java.lang.String[] getSpartanFileList(java.lang.String name,
java.lang.String[] dirNums)
name - dirNums - static java.lang.String[] checkSpecialInZip(java.lang.String[] zipDirectory)
zipDirectory - public byte[] getCachedPngjBytes(FileManager fm, java.lang.String pathName)
getCachedPngjBytes in interface JmolZipUtilitypublic boolean cachePngjFile(FileManager fm, java.lang.String[] data)
cachePngjFile in interface JmolZipUtilityprivate static java.lang.String shortSceneFilename(java.lang.String pathName)