| 1 5 package com.tc.test.server.appserver.cargo; 6 7 import com.tc.net.EphemeralPorts; 8 import com.tc.process.StartupAppender; 9 import com.tc.process.StreamCollector; 10 import com.tc.process.StreamCopier; 11 import com.tc.util.ArchiveBuilder; 12 import com.tc.util.ClassListToFileList; 13 import com.tc.util.JarBuilder; 14 import com.tc.util.PortChooser; 15 import com.tc.util.ReplaceLine; 16 import com.tc.util.runtime.Os; 17 18 import java.io.File ; 19 import java.io.IOException ; 20 21 public abstract class CargoStartupAppender implements StartupAppender { 22 23 public abstract void append() throws Exception ; 24 25 28 public final void pack(File appenderLocation) throws IOException { 29 ArchiveBuilder jar = new JarBuilder(new File (appenderLocation + File.separator + StartupAppender.FILE_NAME)); 30 Class [] classes = new Class [] { this.getClass(), CargoStartupAppender.class, ArchiveBuilder.class, 31 JarBuilder.class, ClassListToFileList.class, StartupAppender.class, PortChooser.class, EphemeralPorts.class, 32 StreamCollector.class, Os.class, ReplaceLine.class, StreamCopier.class }; 33 File [][] files = ClassListToFileList.translate(classes); 34 for (int i = 0; i < files[0].length; i++) { 35 jar.putEntry(files[1][i].toString(), jar.readFile(files[0][i])); 36 } 37 jar.putEntry(StartupAppender.APPENDER_TYPE_FILENAME, this.getClass().getName().getBytes()); 38 jar.finish(); 39 } 40 } 41 | Popular Tags |