List of usage examples for org.apache.commons.compress.archivers.tar TarArchiveEntry setSize
public void setSize(long size)
From source file:org.icgc.dcc.download.client.io.ArchiveOutputStream.java
@SneakyThrows private static void addArchiveEntry(TarArchiveOutputStream os, String filename, long fileSize) { TarArchiveEntry entry = new TarArchiveEntry(filename); entry.setSize(fileSize); os.putArchiveEntry(entry);//from w w w. j a va2s. c om }
From source file:org.jbpm.process.workitem.archive.ArchiveWorkItemHandler.java
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { String archive = (String) workItem.getParameter("Archive"); List<File> files = (List<File>) workItem.getParameter("Files"); try {//from ww w . ja va2s . c o m OutputStream outputStream = new FileOutputStream(new File(archive)); ArchiveOutputStream os = new ArchiveStreamFactory().createArchiveOutputStream("tar", outputStream); if (files != null) { for (File file : files) { final TarArchiveEntry entry = new TarArchiveEntry("testdata/test1.xml"); entry.setModTime(0); entry.setSize(file.length()); entry.setUserId(0); entry.setGroupId(0); entry.setMode(0100000); os.putArchiveEntry(entry); IOUtils.copy(new FileInputStream(file), os); } } os.closeArchiveEntry(); os.close(); manager.completeWorkItem(workItem.getId(), null); } catch (Throwable t) { t.printStackTrace(); manager.abortWorkItem(workItem.getId()); } }
From source file:org.kaaproject.kaa.server.control.service.sdk.CommonSdkUtil.java
/** * Create new zip entry data for the input source. * * @param source the input source// ww w .j av a2 s . co m * @param name the entry name * @return the new zip entry data */ public static TarEntryData tarEntryForSources(String source, String name) { TarArchiveEntry tarEntry = new TarArchiveEntry(name); tarEntry.setSize(source.getBytes().length); return new TarEntryData(tarEntry, source.getBytes()); }
From source file:org.kaaproject.kaa.server.control.service.sdk.CppSdkGenerator.java
@Override public FileData generateSdk(String buildVersion, List<BootstrapNodeInfo> bootstrapNodes, SdkProfileDto sdkProfile, String profileSchemaBody, String notificationSchemaBody, String configurationProtocolSchemaBody, String configurationBaseSchema, byte[] defaultConfigurationData, List<EventFamilyMetadata> eventFamilies, String logSchemaBody) throws Exception { String sdkToken = sdkProfile.getToken(); Integer configurationSchemaVersion = sdkProfile.getConfigurationSchemaVersion(); final Integer profileSchemaVersion = sdkProfile.getProfileSchemaVersion(); Integer notificationSchemaVersion = sdkProfile.getNotificationSchemaVersion(); Integer logSchemaVersion = sdkProfile.getLogSchemaVersion(); String defaultVerifierToken = sdkProfile.getDefaultVerifierToken(); String sdkTemplateLocation = Environment.getServerHomeDir() + "/" + CPP_SDK_DIR + "/" + CPP_SDK_PREFIX + buildVersion + ".tar.gz"; LOG.debug("Lookup Java SDK template: {}", sdkTemplateLocation); CompressorStreamFactory csf = new CompressorStreamFactory(); ArchiveStreamFactory asf = new ArchiveStreamFactory(); CompressorInputStream cis = csf.createCompressorInputStream(CompressorStreamFactory.GZIP, new FileInputStream(sdkTemplateLocation)); final ArchiveInputStream templateArchive = asf.createArchiveInputStream(ArchiveStreamFactory.TAR, cis); ByteArrayOutputStream sdkOutput = new ByteArrayOutputStream(); CompressorOutputStream cos = csf.createCompressorOutputStream(CompressorStreamFactory.GZIP, sdkOutput); ArchiveOutputStream sdkFile = asf.createArchiveOutputStream(ArchiveStreamFactory.TAR, cos); Map<String, TarEntryData> replacementData = new HashMap<>(); List<TarEntryData> cppSources = new ArrayList<>(); // TODO: remove all version fields and add single sdkToken field // create entry for default properties TarArchiveEntry entry = new TarArchiveEntry(SDK_DEFAULTS_PATH); byte[] data = generateKaaDefaults(bootstrapNodes, sdkToken, defaultConfigurationData, defaultVerifierToken); entry.setSize(data.length); TarEntryData tarEntry = new TarEntryData(entry, data); cppSources.add(tarEntry);//from w ww . j av a2 s. c o m Map<String, String> profileVars = new HashMap<>(); profileVars.put(SDK_PROFILE_VERSION_VAR, profileSchemaVersion.toString()); cppSources.addAll(processFeatureSchema(profileSchemaBody, PROFILE_SCHEMA_AVRO_SRC, PROFILE_DEFINITIONS_TEMPLATE, PROFILE_DEFINITIONS_PATH, profileVars)); cppSources.addAll(processFeatureSchema(notificationSchemaBody, NOTIFICATION_SCHEMA_AVRO_SRC, NOTIFICATION_DEFINITIONS_TEMPLATE, NOTIFICATION_DEFINITIONS_PATH, null)); cppSources.addAll(processFeatureSchema(logSchemaBody, LOG_SCHEMA_AVRO_SRC, LOG_DEFINITIONS_TEMPLATE, LOG_DEFINITIONS_PATH, null)); cppSources.addAll(processFeatureSchema(configurationBaseSchema, CONFIGURATION_SCHEMA_AVRO_SRC, CONFIGURATION_DEFINITIONS_TEMPLATE, CONFIGURATION_DEFINITIONS_PATH, null)); if (eventFamilies != null && !eventFamilies.isEmpty()) { cppSources.addAll(CppEventSourcesGenerator.generateEventSources(eventFamilies)); } for (TarEntryData entryData : cppSources) { replacementData.put(entryData.getEntry().getName(), entryData); } ArchiveEntry archiveEntry; while ((archiveEntry = templateArchive.getNextEntry()) != null) { if (!archiveEntry.isDirectory()) { if (replacementData.containsKey(archiveEntry.getName())) { TarEntryData entryData = replacementData.remove(archiveEntry.getName()); sdkFile.putArchiveEntry(entryData.getEntry()); sdkFile.write(entryData.getData()); } else { sdkFile.putArchiveEntry(archiveEntry); IOUtils.copy(templateArchive, sdkFile); } } else { sdkFile.putArchiveEntry(archiveEntry); } sdkFile.closeArchiveEntry(); } templateArchive.close(); for (String entryName : replacementData.keySet()) { TarEntryData entryData = replacementData.get(entryName); sdkFile.putArchiveEntry(entryData.getEntry()); sdkFile.write(entryData.getData()); sdkFile.closeArchiveEntry(); } sdkFile.finish(); sdkFile.close(); String sdkFileName = CPP_SDK_PREFIX + sdkProfile.getToken() + ".tar.gz"; byte[] sdkData = sdkOutput.toByteArray(); FileData sdk = new FileData(); sdk.setFileName(sdkFileName); sdk.setFileData(sdkData); return sdk; }
From source file:org.kaaproject.kaa.server.control.service.sdk.CppSdkGenerator.java
private List<TarEntryData> processFeatureSchema(String schemaBody, String schemaPath, String templatePath, String outputPath, Map<String, String> vars) throws IOException { List<TarEntryData> cppSources = new LinkedList<>(); if (!StringUtils.isBlank(schemaBody)) { TarArchiveEntry entry = new TarArchiveEntry(schemaPath); byte[] data = schemaBody.getBytes(); entry.setSize(data.length); TarEntryData tarEntry = new TarEntryData(entry, data); cppSources.add(tarEntry);// w w w . j a v a 2 s . co m Schema schema = new Schema.Parser().parse(schemaBody); String definitionsHpp = SdkGenerator.readResource(templatePath); entry = new TarArchiveEntry(outputPath); String templateStr = replaceVar(definitionsHpp, RECORD_CLASS_NAME_VAR, schema.getName()); if (vars != null && !vars.isEmpty()) { for (Entry<String, String> var : vars.entrySet()) { templateStr = replaceVar(templateStr, var.getKey(), var.getValue()); } } byte[] definitionsData = templateStr.getBytes(); entry.setSize(definitionsData.length); tarEntry = new TarEntryData(entry, definitionsData); cppSources.add(tarEntry); } return cppSources; }
From source file:org.kaaproject.kaa.server.control.service.sdk.CSdkGenerator.java
@Override public FileData generateSdk(String buildVersion, List<BootstrapNodeInfo> bootstrapNodes, SdkProfileDto sdkProfile, String profileSchemaBody, String notificationSchemaBody, String configurationProtocolSchemaBody, String configurationBaseSchemaBody, byte[] defaultConfigurationData, List<EventFamilyMetadata> eventFamilies, String logSchemaBody) throws Exception { String sdkToken = sdkProfile.getToken(); Integer profileSchemaVersion = sdkProfile.getProfileSchemaVersion(); String defaultVerifierToken = sdkProfile.getDefaultVerifierToken(); String sdkTemplateLocation = Environment.getServerHomeDir() + "/" + C_SDK_DIR + "/" + C_SDK_PREFIX + buildVersion + ".tar.gz"; LOG.debug("Lookup C SDK template: {}", sdkTemplateLocation); CompressorStreamFactory csf = new CompressorStreamFactory(); ArchiveStreamFactory asf = new ArchiveStreamFactory(); CompressorInputStream cis = csf.createCompressorInputStream(CompressorStreamFactory.GZIP, new FileInputStream(sdkTemplateLocation)); final ArchiveInputStream templateArchive = asf.createArchiveInputStream(ArchiveStreamFactory.TAR, cis); ByteArrayOutputStream sdkOutput = new ByteArrayOutputStream(); CompressorOutputStream cos = csf.createCompressorOutputStream(CompressorStreamFactory.GZIP, sdkOutput); ArchiveOutputStream sdkFile = asf.createArchiveOutputStream(ArchiveStreamFactory.TAR, cos); Map<String, TarEntryData> replacementData = new HashMap<>(); List<TarEntryData> sources = new ArrayList<>(); if (!StringUtils.isBlank(profileSchemaBody)) { sources.addAll(generateProfileSources(profileSchemaBody)); }/* ww w. java2s .co m*/ if (!StringUtils.isBlank(logSchemaBody)) { sources.addAll(generateLogSources(logSchemaBody)); } if (!StringUtils.isBlank(configurationBaseSchemaBody)) { sources.addAll(generateConfigurationSources(configurationBaseSchemaBody)); } if (!StringUtils.isBlank(notificationSchemaBody)) { sources.addAll(generateNotificationSources(notificationSchemaBody)); } if (eventFamilies != null && !eventFamilies.isEmpty()) { sources.addAll(CEventSourcesGenerator.generateEventSources(eventFamilies)); } for (TarEntryData entryData : sources) { replacementData.put(entryData.getEntry().getName(), entryData); } ArchiveEntry archiveEntry; while ((archiveEntry = templateArchive.getNextEntry()) != null) { if (!archiveEntry.isDirectory()) { if (archiveEntry.getName().equals(KAA_DEFAULTS_HEADER)) { // TODO: eliminate schema versions and substitute them for a single sdkToken byte[] kaaDefaultsData = generateKaaDefaults(bootstrapNodes, sdkToken, profileSchemaVersion, configurationProtocolSchemaBody, defaultConfigurationData, defaultVerifierToken); TarArchiveEntry kaaDefaultsEntry = new TarArchiveEntry(KAA_DEFAULTS_HEADER); kaaDefaultsEntry.setSize(kaaDefaultsData.length); sdkFile.putArchiveEntry(kaaDefaultsEntry); sdkFile.write(kaaDefaultsData); } else if (archiveEntry.getName().equals(KAA_CMAKEGEN)) { // Ignore duplicate source names List<String> sourceNames = new LinkedList<>(); for (TarEntryData sourceEntry : sources) { String fileName = sourceEntry.getEntry().getName(); if (fileName.endsWith(C_SOURCE_SUFFIX) && !sourceNames.contains(fileName)) { sourceNames.add(fileName); } } VelocityContext context = new VelocityContext(); context.put("sourceNames", sourceNames); String sourceData = generateSourceFromTemplate(TEMPLATE_DIR + File.separator + "CMakeGen.vm", context); TarArchiveEntry kaaCMakeEntry = new TarArchiveEntry(KAA_CMAKEGEN); kaaCMakeEntry.setSize(sourceData.length()); sdkFile.putArchiveEntry(kaaCMakeEntry); sdkFile.write(sourceData.getBytes()); } else if (replacementData.containsKey(archiveEntry.getName())) { TarEntryData entryData = replacementData.remove(archiveEntry.getName()); sdkFile.putArchiveEntry(entryData.getEntry()); sdkFile.write(entryData.getData()); } else { sdkFile.putArchiveEntry(archiveEntry); IOUtils.copy(templateArchive, sdkFile); } } else { sdkFile.putArchiveEntry(archiveEntry); } sdkFile.closeArchiveEntry(); } templateArchive.close(); for (String entryName : replacementData.keySet()) { TarEntryData entryData = replacementData.get(entryName); sdkFile.putArchiveEntry(entryData.getEntry()); sdkFile.write(entryData.getData()); sdkFile.closeArchiveEntry(); } sdkFile.finish(); sdkFile.close(); String sdkFileName = C_SDK_PREFIX + sdkProfile.getToken() + ".tar.gz"; FileData sdk = new FileData(); sdk.setFileName(sdkFileName); sdk.setFileData(sdkOutput.toByteArray()); return sdk; }
From source file:org.kaaproject.kaa.server.control.service.sdk.CSdkGenerator.java
private TarEntryData createTarEntry(String tarEntryName, String data) { TarArchiveEntry entry = new TarArchiveEntry(tarEntryName); entry.setSize(data.length()); return new TarEntryData(entry, data.getBytes()); }
From source file:org.kaaproject.kaa.server.control.service.sdk.event.CEventSourcesGenerator.java
/** * Create new zip entry data for the event family metadata. * * @param eventFamilies the event family metadata * @return a new zip entry data/*from w w w . j av a 2 s .com*/ */ public static List<TarEntryData> generateEventSources(List<EventFamilyMetadata> eventFamilies) { List<TarEntryData> eventSources = new ArrayList<>(); LOG.debug("[sdk generateEventSources] eventFamilies.size(): {}", eventFamilies.size()); VelocityContext context = new VelocityContext(); context.put("eventFamilies", eventFamilies); StringWriter commonWriter = new StringWriter(); velocityEngine.getTemplate(EVENT_FQN_PATTERN).merge(context, commonWriter); for (EventFamilyMetadata eventFamily : eventFamilies) { context.put("StyleUtils", StyleUtils.class); String name = StyleUtils.toLowerUnderScore(eventFamily.getEcfClassName()); String nameUpperCase = StyleUtils.toUpperUnderScore(eventFamily.getEcfClassName()); context.put("event_family_name", name); context.put("EVENT_FAMILY_NAME", nameUpperCase); context.put("namespacePrefix", NAME_PREFIX_TEMPLATE.replace("{name}", name)); List<Schema> records = new ArrayList<>(); eventFamily.getRawCtlsSchemas().forEach(rawCtl -> records.add(new Schema.Parser().parse(rawCtl))); List<String> emptyRecords = new ArrayList<>(); for (Schema record : records) { if (record.getType() == Schema.Type.RECORD && record.getFields() != null && record.getFields().size() == 0) { emptyRecords.add(record.getFullName()); } } context.put("emptyRecords", emptyRecords); List<String> incomingEventFqns = new ArrayList<>(); List<String> outgoingEventFqns = new ArrayList<>(); if (eventFamily.getEventMaps() != null) { for (ApplicationEventMapDto appEventDto : eventFamily.getEventMaps()) { if (appEventDto.getAction() == ApplicationEventAction.SINK || appEventDto.getAction() == ApplicationEventAction.BOTH) { incomingEventFqns.add(appEventDto.getFqn()); } if (appEventDto.getAction() == ApplicationEventAction.SOURCE || appEventDto.getAction() == ApplicationEventAction.BOTH) { outgoingEventFqns.add(appEventDto.getFqn()); } } } context.put("incomingEventFqns", incomingEventFqns); context.put("outgoingEventFqns", outgoingEventFqns); StringWriter headerWriter = new StringWriter(); LOG.debug("[sdk generateEventSources] header generating:"); velocityEngine.getTemplate(EVENT_FAMILIES_H_PATTERN).merge(context, headerWriter); TarArchiveEntry entry = new TarArchiveEntry( EVENT_SOURCE_OUTPUT + EVENT_FAMILIES_H_FILE.replace("{name}", name)); LOG.debug("[sdk generateEventSources] header generated: {}", entry.getName()); byte[] data = headerWriter.toString().getBytes(); entry.setSize(data.length); TarEntryData tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); StringWriter sourceWriter = new StringWriter(); LOG.debug("[sdk generateEventSources] source generating:"); velocityEngine.getTemplate(EVENT_FAMILIES_C_PATTERN).merge(context, sourceWriter); entry = new TarArchiveEntry(EVENT_SOURCE_OUTPUT + EVENT_FAMILIES_C_FILE.replace("{name}", name)); LOG.debug("[sdk generateEventSources] source generated: {}", entry.getName()); data = sourceWriter.toString().getBytes(); entry.setSize(data.length); tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); entry = new TarArchiveEntry(EVENT_SOURCE_OUTPUT + EVENT_FQN_H_FILE); data = commonWriter.toString().getBytes(); entry.setSize(data.length); tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); try (OutputStream hdrStream = new ByteArrayOutputStream(); OutputStream srcStream = new ByteArrayOutputStream()) { String fileName = EVENT_FAMILY_DEFINITION_PATTERN.replace("{name}", name); List<Schema> eventCtlSchemas = new ArrayList<>(); eventFamily.getRawCtlsSchemas() .forEach(rawCtl -> eventCtlSchemas.add(new Schema.Parser().parse(rawCtl))); Compiler compiler = new CCompiler(eventCtlSchemas, fileName, hdrStream, srcStream); compiler.setNamespacePrefix(NAME_PREFIX_TEMPLATE.replace("{name}", name)); compiler.generate(); String eventData = hdrStream.toString(); entry = new TarArchiveEntry(EVENT_SOURCE_OUTPUT + fileName + ".h"); entry.setSize(eventData.length()); tarEntry = new TarEntryData(entry, eventData.getBytes()); eventSources.add(tarEntry); entry = new TarArchiveEntry(EVENT_SOURCE_OUTPUT + fileName + ".c"); eventData = srcStream.toString(); entry.setSize(eventData.length()); tarEntry = new TarEntryData(entry, eventData.getBytes()); eventSources.add(tarEntry); } catch (Exception ex) { LOG.error("got exception", ex); } } LOG.debug("[sdk generateEventSources] exit. Generated {} files", eventSources.size()); return eventSources; }
From source file:org.kaaproject.kaa.server.control.service.sdk.event.CppEventSourcesGenerator.java
/** * Create new zip entry data for the event family metadata. * * @param eventFamilies the event family metadata * @return a new zip entry data//w ww. ja v a 2s .co m */ public static List<TarEntryData> generateEventSources(List<EventFamilyMetadata> eventFamilies) { List<TarEntryData> eventSources = new ArrayList<>(); String includeEventFamilyHeaders = ""; String factoryGetEventFamilies = ""; String factorySetEventFamilyNames = ""; String factoryAddEventFamilies = ""; String eventFamilyClassList = ""; for (EventFamilyMetadata efm : eventFamilies) { includeEventFamilyHeaders += eventFamilyIncludeHeaders.replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) + "\n"; factoryGetEventFamilies += eventFamilyFactoryGetEventFamily.replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) + "\n"; factoryAddEventFamilies += eventFamilyFactoryAddEventFamily.replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) + "\n"; if (eventFamilyClassList.length() > 0) { eventFamilyClassList += " "; } eventFamilyClassList += efm.getEcfClassName(); String supportedFqnsList = ""; String eventFamilyListenersOnGenericEvent = ""; String eventFamilyListenersNotifyListener = ""; String eventFamilySendEventMethods = ""; String eventFamilyListenerMethods = ""; for (ApplicationEventMapDto eventMap : efm.getEventMaps()) { Matcher matcher = CLASS_NAME_PATTERN.matcher(eventMap.getFqn()); String eventClassName = (matcher.find()) ? matcher.group(1) : ""; if (eventMap.getAction() == ApplicationEventAction.SINK || eventMap.getAction() == ApplicationEventAction.BOTH) { if (supportedFqnsList.length() > 0) { supportedFqnsList += ","; } supportedFqnsList += "\"" + eventMap.getFqn() + "\""; if (eventFamilyListenersOnGenericEvent.length() > 0) { eventFamilyListenersOnGenericEvent += "else "; } if (eventFamilyListenersNotifyListener.length() > 0) { eventFamilyListenersNotifyListener += "else "; } eventFamilyListenersOnGenericEvent += eventFamilyOnGenericEvent .replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) .replaceAll(EVENT_CLASS_FQN_VAR, eventMap.getFqn()) .replaceAll(EVENT_CLASS_NAME_VAR, eventClassName) + "\n"; eventFamilyListenersNotifyListener += eventFamilyNotifyListener .replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) .replaceAll(EVENT_CLASS_FQN_VAR, eventMap.getFqn()) .replaceAll(EVENT_CLASS_NAME_VAR, eventClassName) + "\n"; eventFamilyListenerMethods += eventFamilyListenerMethod .replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) .replaceAll(EVENT_CLASS_NAME_VAR, eventClassName) + "\n"; } if (eventMap.getAction() == ApplicationEventAction.SOURCE || eventMap.getAction() == ApplicationEventAction.BOTH) { eventFamilySendEventMethods += eventFamilySendEventMethod .replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) .replaceAll(EVENT_CLASS_FQN_VAR, eventMap.getFqn()) .replaceAll(EVENT_CLASS_NAME_VAR, eventClassName) + "\n"; } } String addSupportedEventClassFqns = eventFamilyAddSupportedFqn.replaceAll(EVENT_CLASS_FQN_VAR, supportedFqnsList); factorySetEventFamilyNames += eventFamilyFactorySetEventFamilyNames .replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) .replaceAll(ADD_SUPPORTED_EVENT_CLASS_FQNS_VAR, addSupportedEventClassFqns) + "\n"; String eventFamilySource = eventFamilyHpp.replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()) .replaceAll(ADD_SUPPORTED_EVENT_CLASS_FQNS_VAR, addSupportedEventClassFqns) .replaceAll(EVENT_FAMILY_LISTENERS_ON_GENERIC_EVENT_VAR, eventFamilyListenersOnGenericEvent) .replaceAll(EVENT_FAMILY_LISTENERS_NOTIFY_LISTENER_VAR, eventFamilyListenersNotifyListener) .replaceAll(EVENT_FAMILY_SEND_EVENT_METHODS_VAR, eventFamilySendEventMethods) .replaceAll(EVENT_FAMILY_LISTENER_METHODS_VAR, eventFamilyListenerMethods); String eventFamilyPath = EVENT_FAMILY_PATH_TEMPLATE.replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()); TarArchiveEntry entry = new TarArchiveEntry(eventFamilyPath); byte[] data = eventFamilySource.getBytes(); entry.setSize(data.length); TarEntryData tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); String eventCtlSchemas = "[" + efm.getRawCtlsSchemas().stream().collect(joining(",")) + "]"; String eventFamilySchemaPath = EVENT_FAMILY_SCHEMA_PATH_TEMPLATE.replaceAll(EVENT_FAMILY_CLASS_NAME_VAR, efm.getEcfClassName()); entry = new TarArchiveEntry(eventFamilySchemaPath); data = eventCtlSchemas.getBytes(); entry.setSize(data.length); tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); } String eventFamilyFactorySource = eventFamilyFactoryHpp .replaceAll(INCLUDE_EVENT_FAMILY_HEADERS_VAR, includeEventFamilyHeaders) .replaceAll(EVENT_FAMILY_FACTORY_GET_CONCRETE_EVENT_FAMILY_VAR, factoryGetEventFamilies) .replaceAll(EVENT_FAMILY_FACTORY_ADD_CONCRETE_EVENT_FAMILY_VAR, factoryAddEventFamilies) .replaceAll(EVENT_FAMILY_FACTORY_SET_CONCRETE_EVENT_FAMILY_NAMES_VAR, factorySetEventFamilyNames); TarArchiveEntry entry = new TarArchiveEntry(EVENT_FAMILY_FACTORY_PATH); byte[] data = eventFamilyFactorySource.getBytes(); entry.setSize(data.length); TarEntryData tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); String avrogenShSource = avrogenSh.replaceAll(EVENT_FAMILY_CLASS_LIST_VAR, eventFamilyClassList); entry = new TarArchiveEntry(AVROGEN_SH_PATH); data = avrogenShSource.getBytes(); entry.setSize(data.length); tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); String avrogenBatSource = avrogenBat.replaceAll(EVENT_FAMILY_CLASS_LIST_VAR, eventFamilyClassList); entry = new TarArchiveEntry(AVROGEN_BAT_PATH); data = avrogenBatSource.getBytes(); entry.setSize(data.length); tarEntry = new TarEntryData(entry, data); eventSources.add(tarEntry); return eventSources; }
From source file:org.kitesdk.cli.commands.TestTarImportCommand.java
private static void writeToTarFile(TarArchiveOutputStream tos, String name, String content) throws IOException { TarArchiveEntry tarArchiveEntry = new TarArchiveEntry(name); if (null != content) { tarArchiveEntry.setSize(content.length()); }/*from w w w . j a v a 2 s .c o m*/ tarArchiveEntry.setModTime(System.currentTimeMillis()); tos.putArchiveEntry(tarArchiveEntry); if (null != content) { byte[] buf = content.getBytes(); tos.write(buf, 0, content.length()); tos.flush(); } tos.closeArchiveEntry(); }