void writePackageDefinition()

in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/GenerateMetadataMojo.java [606:621]


    void writePackageDefinition(OutputStream outputStream) throws XMLStreamException, FactoryConfigurationError, NamespaceException, IllegalArgumentException, IOException {
        NamespaceMapping namespaceResolver = new NamespaceMapping(); // no namespaces necessary
        namespaceResolver.setMapping(Name.NS_EMPTY_PREFIX, Name.NS_DEFAULT_URI);
        namespaceResolver.setMapping(Name.NS_JCR_PREFIX, Name.NS_JCR_URI);
        try (FormattingXmlStreamWriter xmlWriter = FormattingXmlStreamWriter.create(outputStream, new DocViewFormat().getXmlOutputFormat())) {
            Collection<DocViewProperty2> packDefProps = new ArrayList<>();
            packDefProps.add(new DocViewProperty2(NameConstants.JCR_PRIMARYTYPE, JcrPackage.NT_VLT_PACKAGE_DEFINITION));
            packDefProps.add(new DocViewProperty2(NameFactoryImpl.getInstance().create(Name.NS_DEFAULT_URI, "builtWith"), getCreatedBy(), PropertyType.STRING));
            for (Map.Entry<String, String> propertyEntry : packageDefinitionProperties.entrySet()) {
                packDefProps.add(new DocViewProperty2(NameFactoryImpl.getInstance().create(Name.NS_DEFAULT_URI, propertyEntry.getKey()), propertyEntry.getValue(), PropertyType.STRING));
            }
            DocViewNode2 docViewNode = new DocViewNode2(NameConstants.JCR_ROOT, packDefProps);
            docViewNode.writeStart(xmlWriter, namespaceResolver, Collections.singleton(Name.NS_JCR_PREFIX));
            DocViewNode2.writeEnd(xmlWriter);
        }
    }