Revision: 8216
http://fudaa.svn.sourceforge.net/fudaa/?rev=8216&view=rev
Author: deniger
Date: 2013-01-16 22:10:09 +0000 (Wed, 16 Jan 2013)
Log Message:
-----------
optimisation maillage important
Modified Paths:
--------------
trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java
Modified: trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java
===================================================================
--- trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java 2013-01-16 21:27:32 UTC (rev 8215)
+++ trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java 2013-01-16 22:10:09 UTC (rev 8216)
@@ -26,15 +26,16 @@
import org.fudaa.ctulu.CtuluLibString;
/**
- * Une classe pour sauvegarder des donn\xE9es dans une archive, suivant un format d\xE9fini par
- * F.Deniger. Chaque type de donn\xE9es est stock\xE9 dans une entry nomm\xE9e.
- *
+ * Une classe pour sauvegarder des donn\xE9es dans une archive, suivant un format d\xE9fini par F.Deniger. Chaque type de donn\xE9es est stock\xE9 dans une entry
+ * nomm\xE9e.
+ *
* @author fred deniger
* @version $Id: FudaaSaveZipWriter.java,v 1.4.6.1 2008-01-22 11:14:02 bmarchan Exp $
*/
public class FudaaSaveZipWriter implements CtuluArkSaver {
-
+
public class DirZipEntry {
+
int idx_;
final String name_;
final int nbDigits_;
@@ -63,12 +64,11 @@
public String getNextId() {
return CtuluLibString.adjustSizeBefore(nbDigits_, Integer.toString(++idx_), '0') + '-';
}
-
}
ObjectContainer cont_;
File dbFile_;
final File f_;
-
+
public static String getIdFromEntry(final String _entry) {
if (_entry == null) {
return null;
@@ -80,20 +80,19 @@
return null;
}
Map nameDirZip_;
-
final ZipOutputStream zipOut_;
-
+
public FudaaSaveZipWriter(final File _f) throws IOException {
super();
f_ = _f;
zipOut_ = new ZipOutputStream(new FileOutputStream(f_));
- zipOut_.setLevel(8);
+// zipOut_.setLevel(3);
}
-
+
public File getDestDir() {
return f_.getParentFile();
}
-
+
public void close() throws IOException {
if (zipOut_ != null) {
if (dbFile_ != null && cont_ != null) {
@@ -108,35 +107,35 @@
zipOut_.close();
}
}
-
+
public void safeClose() {
try {
close();
} catch (final IOException _evt) {
FuLog.error(_evt);
-
+
}
}
-
+
public boolean isDirCreated(final String _name) {
return (nameDirZip_ != null) && nameDirZip_.containsKey(_name);
}
-
+
public void createDir(final String _dirName, final int _nbEntry) {
createDirZipEntry(_dirName, _nbEntry);
-
+
}
-
+
public String getNextIdForDir(final String _dir) {
final DirZipEntry entry = getDirZipEntry(_dir);
return entry == null ? null : entry.getNextId();
}
-
+
public void startEntry(final String _entryName) throws IOException {
zipOut_.putNextEntry(new ZipEntry(_entryName));
-
+
}
-
+
public DirZipEntry createDirZipEntry(final String _name, final int _nbEntry) {
if (nameDirZip_ == null) {
nameDirZip_ = new HashMap();
@@ -147,11 +146,11 @@
nameDirZip_.put(_name, res);
return res;
}
-
+
public boolean isDbCreated() {
return cont_ != null;
}
-
+
public ObjectContainer getDb() throws IOException {
if (cont_ == null) {
dbFile_ = File.createTempFile("fudaa.project", ".db");
@@ -162,19 +161,19 @@
}
return cont_;
}
-
+
public static String getDbEntryName() {
return "project.db";
}
-
+
public OutputStream getOutStream() {
return zipOut_;
}
-
+
public DirZipEntry getDirZipEntry(final String _name) {
return (nameDirZip_ == null) ? null : (DirZipEntry) nameDirZip_.get(_name);
}
-
+
public static String getProjectDescEntryName() {
return "project.desc.xml";
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|