You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2016/10/31 07:25:55 UTC
svn commit: r1767222 - in /jackrabbit/commons/filevault/trunk: parent/
vault-core/ vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/
vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/
Author: tripod
Date: Mon Oct 31 07:25:55 2016
New Revision: 1767222
URL: http://svn.apache.org/viewvc?rev=1767222&view=rev
Log:
trivial: add some findbugs annotations
Modified:
jackrabbit/commons/filevault/trunk/parent/pom.xml
jackrabbit/commons/filevault/trunk/vault-core/pom.xml
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/DependencyHandling.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackage.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageDefinition.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageManager.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageDefinitionImpl.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java
jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java
Modified: jackrabbit/commons/filevault/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/parent/pom.xml?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/parent/pom.xml (original)
+++ jackrabbit/commons/filevault/trunk/parent/pom.xml Mon Oct 31 07:25:55 2016
@@ -310,6 +310,12 @@
<version>1.2.12</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>3.0.1</version>
+ <scope>provided</scope>
+ </dependency>
<!-- other -->
<!-- osgi stuff -->
Modified: jackrabbit/commons/filevault/trunk/vault-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/pom.xml?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/pom.xml (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/pom.xml Mon Oct 31 07:25:55 2016
@@ -165,6 +165,11 @@
<artifactId>commons-io</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <scope>provided</scope>
+ </dependency>
<!-- osgi stuff -->
<dependency>
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/DependencyHandling.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/DependencyHandling.java?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/DependencyHandling.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/DependencyHandling.java Mon Oct 31 07:25:55 2016
@@ -47,7 +47,6 @@ public enum DependencyHandling {
* Full dependency checks are enforced. Packages with missing or uninstalled dependencies are not installed and
* packages that are dependencies of other packages cannot be un-installed.
*/
- STRICT,
-
+ STRICT
}
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackage.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackage.java?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackage.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackage.java Mon Oct 31 07:25:55 2016
@@ -19,6 +19,8 @@ package org.apache.jackrabbit.vault.pack
import java.io.IOException;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.RepositoryException;
@@ -56,6 +58,7 @@ public interface JcrPackage extends Comp
* not valid.
* @throws RepositoryException if an error occurrs
*/
+ @CheckForNull
JcrPackageDefinition getDefinition() throws RepositoryException;
/**
@@ -68,6 +71,7 @@ public interface JcrPackage extends Comp
* Returns the underlying node
* @return the node
*/
+ @CheckForNull
Node getNode();
/**
@@ -83,6 +87,7 @@ public interface JcrPackage extends Comp
* @throws RepositoryException if an error occurs
* @throws IOException if an I/O error occurs
*/
+ @Nonnull
VaultPackage getPackage() throws RepositoryException, IOException;
/**
@@ -95,7 +100,7 @@ public interface JcrPackage extends Comp
* @throws IOException if an I/O error occurs
* @since 2.3.14
*/
- void extract(ImportOptions opts)
+ void extract(@Nonnull ImportOptions opts)
throws RepositoryException, PackageException, IOException;
/**
@@ -110,7 +115,7 @@ public interface JcrPackage extends Comp
*
* @since 2.3.14
*/
- void install(ImportOptions opts)
+ void install(@Nonnull ImportOptions opts)
throws RepositoryException, PackageException, IOException;
/**
@@ -120,6 +125,7 @@ public interface JcrPackage extends Comp
* @throws RepositoryException if an error accessing the repository occurrs
* @since 3.1.32
*/
+ @Nonnull
Dependency[] getUnresolvedDependencies() throws RepositoryException;
/**
@@ -128,6 +134,7 @@ public interface JcrPackage extends Comp
* @throws RepositoryException if an error accessing the repository occurrs
* @since 3.1.32
*/
+ @Nonnull
PackageId[] getResolvedDependencies() throws RepositoryException;
/**
@@ -135,7 +142,7 @@ public interface JcrPackage extends Comp
*
* @param opts export options
* @param replace if {@code true} any existing snapshot is replaced.
- * @return a package that represents the snapshot of this package.
+ * @return a package that represents the snapshot of this package or {@code null} if it wasn't created.
* @throws RepositoryException if a repository error during installation occurs.
* @throws PackageException if an error during packaging occurs
* @throws IllegalStateException if the package is not valid.
@@ -143,7 +150,8 @@ public interface JcrPackage extends Comp
*
* @since 2.0
*/
- JcrPackage snapshot(ExportOptions opts, boolean replace)
+ @CheckForNull
+ JcrPackage snapshot(@Nonnull ExportOptions opts, boolean replace)
throws RepositoryException, PackageException, IOException;
/**
@@ -153,6 +161,7 @@ public interface JcrPackage extends Comp
*
* @since 2.0
*/
+ @CheckForNull
JcrPackage getSnapshot() throws RepositoryException;
/**
@@ -168,7 +177,7 @@ public interface JcrPackage extends Comp
*
* @since 2.3.14
*/
- void uninstall(ImportOptions opts)
+ void uninstall(@Nonnull ImportOptions opts)
throws RepositoryException, PackageException, IOException;
/**
@@ -213,6 +222,7 @@ public interface JcrPackage extends Comp
* @return the jcr:data property
* @throws RepositoryException if an error occurrs
*/
+ @CheckForNull
Property getData() throws RepositoryException;
/**
@@ -220,6 +230,7 @@ public interface JcrPackage extends Comp
* @return the definition node.
* @throws RepositoryException if an error occurrs
*/
+ @CheckForNull
Node getDefNode() throws RepositoryException;
}
\ No newline at end of file
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageDefinition.java?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageDefinition.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageDefinition.java Mon Oct 31 07:25:55 2016
@@ -20,6 +20,9 @@ package org.apache.jackrabbit.vault.pack
import java.io.IOException;
import java.util.Calendar;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
@@ -27,7 +30,6 @@ import org.apache.jackrabbit.vault.fs.ap
import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
import org.apache.jackrabbit.vault.fs.config.MetaInf;
import org.apache.jackrabbit.vault.fs.io.AccessControlHandling;
-import org.apache.jackrabbit.vault.fs.io.Archive;
/**
* Specifies the interface of a package definition stored in the repository.
@@ -182,12 +184,14 @@ public interface JcrPackageDefinition {
* Returns the underlying node
* @return the node
*/
+ @Nonnull
Node getNode();
/**
* Returns the package id
* @return the package id
*/
+ @Nonnull
PackageId getId();
/**
@@ -196,7 +200,7 @@ public interface JcrPackageDefinition {
* @param autoSave if {@code true} the changes are saved automatically.
* @since 2.2
*/
- void setId(PackageId id, boolean autoSave);
+ void setId(@Nonnull PackageId id, boolean autoSave);
/**
* Checks if this definition is unwrapped, i.e. if the definition structured
@@ -220,7 +224,7 @@ public interface JcrPackageDefinition {
* @throws RepositoryException if an error occurs
* @throws IOException if an I/O error occurs
*/
- void unwrap(VaultPackage pack, boolean force, boolean autoSave)
+ void unwrap(@Nullable VaultPackage pack, boolean force, boolean autoSave)
throws RepositoryException, IOException;
/**
@@ -228,12 +232,13 @@ public interface JcrPackageDefinition {
* @param listener the listener
* @throws RepositoryException if an error occurrs
*/
- void dumpCoverage(ProgressTrackerListener listener) throws RepositoryException;
+ void dumpCoverage(@Nonnull ProgressTrackerListener listener) throws RepositoryException;
/**
* Returns the dependencies stored in this definition
* @return the dependencies
*/
+ @Nonnull
Dependency[] getDependencies();
/**
@@ -241,21 +246,23 @@ public interface JcrPackageDefinition {
* @param name the name of the property.
* @return the property value or {@code null} if it does not exist.
*/
- String get(String name);
+ @CheckForNull
+ String get(@Nonnull String name);
/**
* Generic method to retrieve a boolean property of this definition.
* @param name the name of the property.
* @return the property value or {@code null} if it does not exist.
*/
- boolean getBoolean(String name);
+ boolean getBoolean(@Nonnull String name);
/**
* Generic method to retrieve a date property of this definition.
* @param name the name of the property.
* @return the property value or {@code null} if it does not exist.
*/
- Calendar getCalendar(String name);
+ @CheckForNull
+ Calendar getCalendar(@Nonnull String name);
/**
* Generic method to set a string property to this definition.
@@ -263,7 +270,7 @@ public interface JcrPackageDefinition {
* @param value the value or {@code null} to clear the property
* @param autoSave if {@code true} the modifications are saved automatically.
*/
- void set(String name, String value, boolean autoSave);
+ void set(@Nonnull String name, @Nullable String value, boolean autoSave);
/**
* Generic method to set a date property to this definition.
@@ -271,7 +278,7 @@ public interface JcrPackageDefinition {
* @param value the value or {@code null} to clear the property
* @param autoSave if {@code true} the modifications are saved automatically.
*/
- void set(String name, Calendar value, boolean autoSave);
+ void set(@Nonnull String name, @Nullable Calendar value, boolean autoSave);
/**
* Generic method to set a boolean property to this definition.
@@ -279,14 +286,14 @@ public interface JcrPackageDefinition {
* @param value the value
* @param autoSave if {@code true} the modifications are saved automatically.
*/
- void set(String name, boolean value, boolean autoSave);
+ void set(@Nonnull String name, boolean value, boolean autoSave);
/**
* Touches the last modified and last modified by property.
* @param now calendar or {@code null}
* @param autoSave if {@code true} the modifications are saved automatically.
*/
- void touch(Calendar now, boolean autoSave);
+ void touch(@Nullable Calendar now, boolean autoSave);
/**
* Sets the filter to this definition and stores it in a node representation.
@@ -294,30 +301,34 @@ public interface JcrPackageDefinition {
* @param filter the filter to set
* @param autoSave if {@code true} the modifications are saved automatically.
*/
- void setFilter(WorkspaceFilter filter, boolean autoSave);
+ void setFilter(@Nullable WorkspaceFilter filter, boolean autoSave);
/**
* Returns the last modified date
* @return the last modified date
*/
+ @CheckForNull
Calendar getLastModified();
/**
* Returns the last modified user id
* @return the last modified user id
*/
+ @CheckForNull
String getLastModifiedBy();
/**
* Returns the created date
* @return the created date
*/
+ @CheckForNull
Calendar getCreated();
/**
* Returns the creator user id
* @return the creator
*/
+ @CheckForNull
String getCreatedBy();
/**
@@ -325,6 +336,7 @@ public interface JcrPackageDefinition {
* @return the last wrapped date
* @since 2.2.22
*/
+ @CheckForNull
Calendar getLastWrapped();
/**
@@ -332,30 +344,35 @@ public interface JcrPackageDefinition {
* @return the wrapper
* @since 2.2.22
*/
+ @CheckForNull
String getLastWrappedBy();
/**
* Returns the last unwrapped date
* @return the last unwrapped date
*/
+ @CheckForNull
Calendar getLastUnwrapped();
/**
* Returns the last unwrapped user id
* @return the last unwrapped user id
*/
+ @CheckForNull
String getLastUnwrappedBy();
/**
* Returns the date when the package was unpacked
* @return the unpacked date
*/
+ @CheckForNull
Calendar getLastUnpacked();
/**
* Returns the user id who unpacked the package
* @return the unpacked user id
*/
+ @CheckForNull
String getLastUnpackedBy();
/**
@@ -378,12 +395,14 @@ public interface JcrPackageDefinition {
* @return the access control handling or {@code null}
* @since 2.3.2
*/
+ @CheckForNull
AccessControlHandling getAccessControlHandling();
/**
* Returns the description of this package
* @return the description
*/
+ @CheckForNull
String getDescription();
/**
@@ -397,6 +416,7 @@ public interface JcrPackageDefinition {
* @return the meta inf
* @throws RepositoryException if an error occurs.
*/
+ @Nonnull
MetaInf getMetaInf() throws RepositoryException;
}
\ No newline at end of file
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageManager.java?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageManager.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/JcrPackageManager.java Mon Oct 31 07:25:55 2016
@@ -23,6 +23,9 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.jcr.ItemExistsException;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
@@ -43,7 +46,8 @@ public interface JcrPackageManager exten
* @throws RepositoryException if an error occurs
* @since 2.3.22
*/
- JcrPackage open(PackageId id) throws RepositoryException;
+ @CheckForNull
+ JcrPackage open(@Nonnull PackageId id) throws RepositoryException;
/**
* Opens a package that is based on the given node.
@@ -53,7 +57,8 @@ public interface JcrPackageManager exten
* valid.
* @throws RepositoryException if an error occurs
*/
- JcrPackage open(Node node) throws RepositoryException;
+ @CheckForNull
+ JcrPackage open(@Nonnull Node node) throws RepositoryException;
/**
* Opens a package that is based on the given node. If {@code allowInvalid}
@@ -67,7 +72,8 @@ public interface JcrPackageManager exten
* valid unless {@code allowInvalid} is {@code true}.
* @throws RepositoryException if an error occurs
*/
- JcrPackage open(Node node, boolean allowInvalid) throws RepositoryException;
+ @CheckForNull
+ JcrPackage open(@Nonnull Node node, boolean allowInvalid) throws RepositoryException;
/**
* Finds the id of the package that matches the given dependency best.
@@ -81,7 +87,8 @@ public interface JcrPackageManager exten
*
* @since 2.4.6
*/
- PackageId resolve(Dependency dependency, boolean onlyInstalled) throws RepositoryException;
+ @CheckForNull
+ PackageId resolve(@Nonnull Dependency dependency, boolean onlyInstalled) throws RepositoryException;
/**
* Returns the package ids of installed packages that depend on the given package.
@@ -92,7 +99,8 @@ public interface JcrPackageManager exten
*
* @since 3.1.32
*/
- PackageId[] usage(PackageId id) throws RepositoryException;
+ @Nonnull
+ PackageId[] usage(@Nonnull PackageId id) throws RepositoryException;
/**
* Uploads a package. The location is chosen from the installation path of
@@ -106,11 +114,12 @@ public interface JcrPackageManager exten
* deleted when the package is closed
* @param replace if {@code true} existing packages are replaced.
* @param nameHint hint for the name if package does not provide one
- * @return the new jcr package or {@code null} if not installed
+ * @return the new jcr package
* @throws RepositoryException if an error occurrs
* @throws IOException if an I/O error occurrs
*/
- JcrPackage upload(File file, boolean isTmpFile, boolean replace, String nameHint)
+ @Nonnull
+ JcrPackage upload(@Nonnull File file, boolean isTmpFile, boolean replace, @Nullable String nameHint)
throws RepositoryException, IOException;
/**
@@ -131,7 +140,8 @@ public interface JcrPackageManager exten
* @throws RepositoryException if an error occurrs
* @throws IOException if an I/O error occurrs
*/
- JcrPackage upload(File file, boolean isTmpFile, boolean replace, String nameHint, boolean strict)
+ @Nonnull
+ JcrPackage upload(@Nonnull File file, boolean isTmpFile, boolean replace, @Nullable String nameHint, boolean strict)
throws RepositoryException, IOException;
/**
@@ -148,7 +158,8 @@ public interface JcrPackageManager exten
* @throws RepositoryException if an error occurrs
* @throws IOException if an I/O error occurrs
*/
- JcrPackage upload(InputStream in, boolean replace) throws RepositoryException, IOException;
+ @Nonnull
+ JcrPackage upload(@Nonnull InputStream in, boolean replace) throws RepositoryException, IOException;
/**
* Uploads a package. The location is chosen from the installation path of
@@ -165,18 +176,20 @@ public interface JcrPackageManager exten
* @throws RepositoryException if an error occurrs
* @throws IOException if an I/O error occurrs
*/
- JcrPackage upload(InputStream in, boolean replace, boolean strict) throws RepositoryException, IOException;
+ @Nonnull
+ JcrPackage upload(@Nonnull InputStream in, boolean replace, boolean strict) throws RepositoryException, IOException;
/**
* Creates a new package below the given folder.
*
- * @param folder parent folder
+ * @param folder parent folder or {@code null} for the package root
* @param name name of the new package
* @return a new jcr package
* @throws RepositoryException if a repository error occurrs
* @throws IOException if an I/O exception occurs
*/
- JcrPackage create(Node folder, String name)
+ @Nonnull
+ JcrPackage create(@Nullable Node folder, @Nonnull String name)
throws RepositoryException, IOException;
/**
@@ -189,7 +202,8 @@ public interface JcrPackageManager exten
* @throws IOException if an I/O exception occurs
* @since 2.2.5
*/
- JcrPackage create(String group, String name)
+ @Nonnull
+ JcrPackage create(@Nonnull String group, @Nonnull String name)
throws RepositoryException, IOException;
/**
@@ -203,16 +217,17 @@ public interface JcrPackageManager exten
* @throws IOException if an I/O exception occurs
* @since 2.3
*/
- JcrPackage create(String group, String name, String version)
+ @Nonnull
+ JcrPackage create(@Nonnull String group, @Nonnull String name, @Nullable String version)
throws RepositoryException, IOException;
/**
- * Removes a package and its snaphost if present.
+ * Removes a package and its snapshots if present.
* @param pack the package to remove
* @throws RepositoryException if a repository error occurrs
* @since 2.2.7
*/
- void remove(JcrPackage pack) throws RepositoryException;
+ void remove(@Nonnull JcrPackage pack) throws RepositoryException;
/**
* Renames the given package with a new group id and name. Please note that
@@ -228,7 +243,8 @@ public interface JcrPackageManager exten
*
* @since 2.0
*/
- JcrPackage rename(JcrPackage pack, String groupId, String name)
+ @Nonnull
+ JcrPackage rename(@Nonnull JcrPackage pack, @Nullable String groupId, @Nullable String name)
throws PackageException, RepositoryException;
/**
@@ -246,7 +262,8 @@ public interface JcrPackageManager exten
*
* @since 2.3
*/
- JcrPackage rename(JcrPackage pack, String groupId, String name, String version)
+ @Nonnull
+ JcrPackage rename(@Nonnull JcrPackage pack, @Nullable String groupId, @Nullable String name, @Nullable String version)
throws PackageException, RepositoryException;
/**
@@ -257,7 +274,7 @@ public interface JcrPackageManager exten
* @throws RepositoryException if a repository error occurs
* @throws IOException if an I/O error occurs
*/
- void assemble(JcrPackage pack, ProgressTrackerListener listener)
+ void assemble(@Nonnull JcrPackage pack, @Nullable ProgressTrackerListener listener)
throws PackageException, RepositoryException, IOException;
/**
@@ -269,8 +286,7 @@ public interface JcrPackageManager exten
* @throws RepositoryException if a repository error occurs
* @throws IOException if an I/O error occurs
*/
- void assemble(Node packNode, JcrPackageDefinition definition,
- ProgressTrackerListener listener)
+ void assemble(@Nonnull Node packNode, @Nonnull JcrPackageDefinition definition, @Nullable ProgressTrackerListener listener)
throws PackageException, RepositoryException, IOException;
/**
@@ -282,8 +298,7 @@ public interface JcrPackageManager exten
* @throws IOException if an I/O error occurs
* @throws PackageException if a package error occurs
*/
- void assemble(JcrPackageDefinition definition,
- ProgressTrackerListener listener, OutputStream out)
+ void assemble(@Nonnull JcrPackageDefinition definition, @Nullable ProgressTrackerListener listener, @Nonnull OutputStream out)
throws IOException, RepositoryException, PackageException;
/**
@@ -294,7 +309,7 @@ public interface JcrPackageManager exten
* @throws RepositoryException if a repository error occurs
* @throws IOException if an I/O error occurs
*/
- void rewrap(JcrPackage pack, ProgressTrackerListener listener)
+ void rewrap(@Nonnull JcrPackage pack, @Nullable ProgressTrackerListener listener)
throws PackageException, RepositoryException, IOException;
/**
@@ -302,6 +317,7 @@ public interface JcrPackageManager exten
* @return the package root node
* @throws RepositoryException if an error occurs
*/
+ @Nonnull
Node getPackageRoot() throws RepositoryException;
/**
@@ -310,6 +326,7 @@ public interface JcrPackageManager exten
* @return the package root node or {@code null} if not present and noCreate is {@code true}.
* @throws RepositoryException if an error occurs
*/
+ @CheckForNull
Node getPackageRoot(boolean noCreate) throws RepositoryException;
/**
@@ -318,6 +335,7 @@ public interface JcrPackageManager exten
* @return a list of packages
* @throws RepositoryException if an error occurs
*/
+ @Nonnull
List<JcrPackage> listPackages() throws RepositoryException;
/**
@@ -328,8 +346,8 @@ public interface JcrPackageManager exten
* @return a list of packages
* @throws RepositoryException if an error occurs
*/
- List<JcrPackage> listPackages(WorkspaceFilter filter) throws RepositoryException;
-
+ @Nonnull
+ List<JcrPackage> listPackages(@Nullable WorkspaceFilter filter) throws RepositoryException;
/**
* Returns the list of all packages installed below the package root that
@@ -341,5 +359,6 @@ public interface JcrPackageManager exten
* @return the list of packages
* @throws RepositoryException if an error occurs
*/
- List<JcrPackage> listPackages(String group, boolean built) throws RepositoryException;
+ @Nonnull
+ List<JcrPackage> listPackages(@Nullable String group, boolean built) throws RepositoryException;
}
\ No newline at end of file
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageDefinitionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageDefinitionImpl.java?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageDefinitionImpl.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageDefinitionImpl.java Mon Oct 31 07:25:55 2016
@@ -24,6 +24,8 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.RepositoryException;
@@ -68,21 +70,24 @@ public class JcrPackageDefinitionImpl im
/**
* underlying node
*/
+ @Nonnull
private Node defNode;
+ @Nullable
private String userId;
/**
* Creates a new definition base on the underlying node.
* @param definitionNode the definition node
*/
- public JcrPackageDefinitionImpl(Node definitionNode) {
+ public JcrPackageDefinitionImpl(@Nonnull Node definitionNode) {
this.defNode = definitionNode;
}
/**
* {@inheritDoc}
*/
+ @Nonnull
public Node getNode() {
return defNode;
}
@@ -838,9 +843,7 @@ public class JcrPackageDefinitionImpl im
private String getUserId() {
if (userId == null) {
try {
- if (defNode != null) {
- userId = defNode.getSession().getUserID();
- }
+ userId = defNode.getSession().getUserID();
} catch (RepositoryException e) {
// ignore
}
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageImpl.java Mon Oct 31 07:25:55 2016
@@ -28,6 +28,9 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Set;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.jcr.Binary;
import javax.jcr.Node;
import javax.jcr.Property;
@@ -45,13 +48,13 @@ import org.apache.jackrabbit.vault.fs.io
import org.apache.jackrabbit.vault.fs.io.ZipArchive;
import org.apache.jackrabbit.vault.packaging.CyclicDependencyException;
import org.apache.jackrabbit.vault.packaging.Dependency;
+import org.apache.jackrabbit.vault.packaging.DependencyException;
import org.apache.jackrabbit.vault.packaging.DependencyHandling;
import org.apache.jackrabbit.vault.packaging.DependencyUtil;
import org.apache.jackrabbit.vault.packaging.ExportOptions;
import org.apache.jackrabbit.vault.packaging.JcrPackage;
import org.apache.jackrabbit.vault.packaging.JcrPackageDefinition;
import org.apache.jackrabbit.vault.packaging.JcrPackageManager;
-import org.apache.jackrabbit.vault.packaging.DependencyException;
import org.apache.jackrabbit.vault.packaging.PackageException;
import org.apache.jackrabbit.vault.packaging.PackageId;
import org.apache.jackrabbit.vault.packaging.SubPackageHandling;
@@ -80,35 +83,30 @@ public class JcrPackageImpl implements J
/**
* underlying node
*/
+ @Nullable
private Node node;
/**
* underlying package
*/
+ @Nullable
private ZipVaultPackage pack;
/**
* underlying definition
*/
+ @Nullable
private JcrPackageDefinitionImpl def;
- public JcrPackageImpl(JcrPackageManagerImpl mgr, Node node) throws RepositoryException {
+ public JcrPackageImpl(@Nonnull JcrPackageManagerImpl mgr, @Nullable Node node) throws RepositoryException {
this.mgr = mgr;
this.node = node;
}
- protected JcrPackageImpl(JcrPackageManagerImpl mgr, Node node, ZipVaultPackage pack) throws RepositoryException {
- this.mgr = mgr;
- this.node = node;
- this.pack = pack;
- }
-
- protected JcrPackageImpl(JcrPackageManagerImpl mgr, Node node, ZipVaultPackage pack, JcrPackageDefinitionImpl def)
- throws RepositoryException {
+ protected JcrPackageImpl(@Nonnull JcrPackageManagerImpl mgr, @Nullable Node node, @Nullable ZipVaultPackage pack) throws RepositoryException {
this.mgr = mgr;
this.node = node;
this.pack = pack;
- this.def = def;
}
/**
@@ -184,10 +182,8 @@ public class JcrPackageImpl implements J
if (getSize() == 0) {
return false;
}
- if (getDefinition() == null) {
- return true;
- }
- return !def.isModified();
+ final JcrPackageDefinition def = getDefinition();
+ return def == null || !def.isModified();
} catch (RepositoryException e) {
log.warn("Error during isSealed()", e);
return false;
@@ -204,6 +200,9 @@ public class JcrPackageImpl implements J
if (jDef == null) {
return true;
}
+ if (node == null) {
+ return false;
+ }
PackageId id = jDef.getId();
PackageId cId = new PackageId(node.getPath());
// compare installation paths since non-conform version numbers might
@@ -232,8 +231,14 @@ public class JcrPackageImpl implements J
if (isValid()) {
return;
}
+ if (node == null) {
+ return;
+ }
VaultPackage pack = getPackage();
Node content = getContent();
+ if (content == null) {
+ return;
+ }
boolean ok = false;
try {
content.addMixin(NT_VLT_PACKAGE);
@@ -272,6 +277,7 @@ public class JcrPackageImpl implements J
* @throws RepositoryException If a repository error occurrs.
* @throws IOException if an i/o error occurrs.
*/
+ @Nonnull
protected VaultPackage getPackage(boolean forceFileArchive) throws RepositoryException, IOException {
if (forceFileArchive && pack != null && !(pack.getArchive() instanceof ZipArchive)) {
pack.close();
@@ -496,7 +502,7 @@ public class JcrPackageImpl implements J
for (Dependency dep: def.getDependencies()) {
if (mgr.resolve(dep, true) == null) {
unresolved.add(dep);
- };
+ }
}
return unresolved.toArray(new Dependency[unresolved.size()]);
}
@@ -515,7 +521,7 @@ public class JcrPackageImpl implements J
PackageId id = mgr.resolve(dep, true);
if (id != null) {
resolved.add(id);
- };
+ }
}
return resolved.toArray(new PackageId[resolved.size()]);
}
@@ -526,6 +532,9 @@ public class JcrPackageImpl implements J
*/
private void installDependencies(Set<PackageId> processed, ImportOptions opts, boolean createSnapshot, boolean replaceSnapshot)
throws PackageException, RepositoryException, IOException {
+ if (def == null) {
+ return;
+ }
List<Dependency> unresolved = new LinkedList<Dependency>();
List<JcrPackageImpl> uninstalled = new LinkedList<JcrPackageImpl>();
for (Dependency dep: def.getDependencies()) {
@@ -577,6 +586,9 @@ public class JcrPackageImpl implements J
*/
private void uninstallUsages(Set<PackageId> processed, ImportOptions opts)
throws PackageException, RepositoryException, IOException {
+ if (def == null) {
+ return;
+ }
PackageId[] usage = mgr.usage(getDefinition().getId());
if (usage.length > 0 && opts.getDependencyHandling() == DependencyHandling.STRICT) {
String msg = String.format("Refusing to uninstall package %s. it is still used by: %s", def.getId(), Arrays.toString(usage));
@@ -615,8 +627,12 @@ public class JcrPackageImpl implements J
* @throws PackageException if an error occurrs.
* @throws IOException if an error occurrs.
*/
- private JcrPackage snapshot(ExportOptions opts, boolean replace, AccessControlHandling acHandling)
+ @CheckForNull
+ private JcrPackage snapshot(@Nonnull ExportOptions opts, boolean replace, @Nullable AccessControlHandling acHandling)
throws RepositoryException, PackageException, IOException {
+ if (node == null) {
+ return null;
+ }
PackageId id = getSnapshotId();
Node packNode = getPackageNode(id);
if (packNode != null) {
@@ -658,7 +674,11 @@ public class JcrPackageImpl implements J
* @return the package node
* @throws RepositoryException if an error occurs
*/
+ @CheckForNull
private Node getPackageNode(PackageId id) throws RepositoryException {
+ if (node == null) {
+ return null;
+ }
if (node.getSession().nodeExists(id.getInstallationPath())) {
return node.getSession().getNode(id.getInstallationPath());
} else if (node.getSession().nodeExists(id.getInstallationPath() + ".zip")) {
@@ -803,23 +823,27 @@ public class JcrPackageImpl implements J
* @return the jcr:content node
* @throws RepositoryException if an error occurrs
*/
+ @CheckForNull
private Node getContent() throws RepositoryException {
- return node.getNode(JcrConstants.JCR_CONTENT);
+ return node == null ? null : node.getNode(JcrConstants.JCR_CONTENT);
}
/**
* {@inheritDoc}
*/
+ @CheckForNull
public Property getData() throws RepositoryException {
- return getContent().getProperty(JcrConstants.JCR_DATA);
+ Node content = getContent();
+ return content == null ? null : content.getProperty(JcrConstants.JCR_DATA);
}
/**
* {@inheritDoc}
*/
+ @CheckForNull
public Node getDefNode() throws RepositoryException {
Node content = getContent();
- return content.hasNode(NN_VLT_DEFINITION)
+ return content != null && content.hasNode(NN_VLT_DEFINITION)
? content.getNode(NN_VLT_DEFINITION)
: null;
}
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java?rev=1767222&r1=1767221&r2=1767222&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java Mon Oct 31 07:25:55 2016
@@ -25,13 +25,13 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.Calendar;
import java.util.Collections;
-import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
-import java.util.Set;
import java.util.TreeSet;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.jcr.Binary;
import javax.jcr.ItemExistsException;
import javax.jcr.Node;
@@ -272,11 +272,9 @@ public class JcrPackageManagerImpl exten
JcrPackage jcrPack = null;
try {
jcrPack = createNew(parent, pid, bin, archive);
- if (jcrPack != null) {
- JcrPackageDefinitionImpl def = (JcrPackageDefinitionImpl) jcrPack.getDefinition();
- if (state != null) {
- def.setState(state);
- }
+ JcrPackageDefinitionImpl def = (JcrPackageDefinitionImpl) jcrPack.getDefinition();
+ if (state != null) {
+ def.setState(state);
}
return jcrPack;
} finally {
@@ -354,11 +352,9 @@ public class JcrPackageManagerImpl exten
JcrPackage jcrPack = null;
try {
jcrPack = createNew(parent, pid, pack, false);
- if (jcrPack != null) {
- JcrPackageDefinitionImpl def = (JcrPackageDefinitionImpl) jcrPack.getDefinition();
- if (state != null) {
- def.setState(state);
- }
+ JcrPackageDefinitionImpl def = (JcrPackageDefinitionImpl) jcrPack.getDefinition();
+ if (state != null) {
+ def.setState(state);
}
return jcrPack;
} finally {
@@ -423,7 +419,8 @@ public class JcrPackageManagerImpl exten
*
* @since 2.3.0
*/
- public JcrPackage createNew(Node parent, PackageId pid, VaultPackage pack, boolean autoSave)
+ @Nonnull
+ public JcrPackage createNew(@Nonnull Node parent, @Nonnull PackageId pid, @Nullable VaultPackage pack, boolean autoSave)
throws RepositoryException, IOException {
Node node = parent.addNode(Text.getName(pid.getInstallationPath() + ".zip"), JcrConstants.NT_FILE);
Node content = node.addNode(JcrConstants.JCR_CONTENT, JcrConstants.NT_RESOURCE);
@@ -469,7 +466,8 @@ public class JcrPackageManagerImpl exten
*
* @since 3.1
*/
- public JcrPackage createNew(Node parent, PackageId pid, Binary bin, MemoryArchive archive)
+ @Nonnull
+ public JcrPackage createNew(@Nonnull Node parent, @Nonnull PackageId pid, @Nonnull Binary bin, @Nonnull MemoryArchive archive)
throws RepositoryException, IOException {
Node node = parent.addNode(Text.getName(pid.getInstallationPath() + ".zip"), JcrConstants.NT_FILE);
Node content = node.addNode(JcrConstants.JCR_CONTENT, JcrConstants.NT_RESOURCE);