You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2021/01/26 07:56:02 UTC
[jackrabbit-filevault] branch master updated: JCRVLT-494 clarify
javadoc of ExecutionPlanBuilder.execute(...) (#117)
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git
The following commit(s) were added to refs/heads/master by this push:
new beb4a72 JCRVLT-494 clarify javadoc of ExecutionPlanBuilder.execute(...) (#117)
beb4a72 is described below
commit beb4a72adcf963c1da6ed9604c18b8b5b69ee57c
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Tue Jan 26 08:55:51 2021 +0100
JCRVLT-494 clarify javadoc of ExecutionPlanBuilder.execute(...) (#117)
---
.../vault/packaging/registry/ExecutionPlan.java | 4 +++-
.../packaging/registry/ExecutionPlanBuilder.java | 22 ++++++++++++----------
.../registry/impl/ExecutionPlanBuilderImpl.java | 2 +-
3 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlan.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlan.java
index c1be72b..e0193f6 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlan.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlan.java
@@ -48,7 +48,9 @@ public interface ExecutionPlan {
boolean isExecuted();
/**
- * checks if this plan has error
+ * Checks if execution of any of the tasks in the plan resulted in an error.
+ * Only returns a valid result in case {@link #isExecuted()} returns {@code true}.
+ * The concrete errors must be looked up from {@link #getTasks()}.
* @return {@code true} if it has errors.
*/
boolean hasErrors();
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlanBuilder.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlanBuilder.java
index 47f10a4..e3f9c24 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlanBuilder.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/ExecutionPlanBuilder.java
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.vault.packaging.registry;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.List;
import java.util.Set;
import javax.jcr.Session;
@@ -64,7 +63,7 @@ public interface ExecutionPlanBuilder {
/**
* Validates this plan.
- * @return this.
+ * @return this
* @throws IOException if an I/O error occurrs.
* @throws PackageException if the plan is not valid.
*/
@@ -74,7 +73,7 @@ public interface ExecutionPlanBuilder {
/**
* Sets the JCR session for this execution plan.
* @param session the session
- * @return this.
+ * @return this
*/
@NotNull
ExecutionPlanBuilder with(@NotNull Session session);
@@ -82,7 +81,7 @@ public interface ExecutionPlanBuilder {
/**
* Sets the progress tracker listener for this plan.
* @param listener the listener
- * @return this.
+ * @return this
*/
@NotNull
ExecutionPlanBuilder with(@NotNull ProgressTrackerListener listener);
@@ -91,26 +90,29 @@ public interface ExecutionPlanBuilder {
/**
* Sets packages handled externally ahead of execution for prevalidation of plan
* @param externalPackages Set of package ids handled by other builder
- * @return this.
+ * @return this
*/
@NotNull
ExecutionPlanBuilder with(@NotNull Set<PackageId> externalPackages);
/**
- * Triggers Validation and returns PackageIds of all packages to be installed
+ * Triggers validation and returns {@link PackageId}s of all packages to be installed
* by this builder
* @return Set of packages to be installed by this builder.
- * @throws IOException if an I/O error occurrs.
+ * @throws IOException if an I/O error occurs.
* @throws PackageException if the plan is not valid.
*/
@NotNull
Set<PackageId> preview() throws IOException, PackageException;
/**
- * builds an executes the plan synchronously.
+ * Builds an executes the plan synchronously. Does not throw an exception in case one or
+ * multiple task executions fail, therefore the caller should check {@link ExecutionPlan#hasErrors()}
+ * after calling this method.
+ *
* @return the execution plan.
- * @throws IOException if an I/O error occurrs.
- * @throws PackageException if a package operation fails.
+ * @throws IOException if an I/O error occurs.
+ * @throws PackageException if the plan contains an unsupported task.
*/
@NotNull
ExecutionPlan execute() throws IOException, PackageException;
diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/ExecutionPlanBuilderImpl.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/ExecutionPlanBuilderImpl.java
index c3335bb..5fdca4e 100644
--- a/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/ExecutionPlanBuilderImpl.java
+++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/registry/impl/ExecutionPlanBuilderImpl.java
@@ -357,7 +357,7 @@ public class ExecutionPlanBuilderImpl implements ExecutionPlanBuilder {
@Override
public Set<PackageId> preview() throws IOException, PackageException {
validate();
- if (plan.getTasks().size() == 0) {
+ if (plan.getTasks().isEmpty()) {
return Collections.emptySet();
} else {
Set<PackageId> packages = new HashSet<>();