@Override public void writeTo(final IFileSystemAccess2 fileSystemAccess) { try { if ((fileSystemAccess != null)) { CharSequence _content = this.getContent(); StringBuffer _stringBuffer = new StringBuffer(_content); final String contentToWrite = MergeableManifest2.make512Safe(_stringBuffer, this.lineDelimiter); byte[] _bytes = contentToWrite.getBytes("UTF-8"); ByteArrayInputStream _byteArrayInputStream = new ByteArrayInputStream(_bytes); final MergeableManifest2 mergeableManifest = new MergeableManifest2(_byteArrayInputStream); mergeableManifest.setLineDelimiter(this.lineDelimiter); ByteArrayOutputStream bout = new ByteArrayOutputStream(); mergeableManifest.write(bout); byte[] _byteArray = bout.toByteArray(); ByteArrayInputStream _byteArrayInputStream_1 = new ByteArrayInputStream(_byteArray); fileSystemAccess.generateFile(this.getPath(), _byteArrayInputStream_1); } } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
protected void mergeManifest(final ManifestAccess manifest, final IXtextGeneratorFileSystemAccess metaInf) throws IOException { InputStream in = null; try { in = metaInf.readBinaryFile(manifest.getPath()); String _bundleName = manifest.getBundleName(); final MergeableManifest2 merge = new MergeableManifest2(in, _bundleName); merge.setLineDelimiter(this.codeConfig.getLineDelimiter()); merge.addExportedPackages(manifest.getExportedPackages()); merge.addRequiredBundles(manifest.getRequiredBundles()); merge.addImportedPackages(manifest.getImportedPackages()); if (((manifest.getActivator() != null) && StringExtensions.isNullOrEmpty(merge.getBundleActivator()))) { merge.setBundleActivator(manifest.getActivator().getName()); } boolean _isModified = merge.isModified(); if (_isModified) { final ByteArrayOutputStream out = new ByteArrayOutputStream(); merge.write(out); byte[] _byteArray = out.toByteArray(); ByteArrayInputStream _byteArrayInputStream = new ByteArrayInputStream(_byteArray); metaInf.generateFile(manifest.getPath(), _byteArrayInputStream); } } finally { if ((in != null)) { in.close(); } } }