You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2023/02/28 14:23:42 UTC

[jackrabbit-filevault] branch JCRVLT-688 updated: JCRVLT-688: expose getter/setter for generator, make getVersion private

This is an automated email from the ASF dual-hosted git repository.

reschke pushed a commit to branch JCRVLT-688
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git


The following commit(s) were added to refs/heads/JCRVLT-688 by this push:
     new b9ac885a JCRVLT-688: expose getter/setter for generator, make getVersion private
b9ac885a is described below

commit b9ac885a9f2c4a516fbb11c012570f290f851a31
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Tue Feb 28 15:21:00 2023 +0100

    JCRVLT-688: expose getter/setter for generator, make getVersion private
---
 .../jackrabbit/vault/fs/io/AbstractExporter.java   | 28 +++++++++++++++++++---
 .../jackrabbit/vault/fs/io/package-info.java       |  2 +-
 2 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/AbstractExporter.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/AbstractExporter.java
index a6c4587b..61328bf0 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/AbstractExporter.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/AbstractExporter.java
@@ -110,6 +110,11 @@ public abstract class AbstractExporter implements AutoCloseable {
 
     protected ExportInfo exportInfo = new ExportInfo();
 
+    private static String DEFAULT_GENERATOR = "org.apache.jackrabbit.vault" + ":"
+            + getVersion("org.apache.jackrabbit.vault", AbstractExporter.class);
+
+    private String generator = DEFAULT_GENERATOR;
+
     public boolean isVerbose() {
         return tracker != null;
     }
@@ -143,6 +148,24 @@ public abstract class AbstractExporter implements AutoCloseable {
         }
     }
 
+    /**
+     * @return generator information (for diagnostical purposes; usually in
+     *         "name:version" format). {@code null} when n/a. Defaults to
+     *         "org.apache.jackrabbit.vault:version".
+     */
+    public String getGenerator() {
+        return generator;
+    }
+
+    /**
+     * @param generator
+     *            generator information (for diagnostical purposes; usually in
+     *            "name:version" format). {@code null} when n/a.
+     */
+    public void setGenerator(String generator) {
+        this.generator = generator;
+    }
+
     public String getRootPath() {
         return rootPath;
     }
@@ -201,8 +224,7 @@ public abstract class AbstractExporter implements AutoCloseable {
             // update properties
             setProperty(MetaInf.CREATED, Calendar.getInstance());
             setProperty(MetaInf.CREATED_BY, mgr.getUserId());
-            String moduleName = "org.apache.jackrabbit.vault";
-            setProperty(MetaInf.GENERATOR, moduleName + ":" + getVersion(moduleName, this.getClass()));
+            setProperty(MetaInf.GENERATOR, generator);
             setProperty(MetaInf.PACKAGE_FORMAT_VERSION, String.valueOf(MetaInf.FORMAT_VERSION_2));
 
             // get filter and translate if necessary
@@ -407,7 +429,7 @@ public abstract class AbstractExporter implements AutoCloseable {
      * @param clazz a class of the module
      * @return the version (or "SNAPSHOT" when unknown)
      */
-    private String getVersion(String moduleName, Class<?> clazz) {
+    private static String getVersion(String moduleName, Class<?> clazz) {
         // borrowed from oak-commons
         String version = "SNAPSHOT"; // fallback
         try (InputStream stream = clazz
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java
index 62e3e80b..8590ed51 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/io/package-info.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-@Version("2.14.0")
+@Version("2.15.0")
 package org.apache.jackrabbit.vault.fs.io;
 
 import org.osgi.annotation.versioning.Version;